Real-time global intelligence dashboard built with React and a 3D interactive globe. Tracks military aircraft, maritime vessels, and defense satellites while ingesting OSINT events from Telegram channels.
- 3D Globe — Interactive visualization powered by
react-globe.gl - Military Aircraft Tracking — Live positions from the Airplanes.live ADS-B network
- Ship Tracking — Real-time AIS data from aisstream.io
- Satellite Overlay — Defense & active satellite positions computed from CelesTrak TLE data via
satellite.js - Telegram OSINT Feed — Listens to Telegram channels, analyzes messages with OpenRouter AI, and plots threat events on the globe
- Threat Severity Classification — Incoming events are scored and color-coded (low / medium / high / critical)
| Layer | Technology |
|---|---|
| Frontend | React 19 + TypeScript, Vite, react-globe.gl |
| Backend / Proxy | Python WebSocket server (proxy_server.py) |
| AIS Data | aisstream.io WebSocket API |
| Aircraft Data | Airplanes.live REST API |
| Satellite Data | CelesTrak GP JSON + satellite.js propagation |
| Telegram Ingestion | Telethon (Telegram client) |
| AI Analysis | OpenRouter /preset/globe-x |
- Node.js >= 18
- Python >= 3.10
- Python packages:
websockets,requests,pygeolocate,telethon
Copy .env.example (or create .env) in the project root with the following keys:
OPENROUTER_API_KEY=<your-openrouter-api-key>
AIS_STREAM_API_KEY=<your-aisstream-api-key>
TELEGRAM_API_ID=<your-telegram-api-id>
TELEGRAM_API_HASH=<your-telegram-api-hash>
TELEGRAM_SESSION_STRING=<your-telegram-session-string>The
.envfile is loaded at runtime byconfig_env.pyand is already in.gitignore.
# Frontend
npm install
# Python
pip install websockets requests pygeolocate telethon# Start the Python proxy server (AIS + aircraft + Telegram)
python proxy_server.py
# In another terminal, start the Vite dev server
npm run devThe frontend dev server proxies CelesTrak requests through Vite (see vite.config.ts).
├── src/ # React frontend
│ ├── App.tsx # Main app shell & data orchestration
│ ├── data.ts # Types, threat data, satellite helpers
│ └── components/ # Globe, Sidebar, panels (Aircraft, Ship, Satellite, Info)
├── proxy_server.py # WebSocket proxy: AIS, aircraft polling, Telegram listener
├── analyze_message.py # Sends Telegram messages to OpenRouter for AI analysis
├── telegram.py # Standalone Telegram listener (dev/testing)
├── config_env.py # Loads .env into os.environ
└── .env # Secret keys (not committed)