
intercept v2.33.0
iNTERCEPT, uma plataforma gratuita e de código aberto que reúne as melhores ferramentas de inteligência de sinais em uma única interface acessível.
Apoie o desenvolvedor deste projeto de código aberto
Plataforma de Inteligência de Sinais
Uma interface web para ferramentas de rádio definido por software.
Funcionalidades
- Decodificação de Pagers - POCSAG/FLEX via rtl_fm + multimon-ng
- Sensores 433MHz - Estações meteorológicas, TPMS, dispositivos IoT via rtl_433
- Analisador Sub-GHz - Captura de RF e decodificação de protocolos para faixas ISM de 300-928 MHz via HackRF
- Rastreamento de Aeronaves - ADS-B via dump1090 com mapa em tempo real e radar
- Rastreamento de Embarcações - AIS com monitoramento de socorro VHF DSC
- Mensagens ACARS - Mensagens de datalink de aeronaves via acarsdec
- VDL2 - Decodificação de datalink VHF Modo 2 de aeronaves via dumpvdl2
- Posto de Escuta - Escaneador de frequências de banda larga com monitoramento de áudio em tempo real
- Satélites Meteorológicos - Decodificação de imagens NOAA APT e Meteor LRPT via SatDump com agendador automático
- WebSDR - Escuta remota de HF/onda curta via rede KiwiSDR
- ISS SSTV - Recepção de imagens de TV de varredura lenta da Estação Espacial Internacional
- SSTV HF - SSTV terrestre em frequências de onda curta (80m-10m, VHF, UHF)
- APRS - Relatórios de posição e telemetria de rádio amador via direwolf
- Rastreamento de Satélites - Previsão de passagem com gráfico polar e mapa de trajetória terrestre
- Medidores de Utilidades - Leitura de medidores de eletricidade, gás e água via rtlamr
- Histórico ADS-B - Histórico persistente de aeronaves com painel de relatórios (Postgres opcional)
- Escaneamento WiFi - Reconhecimento em modo monitor via aircrack-ng
- Escaneamento Bluetooth - Descoberta de dispositivos e detecção de rastreadores (com suporte a Ubertooth)
- BT Localizar - Localização de dispositivos Bluetooth SAR com mapeamento de trilha de sinal com coordenadas GPS e alertas de proximidade
- WiFi Localizar - Localize pontos de acesso WiFi por BSSID com medidor de sinal em tempo real, estimativa de distância e áudio de proximidade
- GPS - Rastreamento de posição GPS em tempo real com mapa ao vivo, velocidade, altitude e informações de satélite
- TSCM - Contra-vigilância com comparação de linha de base de RF e detecção de ameaças
- Meshtastic - Integração com rede mesh LoRa
- Clima Espacial - Dados solares e geomagnéticos em tempo real da NOAA SWPC, NASA SDO e HamQSL (sem necessidade de SDR)
- Estações Espiãs - Estações de números e banco de dados de rede diplomática HF
- Agentes Remotos - SIGINT distribuído com nós sensores remotos
- Modo Offline - Ativos empacotados para implantações em ambientes sem conexão/campo
- Inteligência de Drones - Detecção multi-vetorial de UAV via ASTM F3411 Remote ID (WiFi/BLE), RTL-SDR 433/868 MHz RF e HackRF 2.4/5.8 GHz com mapa de contato ao vivo e pontuação de risco
Instalação / Debian / Ubuntu / macOS
Início Rápido
git clone https://github.com/smittix/intercept.git
cd intercept
./setup.sh # Menu interativo (primeira execução inicia o assistente de configuração)
sudo ./start.sh
Na primeira execução, o setup.sh inicia um assistente guiado que detecta seu SO, permite escolher perfis de instalação, configura o ambiente Python e opcionalmente define variáveis de ambiente e PostgreSQL.
Nas execuções subsequentes, ele abre um menu interativo:
Menu de Configuração do INTERCEPT
════════════════════════════════════════
1) Instalar / Adicionar Módulos
2) Verificação de Saúde do Sistema
3) Configuração do Banco de Dados (Histórico ADS-B)
4) Atualizar Ferramentas
5) Configurador de Ambiente
6) Desinstalar / Limpeza
7) Ver Status
0) Sair
Servidor de Produção vs Dev: O
start.shdetecta automaticamente gunicorn + gevent e executa um servidor de produção com greenlets cooperativos — lida com múltiplos clientes SSE/WebSocket sem bloqueio. Caso o gunicorn não esteja instalado, usa o servidor de desenvolvimento do Flask. Para desenvolvimento local rápido, você ainda pode usarsudo -E venv/bin/python intercept.pydiretamente.
Perfis de Instalação
Escolha o que instalar durante o assistente ou através da opção de menu 1:
| # | Perfil | Ferramentas |
|---|---|---|
| 1 | SIGINT Principal | rtl_sdr, multimon-ng, rtl_433, dump1090, acarsdec, dumpvdl2, ffmpeg, gpsd |
| 2 | Marítimo e Rádio | AIS-catcher, direwolf |
| 3 | Clima e Espaço | SatDump, radiosonde_auto_rx |
| 4 | Segurança RF | aircrack-ng, HackRF, BlueZ, hcxtools, Ubertooth, SoapySDR |
| 5 | SIGINT Completo | Todos os acima |
| 6 | Personalizado | Lista de verificação por ferramenta |
Múltiplos perfis podem ser combinados (por exemplo, digite 1 3 para Principal + Clima).
Flags de Linha de Comando
./setup.sh --non-interactive # Instalação completa não interativa (mesmo comportamento legado)
./setup.sh --profile=core,weather # Instala perfis específicos
./setup.sh --health-check # Verifica a saúde do sistema e sai
./setup.sh --postgres-setup # Executa a configuração do PostgreSQL e sai
./setup.sh --menu # Força o menu interativo
Docker
git clone https://github.com/smittix/intercept.git
cd intercept
docker compose --profile basic up -d --build
Nota: O Docker requer modo privilegiado para acesso USB ao SDR. Os dispositivos SDR são passados via
/dev/bus/usb.
Para builds multi-arquitetura (amd64 + arm64 para Raspberry Pi), veja build-multiarch.sh — ele lida com compilação cruzada e envio para registro em uma única etapa.
Configuração de Ambiente
Use o Configurador de Ambiente (opção de menu 5) para definir interativamente qualquer variável INTERCEPT_*. As configurações são salvas em um arquivo .env que o start.sh carrega automaticamente na inicialização.
Você também pode criar ou editar .env manualmente:
# .env (carregado automaticamente pelo start.sh)
INTERCEPT_PORT=5050
INTERCEPT_ADSB_AUTO_START=true
INTERCEPT_DEFAULT_LAT=51.5074
INTERCEPT_DEFAULT_LON=-0.1278
Histórico ADS-B (Opcional)
O recurso de histórico ADS-B persiste mensagens de aeronaves no PostgreSQL para análise de longo prazo.
Configuração automatizada (instalação local):
./setup.sh --postgres-setup
# Ou use a opção de menu 3: Configuração do Banco de Dados
Isso instalará o PostgreSQL se necessário, criará o banco de dados/usuário/tabelas e gravará as configurações de conexão no .env.
Docker:
docker compose --profile history up -d
Defina as seguintes variáveis de ambiente (em .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 armazenar dados do Postgres em armazenamento externo, defina PGDATA_PATH (padrão: ./pgdata):
PGDATA_PATH=/mnt/usbpi1/intercept/pgdata
Em seguida, acesse /adsb/history para o painel de relatórios.
Verificação de Saúde do Sistema
Verifique se sua instalação está completa e funcionando:
./setup.sh --health-check
# Ou use a opção de menu 2
Verifica ferramentas instaladas, dispositivos SDR, disponibilidade de portas, permissões, ambiente virtual Python, configuração .env e conectividade com PostgreSQL.
Abrir a Interface
Após iniciar, abra http://localhost:5050 no seu navegador.
Credenciais padrão: admin / admin — altere-as em config.py (ADMIN_USERNAME / ADMIN_PASSWORD) antes de expor o aplicativo em uma rede.
Requisitos de Hardware
| Hardware | Finalidade | Preço |
|---|---|---|
| RTL-SDR | Necessário para todos os recursos SDR | ~$25-35 |
| Adaptador WiFi | Deve suportar modo promíscuo (monitor) | ~$20-40 |
| Adaptador Bluetooth | Escaneamento de dispositivos (geralmente integrado) | - |
| GPS | Qualquer unidade GPS suportada pelo Linux | ~10 |
A maioria dos recursos funciona com um dongle RTL-SDR básico (RTL2832U + R820T2).
| ❗ Não está usando um dispositivo RTL-SDR? |
|---|
| O Intercept suporta qualquer dispositivo que o SoapySDR suporte. No entanto, você deve ter o módulo correto para seu dispositivo instalado! Por exemplo, se você tiver um dispositivo SDRPlay, precisará instalar o soapysdr-module-sdrplay. |
| ❗ Uso de GPS |
|---|
| O gpsd é necessário para localização em tempo real. O Intercept verifica automaticamente se você está executando o gpsd em segundo plano quando qualquer mapa é renderizado. |
Servidor no Discord
Documentação
- Guia de Uso - Instruções detalhadas para cada modo
- Guia de Hardware - Hardware SDR, instalação manual e configuração avançada
- Solução de Problemas - Problemas comuns e soluções
- Agentes Distribuídos - Implantação de nós sensores remotos
- Webhooks - Regras de alerta e integração com webhooks
- Segurança - Segurança de rede e melhores práticas
Aviso Legal
Este projeto foi desenvolvido usando IA como parceira de codificação, combinando direção humana com implementação assistida por IA. O objetivo: tornar o Rádio Definido por Software mais acessível, fornecendo uma interface limpa e unificada para ferramentas SDR comuns.
Este software é apenas para fins educacionais e de teste autorizado.
- Use apenas com a devida autorização
- Interceptar comunicações sem consentimento pode ser ilegal
- Você é responsável pelo cumprimento das leis aplicáveis
Licença
Licença Apache 2.0 - veja LICENSE
Autor
Criado por smittix - GitHub
Agradecimentos
rtl-sdr | multimon-ng | rtl_433 | dump1090 | AIS-catcher | acarsdec | direwolf | rtlamr | dumpvdl2 | aircrack-ng | Leaflet.js | SatDump | Celestrak | Priyom.org
