- Uçak, gemi, uydu, deprem, çatışma, CCTV, GPS karıştırma gibi çeşitli gerçek zamanlı verileri tek bir coğrafi bilgi tabanlı arayüzde birleştirir
- Next.js, MapLibre GL, FastAPI, Python ile inşa edilmiştir; analistlerin ve araştırmacıların küresel faaliyetleri tek ekranda görselleştirmesine olanak tanır
- Hava, deniz, uzay, jeopolitik, gözetim ve sinyal istihbaratı olmak üzere 6 ana alanda ayrıntılı izleme özellikleri sunar; her katman ayrı ayrı kontrol edilebilir
- Docker/Podman tabanlı kolay dağıtım ve API entegrasyonu otomasyonu sayesinde self-hosting ve geliştirme ortamı kurulumu basittir
- Tüm verilerin açık OSINT kaynaklarından toplandığı ve yalnızca eğitim ve araştırma amacıyla kullanılabileceği açıkça belirtilir
Genel Bakış
- ShadowBroker, çok alanlı bir gerçek zamanlı açık kaynak istihbarat (Real-Time OSINT) panosudur; onlarca açık veri akışını tek bir karanlık harita arayüzünde birleştirip gösterir
- Uçaklar, gemiler, uydular, depremler, çatışma bölgeleri, CCTV ağları, GPS karıştırma ve jeopolitik olaylar gerçek zamanlı olarak izlenebilir
- Next.js, MapLibre GL, FastAPI, Python ile oluşturulmuştur ve analistler, araştırmacılar ve OSINT meraklıları için bir görselleştirme aracı olarak tasarlanmıştır
Başlıca kullanım senaryoları
- Milyarderlerin özel jetlerini takip etme
- Uydu yörünge geçişlerini izleme
- Dünya genelindeki deniz trafiğini gözlemleme
- GPS karıştırma bölgelerini tespit etme
- Deprem ve afetleri gerçek zamanlı izleme
Özellik özeti
🛩️ Havacılık takibi (Aviation Tracking)
- OpenSky Network üzerinden 5.000'den fazla ticari uçağın gerçek zamanlı konumunu gösterir
- Özel ve askerî uçakları ayrı sınıflandırır, sahiplik bilgisi içeren iş jetlerini takip eder
- Uçuş izi biriktirme, dönüş tespiti, yerde durum gösterimi gibi ayrıntılı özellikler sunar
- Uçak türlerine göre doğru SVG ikonları sağlar
🚢 Deniz takibi (Maritime Tracking)
- aisstream.io WebSocket üzerinden 25.000'den fazla geminin gerçek zamanlı verisi
- Gemi türüne göre renk ayrımı (kargo, tanker, yolcu gemisi, savaş gemisi vb.)
- ABD Donanması'na ait 11 uçak gemisinin OSINT tabanlı konum tahmini ve GDELT haber scraping otomasyonu
- Cruise ve yolcu gemilerine özel katman, zoom seviyesine göre küme gösterimi desteği
🛰️ Uzay ve uydular (Space & Satellites)
- CelesTrak TLE + SGP4 tabanlı olarak 2.000'den fazla uydunun gerçek zamanlı yörüngesini gösterir
- Görev türüne göre renk ayrımı: askerî keşif (kırmızı), SAR (turkuaz), SIGINT (beyaz), navigasyon (mavi), erken uyarı (fuşya), ticari görüntüleme (yeşil), uzay istasyonu (altın)
🌍 Jeopolitik ve çatışma (Geopolitics & Conflict)
- GDELT tabanlı olarak son 8 saat içindeki yaklaşık 1.000 çatışma olayını toplar
- DeepState Map üzerinden Ukrayna cephesinin gerçek zamanlı verisi
- SIGINT/RISINT haber akışları ve bölgesel bilgi paneli sunar
- Ülke nüfusu, başkent, dil, para birimi, yüzölçümü, yönetim biçimi, devlet başkanı bilgisi (Wikidata) ve Wikipedia özeti içerir
📷 Gözetim (Surveillance)
- 2.000'den fazla trafik CCTV gerçek zamanlı akışını birleştirir
- Londra (TfL), Austin (TxDOT), New York (NYC DOT), Singapur (LTA) vb.
- Otomatik akış algılama ve render etme, zoom tabanlı küme gösterimi desteği
📡 Sinyal istihbaratı (Signal Intelligence)
- GPS karıştırma tespiti: uçak NAC-P değerlerinin analiziyle girişim bölgelerini görselleştirir
- Radyo intercept paneli: telsiz dinleme tarzı bir UI sunar
🌐 Ek katmanlar
- USGS deprem verisi (24 saat), gündüz/gece sınırı gösterimi, gerçek zamanlı finansal piyasa endeksleri, mesafe/yön ölçüm aracı içerir
Sistem mimarisi
- Frontend (Next.js): MapLibre GL tabanlı 2D WebGL harita, SIGINT haber akışı, kontrol paneli, piyasa ve radyo modülleri
- Backend (FastAPI): OpenSky, adsb.lol, CelesTrak, USGS, GDELT, CCTV vb. birçok veri kaynağından periyodik toplama yapar
- Veriler REST API üzerinden 60-120 saniye aralıklarla frontend'e iletilir
Veri kaynakları ve API
| Kaynak |
Veri |
Güncelleme sıklığı |
API anahtarı |
| OpenSky Network |
Ticari ve özel uçaklar |
Yaklaşık 60 sn |
İsteğe bağlı |
| adsb.lol |
Askerî uçaklar |
Yaklaşık 60 sn |
Gerekmez |
| aisstream.io |
Gemi konumları |
Gerçek zamanlı |
Gerekli |
| CelesTrak |
Uydu yörüngeleri |
Yaklaşık 60 sn |
Gerekmez |
| USGS |
Depremler |
Yaklaşık 60 sn |
Gerekmez |
| GDELT |
Çatışma olayları |
Yaklaşık 6 saat |
Gerekmez |
| DeepState Map |
Ukrayna cephesi |
Yaklaşık 30 dk |
Gerekmez |
| TfL, TxDOT, NYC DOT, LTA |
Trafik CCTV |
Yaklaşık 5 dk |
Bazıları gerekli |
| RestCountries, Wikidata, Wikipedia |
Ülke ve harita bilgileri |
İstek üzerine |
Gerekmez |
Kurulum ve çalıştırma
Docker/Podman tabanlı
git clone sonrası ./compose.sh up -d komutuyla otomatik olarak çalıştırılır
- Varsayılan portlar: frontend
3000, backend 8000
- Portlar
NEXT_PUBLIC_API_URL ortam değişkeniyle yeniden ayarlanabilir
Kod düzenlemeye yönelik geliştirme ortamı
- Node.js 18+, Python 3.10~3.12 gerekir
aisstream.io API anahtarı zorunlu, OpenSky ve LTA anahtarları isteğe bağlıdır
npm run dev ile frontend ve backend aynı anda çalıştırılır
Veri katmanı kontrolü
- Uçak, uydu, gemi, deprem, CCTV, çatışma, GPS karıştırma vb. tüm katmanlar ayrı ayrı açılıp kapatılabilir
- Varsayılan olarak aktif olanlar: ticari ve askerî uçaklar, uydular, uçak gemileri, depremler, çatışmalar, GPS karıştırma, gündüz/gece sınırı
Performans optimizasyonu
- Gzip sıkıştırma (%92), ETag cacheleme, viewport culling, cluster rendering, koordinat hassasiyetini düşürme (ondalıktan sonra 5 basamak) gibi yöntemlerle büyük ölçekli gerçek zamanlı veri işleme verimli hâle getirilmiştir
- React.memo ve debounce (300ms) uygulanarak render yükü en aza indirilir
Ortam değişkenleri
- Zorunlu:
AIS_API_KEY
- İsteğe bağlı:
OPENSKY_CLIENT_ID, OPENSKY_CLIENT_SECRET, LTA_ACCOUNT_KEY
Feragatname ve lisans
- Tüm veriler açık OSINT kaynaklarına dayanır; özel veya gizli bilgi kullanılmaz
- Askerî veya istihbarat amaçlı kullanım yasaktır, yalnızca eğitim ve araştırma ile sınırlıdır
- Her API sağlayıcısının kullanım şartlarına uyulması gerekir
Proje yapısı
- backend/: FastAPI uygulaması, veri toplama zamanlayıcısı, CCTV/uçak gemisi/çatışma verisi işleme
- frontend/: Next.js tabanlı harita, panel, filtre, haber, piyasa ve radyo bileşenleri
- docker-compose.yml, compose.sh gibi otomatik dağıtım script'lerini içerir
Özet
- ShadowBroker, dünya genelindeki gerçek zamanlı OSINT verilerini birleştirip görselleştiren açık kaynaklı bir platformdur
- Hava, deniz, uzay, jeopolitik, gözetim ve sinyal gibi çoklu alanlar tek bir harita üzerinde analiz edilebilir
- Docker tabanlı kolay dağıtım, yüksek performanslı render, yalnızca açık veri kullanımı sunar
- Güvenlik ve istihbarat analizi araştırmacıları ile startup veri mühendisleri için faydalı bir gerçek zamanlı istihbarat aracıdır
5 yorum
ShadowBroker! Uzun zaman sonra aklıma yeniden Mass Effect 2 geldi. https://masseffect.fandom.com/wiki/Shadow_Broker_(enemy)
Hacker News yorumunu görünce kahkaha attım
"İlk commit’in zip dosyasının içinde
./frontend/.env.localve./backend/.envsızdırılmıştı""Bu yüzden adı OSINT (Open Source Intelligence). Her şey açıkta"
İndirip baktım, gerçekten varmış.
haha, ah bu biraz komikmiş haha
Hacker News yorumları
Gerçekte hiçbir aksiyon alınamayan verileri bu kadar aşırı farkında olarak takip etmenin iyi bir şey mi, yoksa sadece strese ve öz yeterlilikte düşüşe giden bir yol mu olduğunu merak ediyorum
Bazı geojson verilerini gerçek zamanlı tile yapısına optimize etmek gerçekten çok eğlenceli ve içine çeken bir projeydi
Bu projeleri gördünüz mü merak ediyorum → PMTiles, Martin
Bu sayede harita üzerinde neredeyse 60fps animasyon seviyesinde akıcı hareket elde ediyorum
İleride hava ve AIS verilerini PostGIS tabanlı olarak arşivlemeye başlarsam Martin'e geçmek mantıklı olabilir, ancak gerçek zamanlı hedef nedeniyle tile cache'i sürekli geçersiz kılmak gerektiğinden şu an için fazla ağır bir tercih
Bunu daha önce bir tarım projesinde kurup verimli şekilde kullanmıştım
Bu proje monitor-the-situation.com ile benzer görünüyor
“ShadowBroker is a real-time, full-spectrum geospatial intelligence dashboard” açıklaması biraz abartılı gibi duruyor
“Air and Space domain awareness” gibi bir ifade daha doğru olabilir
Geospatial intelligence genelde uydu görüntülerine dayalı istihbarat toplamayı ifade eder ve “spectrum” da çoğu zaman ışık spektrumunu çağrıştırır
İlk commit'teki
ShadowBroker_v0.1.zipiçinde./frontend/.env.localve./backend/.envdosyaları sızdırılmıştıBu proje harika. Bana şu linki hatırlattı
Bitirmem gerekiyor ama hâlâ zaman bulamadım
Güzel bir veri toplama işi. Ancak feed pipeline'a bir staleness sinyali eklenirse iyi olur
Bazı kaynaklar (özellikle tehdit feed'leri) saniyeler içinde değil, saatler içinde güncelleniyor; bu yüzden her kaynak için son güncelleme zamanını göstermek verinin ne kadar taze olduğunu anlamaya yardımcı olur
Gerçekten çok iyi. Paylaştığın için teşekkürler.
Günde birkaç saat, yaklaşık bir ay boyunca çalıştırılsa API maliyeti ne kadar olur merak ediyorum. Karşılanabilir seviyede mi bilmek isterim
Çok hoş bir proje. Ancak konsept, feed'ler ve genel tasarım itibarıyla worldmonitor.app'i oldukça hatırlatıyor
Bilgi olsun, o taraf da zaten canlı servis olarak yayında