18 ポイント 投稿者 GN⁺ 2026-03-10 | 5件のコメント | WhatsAppで共有
  • 航空機、船舶、衛星、地震、紛争、CCTV、GPS妨害 など多様なリアルタイムデータを、1つの 地理情報ベースのインターフェース に統合
  • Next.jsMapLibre GLFastAPIPython で構築されており、分析者や研究者が 地球規模の活動を単一画面で可視化 可能
  • 航空・海上・宇宙・地政学・監視・信号情報 など6つの主要領域の詳細な追跡機能を提供し、各レイヤーは個別に制御可能
  • Docker/Podman ベースの容易なデプロイと API連携の自動化 により、セルフホスティングや開発環境の構築が簡単
  • すべてのデータは 公開OSINTソース から収集されており、教育および研究目的 のみで利用可能であることを明示

概要

  • ShadowBroker はマルチドメインの リアルタイムオープンソースインテリジェンス(Real-Time OSINT) ダッシュボードで、数十の公開データフィードを統合して 単一のダークマップインターフェース に表示
    • 航空機、船舶、衛星、地震、紛争地域、CCTVネットワーク、GPS妨害、地政学的イベントなどをリアルタイムで追跡
  • Next.jsMapLibre GLFastAPIPython で構成されており、分析者・研究者・OSINT愛好家のための可視化ツールとして設計

主な活用例

  • 富豪のプライベートジェット の追跡
  • 衛星の軌道通過 の監視
  • 世界の海上交通 の監視
  • GPS妨害地域 の検出
  • 地震および災害 のリアルタイム観測

機能概要

🛩️ 航空追跡 (Aviation Tracking)

  • OpenSky Network を通じて約5,000機以上の商用航空機のリアルタイム位置を表示
  • 個人用・軍用航空機 を別分類し、所有者情報を含むビジネスジェット の追跡に対応
  • 飛行軌跡の蓄積旋回検知地上状態表示 などの詳細機能をサポート
  • 航空機の種類ごとに 正確なSVGアイコン を提供

🚢 海上追跡 (Maritime Tracking)

  • aisstream.io WebSocket による25,000隻超の船舶リアルタイムデータ
  • 船種ごとの色分け(貨物船、タンカー、旅客船、軍艦など)
  • 米海軍空母11隻 のOSINTベース位置推定と GDELTニューススクレイピング自動化
  • クルーズ・旅客船専用レイヤーズームレベル別クラスタ表示 をサポート

🛰️ 宇宙・衛星 (Space & Satellites)

  • CelesTrak TLE + SGP4 ベースで2,000基以上の衛星のリアルタイム軌道を表示
  • 任務タイプ別に色分け: 軍事偵察(赤)、SAR(青緑)、SIGINT(白)、航法(青)、早期警戒(マゼンタ)、商用画像(緑)、宇宙ステーション(金)

🌍 地政学・紛争 (Geopolitics & Conflict)

  • GDELT ベースで直近8時間以内の約1,000件の紛争事案を集計
  • DeepState Map のウクライナ戦線リアルタイムデータ
  • SIGINT/RISINTニュースフィード および 地域情報パネル を提供
    • 国の人口・首都・言語・通貨・面積、政府形態、国家元首情報(Wikidata)、Wikipedia要約を含む

📷 監視 (Surveillance)

  • 2,000件以上の交通CCTV のリアルタイムストリームを統合
    • ロンドン(TfL)、オースティン(TxDOT)、ニューヨーク(NYC DOT)、シンガポール(LTA)など
  • 自動フィード検出およびレンダリングズームベースのクラスタ表示 をサポート

📡 信号情報 (Signal Intelligence)

  • GPS妨害検出: 航空機のNAC-P値分析による干渉地域の可視化
  • 無線傍受パネル: 無線傍受風UIを提供

🌐 追加レイヤー

  • USGS地震データ(24時間)昼夜境界線表示リアルタイム金融市場指数距離・方位測定ツール を含む

システム構成

  • Frontend (Next.js): MapLibre GLベースの2D WebGL地図、SIGINTニュースフィード、制御パネル、市場・無線モジュール
  • Backend (FastAPI): 多数のデータソース(OpenSky、adsb.lol、CelesTrak、USGS、GDELT、CCTVなど)から定期収集
  • REST APIを通じて60〜120秒間隔でフロントエンドにデータを配信

データソースとAPI

出典 データ 更新周期 APIキー
OpenSky Network 商用・個人航空機 約60秒 任意
adsb.lol 軍用航空機 約60秒 不要
aisstream.io 船舶位置 リアルタイム 必要
CelesTrak 衛星軌道 約60秒 不要
USGS 地震 約60秒 不要
GDELT 紛争事案 約6時間 不要
DeepState Map ウクライナ戦線 約30分 不要
TfL, TxDOT, NYC DOT, LTA 交通CCTV 約5分 一部必要
RestCountries, Wikidata, Wikipedia 国・地図情報 リクエスト時 不要

インストールと実行

Docker/Podmanベース

  • git clone 後、./compose.sh up -d コマンドで自動実行
  • デフォルトポート: フロントエンド 3000、バックエンド 8000
  • 環境変数 NEXT_PUBLIC_API_URL でポート再設定可能

コード修正向け開発環境

  • Node.js 18+Python 3.10~3.12 が必要
  • aisstream.io APIキーは必須、OpenSkyLTA キーは任意
  • npm run dev でフロント・バックエンドを同時実行

