
intercept v2.33.0
iNTERCEPT, une plateforme gratuite et open source qui réunit les meilleurs outils de renseignement d'origine électromagnétique dans une interface unique et accessible.
Soutenez le développeur de ce projet open-source
Plateforme de renseignement sur les signaux
Une interface web pour les outils de radio logicielle.
Fonctionnalités
- Décodage de radiomessagerie - POCSAG/FLEX via rtl_fm + multimon-ng
- Capteurs 433 MHz - Stations météo, TPMS, appareils IoT via rtl_433
- Analyseur Sub-GHz - Capture RF et décodage de protocole pour bandes ISM 300-928 MHz via HackRF
- Suivi aérien - ADS-B via dump1090 avec carte en temps réel et radar
- Suivi maritime - Suivi des navires AIS avec surveillance de détresse VHF DSC
- Messagerie ACARS - Messages de liaison de données aéronautiques via acarsdec
- VDL2 - Décodage de liaison de données aéronautiques VHF Data Link Mode 2 via dumpvdl2
- Poste d'écoute - Scanner de fréquence large bande avec surveillance audio en temps réel
- Satellites météo - Décodage d'images NOAA APT et Meteor LRPT via SatDump avec planification automatique
- WebSDR - Écoute HF/ondes courtes à distance via le réseau KiwiSDR
- ISS SSTV - Réception d'images TV à balayage lent depuis la Station spatiale internationale
- SSTV HF - SSTV terrestre sur fréquences ondes courtes (80m-10m, VHF, UHF)
- APRS - Rapports de position et télémétrie radio amateur via direwolf
- Suivi satellitaire - Prédiction de passage avec tracé polaire et carte de trajectoire au sol
- Compteurs utilitaires - Relevé de compteurs électriques, gaz et eau via rtlamr
- Historique ADS-B - Historique persistant des aéronefs avec tableau de bord de reporting (Postgres optionnel)
- Scan WiFi - Reconnaissance en mode monitor via aircrack-ng
- Scan Bluetooth - Découverte de périphériques et détection de trackers (avec support Ubertooth)
- BT Locate - Localisation de périphériques Bluetooth SAR avec cartographie de traces de signal géolocalisées et alertes de proximité
- WiFi Locate - Localiser les points d'accès WiFi par BSSID avec indicateur de signal en temps réel, estimation de distance et audio de proximité
- GPS - Suivi de position GPS en temps réel avec carte en direct, vitesse, altitude et informations satellites
- TSCM - Contre-surveillance avec comparaison de ligne de base RF et détection de menaces
- Meshtastic - Intégration du réseau maillé LoRa
- Météo spatiale - Données solaires et géomagnétiques en temps réel depuis NOAA SWPC, NASA SDO et HamQSL (SDR non requis)
- Stations d'espionnage - Stations de nombres et base de données des réseaux HF diplomatiques
- Agents distants - SIGINT distribué avec nœuds capteurs distants
- Mode hors ligne - Ressources groupées pour déploiements en zone isolée/sur le terrain
- Renseignement drone - Détection multi-vecteurs de UAV via ASTM F3411 Remote ID (WiFi/BLE), RTL-SDR 433/868 MHz RF, et balayage HackRF 2,4/5,8 GHz avec carte de contacts en direct et évaluation de risque
Installation / Debian / Ubuntu / macOS
Démarrage rapide
git clone https://github.com/smittix/intercept.git
cd intercept
./setup.sh # Menu interactif (premier lancement : assistant de configuration)
sudo ./start.sh
Lors du premier lancement, setup.sh exécute un assistant guidé qui détecte votre OS, vous permet de choisir des profils d'installation, configure l'environnement Python et, optionnellement, les variables d'environnement et PostgreSQL.
Lors des lancements ultérieurs, il ouvre un menu interactif :
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
Serveur de production vs développement :
start.shdétecte automatiquement gunicorn + gevent et lance un serveur de production avec greenlets coopératifs — gère plusieurs clients SSE/WebSocket sans blocage. Repli sur le serveur de développement Flask si gunicorn n'est pas installé. Pour un développement local rapide, vous pouvez toujours utilisersudo -E venv/bin/python intercept.pydirectement.
Profils d'installation
Choisissez ce qu'il faut installer pendant l'assistant ou via l'option de menu 1 :
| # | Profil | Outils |
|---|---|---|
| 1 | SIGINT de base | rtl_sdr, multimon-ng, rtl_433, dump1090, acarsdec, dumpvdl2, ffmpeg, gpsd |
| 2 | Maritime et Radio | AIS-catcher, direwolf |
| 3 | Météo et Espace | SatDump, radiosonde_auto_rx |
| 4 | Sécurité RF | aircrack-ng, HackRF, BlueZ, hcxtools, Ubertooth, SoapySDR |
| 5 | SIGINT complet | Tous les outils ci-dessus |
| 6 | Personnalisé | Liste de sélection par outil |
Plusieurs profils peuvent être combinés (ex. entrez 1 3 pour Core + Météo).
Indicateurs CLI
./setup.sh --non-interactive # Installation complète sans interaction (identique au comportement précédent)
./setup.sh --profile=core,weather # Installer des profils spécifiques
./setup.sh --health-check # Vérifier l'état du système et quitter
./setup.sh --postgres-setup # Exécuter la configuration PostgreSQL et quitter
./setup.sh --menu # Forcer le menu interactif
Docker
git clone https://github.com/smittix/intercept.git
cd intercept
docker compose --profile basic up -d --build
Remarque : Docker nécessite le mode privilégié pour l'accès USB aux SDR. Les périphériques SDR sont passés via
/dev/bus/usb.
Pour les constructions multi-architecture (amd64 + arm64 pour Raspberry Pi), consultez build-multiarch.sh — il gère la compilation croisée et le push vers le registre en une seule étape.
Configuration de l'environnement
Utilisez le Configurateur d'environnement (option de menu 5) pour définir interactivement toute variable INTERCEPT_*. Les paramètres sont sauvegardés dans un fichier .env que start.sh charge automatiquement au démarrage.
Vous pouvez aussi créer ou modifier .env manuellement :
# .env (auto-chargé par start.sh)
INTERCEPT_PORT=5050
INTERCEPT_ADSB_AUTO_START=true
INTERCEPT_DEFAULT_LAT=51.5074
INTERCEPT_DEFAULT_LON=-0.1278
Historique ADS-B (Optionnel)
La fonctionnalité d'historique ADS-B conserve les messages des aéronefs dans PostgreSQL pour une analyse à long terme.
Configuration automatisée (installation locale) :
./setup.sh --postgres-setup
# Ou utilisez l'option de menu 3 : Database Setup
Cela installera PostgreSQL si nécessaire, créera la base de données/utilisateur/tables et écrira les paramètres de connexion dans .env.
Docker :
docker compose --profile history up -d
Définissez les variables d'environnement suivantes (dans .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
Pour stocker les données Postgres sur un stockage externe, définissez PGDATA_PATH (par défaut ./pgdata) :
PGDATA_PATH=/mnt/usbpi1/intercept/pgdata
Ouvrez ensuite /adsb/history pour le tableau de bord de reporting.
Vérification de l'état du système
Vérifiez que votre installation est complète et fonctionne :
./setup.sh --health-check
# Ou utilisez l'option de menu 2
Vérifie les outils installés, les périphériques SDR, la disponibilité des ports, les permissions, l'environnement virtuel Python, la configuration .env et la connectivité PostgreSQL.
Ouvrir l'interface
Après le démarrage, ouvrez http://localhost:5050 dans votre navigateur.
Identifiants par défaut : admin / admin — modifiez-les dans config.py (ADMIN_USERNAME / ADMIN_PASSWORD) avant d'exposer l'application sur un réseau.
Configuration matérielle requise
| Matériel | Objectif | Prix |
|---|---|---|
| RTL-SDR | Requis pour toutes les fonctionnalités SDR | ~25-35 $ |
| Adaptateur WiFi | Doit supporter le mode promiscuité (monitor) | ~20-40 $ |
| Adaptateur Bluetooth | Scan de périphériques (généralement intégré) | - |
| GPS | Tout module GPS supporté par Linux | ~10 $ |
La plupart des fonctionnalités fonctionnent avec un dongle RTL-SDR de base (RTL2832U + R820T2).
| ❗ Vous n'utilisez pas un périphérique RTL-SDR ? |
|---|
| Intercept supporte tout périphérique pris en charge par SoapySDR. Vous devez cependant avoir le module approprié pour votre périphérique installé ! Par exemple, si vous avez un périphérique SDRPlay, vous devez installer soapysdr-module-sdrplay. |
| ❗ Utilisation du GPS |
|---|
| gpsd est nécessaire pour la localisation en temps réel. Intercept vérifie automatiquement si gpsd tourne en arrière-plan lorsqu'une carte est affichée. |
Serveur Discord
Documentation
- Guide d'utilisation - Instructions détaillées pour chaque mode
- Guide matériel - Matériel SDR, installation manuelle et configuration avancée
- Dépannage - Problèmes courants et solutions
- Agents distribués - Déploiement de nœuds capteurs distants
- Webhooks - Règles d'alerte et intégration webhook
- Sécurité - Sécurité réseau et bonnes pratiques
Avertissement
Ce projet a été développé en utilisant l'IA comme partenaire de codage, combinant la direction humaine avec une implémentation assistée par IA. L'objectif : rendre la radio logicielle plus accessible en fournissant une interface propre et unifiée pour les outils SDR courants.
Ce logiciel est destiné uniquement à des fins éducatives et de test autorisé.
- Utilisez-le uniquement avec une autorisation appropriée
- L'interception de communications sans consentement peut être illégale
- Vous êtes responsable de la conformité avec les lois applicables
Licence
Licence Apache 2.0 - voir LICENSE
Auteur
Créé par smittix - GitHub
Remerciements
rtl-sdr | multimon-ng | rtl_433 | dump1090 | AIS-catcher | acarsdec | direwolf | rtlamr | dumpvdl2 | aircrack-ng | Leaflet.js | SatDump | Celestrak | Priyom.org
