Open-source intelligence for the global theater. Track everything from the corporate/private jets of the wealthy, and spy satellites, to seismic events in one unified interface.
Overview
🛰️ S H A D O W B R O K E R Global Threat Intercept — Real-Time Geospatial Intelligence Platform is a decentralized intelligence platform that aggregates real-time, multi-domain OSINT telemetry from 60+ live intelligence feeds into a single dark-ops map interface. Aircraft, ships, satellites, conflict zones, CCTV networks, GPS jamming, internet-connected devices, police scanners, mesh radio nodes, and breaking geopolitical events — all updating in real time on one screen as well as an obfuscated communications protocol and information exchange infrastructure. Built with , , , and . 40+ toggleable data layers, including SAR ground-change detection, (public channel previews geoparsed onto the map), a (DNS, WHOIS, sanctions, BGP, IP sweep, and more), supply-chain risk overlays, and malware/C2 + CISA KEV cyber threat feeds. Multiple visual modes (DEFAULT / SATELLITE / FLIR / NVG / CRT).
README
🛰️ S H A D O W B R O K E R Global Threat Intercept — Real-Time Geospatial Intelligence Platform
ShadowBroker is a decentralized intelligence platform that aggregates real-time, multi-domain OSINT telemetry from 60+ live intelligence feeds into a single dark-ops map interface. Aircraft, ships, satellites, conflict zones, CCTV networks, GPS jamming, internet-connected devices, police scanners, mesh radio nodes, and breaking geopolitical events — all updating in real time on one screen as well as an obfuscated communications protocol and information exchange infrastructure.
⚡ Quick Start (Docker)
From GitHub (default — uses GHCR images)
git clone https://github.com/bigbodycobain/Shadowbroker.git
cd Shadowbroker
docker compose pull
docker compose up -d
From GitLab (uses GitLab Container Registry)
git clone https://gitlab.com/bigbodycobain/Shadowbroker.git
cd Shadowbroker
docker compose -f docker-compose.yml -f docker-compose.gitlab.yml pull
docker compose -f docker-compose.yml -f docker-compose.gitlab.yml up -d
Both paths produce identical containers — same source, same CI, same images byte-for-byte. Pick whichever ecosystem you already use.
Open http://localhost:3000 to view the dashboard! (Requires Docker Desktop or Docker Engine)
Join the private InfoNet swarm (sb-testnet-0): Click NODE in the dashboard, or run
./meshnode.shfor a headless participant. No manual peer list — fleet defaults discover the seed and pull the signed manifest automatically. SetMESH_INFONET_FLEET_JOIN=falsein.envfor a private solo node.
Backend port already in use? The browser only needs port
3000, but the backend API is also published on host port8000for local diagnostics. If another app already uses8000, create or edit.envnext todocker-compose.ymland setBACKEND_PORT=8001, then rundocker compose up -d.
Blank news/UAP/bases/wastewater after several minutes? Check for backend OOM restarts with
docker events --since 30m --filter container=shadowbroker-backend --filter event=oom. The default compose file gives the backend 4GB; if your host has less memory, reduce enabled feeds or setBACKEND_MEMORY_LIMIT=3Gand expect slower/heavier layers to warm more gradually.
Podman users: Podman works, but
podman composeis a wrapper and still needs a Compose provider installed. On Windows/WSL, if you seelooking up compose provider failed, installpodman-composeand runpodman-compose pullfollowed bypodman-compose up -dfrom inside the clonedShadowbrokerfolder. On Linux/macOS/WSL shells you can also use./compose.sh --engine podman pulland./compose.sh --engine podman up -d.
🔄 How to Update
ShadowBroker uses pre-built Docker images — no local building required. Updating takes seconds:
docker compose pull
docker compose up -d
That’s it. pull grabs the latest images, up -d restarts the containers.
Coming from an older version? Pull the latest repo code first, then pull images:
git pull origin main docker compose down docker compose pull docker compose up -dPodman users should run the equivalent provider command, for example
podman-compose pullandpodman-compose up -d, or use./compose.sh --engine podman pulland./compose.sh --engine podman up -dfrom a bash-compatible shell.
Update Integrity
Docker updates are delivered through signed container registries. The legacy ZIP self-updater verifies release archives through this chain, in order:
MESH_UPDATE_SHA256when an operator pins a digest explicitly.backend/data/release_digests.jsonfor bundled release pins.- The release
SHA256SUMS.txtasset on GitHub when a bundled pin is not present.
Release maintainers should run python backend/scripts/release_helper.py hash before publishing, then publish SHA256SUMS.txt and update backend/data/release_digests.json when shipping a ZIP updater target. The updater keeps the operator override path intact instead of failing closed on missing bundled digests, so existing installs do not get stranded by a release-process mistake.
CSP Hardening
The production frontend ships with a hydration-compatible CSP and a strict nonce-only CSP in Content-Security-Policy-Report-Only. Set SHADOWBROKER_STRICT_CSP=1 only after verifying the exact build hydrates correctly in your deployment. Runtime Google Fonts are not required; the bundled Next font pipeline serves the dashboard font from the app build.
⚠️ Stuck on the old version?
If git pull fails or docker compose up keeps building from source instead of pulling images, your clone predates a March 2026 repository migration that rewrote commit history. A normal git pull cannot fix this. Run:
# Back up any local config you want to keep (.env, etc.)
cd ..
rm -rf Shadowbroker
git clone https://github.com/bigbodycobain/Shadowbroker.git
cd Shadowbroker
docker compose pull
docker compose up -d
How to tell if you’re affected: If docker compose up shows RUN apt-get, RUN npm ci, or RUN pip install — it’s building from source instead of pulling pre-built images. You need a fresh clone.
Other troubleshooting:
- Force re-pull:
docker compose pull --no-cache - Prune old images:
docker image prune -f - Check logs:
docker compose logs -f backend
⚠️ Disclaimer
This tool is built entirely on publicly available, open-source intelligence (OSINT) data. No classified, restricted, or non-public data is used. Carrier positions are estimates based on public reporting. The military-themed UI is purely aesthetic.
📜 License
This project is for educational and personal research purposes. See individual API provider terms of service for data usage restrictions.
Built with ☕ and too many API calls
Recommended Tools
Try a different keyword or remove a filter.
Install
npx skillfish add bigbodycobain/shadowbroker