データレイヤー制御

  • 航空機、衛星、船舶、地震、CCTV、紛争、GPS妨害など すべてのレイヤーを個別にトグル可能
  • 既定で有効: 商用・軍用航空機、衛星、空母、地震、紛争、GPS妨害、昼夜境界

パフォーマンス最適化

  • Gzip圧縮(92%)ETagキャッシュビューポートカリングクラスタレンダリング座標精度の縮小(小数点以下5桁) などにより、大規模なリアルタイムデータ処理を効率化
  • React.memo および デバウンス(300ms) の適用によりレンダリング負荷を最小化

環境変数

  • 必須: AIS_API_KEY
  • 任意: OPENSKY_CLIENT_ID, OPENSKY_CLIENT_SECRET, LTA_ACCOUNT_KEY

免責事項とライセンス

  • すべてのデータは 公開OSINTソース に基づいており、非公開・機密情報は不使用
  • 軍事・情報目的での利用禁止教育・研究用途に限定
  • 各API提供者の 利用規約の遵守が必要

プロジェクト構成

  • backend/: FastAPIアプリ、データ収集スケジューラ、CCTV・空母・紛争データ処理
  • frontend/: Next.jsベースの地図・パネル・フィルタ・ニュース・市場・無線コンポーネント構成
  • docker-compose.ymlcompose.sh など自動デプロイスクリプトを含む

要約

  • ShadowBrokerは 世界のリアルタイムOSINTデータを統合可視化するオープンソースプラットフォーム
  • 航空・海上・宇宙・地政学・監視・信号 など複数領域を1つの地図上で分析可能
  • Dockerベースの容易なデプロイ高性能レンダリング公開データのみを使用
  • セキュリティ・情報分析の研究者やスタートアップのデータエンジニア に有用なリアルタイムインテリジェンスツール

5件のコメント

 
ryudaewan 2026-03-10

シャドウブローカー! 久しぶりに『Mass Effect 2』を思い出しました。 https://masseffect.fandom.com/wiki/Shadow_Broker_(enemy)

 
xguru 2026-03-10

Hacker Newsのコメントを見て爆笑しましたね

"最初のコミットのzipファイル内で ./frontend/.env.local./backend/.env が漏洩していた"

"だから名前がOSINT(Open Source Intelligence)なんだ。全部公開されている"

 
girr311 2026-03-10

ダウンロードしてみたら、本当にありますね

 
zihado 2026-03-10

笑う、これはちょっと面白いですねwww

 
GN⁺ 2026-03-10
Hacker Newsのコメント
  • 実際には何の対処もできないデータをこのように過剰に認識することが望ましいのか、それとも単にストレスや自己効力感の低下につながるだけなのか気になる。

  • 一部のgeojsonをリアルタイムタイル向けに最適化する作業は、本当に楽しく没入感のあるプロジェクトだった。 こういうプロジェクトを見たことがあるか気になる → PMTiles, Martin

    • どちらのプロジェクトも本当に気に入っている。現在のShadowBrokerはリアルタイムのレーダートラッキング(60秒ごとにFastAPIバックエンドからMapLibreへGeoJSONをストリーミング)向けに最適化されている。 そのため、地図上ではほぼ60fpsアニメーション並みの滑らかな動きが得られている。 将来的にPostGISベースで航空およびAISデータをアーカイブするようになればMartinへ移行するのがよさそうだが、リアルタイム対象のためタイルキャッシュを継続的に無効化する必要があり、現時点ではやりすぎな選択だ。
    • Protomapsは国単位の地図を手軽に提供したいときにも便利。CLIに必要な機能がほぼ揃っている → Protomaps CLIドキュメント 以前、農業プロジェクトでこれをセットアップしてうまく使っていた。
  • このプロジェクトはmonitor-the-situation.comに似て見える。

  • 「ShadowBroker is a real-time, full-spectrum geospatial intelligence dashboard」という説明は少し大げさに感じる。 「Air and Space domain awareness」のような表現のほうが正確だと思う。 Geospatial intelligenceは通常、衛星画像ベースの情報収集を意味し、「spectrum」は光のスペクトルを指すことが多い。

  • 最初のコミットに含まれていたShadowBroker_v0.1.zipの中で、./frontend/.env.local./backend/.env流出していた。

    • だから名前がOSINT(Open Source Intelligence)なんだ。すべて公開されている。
    • 本当のOSINTはコメント欄にある、という冗談を言いたい。
    • どうしてそれを確認したのか気になる。
  • このプロジェクトはすばらしい。このリンクを思い出した。

    • 自分も似たようなものを作っていた → cimple-gisプロジェクト 完成させないといけないが、まだ時間がない。
    • クリックするのは危なそうに見えたが大丈夫だった
  • すばらしいデータ集約だ。ただ、フィードのパイプラインに鮮度低下のシグナルを追加するとよさそう。 一部のソース(特に脅威フィード)は更新周期が数秒ではなく数時間単位なので、各ソースの最終更新時刻を表示すればデータの鮮度判断に役立つはずだ。

  • 本当にすごい。共有してくれてありがとう。 1日に数時間ずつ1か月ほど動かした場合、APIコストがどれくらいになるのか気になる。負担可能な範囲か知りたい。

    • すべて無料とのこと。
  • とてもすばらしいプロジェクトだ。ただ、コンセプト、フィード、デザイン全般からworldmonitor.appをかなり連想する。 参考までに、あちらもすでにライブサービスとして公開されている。