ShadowBroker - Dasbor OSINT yang Mengintegrasikan 15 Feed Data Real-Time dari Seluruh Dunia
(github.com/BigBodyCobain)- Mengintegrasikan beragam data real-time seperti pesawat, kapal, satelit, gempa bumi, konflik, CCTV, dan gangguan GPS ke dalam satu antarmuka berbasis geospasial
- Dibangun dengan Next.js, MapLibre GL, FastAPI, dan Python, sehingga analis dan peneliti dapat memvisualisasikan aktivitas global dalam satu layar
- Menyediakan fitur pelacakan terperinci di 6 domain utama: penerbangan, maritim, antariksa, geopolitik, pengawasan, dan intelijen sinyal, dengan setiap layer dapat dikendalikan secara terpisah
- Penerapan mudah berbasis Docker/Podman dan otomatisasi integrasi API mempermudah self-hosting serta penyiapan lingkungan pengembangan
- Semua data dikumpulkan dari sumber OSINT publik, dan dinyatakan hanya boleh digunakan untuk tujuan pendidikan dan riset
Ikhtisar
- ShadowBroker adalah dasbor real-time open-source intelligence (Real-Time OSINT) multi-domain yang menggabungkan puluhan feed data publik dan menampilkannya dalam satu antarmuka dark map
- Melacak secara real-time pesawat, kapal, satelit, gempa bumi, area konflik, jaringan CCTV, gangguan GPS, dan peristiwa geopolitik
- Tersusun dari Next.js, MapLibre GL, FastAPI, dan Python, serta dirancang sebagai alat visualisasi untuk analis, peneliti, dan penggemar OSINT
Contoh penggunaan utama
- Melacak jet pribadi miliarder
- Memantau lintasan orbit satelit
- Mengawasi lalu lintas maritim global
- Mendeteksi wilayah gangguan GPS
- Mengamati gempa bumi dan bencana secara real-time
Ringkasan fitur
🛩️ Pelacakan penerbangan (Aviation Tracking)
- Menampilkan posisi real-time lebih dari sekitar 5.000 pesawat komersial melalui OpenSky Network
- Klasifikasi terpisah untuk pesawat pribadi dan militer, serta pelacakan jet bisnis dengan informasi pemilik
- Mendukung fitur rinci seperti akumulasi jejak penerbangan, deteksi pola berputar, dan indikator status di darat
- Menyediakan ikon SVG akurat berdasarkan jenis pesawat
🚢 Pelacakan maritim (Maritime Tracking)
- Data real-time lebih dari 25.000 kapal melalui aisstream.io WebSocket
- Pembedaan warna berdasarkan jenis kapal (kargo, tanker, kapal penumpang, kapal perang, dll.)
- Estimasi posisi berbasis OSINT untuk 11 kapal induk Angkatan Laut AS serta otomatisasi scraping berita GDELT
- Mendukung layer khusus kapal pesiar dan kapal penumpang serta tampilan klaster berdasarkan level zoom
🛰️ Antariksa dan satelit (Space & Satellites)
- Menampilkan orbit real-time lebih dari 2.000 satelit berbasis CelesTrak TLE + SGP4
- Pembedaan warna berdasarkan jenis misi: pengintaian militer (merah), SAR (cyan), SIGINT (putih), navigasi (biru), peringatan dini (magenta), pencitraan komersial (hijau), stasiun luar angkasa (emas)
🌍 Geopolitik dan konflik (Geopolitics & Conflict)
- Rekap sekitar 1.000 insiden konflik dalam 8 jam terakhir berbasis GDELT
- Data real-time garis depan Ukraina dari DeepState Map
- Menyediakan feed berita SIGINT/RISINT dan panel informasi wilayah
- Termasuk populasi negara, ibu kota, bahasa, mata uang, luas wilayah, bentuk pemerintahan, informasi kepala negara (Wikidata), dan ringkasan Wikipedia
📷 Pengawasan (Surveillance)
- Mengintegrasikan lebih dari 2.000 stream CCTV lalu lintas secara real-time
- Termasuk London (TfL), Austin (TxDOT), New York (NYC DOT), Singapura (LTA), dll.
- Mendukung deteksi feed otomatis dan rendering, serta tampilan klaster berbasis zoom
📡 Intelijen sinyal (Signal Intelligence)
- Deteksi gangguan GPS: visualisasi area interferensi melalui analisis nilai NAC-P pesawat
- Panel intersepsi radio: menyediakan UI bergaya penyadapan radio
🌐 Layer tambahan
- Termasuk data gempa USGS (24 jam), garis batas siang-malam, indeks pasar finansial real-time, dan alat ukur jarak serta azimut
Arsitektur sistem
- Frontend (Next.js): peta WebGL 2D berbasis MapLibre GL, feed berita SIGINT, panel kontrol, modul pasar dan radio
- Backend (FastAPI): pengambilan data berkala dari berbagai sumber data (OpenSky, adsb.lol, CelesTrak, USGS, GDELT, CCTV, dll.)
- Data dikirim ke frontend melalui REST API setiap 60–120 detik
Sumber data dan API
| Sumber | Data | Siklus pembaruan | API key |
|---|---|---|---|
| OpenSky Network | Pesawat komersial dan pribadi | Sekitar 60 detik | Opsional |
| adsb.lol | Pesawat militer | Sekitar 60 detik | Tidak perlu |
| aisstream.io | Posisi kapal | Real-time | Perlu |
| CelesTrak | Orbit satelit | Sekitar 60 detik | Tidak perlu |
| USGS | Gempa bumi | Sekitar 60 detik | Tidak perlu |
| GDELT | Insiden konflik | Sekitar 6 jam | Tidak perlu |
| DeepState Map | Garis depan Ukraina | Sekitar 30 menit | Tidak perlu |
| TfL, TxDOT, NYC DOT, LTA | CCTV lalu lintas | Sekitar 5 menit | Sebagian perlu |
| RestCountries, Wikidata, Wikipedia | Informasi negara dan peta | Saat diminta | Tidak perlu |
Instalasi dan menjalankan
Berbasis Docker/Podman
- Setelah
git clone, jalankan otomatis dengan perintah./compose.sh up -d - Port default: frontend
3000, backend8000 - Port dapat diatur ulang melalui variabel lingkungan
NEXT_PUBLIC_API_URL
Lingkungan pengembangan untuk modifikasi kode
- Memerlukan Node.js 18+ dan Python 3.10~3.12
- API key
aisstream.iowajib, keyOpenSkydanLTAopsional - Jalankan frontend dan backend secara bersamaan dengan
npm run dev
Kontrol layer data
- Semua layer seperti pesawat, satelit, kapal, gempa, CCTV, konflik, dan gangguan GPS dapat di-toggle secara terpisah
- Aktif secara default: pesawat komersial dan militer, satelit, kapal induk, gempa, konflik, gangguan GPS, dan batas siang-malam
Optimasi performa
- Memproses data real-time skala besar secara efisien dengan kompresi Gzip (92%), caching ETag, viewport culling, cluster rendering, dan pengurangan presisi koordinat (5 digit desimal)
- Beban rendering diminimalkan dengan penerapan React.memo dan debounce (300ms)
Variabel lingkungan
- Wajib:
AIS_API_KEY - Opsional:
OPENSKY_CLIENT_ID,OPENSKY_CLIENT_SECRET,LTA_ACCOUNT_KEY
Penafian dan lisensi
- Semua data berbasis sumber OSINT publik, tanpa penggunaan informasi privat atau rahasia
- Dilarang untuk tujuan militer atau intelijen, dan dibatasi untuk pendidikan dan riset
- Wajib mematuhi ketentuan penggunaan dari masing-masing penyedia API
Struktur proyek
- backend/: aplikasi FastAPI, scheduler pengumpulan data, pemrosesan data CCTV, kapal induk, dan konflik
- frontend/: komponen peta, panel, filter, berita, pasar, dan radio berbasis Next.js
- Termasuk skrip deployment otomatis seperti docker-compose.yml dan compose.sh
Ringkasan
- ShadowBroker adalah platform open source untuk visualisasi terintegrasi data OSINT real-time global
- Memungkinkan analisis multi-domain seperti penerbangan, maritim, antariksa, geopolitik, pengawasan, dan sinyal dalam satu peta
- Menawarkan deployment mudah berbasis Docker, rendering berperforma tinggi, dan hanya menggunakan data publik
- Berguna sebagai alat intelijen real-time bagi peneliti analisis keamanan dan intelijen serta data engineer startup
5 komentar
ShadowBroker! Sudah lama sekali, ini mengingatkan saya pada Mass Effect 2. https://masseffect.fandom.com/wiki/Shadow_Broker_(enemy)
Melihat komentar di Hacker News bikin saya ngakak.
"Di commit pertama,
./frontend/.env.localdan./backend/.envdi dalam file zip sempat bocor""Makanya namanya OSINT (Open Source Intelligence). Semuanya terbuka untuk publik"
Setelah diunduh, ternyata benar-benar ada.
Wkwk, ah ini agak lucu ya wkwkwk
Komentar Hacker News
Saya penasaran apakah tingkat kesadaran berlebihan terhadap data seperti ini, ketika pada praktiknya tidak ada tindakan nyata yang bisa diambil, memang hal yang baik, atau justru hanya jalan menuju stres dan menurunnya rasa berdaya diri
Pekerjaan mengoptimalkan sebagian geojson menjadi tile real-time benar-benar proyek yang seru dan sangat menyerap perhatian
Penasaran apakah Anda pernah melihat proyek-proyek ini → PMTiles, Martin
Karena itu, di atas peta bisa didapat pergerakan yang halus hampir setingkat animasi 60fps
Nanti, jika data penerbangan dan AIS diarsipkan berbasis PostGIS, pindah ke Martin mungkin masuk akal, tetapi untuk target real-time saat ini itu terasa berlebihan karena cache tile harus terus diinvalidasi
Saya pernah menyiapkannya untuk proyek pertanian dan hasilnya bagus
Proyek ini terlihat mirip dengan monitor-the-situation.com
Deskripsi “ShadowBroker is a real-time, full-spectrum geospatial intelligence dashboard” terasa sedikit berlebihan
Ungkapan seperti “Air and Space domain awareness” tampaknya lebih akurat
Geospatial intelligence biasanya berarti pengumpulan intelijen berbasis citra satelit, dan “spectrum” sering merujuk pada spektrum cahaya
Di commit pertama,
ShadowBroker_v0.1.zipberisi kebocoran./frontend/.env.localdan./backend/.envProyek ini keren. Ini mengingatkan saya pada tautan ini
Harus saya selesaikan, tetapi sampai sekarang belum ada waktu
Agregasi data yang keren. Tetapi akan bagus jika sinyal staleness ditambahkan ke pipeline feed
Beberapa sumber (terutama feed ancaman) siklus pembaruannya dalam hitungan jam, bukan detik, jadi menampilkan waktu pembaruan terakhir tiap sumber akan membantu menilai kesegaran data
Sangat keren. Terima kasih sudah membagikannya.
Saya penasaran, kalau ini dijalankan beberapa jam per hari selama sekitar sebulan, kira-kira berapa biaya API-nya. Ingin tahu apakah masih terjangkau
Proyek yang sangat keren. Tetapi konsep, feed, dan desain keseluruhannya sangat mengingatkan pada worldmonitor.app
Sebagai catatan, pihak sana juga sudah diluncurkan sebagai layanan live