
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:
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):
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
Para almacenar datos de Postgres en almacenamiento externo, establece PGDATA_PATH (por defecto ./pgdata):
PGDATA_PATH=/mnt/usbpi1/intercept/pgdata
Luego abre /adsb/history para el panel de informes.
Verifica que tu instalación esté completa y funcionando:
./setup.sh --health-check
# O usa la opción de menú 2
Comprueba herramientas instaladas, dispositivos SDR, disponibilidad de puertos, permisos, entorno virtual Python, configuración de .env y conectividad PostgreSQL.
Después de iniciar, abre http://localhost:5050 en tu navegador.
Credenciales por defecto: admin / admin — cámbialas en config.py (ADMIN_USERNAME / ADMIN_PASSWORD) antes de exponer la aplicación en una red.
La mayoría de las funciones funcionan con un dongle RTL-SDR básico (RTL2832U + R820T2).
| ❗ ¿No usas un dispositivo RTL-SDR? |
|---|
| Intercept es compatible con cualquier dispositivo que soporte SoapySDR. Debes tener el módulo correcto para tu dispositivo instalado. Por ejemplo, si tienes un dispositivo SDRPlay, necesitarías instalar soapysdr-module-sdrplay. |
| ❗ Uso de GPS |
|---|
| Se necesita gpsd para la ubicación en tiempo real. Intercept verifica automáticamente si estás ejecutando gpsd en segundo plano cuando se renderizan mapas. |
Este proyecto fue desarrollado utilizando IA como compañero de codificación, combinando dirección humana con implementación asistida por IA. El objetivo: hacer que la Radio Definida por Software sea más accesible proporcionando una interfaz unificada y limpia para herramientas SDR comunes.
Este software es solo para fines educativos y de prueba autorizados.
Licencia Apache 2.0 - ver LICENSE
Creado por smittix - GitHub
rtl-sdr | multimon-ng | rtl_433 | dump1090 | AIS-catcher | acarsdec | direwolf | rtlamr | dumpvdl2 | aircrack-ng | Leaflet.js | SatDump | Celestrak | Priyom.org
| # | 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 |
| Hardware | Propósito | Precio |
|---|
| RTL-SDR | Requerido para todas las funciones SDR | ~$25-35 |
| Adaptador WiFi | Debe soportar modo promiscuo (monitor) | ~$20-40 |
| Adaptador Bluetooth | Escaneo de dispositivos (generalmente integrado) | - |
| GPS | Cualquier unidad GPS compatible con Linux | ~10 |