18 puntos por GN⁺ 2026-03-10 | 5 comentarios | Compartir por WhatsApp
  • Integra diversos datos en tiempo real como aeronaves, barcos, satélites, terremotos, conflictos, CCTV e interferencias GPS en una sola interfaz basada en información geográfica
  • Construido con Next.js, MapLibre GL, FastAPI y Python, permite que analistas e investigadores visualicen la actividad global en una sola pantalla
  • Ofrece funciones detalladas de seguimiento en 6 áreas principales: aviación, marítimo, espacio, geopolítica, vigilancia e inteligencia de señales, y cada capa puede controlarse por separado
  • Con despliegue sencillo basado en Docker/Podman y automatización de integración de API, facilita el self-hosting y la configuración del entorno de desarrollo
  • Indica explícitamente que todos los datos se recopilan de fuentes OSINT públicas y que solo pueden usarse con fines educativos y de investigación

Descripción general

  • ShadowBroker es un panel de inteligencia de fuentes abiertas en tiempo real (Real-Time OSINT) de múltiples dominios, que integra decenas de fuentes de datos públicas y las muestra en una única interfaz de mapa oscuro
    • Permite rastrear en tiempo real aeronaves, barcos, satélites, terremotos, zonas de conflicto, redes de CCTV, interferencias GPS y eventos geopolíticos
  • Está desarrollado con Next.js, MapLibre GL, FastAPI y Python, y fue diseñado como una herramienta de visualización para analistas, investigadores y entusiastas de OSINT

Casos de uso principales

  • Seguimiento de jets privados de multimillonarios
  • Monitoreo de pasos orbitales de satélites
  • Vigilancia del tráfico marítimo global
  • Detección de zonas con interferencia GPS
  • Observación en tiempo real de terremotos y desastres

Resumen de funciones

🛩️ Seguimiento aéreo (Aviation Tracking)

  • Muestra la ubicación en tiempo real de más de 5,000 aeronaves comerciales a través de OpenSky Network
  • Clasifica por separado aeronaves privadas y militares y rastrea jets ejecutivos con información de sus propietarios
  • Incluye funciones como acumulación de trayectorias de vuelo, detección de patrones de espera y estado en tierra
  • Proporciona íconos SVG precisos según el tipo de aeronave

🚢 Seguimiento marítimo (Maritime Tracking)

  • Datos en tiempo real de unas 25,000 embarcaciones mediante aisstream.io WebSocket
  • Diferenciación por color según el tipo de barco (carga, petrolero, pasajeros, buque de guerra, etc.)
  • Estimación basada en OSINT de la ubicación de 11 portaaviones de la Marina de EE. UU. y automatización del scraping de noticias de GDELT
  • Soporta capa dedicada para cruceros y ferris y visualización agrupada según el nivel de zoom

🛰️ Espacio y satélites (Space & Satellites)

  • Visualiza en tiempo real la órbita de más de 2,000 satélites con base en CelesTrak TLE + SGP4
  • Diferenciación por color según el tipo de misión: reconocimiento militar (rojo), SAR (cian), SIGINT (blanco), navegación (azul), alerta temprana (magenta), imágenes comerciales (verde), estación espacial (dorado)

🌍 Geopolítica y conflictos (Geopolitics & Conflict)

  • Agrupa alrededor de 1,000 incidentes de conflicto ocurridos en las últimas 8 horas con base en GDELT
  • Datos en tiempo real del frente en Ucrania desde DeepState Map
  • Ofrece feeds de noticias SIGINT/RISINT y panel de información regional
    • Incluye población, capital, idioma, moneda, superficie, tipo de gobierno e información del jefe de Estado (Wikidata), además de resúmenes de Wikipedia

📷 Vigilancia (Surveillance)

  • Integra transmisiones en tiempo real de más de 2,000 cámaras de tráfico CCTV
    • Incluye Londres (TfL), Austin (TxDOT), Nueva York (NYC DOT) y Singapur (LTA), entre otros
  • Soporta detección y renderizado automático de feeds y agrupación según el zoom

