
intercept v2.33.0
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.
Características
- Decodificación de Buscapersonas - POCSAG/FLEX mediante rtl_fm + multimon-ng
- Sensores de 433MHz - Estaciones meteorológicas, TPMS, dispositivos IoT mediante rtl_433
- Analizador Sub-GHz - Captura RF y decodificación de protocolos para bandas ISM 300-928 MHz mediante HackRF
- Seguimiento de Aeronaves - ADS-B mediante dump1090 con mapa en tiempo real y radar
- Seguimiento de Buques - AIS de barcos con monitoreo de socorro VHF DSC
- Mensajería ACARS - Mensajes de enlace de datos de aeronaves mediante acarsdec
- VDL2 - Decodificación de enlace de datos de aeronaves VHF Data Link Mode 2 mediante dumpvdl2
- Puesto de Escucha - Escáner de frecuencia de banda ancha con monitoreo de audio en tiempo real
- Satélites Meteorológicos - Decodificación de imágenes NOAA APT y Meteor LRPT mediante SatDump con programador automático
- WebSDR - Escucha remota de HF/onda corta mediante la red KiwiSDR
- ISS SSTV - Recepción de imágenes de televisión de barrido lento desde la Estación Espacial Internacional
- HF SSTV - SSTV terrestre en frecuencias de onda corta (80m-10m, VHF, UHF)
- APRS - Informes de posición y telemetría de radioaficionados mediante direwolf
- Seguimiento de Satélites - Predicción de pasadas con gráfico polar y mapa de trayectoria terrestre
- Medidores de Servicios - Lectura de medidores eléctricos, de gas y agua mediante rtlamr
- Historial ADS-B - Historial persistente de aeronaves con panel de informes (Postgres opcional)
- Escaneo WiFi - Reconocimiento en modo monitor mediante aircrack-ng
- Escaneo Bluetooth - Descubrimiento de dispositivos y detección de rastreadores (con soporte para Ubertooth)
- BT Localizar - Localización de dispositivos Bluetooth SAR con mapeo de rastro de señal con GPS y alertas de proximidad
- WiFi Localizar - Localizar puntos de acceso WiFi por BSSID con medidor de señal en tiempo real, estimación de distancia y audio de proximidad
- GPS - Seguimiento de posición GPS en tiempo real con mapa en vivo, velocidad, altitud e información de satélites
- TSCM - Contravigilancia con comparación de línea base RF y detección de amenazas
- Meshtastic - Integración con red de malla LoRa
- Clima Espacial - Datos solares y geomagnéticos en tiempo real de NOAA SWPC, NASA SDO y HamQSL (no se requiere SDR)
- Estaciones Espía - Estaciones numéricas y base de datos de redes HF diplomáticas
- Agentes Remotos - SIGINT distribuido con nodos sensores remotos
- Modo Sin Conexión - Recursos empaquetados para despliegues en campo/aislados
- Inteligencia de Drones - Detección UAV multivetorial mediante ASTM F3411 Remote ID (WiFi/BLE), RTL-SDR 433/868 MHz RF y HackRF 2.4/5.8 GHz con mapa de contactos en vivo y puntuación de riesgo
Instalación / Debian / Ubuntu / macOS
Inicio Rápido
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.
Perfiles de Instalación
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).
Banderas CLI
./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
Docker
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.
Configuración de Entorno
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
Historial ADS‑B (Opcional)
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.
Verificación de Estado del Sistema
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.
Abrir la Interfaz
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.
Requisitos de Hardware
| 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 |
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. |
Servidor Discord
Documentación
- Guía de Uso - Instrucciones detalladas para cada modo
- Guía de Hardware - Hardware SDR, instalación manual y configuración avanzada
- Solución de Problemas - Problemas comunes y soluciones
- Agentes Distribuidos - Despliegue de nodos sensores remotos
- Webhooks - Reglas de alerta e integración de webhooks
- Seguridad - Seguridad de red y mejores prácticas
Descargo de Responsabilidad
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.
- Úselo solo con la autorización adecuada
- Interceptar comunicaciones sin consentimiento puede ser ilegal
- Usted es responsable del cumplimiento de las leyes aplicables
Licencia
Licencia Apache 2.0 - ver LICENSE
Autor
Creado por smittix - GitHub
Agradecimientos
rtl-sdr | multimon-ng | rtl_433 | dump1090 | AIS-catcher | acarsdec | direwolf | rtlamr | dumpvdl2 | aircrack-ng | Leaflet.js | SatDump | Celestrak | Priyom.org
