
iNTERCEPT, una plataforma gratuita y de código abierto que une las mejores herramientas de inteligencia de señales en una única interfaz accesible.
Apoya al desarrollador de este proyecto de código abierto
Plataforma de Inteligencia de Señales
Una interfaz web para herramientas de radio definida por software.
git clone https://github.com/smittix/intercept.git
cd intercept
./setup.sh # Menú interactivo (la primera ejecución lanza el asistente de configuración)
sudo ./start.sh
En la primera ejecución, setup.sh lanza un asistente guiado que detecta tu SO, te permite elegir perfiles de instalación, configura el entorno Python y opcionalmente configura variables de entorno y PostgreSQL.
En ejecuciones posteriores, abre un menú interactivo:
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
Servidor de producción vs desarrollo:
start.shdetecta automáticamente gunicorn + gevent y ejecuta un servidor de producción con greenlets cooperativos — maneja múltiples clientes SSE/WebSocket sin bloqueo. Vuelve al servidor de desarrollo Flask si gunicorn no está instalado. Para desarrollo local rápido, aún puedes usarsudo -E venv/bin/python intercept.pydirectamente.
Elige qué instalar durante el asistente o mediante la opción de menú 1:
| # | Perfil | Herramientas |
|---|---|---|
| 1 | SIGINT Básico | rtl_sdr, multimon-ng, rtl_433, dump1090, acarsdec, dumpvdl2, ffmpeg, gpsd |
| 2 | Marítimo y Radio | AIS-catcher, direwolf |
| 3 | Clima y Espacio | SatDump, radiosonde_auto_rx |
| 4 | Seguridad RF | aircrack-ng, HackRF, BlueZ, hcxtools, Ubertooth, SoapySDR |
| 5 | SIGINT Completo | Todas las anteriores |
| 6 | Personalizado | Lista de verificación por herramienta |
Se pueden combinar múltiples perfiles (p. ej., introduce 1 3 para Básico + Clima).
./setup.sh --non-interactive # Instalación completa sin interfaz (igual que comportamiento heredado)
./setup.sh --profile=core,weather # Instalar perfiles específicos
./setup.sh --health-check # Verificar estado del sistema y salir
./setup.sh --postgres-setup # Ejecutar configuración de PostgreSQL y salir
./setup.sh --menu # Forzar menú interactivo
git clone https://github.com/smittix/intercept.git
cd intercept
docker compose --profile basic up -d --build
Nota: Docker requiere modo privilegiado para acceso USB SDR. Los dispositivos SDR se pasan a través de
/dev/bus/usb.
Para compilaciones multiarquitectura (amd64 + arm64 para Raspberry Pi), consulta build-multiarch.sh — maneja compilación cruzada y envío al registro en un solo paso.
Usa el Configurador de Entorno (opción de menú 5) para establecer interactivamente cualquier variable INTERCEPT_*. Las configuraciones se guardan en un archivo .env que start.sh carga automáticamente al iniciar.
También puedes crear o editar .env manualmente:
# .env (cargado automáticamente por start.sh)
INTERCEPT_PORT=5050
INTERCEPT_ADSB_AUTO_START=true
INTERCEPT_DEFAULT_LAT=51.5074
INTERCEPT_DEFAULT_LON=-0.1278
La función de historial ADS‑B persiste mensajes de aeronaves en PostgreSQL para análisis a largo plazo.
Configuración automatizada (instalación local):
./setup.sh --postgres-setup
# O usa la opción de menú 3: Configuración de Base de Datos
Esto instalará PostgreSQL si es necesario, creará la base de datos/usuario/tablas y escribirá la configuración de conexión en .env.
Docker:
docker compose --profile history up -d
Establece las siguientes variables de entorno (en .env):