📡 Inteligencia de señales (Signal Intelligence)

  • Detección de interferencias GPS: visualiza zonas de interferencia mediante el análisis de valores NAC-P de aeronaves
  • Panel de interceptación de radio: ofrece una interfaz tipo escucha de comunicaciones

🌐 Capas adicionales

  • Incluye datos sísmicos de USGS (24 horas), línea divisoria entre día y noche, índices de mercados financieros en tiempo real y herramienta de medición de distancia y rumbo

Arquitectura del sistema

  • Frontend (Next.js): mapa WebGL 2D basado en MapLibre GL, feed de noticias SIGINT, panel de control y módulos de mercado y radio
  • Backend (FastAPI): recopilación periódica desde múltiples fuentes de datos (OpenSky, adsb.lol, CelesTrak, USGS, GDELT, CCTV, etc.)
  • Entrega los datos al frontend mediante API REST en intervalos de 60 a 120 segundos

Fuentes de datos y API

Fuente Datos Frecuencia de actualización API key
OpenSky Network Aeronaves comerciales y privadas ~60 segundos Opcional
adsb.lol Aeronaves militares ~60 segundos No requerida
aisstream.io Posición de embarcaciones Tiempo real Requerida
CelesTrak Órbitas satelitales ~60 segundos No requerida
USGS Terremotos ~60 segundos No requerida
GDELT Incidentes de conflicto ~6 horas No requerida
DeepState Map Frente de Ucrania ~30 minutos No requerida
TfL, TxDOT, NYC DOT, LTA CCTV de tráfico ~5 minutos Algunas requeridas
RestCountries, Wikidata, Wikipedia Información de países y mapas Bajo demanda No requerida

Instalación y ejecución

Basado en Docker/Podman

  • Tras hacer git clone, se ejecuta automáticamente con el comando ./compose.sh up -d
  • Puertos predeterminados: frontend 3000, backend 8000
  • Es posible reajustar los puertos con la variable de entorno NEXT_PUBLIC_API_URL

Entorno de desarrollo para modificar código

  • Requiere Node.js 18+ y Python 3.10~3.12
  • La API key de aisstream.io es obligatoria; las de OpenSky y LTA son opcionales
  • npm run dev ejecuta frontend y backend al mismo tiempo

Control de capas de datos

  • Todas las capas, como aeronaves, satélites, barcos, terremotos, CCTV, conflictos e interferencias GPS, pueden activarse o desactivarse individualmente
  • Activadas por defecto: aeronaves comerciales y militares, satélites, portaaviones, terremotos, conflictos, interferencias GPS y línea día/noche

Optimización de rendimiento

  • Procesamiento eficiente de grandes volúmenes de datos en tiempo real mediante compresión Gzip (92%), caché ETag, viewport culling, renderizado por clústeres y reducción de precisión de coordenadas (5 decimales)
  • Minimiza la carga de renderizado con React.memo y debounce (300 ms)

Variables de entorno

  • Obligatoria: AIS_API_KEY
  • Opcionales: OPENSKY_CLIENT_ID, OPENSKY_CLIENT_SECRET, LTA_ACCOUNT_KEY

Descargo de responsabilidad y licencia

  • Todos los datos se basan en fuentes OSINT públicas y no se usa información privada ni confidencial
  • Prohibido el uso con fines militares o de inteligencia, limitado a fines educativos y de investigación
  • Es necesario cumplir los términos de uso de cada proveedor de API

Estructura del proyecto

  • backend/: app FastAPI, programador de recolección de datos y procesamiento de datos de CCTV, portaaviones y conflictos
  • frontend/: componentes de mapa, paneles, filtros, noticias, mercado y radio basados en Next.js
  • Incluye scripts de despliegue automático como docker-compose.yml y compose.sh

