
iNTERCEPT, eine freie und quelloffene Plattform, die die besten Signal Intelligence-Tools in einer einzigen zugänglichen Oberfläche vereint.
<p align="center"> <img src="https://raw.githubusercontent.com/smittix/intercept/HEAD/static/images/readme-banner.svg" alt="iNTERCEPT — Signal Intelligence Platform" width="100%"> </p> <p align="center"> <img src="https://img.shields.io/badge/python-3.9+-blue.svg" alt="Python 3.9+"> <img src="https://img.shields.io/badge/license-Apache--2.0-green.svg" alt="Apache 2.0 License"> <img src="https://img.shields.io/badge/platform-macOS%20%7C%20Linux-lightgrey.svg" alt="Platform"> </p> <p align="center"> Unterstützen Sie den Entwickler dieses Open-Source-Projekts </p> <p align="center"> <a href="https://www.buymeacoffee.com/smittix" target="_blank"><img src="https://assets.kitploit.com/production/public/readmes/12080/608ca47c77206e90cac89def2d3fa14b17084ebc4a0a8dce231e4f0b3a78be1a.webp" alt="Buy Me A Coffee" style="height: 41px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;-webkit-box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;" ></a> </p> <p align="center"> <strong>Signal Intelligence Platform</strong><br> Eine webbasierte Oberfläche für Software-Defined-Radio-Tools. </p> <p align="center"> <img src="https://assets.kitploit.com/production/public/readmes/12080/ccf5fc125324afe151202823a136a895449841e2cdd28325dcf6290230cda0d1.png" alt="Screenshot"> </p> --- ## Funktionen - **Pager-Decodierung** – POCSAG/FLEX über rtl_fm + multimon-ng - **433-MHz-Sensoren** – Wetterstationen, TPMS, IoT-Geräte über rtl_433 - **Sub-GHz-Analysator** – RF-Erfassung und Protokolldecodierung für 300–928 MHz ISM-Bänder über HackRF - **Flugzeugverfolgung** – ADS-B über dump1090 mit Echtzeitkarte und Radar - **Schiffsverfolgung** – AIS-Schiffsverfolgung mit VHF-DSC-Notrufüberwachung - **ACARS-Nachrichten** – Flugzeug-Datalink-Nachrichten über acarsdec - **VDL2** – VHF Data Link Mode 2 Flugzeug-Datalink-Decodierung über dumpvdl2 - **Horchposten** – Breitband-Frequenzscanner mit Echtzeit-Audioüberwachung - **Wettersatelliten** – NOAA-APT- und Meteor-LRPT-Bilddecodierung über SatDump mit automatischer Zeitplanung - **WebSDR** – Fernempfang von HF/Kurzwelle über das KiwiSDR-Netzwerk - **ISS SSTV** – Slow-Scan-TV-Bildempfang von der Internationalen Raumstation - **HF SSTV** – Terrestrisches SSTV auf Kurzwellenfrequenzen (80m–10m, VHF, UHF) - **APRS** – Positionsmeldungen und Telemetrie im Amateur-Packet-Radio über direwolf - **Satellitenverfolgung** – Überflugvorhersage mit Polarplot und Ground-Track-Karte - **Versorgungszähler** – Ablesen von Strom-, Gas- und Wasserzählern über rtlamr - **ADS-B-Verlauf** – Persistenter Flugzeugverlauf mit Berichts-Dashboard (Postgres optional) - **WiFi-Scanning** – Aufklärung im Monitor-Modus über aircrack-ng - **Bluetooth-Scanning** – Geräteerkennung und Tracker-Erkennung (mit Ubertooth-Unterstützung) - **BT-Lokalisierung** – SAR-Bluetooth-Geräteortung mit GPS-markierter Signalpfadkartierung und Näherungswarnungen - **WiFi-Lokalisierung** – Lokalisierung von WiFi-Zugangspunkten per BSSID mit Echtzeit-Signalmesser, Entfernungsschätzung und Näherungsaudio - **GPS** – Echtzeit-GPS-Positionsverfolgung mit Live-Karte, Geschwindigkeit, Höhe und Satelliteninformationen - **TSCM** – Überwachungsabwehr mit RF-Basislinienvergleich und Bedrohungserkennung - **Meshtastic** – Integration von LoRa-Mesh-Netzwerken - **Weltraumwetter** – Echtzeit-Sonnen- und geomagnetische Daten von NOAA SWPC, NASA SDO und HamQSL (kein SDR erforderlich) - **Spionagestationen** – Datenbank für Zahlenstationen und diplomatische HF-Netzwerke - **Remote-Agenten** – Verteiltes SIGINT mit entfernten Sensorknoten - **Offline-Modus** – Gebündelte Assets für Air-Gapped-/Feldeinsätze - **Drohnen-Aufklärung** – Multivektor-UAV-Erkennung über ASTM F3411 Remote ID (WiFi/BLE), RTL-SDR 433/868 MHz RF und HackRF 2,4/5,8 GHz Scanning mit Live-Kontaktkarte und Risikobewertung --- ## Installation / Debian / Ubuntu / macOS ### Schnellstart ```bash git clone https://github.com/smittix/intercept.git cd intercept ./setup.sh # Interactive menu (first run launches setup wizard) sudo ./start.sh ``` Beim ersten Ausführen startet `setup.sh` einen **geführten Assistenten**, der Ihr Betriebssystem erkennt, Sie Installationsprofile auswählen lässt, die Python-Umgebung einrichtet und optional Umgebungsvariablen und PostgreSQL konfiguriert. Bei nachfolgenden Ausführungen öffnet es ein **interaktives Menü**: ``` INTERCEPT Setup Menu ════════════════════════════════════════ 1) Install / Add Modules 2) System Health Check 3) Database Setup (ADS-B History) 4) Update Tools 5) Environment Configurator 6) Uninstall / Cleanup 7) View Status 0) Exit ``` > **Produktions- vs. Dev-Server:** `start.sh` erkennt gunicorn + gevent automatisch und startet einen Produktionsserver mit kooperativen Greenlets – verarbeitet mehrere SSE/WebSocket-Clients ohne Blockierung. Fällt auf den Flask-Dev-Server zurück, wenn gunicorn nicht installiert ist. Für die schnelle lokale Entwicklung kannst du weiterhin direkt `sudo -E venv/bin/python intercept.py` verwenden. ### Installationsprofile Wähle während des Assistenten oder über Menüoption 1, was installiert werden soll: | # | Profil | Tools | |---|---------|-------| | 1 | Core SIGINT | rtl_sdr, multimon-ng, rtl_433, dump1090, acarsdec, dumpvdl2, ffmpeg, gpsd | | 2 | Maritime & 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 Tool | Mehrere Profile können kombiniert werden (z. B. `1 3` für Core + Wetter eingeben). ### CLI-Flags ```bash ./setup.sh --non-interactive # Headless full install (same as legacy behavior) ./setup.sh --profile=core,weather # Install specific profiles ./setup.sh --health-check # Check system health and exit ./setup.sh --postgres-setup # Run PostgreSQL setup and exit ./setup.sh --menu # Force interactive menu ``` ### Docker ```bash git clone https://github.com/smittix/intercept.git cd intercept docker compose --profile basic up -d --build ``` > **Hinweis:** Docker erfordert den privilegierten Modus für den USB-SDR-Zugriff. SDR-Geräte werden über `/dev/bus/usb` durchgereicht. > **Ihre Daten:** Einstellungen, Benutzer, Alarmregeln, Watchlists und decodierte Nachrichten liegen im `./instance`-Verzeichnis auf dem Host, sodass sie `--build` überstehen. Wenn Sie von einer Compose-Datei ohne diesen Mount aktualisieren? Kopieren Sie die alten Daten vor dem Neubau heraus: `docker cp intercept:/app/instance ./instance`. Für Multi-Architektur-Builds (amd64 + arm64 für Raspberry Pi) siehe `build-multiarch.sh` — es übernimmt Cross-Kompilierung und Registry-Push in einem Schritt. ### Umgebungskonfiguration Verwenden Sie den **Environment Configurator** (Menüoption 5), um jede `INTERCEPT_*`-Variable interaktiv festzulegen. Die Einstellungen werden in einer `.env`-Datei gespeichert, die `start.sh` beim Start automatisch einbindet. Sie können `.env` auch manuell erstellen oder bearbeiten: ```bash # .env (auto-loaded by start.sh) INTERCEPT_PORT=5050 INTERCEPT_ADSB_AUTO_START=true INTERCEPT_DEFAULT_LAT=51.5074 INTERCEPT_DEFAULT_LON=-0.1278 ``` ### ADS-B-Verlauf (optional) Die ADS-B-Verlaufsfunktion speichert Flugzeugmeldungen dauerhaft in PostgreSQL für die Langzeitanalyse. **Automatisierte Einrichtung (lokale Installation):** ```bash ./setup.sh --postgres-setup # Or use menu option 3: Database Setup ``` Dies installiert PostgreSQL bei Bedarf, erstellt die Datenbank/den Benutzer/die Tabellen und schreibt die Verbindungseinstellungen in `.env`. **Docker:** ```bash docker compose --profile history up -d ``` Legen Sie die folgenden Umgebungsvariablen fest (in `.env`): ```bash 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 zu speichern, setzen Sie `PGDATA_PATH` (Standardwert ist `./pgdata`): ```bash PGDATA_PATH=/mnt/usbpi1/intercept/pgdata ``` Öffnen Sie dann **/adsb/history** für das Reporting-Dashboard. ### Systemzustandsprüfung Überprüfen Sie, ob Ihre Installation vollständig und funktionsfähig ist: ```bash ./setup.sh --health-check # Or use menu option 2 ``` Überprüft installierte Tools, SDR-Geräte, Portverfügbarkeit, Berechtigungen, Python-venv, `.env`-Konfiguration und PostgreSQL-Konnektivität. ### Die Oberfläche öffnen Öffnen Sie nach dem Start **http://localhost:5050** in Ihrem Browser. **Es gibt kein Standardpasswort.** Beim ersten Start generiert INTERCEPT eines für das `admin`-Konto, protokolliert es und schreibt es in `instance/.initial_password`. Melden Sie sich damit an, und Sie werden aufgefordert, ein eigenes Passwort festzulegen, bevor die Oberfläche freigeschaltet wird. Um von Anfang an ein eigenes Passwort zu wählen, setzen Sie `INTERCEPT_ADMIN_PASSWORD` vor dem ersten Start. Weitere Details und die Begründung, warum dies den bisherigen Standard `admin`/`admin` ersetzt hat, finden Sie unter [Sicherheit](https://github.com/smittix/intercept/blob/main/docs/SECURITY.md#authentication). --- ## Hardware-Anforderungen | Hardware | Zweck | Preis | |----------|---------|-------| | **RTL-SDR** | Erforderlich für alle SDR-Funktionen | ~$25-35 | | **WiFi-Adapter** | Muss den Promiscuous-Modus (Monitor-Modus) unterstützen | ~$20-40 | | **Bluetooth-Adapter** | Geräte-Scanning (normalerweise integriert) | - | | **GPS** | Jede unter Linux unterstützte GPS-Einheit | ~10 | Die meisten Funktionen arbeiten mit einem einfachen RTL-SDR-Dongle (RTL2832U + R820T2). | :exclamation: Sie verwenden kein RTL-SDR-Gerät? | |----------------------------------------------- |Intercept unterstützt jedes Gerät, das von SoapySDR unterstützt wird. Sie müssen jedoch das passende Modul für Ihr Gerät installiert haben! Wenn Sie beispielsweise ein SDRPlay-Gerät besitzen, müssten Sie soapysdr-module-sdrplay installieren. | :exclamation: GPS-Nutzung | |----------------------------------------------- |gpsd wird für die Echtzeit-Standortbestimmung benötigt. Intercept prüft automatisch, ob gpsd im Hintergrund läuft, wenn Karten gerendert werden. --- ## Discord-Server <p align="center"> <a href="https://discord.gg/EyeksEJmWE">Treten Sie unserem Discord bei</a> </p> --- ## Dokumentation - [Benutzerhandbuch](https://github.com/smittix/intercept/blob/main/docs/USAGE.md) – Detaillierte Anweisungen für jeden Modus - [Hardware-Handbuch](https://github.com/smittix/intercept/blob/main/docs/HARDWARE.md) – SDR-Hardware, manuelle Installation und erweiterte Einrichtung - [Fehlerbehebung](https://github.com/smittix/intercept/blob/main/docs/TROUBLESHOOTING.md) – Häufige Probleme und Lösungen - [Verteilte Agenten](https://github.com/smittix/intercept/blob/main/docs/DISTRIBUTED_AGENTS.md) – Bereitstellung entfernter Sensorknoten - [Webhooks](https://github.com/smittix/intercept/blob/main/docs/WEBHOOKS.md) – Alarmregeln und Webhook-Integration - [Sicherheit](https://github.com/smittix/intercept/blob/main/docs/SECURITY.md) – Netzwerksicherheit und bewährte Verfahren --- ## Haftungsausschluss Dieses Projekt wurde unter Verwendung von KI als Programmierpartner entwickelt und kombiniert menschliche Leitung mit KI-gestützter Umsetzung. Das Ziel: Software Defined Radio zugänglicher zu machen, indem eine saubere, einheitliche Oberfläche für gängige SDR-Tools bereitgestellt wird. **Diese Software dient ausschließlich Bildungs- und autorisierten Testzwecken.** - Nur mit entsprechender Genehmigung verwenden - Das Abfangen von Kommunikation ohne Einwilligung kann illegal sein - Sie sind für die Einhaltung der geltenden Gesetze verantwortlich --- ## Lizenz Apache 2.0 Lizenz – siehe [LICENSE](https://github.com/smittix/intercept/blob/main/LICENSE) ## Autor Erstellt von **smittix** – [GitHub](https://github.com/smittix) ## Danksagungen [rtl-sdr](https://osmocom.org/projects/rtl-sdr/wiki) | [multimon-ng](https://github.com/EliasOenal/multimon-ng) | [rtl_433](https://github.com/merbanan/rtl_433) | [dump1090](https://github.com/flightaware/dump1090) | [AIS-catcher](https://github.com/jvde-github/AIS-catcher) | [acarsdec](https://github.com/TLeconte/acarsdec) | [direwolf](https://github.com/wb2osz/direwolf) | [rtlamr](https://github.com/bemasher/rtlamr) | [dumpvdl2](https://github.com/szpajder/dumpvdl2) | [aircrack-ng](https://www.aircrack-ng.org/) | [Leaflet.js](https://leafletjs.com/) | [SatDump](https://github.com/SatDump/SatDump) | [Celestrak](https://celestrak.org/) | [Priyom.org](https://priyom.org/)