AIS receiver for RTL SDR dongles, Airspy R2, Airspy Mini, Airspy HF+, HackRF, SDRplay and SoapySDR https://aiscatcher.org
  • C++ 86.2%
  • JavaScript 5.9%
  • CSS 2.3%
  • HTML 1.4%
  • Shell 1.4%
  • Other 2.8%
Find a file
2026-06-18 23:45:50 +02:00
.github/workflows Modularize frontend, trim/rasterize flag assets, fix FK/RS country mappings, show text telegrams in webviewer, aiscat decode speedup, utility and URL parser fixes 2026-06-11 17:46:23 +02:00
cmake/dependencies Fix zlib lookup: zlib 1.3.2 renamed shared output from zlib1.dll/zlib.lib to z.dll/z.lib (OUTPUT_NAME z), try new name first with legacy fallback 2026-05-11 18:43:45 +02:00
debian Replace manual .deb packaging with debhelper — dh_shlibdeps auto-resolves correct deps per distro/arch 2026-03-29 12:42:53 +02:00
frontend/src Use a more open gear icon for the settings button 2026-06-18 20:58:31 +02:00
msvc Add SocketUtil socket helpers, dropped-message stats, poll()-based TCP server (MAX_CONN 128), and statcard drag fix 2026-06-18 20:27:04 +02:00
plugins Move v3-plugin deprecation warning from startup toast into Server Errors dialog; add marinetraffic_option.pjs v4 no-op stub for clean replacement of old v3 installs 2026-05-15 09:49:56 +02:00
python Track reset anchor + context-menu/openFocus fixes; merge free-threading tests; install script tweaks 2026-06-14 09:44:00 +02:00
scripts Fix install script exiting 1: EXIT trap's trailing && leaked false status 2026-06-14 10:15:34 +02:00
Source Treat recv()==0 as clean EOF instead of a network error (fixes spurious HTTP 'recv() error 0' logs) 2026-06-18 23:45:50 +02:00
.gitignore chore: update .gitignore and fix CMake variable naming (#542) 2026-04-22 08:28:02 +02:00
.typos.toml feat: Spellcheck with typos (#538) 2026-04-09 21:41:03 +02:00
_typos.toml typos: exclude CMakeLists.txt and JSONAIS.cpp from spellcheck 2026-04-11 14:12:45 +02:00
CMakeLists.txt Fix clang warnings: mark Screen overrides and replace deprecated -Ofast with -O3 -ffast-math 2026-06-18 20:50:43 +02:00
Dockerfile keep certificates in Docker 2026-02-17 12:20:11 +01:00
LICENSE Create LICENSE 2022-06-15 17:52:26 +02:00
Makefile Fix clang warnings: mark Screen overrides and replace deprecated -Ofast with -O3 -ffast-math 2026-06-18 20:50:43 +02:00
README.md Update README.md 2026-06-04 23:24:34 +02:00

AIS-catcher: A multi-platform AIS Receiver

This repository presents the AIS-catcher software, a versatile dual-channel AIS receiver that is compatible with a wide range of Software Defined Radios (SDRs). These include RTL-SDR dongles (such as the ShipXplorer AIS dongle and RTL SDR Blog v4), AirSpy (Mini/R2/HF+), HackRF, HydraSDR, SDRPlay, SoapySDR, and file/network input (ZMQ/RTL-TCP/SpyServer). AIS-catcher delivers output in the form of NMEA messages, which can be conveniently displayed on screen or forwarded via UDP/HTTP/TCP. Designed as a lightweight command line utility, AIS-catcher also incorporates a built-in web server for internal use within secure networks. The project home page including several realtime examples can be found at www.aiscatcher.org.

image

Purpose

The purpose of AIS-catcher is to serve as a platform that encourages the perpetual enhancement of receiver models. We greatly value and appreciate any suggestions, observations, or shared recordings, particularly from setups where the existing models encounter difficulties.

License

Copyright (C) 2021 - 2026 jvde.github at gmail.com. All rights reserved. Licensed under GNU General Public License v3.0.

Important Disclaimer

AIS-catcher is created for research and educational purposes under the GNU GPL v3 license. It is a hobby project and has not been tested and designed for reliability and correctness. You can play with the software but it is the user's responsibility to use it prudently. So, DO NOT rely upon this software in any way including for navigation and/or safety of life or property purposes. There are variations in the legislation concerning radio reception in the different administrations around the world. It is your responsibility to determine whether or not your local administration permits the reception and handling of AIS messages from ships. It is specifically forbidden to use this software for any illegal purpose whatsoever. Only use this software in regions where such use is permitted.

Plug-and-play solution

Prefer a traditional AIS receiver over an SDR but want the same advantages? We recommend the dAISy-catcher, a dual-channel receiver developed with Wegmatt that combines the benefits of SDR receivers with a dedicated hardware solution: plug-and-play operation, low power consumption, and precise signal processing. It connects directly to AIS-catcher over serial, as a USB device or Raspberry Pi HAT. See the product page and manual (PDF).

image

Feature overview: Input -> Output

image

The aiscatcher.org community

To join, ensure you're on the latest version, visit www.aiscatcher.org, and add your station. Upon registration, you'll receive a personal sharing key. Simply run AIS-catcher on the command line with "-X" followed by your sharing key to share your station's raw AIS data with the community hub. This activates a "Community Feed" in your station's web viewer, accessible under map layers and some other features.