18 pontos por GN⁺ 2026-03-10 | 5 comentários | Compartilhar no WhatsApp
  • Integra diversos dados em tempo real, como aeronaves, navios, satélites, terremotos, conflitos, CCTV e interferência de GPS, em uma única interface geoespacial
  • Construído com Next.js, MapLibre GL, FastAPI e Python, permite que analistas e pesquisadores visualizem atividades globais em uma única tela
  • Oferece recursos detalhados de rastreamento em 6 áreas principais: aviação, marítimo, espaço, geopolítica, vigilância e inteligência de sinais, com cada camada controlável individualmente
  • Implantação fácil com Docker/Podman e automação da integração com APIs simplificam o self-hosting e a configuração do ambiente de desenvolvimento
  • Todos os dados são coletados de fontes públicas de OSINT, com uso explicitamente limitado a fins educacionais e de pesquisa

Visão geral

  • ShadowBroker é um painel de inteligência de fontes abertas em tempo real (Real-Time OSINT) multidomínio que integra dezenas de feeds públicos de dados e os exibe em uma única interface de mapa escuro
    • Rastreia em tempo real aeronaves, navios, satélites, terremotos, zonas de conflito, redes de CCTV, interferência de GPS e eventos geopolíticos
  • É composto por Next.js, MapLibre GL, FastAPI e Python, e foi projetado como uma ferramenta de visualização para analistas, pesquisadores e entusiastas de OSINT

Principais casos de uso

  • Rastreamento de jatos particulares de bilionários
  • Monitoramento de passagens orbitais de satélites
  • Vigilância do tráfego marítimo global
  • Detecção de zonas com interferência de GPS
  • Observação em tempo real de terremotos e desastres

Resumo dos recursos

🛩️ Rastreamento aéreo (Aviation Tracking)

  • Exibição da posição em tempo real de mais de 5.000 aeronaves comerciais via OpenSky Network
  • Classificação separada de aeronaves privadas e militares e rastreamento de jatos executivos com informações de proprietários
  • Suporte a recursos detalhados como acúmulo de trajetória de voo, detecção de órbitas/circulações e indicação de estado em solo
  • Fornece ícones SVG precisos por tipo de aeronave

🚢 Rastreamento marítimo (Maritime Tracking)

  • Dados em tempo real de cerca de 25.000 embarcações via aisstream.io WebSocket
  • Diferenciação por cores por tipo de embarcação (carga, petroleiro, passageiros, navio de guerra etc.)
  • Estimativa baseada em OSINT da posição de 11 porta-aviões da Marinha dos EUA e automação de scraping de notícias do GDELT
  • Suporte a camada dedicada para cruzeiros e embarcações de passageiros e exibição em clusters por nível de zoom

🛰️ Espaço e satélites (Space & Satellites)

  • Exibição orbital em tempo real de mais de 2.000 satélites com base em CelesTrak TLE + SGP4
  • Diferenciação por cores por tipo de missão: reconhecimento militar (vermelho), SAR (ciano), SIGINT (branco), navegação (azul), alerta antecipado (magenta), imagem comercial (verde), estação espacial (dourado)

🌍 Geopolítica e conflitos (Geopolitics & Conflict)

  • Agregação de cerca de 1.000 incidentes de conflito das últimas 8 horas com base no GDELT
  • Dados em tempo real da linha de frente na Ucrânia via DeepState Map
  • Disponibiliza feed de notícias SIGINT/RISINT e painel de informações regionais
    • Inclui população, capital, idioma, moeda, área, forma de governo, liderança do país (Wikidata) e resumo da Wikipedia

📷 Vigilância (Surveillance)

  • Integração de mais de 2.000 streams ao vivo de CCTV de trânsito
    • Londres (TfL), Austin (TxDOT), Nova York (NYC DOT), Singapura (LTA) etc.
  • Suporte a detecção e renderização automáticas de feeds e exibição em clusters com base no zoom

