
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.
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.
Escolha o que instalar durante o assistente ou através da opção de menu 1:
Múltiplos perfis podem ser combinados (por exemplo, digite 1 3 para Principal + Clima).
./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
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.
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
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.
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.
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.
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. |
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.
Licença Apache 2.0 - veja LICENSE
Criado 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 | 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 |
| 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 |