
iNTERCEPT, una piattaforma gratuita e open-source che unisce i migliori strumenti di intelligence sui segnali in un'interfaccia unica e accessibile.
Supporta lo sviluppatore di questo progetto open-source
Piattaforma di Intelligence dei Segnali
Un'interfaccia web per strumenti radio definiti via software.
git clone https://github.com/smittix/intercept.git
cd intercept
./setup.sh # Menu interattivo (primo avvio avvia la procedura guidata)
sudo ./start.sh
Al primo avvio, setup.sh avvia una procedura guidata che rileva il tuo sistema operativo, ti permette di scegliere profili di installazione, configura l'ambiente Python e opzionalmente imposta le variabili d'ambiente e PostgreSQL.
Nei successivi avvii, apre un menu interattivo:
INTERCEPT Setup Menu
════════════════════════════════════════
1) Installa / Aggiungi Moduli
2) Controllo Salute Sistema
3) Configurazione Database (Cronologia ADS-B)
4) Aggiorna Strumenti
5) Configuratore Ambiente
6) Disinstalla / Pulizia
7) Visualizza Stato
0) Esci
Server Produzione vs Dev:
start.shrileva automaticamente gunicorn + gevent e avvia un server di produzione con greenlet cooperativi — gestisce più client SSE/WebSocket senza blocchi. Ricade sul server di sviluppo Flask se gunicorn non è installato. Per uno sviluppo locale rapido, puoi comunque usare direttamentesudo -E venv/bin/python intercept.py.
Scegli cosa installare durante la procedura guidata o tramite l'opzione menu 1:
Più profili possono essere combinati (es. inserire 1 3 per Core + Meteo).
./setup.sh --non-interactive # Installazione completa non interattiva (stesso comportamento legacy)
./setup.sh --profile=core,weather # Installa profili specifici
./setup.sh --health-check # Controlla salute sistema ed esce
./setup.sh --postgres-setup # Esegue configurazione PostgreSQL ed esce
./setup.sh --menu # Forza menu interattivo
git clone https://github.com/smittix/intercept.git
cd intercept
docker compose --profile basic up -d --build
Nota: Docker richiede la modalità privilegiata per l'accesso USB SDR. I dispositivi SDR sono passati tramite
/dev/bus/usb.
Per build multi-architettura (amd64 + arm64 per Raspberry Pi), vedere build-multiarch.sh — gestisce cross-compilazione e push al registro in un unico passaggio.
Usa il Configuratore Ambiente (opzione menu 5) per impostare interattivamente qualsiasi variabile INTERCEPT_*. Le impostazioni vengono salvate in un file .env che start.sh carica automaticamente all'avvio.
Puoi anche creare o modificare .env manualmente:
# .env (caricato automaticamente da start.sh)
INTERCEPT_PORT=5050
INTERCEPT_ADSB_AUTO_START=true
INTERCEPT_DEFAULT_LAT=51.5074
INTERCEPT_DEFAULT_LON=-0.1278
La funzione di cronologia ADS-B persiste i messaggi degli aerei in PostgreSQL per analisi a lungo termine.
Configurazione automatica (installazione locale):
./setup.sh --postgres-setup
# Oppure usa l'opzione menu 3: Configurazione Database
Questo installerà PostgreSQL se necessario, creerà il database/utente/tabelle e scriverà le impostazioni di connessione in .env.
Docker:
docker compose --profile history up -d
Imposta le seguenti variabili d'ambiente (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
Per archiviare i dati Postgres su memoria esterna, imposta PGDATA_PATH (predefinito a ./pgdata):
PGDATA_PATH=/mnt/usbpi1/intercept/pgdata
Poi apri /adsb/history per la dashboard di reportistica.
Verifica che la tua installazione sia completa e funzionante:
./setup.sh --health-check
# Oppure usa l'opzione menu 2
Controlla gli strumenti installati, i dispositivi SDR, la disponibilità delle porte, i permessi, l'ambiente virtuale Python, la configurazione .env e la connettività PostgreSQL.
Dopo l'avvio, apri http://localhost:5050 nel tuo browser.
Credenziali predefinite: admin / admin — modificale in config.py (ADMIN_USERNAME / ADMIN_PASSWORD) prima di esporre l'app su una rete.
La maggior parte delle funzionalità funziona con un semplice dongle RTL-SDR (RTL2832U + R820T2).
| ❗ Non usi un dispositivo RTL-SDR? |
|---|
| Intercept supporta qualsiasi dispositivo supportato da SoapySDR. Devi però avere installato il modulo corretto per il tuo dispositivo! Ad esempio, se hai un dispositivo SDRPlay dovresti installare soapysdr-module-sdrplay. |
| ❗ Uso GPS |
|---|
| gpsd è necessario per la posizione in tempo reale. Intercept controlla automaticamente se gpsd è in esecuzione in background quando vengono renderizzate mappe. |
Questo progetto è stato sviluppato utilizzando l'IA come partner di programmazione, combinando la direzione umana con l'implementazione assistita dall'IA. L'obiettivo: rendere la Radio Definita via Software più accessibile fornendo un'interfaccia pulita e unificata per gli strumenti SDR comuni.
Questo software è solo per scopi educativi e di test autorizzati.
Licenza Apache 2.0 - vedi LICENSE
Creato da smittix - GitHub
rtl-sdr | multimon-ng | rtl_433 | dump1090 | AIS-catcher | acarsdec | direwolf | rtlamr | dumpvdl2 | aircrack-ng | Leaflet.js | SatDump | Celestrak | Priyom.org
| # | Profilo | Strumenti |
|---|
| 1 | Core SIGINT | rtl_sdr, multimon-ng, rtl_433, dump1090, acarsdec, dumpvdl2, ffmpeg, gpsd |
| 2 | Marittimo & Radio | AIS-catcher, direwolf |
| 3 | Meteo & Spazio | SatDump, radiosonde_auto_rx |
| 4 | Sicurezza RF | aircrack-ng, HackRF, BlueZ, hcxtools, Ubertooth, SoapySDR |
| 5 | SIGINT Completo | Tutti i precedenti |
| 6 | Personalizzato | Elenco per strumento |
| Hardware | Scopo | Prezzo |
|---|
| RTL-SDR | Richiesto per tutte le funzionalità SDR | ~25-35 € |
| Adattatore WiFi | Deve supportare la modalità promiscua (monitor) | ~20-40 € |
| Adattatore Bluetooth | Scansione dispositivi (solitamente integrato) | - |
| GPS | Qualsiasi unità GPS supportata da Linux | ~10 € |