
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:
| # | 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).
./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):