
iNTERCEPT, a free and open-source platform that unites the best signal intelligence tools into a single, accessible interface.
Unterstützen Sie den Entwickler dieses Open-Source-Projekts
Signalaufklärungsplattform
Eine webbasierte Schnittstelle für Software-defined-Radio-Werkzeuge.
git clone https://github.com/smittix/intercept.git
cd intercept
./setup.sh # Interactive menu (first run launches setup wizard)
sudo ./start.sh
Beim ersten Start startet setup.sh einen geführten Assistenten, der Ihr Betriebssystem erkennt, Ihnen die Auswahl von Installationsprofilen ermöglicht, die Python-Umgebung einrichtet und optional Umgebungsvariablen und PostgreSQL konfiguriert.
Bei späteren Ausführungen öffnet sich ein interaktives Menü:
INTERCEPT Setup-Menü
════════════════════════════════════════
1) Module installieren / hinzufügen
2) System-Gesundheitscheck
3) Datenbank-Setup (ADS-B-Verlauf)
4) Werkzeuge aktualisieren
5) Umgebungskonfigurator
6) Deinstallieren / Bereinigen
7) Status anzeigen
0) Beenden
Produktions- vs. Entwicklungs-Server:
start.sherkennt automatisch gunicorn + gevent und startet einen Produktionsserver mit kooperativen Greenlets – verwaltet mehrere SSE/WebSocket-Clients ohne Blockierung. Fallback auf Flask-Entwicklungsserver, falls gunicorn nicht installiert ist. Für schnelle lokale Entwicklung können Sie weiterhinsudo -E venv/bin/python intercept.pydirekt verwenden.
Wählen Sie, was während des Assistenten oder über Menüoption 1 installiert werden soll:
Mehrere Profile können kombiniert werden (z.B. 1 3 für Kern + Wetter).
./setup.sh --non-interactive # Headless-Vollinstallation (entspricht dem Legacy-Verhalten)
./setup.sh --profile=core,weather # Bestimmte Profile installieren
./setup.sh --health-check # Systemzustand prüfen und beenden
./setup.sh --postgres-setup # PostgreSQL-Setup ausführen und beenden
./setup.sh --menu # Interaktives Menü erzwingen
git clone https://github.com/smittix/intercept.git
cd intercept
docker compose --profile basic up -d --build
Hinweis: Docker benötigt privilegierten Modus für USB-SDR-Zugriff. SDR-Geräte werden über
/dev/bus/usbdurchgereicht.
Für Multi-Architektur-Builds (amd64 + arm64 für Raspberry Pi) siehe build-multiarch.sh – es erledigt Cross-Kompilierung und Registry-Push in einem Schritt.
Verwenden Sie den Umgebungskonfigurator (Menüoption 5), um interaktiv beliebige INTERCEPT_*-Variablen zu setzen. Die Einstellungen werden in einer .env-Datei gespeichert, die start.sh beim Start automatisch lädt.
Sie können .env auch manuell erstellen oder bearbeiten:
# .env (auto-loaded by start.sh)
INTERCEPT_PORT=5050
INTERCEPT_ADSB_AUTO_START=true
INTERCEPT_DEFAULT_LAT=51.5074
INTERCEPT_DEFAULT_LON=-0.1278
Die ADS-B-Verlaufsfunktion speichert Flugzeugmeldungen für Langzeitanalysen in PostgreSQL.
Automatisiertes Setup (lokale Installation):
./setup.sh --postgres-setup
# Oder verwenden Sie Menüoption 3: Datenbank-Setup
Dies installiert PostgreSQL bei Bedarf, erstellt die Datenbank/Benutzer/Tabellen und schreibt die Verbindungseinstellungen in .env.
Docker:
docker compose --profile history up -d
Setzen Sie die folgenden Umgebungsvariablen (in .env):
INTERCEPT_ADSB_HISTORY_ENABLED=true
INTERCEPT_ADSB_DB_HOST=adsb_db
INTERCEPT_ADSB_DB_PORT=5432
INTERCEPT_ADSB_DB_NAME=intercept_adsb
INTERCEPT_ADSB_DB_USER=intercept
INTERCEPT_ADSB_DB_PASSWORD=intercept
Um Postgres-Daten auf externem Speicher abzulegen, setzen Sie PGDATA_PATH (Standard: ./pgdata):
PGDATA_PATH=/mnt/usbpi1/intercept/pgdata
Öffnen Sie dann /adsb/history für das Berichts-Dashboard.
Überprüfen Sie, ob Ihre Installation vollständig und funktionsfähig ist:
./setup.sh --health-check
# Oder verwenden Sie Menüoption 2
Prüft installierte Werkzeuge, SDR-Geräte, Portverfügbarkeit, Berechtigungen, Python-venv, .env-Konfiguration und PostgreSQL-Konnektivität.
Nach dem Start öffnen Sie http://localhost:5050 in Ihrem Browser.
Standard-Anmeldedaten: admin / admin – ändern Sie diese in config.py (ADMIN_USERNAME / ADMIN_PASSWORD), bevor Sie die App in einem Netzwerk verfügbar machen.
Die meisten Funktionen funktionieren mit einem einfachen RTL-SDR-Dongle (RTL2832U + R820T2).
| ❗ Verwenden Sie kein RTL-SDR-Gerät? |
|---|
| Intercept unterstützt jedes Gerät, das SoapySDR unterstützt. Sie müssen jedoch das korrekte Modul für Ihr Gerät installiert haben! Wenn Sie z. B. ein SDRPlay-Gerät besitzen, müssten Sie soapysdr-module-sdrplay installieren. |
| ❗ GPS-Nutzung |
|---|
| gpsd wird für die Echtzeit-Ortung benötigt. Intercept prüft automatisch, ob gpsd im Hintergrund läuft, wenn Karten gerendert werden. |
Dieses Projekt wurde unter Einsatz von KI als Codierungspartner entwickelt, wobei menschliche Leitung mit KI-gestützter Implementierung kombiniert wurde. Das Ziel: Software Defined Radio zugänglicher machen, indem eine saubere, einheitliche Schnittstelle für gängige SDR-Werkzeuge bereitgestellt wird.
Diese Software dient ausschließlich zu Bildungs- und autorisierten Testzwecken.
Apache-2.0-Lizenz – siehe LICENSE
Erstellt von smittix – GitHub
rtl-sdr | multimon-ng | rtl_433 | dump1090 | AIS-catcher | acarsdec | direwolf | rtlamr | dumpvdl2 | aircrack-ng | Leaflet.js | SatDump | Celestrak | Priyom.org
| # | Profil | Werkzeuge |
|---|
| 1 | Kern-SIGINT | rtl_sdr, multimon-ng, rtl_433, dump1090, acarsdec, dumpvdl2, ffmpeg, gpsd |
| 2 | Schifffahrt & Funk | AIS-catcher, direwolf |
| 3 | Wetter & Weltraum | SatDump, radiosonde_auto_rx |
| 4 | HF-Sicherheit | aircrack-ng, HackRF, BlueZ, hcxtools, Ubertooth, SoapySDR |
| 5 | Vollständiges SIGINT | Alle oben genannten |
| 6 | Benutzerdefiniert | Checkliste pro Werkzeug |
| Hardware | Zweck | Preis |
|---|
| RTL-SDR | Erforderlich für alle SDR-Funktionen | ca. $25-35 |
| WiFi-Adapter | Muss promiskuitiven (Monitor-)Modus unterstützen | ca. $20-40 |
| Bluetooth-Adapter | Gerätescanning (meist integriert) | - |
| GPS | Jedes von Linux unterstützte GPS-Gerät | ca. 10 |