📡 Inteligência de sinais (Signal Intelligence)

  • Detecção de interferência de GPS: visualização de áreas de interferência por meio da análise dos valores NAC-P das aeronaves
  • Painel de interceptação de rádio: interface no estilo de escuta de comunicações por rádio

🌐 Camadas adicionais

  • Inclui dados sísmicos do USGS (24 horas), linha dia/noite, índices do mercado financeiro em tempo real e ferramenta de medição de distância e direção

Arquitetura do sistema

  • Frontend (Next.js): mapa 2D WebGL baseado em MapLibre GL, feed de notícias SIGINT, painel de controle, módulos de mercado e rádio
  • Backend (FastAPI): coleta periódica de múltiplas fontes de dados (OpenSky, adsb.lol, CelesTrak, USGS, GDELT, CCTV etc.)
  • Os dados são enviados ao frontend via REST API em intervalos de 60 a 120 segundos

Fontes de dados e APIs

Fonte Dados Frequência de atualização Chave de API
OpenSky Network Aeronaves comerciais e privadas ~60 s Opcional
adsb.lol Aeronaves militares ~60 s Não necessária
aisstream.io Posição de embarcações Tempo real Necessária
CelesTrak Órbitas de satélites ~60 s Não necessária
USGS Terremotos ~60 s Não necessária
GDELT Incidentes de conflito ~6 h Não necessária
DeepState Map Linha de frente na Ucrânia ~30 min Não necessária
TfL, TxDOT, NYC DOT, LTA CCTV de trânsito ~5 min Algumas necessárias
RestCountries, Wikidata, Wikipedia Informações de países e mapa Sob demanda Não necessária

Instalação e execução

Baseado em Docker/Podman

  • Após git clone, execução automática com o comando ./compose.sh up -d
  • Portas padrão: frontend 3000, backend 8000
  • É possível redefinir a porta com a variável de ambiente NEXT_PUBLIC_API_URL

Ambiente de desenvolvimento para modificar o código

  • Requer Node.js 18+ e Python 3.10~3.12
  • Chave de API do aisstream.io obrigatória; chaves de OpenSky e LTA opcionais
  • Execução simultânea de frontend e backend com npm run dev

Controle das camadas de dados

  • Todas as camadas podem ser alternadas individualmente, incluindo aeronaves, satélites, navios, terremotos, CCTV, conflitos e interferência de GPS
  • Ativadas por padrão: aeronaves comerciais e militares, satélites, porta-aviões, terremotos, conflitos, interferência de GPS e linha dia/noite

Otimização de desempenho

  • Processamento eficiente de grandes volumes de dados em tempo real com compressão Gzip (92%), cache com ETag, viewport culling, renderização em clusters e redução da precisão das coordenadas (5 casas decimais)
  • Carga de renderização minimizada com React.memo e debounce (300 ms)

Variáveis de ambiente

  • Obrigatória: AIS_API_KEY
  • Opcionais: OPENSKY_CLIENT_ID, OPENSKY_CLIENT_SECRET, LTA_ACCOUNT_KEY

Isenção de responsabilidade e licença

  • Todos os dados são baseados em fontes públicas de OSINT, sem uso de informações privadas ou confidenciais
  • Proibido o uso para fins militares ou de inteligência, limitado a educação e pesquisa
  • É necessário cumprir os termos de uso de cada provedor de API

Estrutura do projeto

  • backend/: app FastAPI, agendador de coleta de dados, processamento de dados de CCTV, porta-aviões e conflitos
  • frontend/: componentes em Next.js para mapa, painéis, filtros, notícias, mercado e rádio
  • Inclui scripts de implantação automática como docker-compose.yml e compose.sh

Resumo

  • ShadowBroker é uma plataforma open source que integra e visualiza dados globais de OSINT em tempo real
  • Permite analisar, em um único mapa, múltiplos domínios como aviação, marítimo, espaço, geopolítica, vigilância e sinais
  • Oferece implantação fácil com Docker, renderização de alto desempenho e uso exclusivo de dados públicos
  • É uma ferramenta de inteligência em tempo real útil para pesquisadores de segurança e análise de inteligência e engenheiros de dados em startups