Resumen

  • ShadowBroker es una plataforma open source que integra y visualiza datos OSINT globales en tiempo real
  • Permite analizar en un solo mapa múltiples dominios como aviación, marítimo, espacio, geopolítica, vigilancia y señales
  • Ofrece despliegue sencillo con Docker, renderizado de alto rendimiento y uso exclusivo de datos públicos
  • Es una herramienta de inteligencia en tiempo real útil para investigadores de seguridad e inteligencia y data engineers de startups

5 comentarios

 
ryudaewan 2026-03-10

¡Shadow Broker! Después de mucho tiempo, me hizo recordar Mass Effect 2. https://masseffect.fandom.com/wiki/Shadow_Broker_(enemy)

 
xguru 2026-03-10

Viendo los comentarios de Hacker News, me estallé de risa.

"En el primer commit se habían filtrado ./frontend/.env.local y ./backend/.env dentro del archivo zip"

"Por eso se llama OSINT (Open Source Intelligence). Todo está abierto"

 
girr311 2026-03-10

Lo descargué y sí, de verdad existe.

 
zihado 2026-03-10

jaja, ah, esto sí que da un poco de risa jajaja

 
GN⁺ 2026-03-10
Comentarios en Hacker News
  • Me pregunto si es deseable tener esta conciencia excesiva de datos sobre los que en realidad no se puede tomar ninguna acción, o si solo es un camino hacia el estrés y una menor autoeficacia

  • Optimizar parte del geojson como tiles en tiempo real fue un proyecto realmente divertido e inmersivo
    Me pregunto si has visto estos proyectos → PMTiles, Martin

    • Me encantan ambos proyectos. Actualmente ShadowBroker está optimizado para seguimiento de radar en tiempo real (streaming de GeoJSON desde el backend de FastAPI hacia MapLibre cada 60 segundos)
      Por eso estoy logrando un movimiento en el mapa casi tan fluido como una animación a 60fps
      Más adelante, si archivo datos de aviación y AIS con base en PostGIS, tendría sentido migrar a Martin, pero por ahora sería una opción excesiva porque, al tratarse de objetivos en tiempo real, habría que invalidar constantemente la caché de tiles
    • Protomaps también sirve mucho para ofrecer mapas sencillos a nivel país. El CLI ya incluye casi todo lo necesario → Documentación del CLI de Protomaps
      Lo configuré antes para un proyecto agrícola y me funcionó muy bien
  • Este proyecto se parece a monitor-the-situation.com

  • La descripción “ShadowBroker is a real-time, full-spectrum geospatial intelligence dashboard” suena un poco exagerada
    Creo que algo como “Air and Space domain awareness” sería más preciso
    Geospatial intelligence normalmente se refiere a recopilación de información basada en imágenes satelitales, y “spectrum” muchas veces alude al espectro de la luz

  • En el primer commit se habían filtrado ./frontend/.env.local y ./backend/.env dentro de ShadowBroker_v0.1.zip

    • Por eso se llama OSINT (Open Source Intelligence). Todo está público
    • Hacen la broma de que el verdadero OSINT está en los comentarios
    • Me pregunto por qué revisaste eso
  • Qué buen proyecto. Me recordó a este enlace

    • Yo también estaba haciendo algo parecido → proyecto cimple-gis
      Tengo que terminarlo, pero todavía no tengo tiempo
    • Parecía peligroso hacer clic, pero estuvo bien
  • Muy buena agregación de datos. Aun así, estaría bien añadir una señal de staleness al pipeline de feeds
    Algunas fuentes (sobre todo los feeds de amenazas) no se actualizan cada pocos segundos sino cada varias horas, así que mostrar la hora de la última actualización de cada fuente ayudaría a evaluar la frescura de los datos

  • Está realmente genial. Gracias por compartirlo.
    Me da curiosidad cuánto saldría de costo de API si se ejecuta unas cuantas horas al día durante aproximadamente un mes. Quisiera saber si sigue siendo manejable

    • Dice que todo es gratis
  • Es un proyecto muy bueno. Pero el concepto, los feeds y el diseño en general recuerdan mucho a worldmonitor.app
    Como referencia, ellos también ya lo tienen desplegado como servicio en vivo