
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:
| # | 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 |
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