5 comentários

 
ryudaewan 2026-03-10

ShadowBroker! Faz tempo que isso me fez lembrar de Mass Effect 2. https://masseffect.fandom.com/wiki/Shadow_Broker_(enemy)

 
xguru 2026-03-10

Vi os comentários no Hacker News e caí na risada

"No primeiro commit, os arquivos ./frontend/.env.local e ./backend/.env dentro do zip tinham sido vazados"

"Por isso o nome é OSINT (Open Source Intelligence). Está tudo público"

 
girr311 2026-03-10

Baixei para ver e realmente existe.

 
zihado 2026-03-10

kkk ah, isso é meio engraçado kkk

 
GN⁺ 2026-03-10
Opiniões do Hacker News
  • Fico me perguntando se é desejável ter esse nível de consciência excessiva sobre dados em relação aos quais, na prática, não se pode tomar nenhuma ação, ou se isso é apenas um caminho para estresse e queda na autoeficácia

  • Trabalhar para otimizar alguns geojson como tiles em tempo real foi um projeto realmente divertido e envolvente
    Queria saber se você já viu estes projetos → PMTiles, Martin

    • Gosto muito dos dois projetos. No momento, o ShadowBroker está otimizado para rastreamento de radar em tempo real (streaming de GeoJSON do backend FastAPI para o MapLibre a cada 60 segundos)
      Por isso, estou conseguindo um movimento bem suave no mapa, quase no nível de uma animação a 60fps
      Mais tarde, quando eu passar a arquivar dados de aviação e AIS com base em PostGIS, talvez faça sentido migrar para o Martin, mas por causa do foco em tempo real eu teria de invalidar o cache de tiles o tempo todo, então por enquanto seria uma escolha excessiva
    • Protomaps também é útil para fornecer mapas em nível de país de forma simples. A CLI já traz praticamente tudo de que se precisa → documentação da Protomaps CLI
      Já configurei isso em um projeto agrícola no passado e funcionou bem
  • Esse projeto parece semelhante ao monitor-the-situation.com

  • A descrição “ShadowBroker is a real-time, full-spectrum geospatial intelligence dashboard” parece um pouco exagerada
    Algo como “Air and Space domain awareness” parece mais preciso
    Geospatial intelligence normalmente se refere à coleta de informações baseada em imagens de satélite, e “spectrum” muitas vezes remete ao espectro da luz

  • No primeiro commit, houve vazamento de ./frontend/.env.local e ./backend/.env dentro de ShadowBroker_v0.1.zip

    • É por isso que o nome é OSINT (Open Source Intelligence). Está tudo público
    • Fez a piada de que a verdadeira OSINT está nos comentários
    • Fico me perguntando por que você foi verificar isso
  • Projeto muito legal. Lembrei deste link

    • Eu também estava fazendo algo parecido → projeto cimple-gis
      Preciso terminar, mas ainda não tive tempo
    • Parecia arriscado clicar, mas estava tudo bem
  • Ótima agregação de dados. Ainda assim, seria bom adicionar um sinal de staleness ao pipeline dos feeds
    Algumas fontes (especialmente feeds de ameaças) são atualizadas em intervalos de horas, não de segundos, então exibir o horário da última atualização de cada fonte ajudaria a avaliar o frescor dos dados

  • Muito legal mesmo. Obrigado por compartilhar.
    Fico curioso sobre quanto sairia de custo de API se isso rodasse por algumas horas por dia durante cerca de um mês. Queria saber se fica em um nível viável

    • Disseram que é tudo gratuito
  • Projeto muito bacana. Mas o conceito, os feeds e o design no geral lembram bastante o worldmonitor.app
    Só como referência, eles também já disponibilizaram isso como serviço ao vivo