
iNTERCEPTは、最高のシグナルインテリジェンスツールを単一のアクセスしやすいインターフェースに統合する、無料でオープンソースのプラットフォームです。
<p align="center"> <img src="https://raw.githubusercontent.com/smittix/intercept/HEAD/static/images/readme-banner.svg" alt="iNTERCEPT — シグナルインテリジェンスプラットフォーム" width="100%"> </p> <p align="center"> <img src="https://img.shields.io/badge/python-3.9+-blue.svg" alt="Python 3.9+"> <img src="https://img.shields.io/badge/license-Apache--2.0-green.svg" alt="Apache 2.0 License"> <img src="https://img.shields.io/badge/platform-macOS%20%7C%20Linux-lightgrey.svg" alt="Platform"> </p> <p align="center"> このオープンソースプロジェクトの開発者を支援する </p> <p align="center"> <a href="https://www.buymeacoffee.com/smittix" target="_blank"><img src="https://assets.kitploit.com/production/public/readmes/12080/608ca47c77206e90cac89def2d3fa14b17084ebc4a0a8dce231e4f0b3a78be1a.webp" alt="Buy Me A Coffee" style="height: 41px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;-webkit-box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;" ></a> </p> <p align="center"> <strong>シグナルインテリジェンスプラットフォーム</strong><br> ソフトウェア無線ツール向けのWebベースインターフェース。 </p> <p align="center"> <img src="https://assets.kitploit.com/production/public/readmes/12080/ccf5fc125324afe151202823a136a895449841e2cdd28325dcf6290230cda0d1.png" alt="Screenshot"> </p> --- ## 機能 - **ポケットベルデコード** - rtl_fm + multimon-ng による POCSAG/FLEX - **433MHzセンサー** - rtl_433 による気象観測ステーション、TPMS、IoTデバイス - **Sub-GHzアナライザー** - HackRF による 300-928 MHz ISM 帯のRFキャプチャとプロトコルデコード - **航空機追跡** - dump1090 による ADS-B、リアルタイムマップとレーダー付き - **船舶追跡** - VHF DSC 遭難監視付きの AIS 船舶追跡 - **ACARSメッセージング** - acarsdec による航空機データリンクメッセージ - **VDL2** - dumpvdl2 による VHF データリンクモード2 航空機データリンクデコード - **リスニングポスト** - リアルタイム音声モニタリング付きの広帯域周波数スキャナー - **気象衛星** - SatDump による NOAA APT および Meteor LRPT 画像デコード、自動スケジューラー付き - **WebSDR** - KiwiSDR ネットワーク経由のリモート HF/短波受信 - **ISS SSTV** - 国際宇宙ステーションからのスロースキャンテレビ画像受信 - **HF SSTV** - 短波周波数(80m-10m、VHF、UHF)での地上波 SSTV - **APRS** - direwolf によるアマチュアパケット無線の位置レポートとテレメトリー - **衛星追跡** - ポーラープロットと地上軌跡マップによるパス予測 - **ユーティリティメーター** - rtlamr による電気・ガス・水道メーターの読み取り - **ADS-B履歴** - レポーティングダッシュボード付きの永続的な航空機履歴(Postgres はオプション) - **WiFiスキャン** - aircrack-ng によるモニターモード偵察 - **Bluetoothスキャン** - デバイス検出とトラッカー検出(Ubertooth サポート付き) - **BTロケート** - GPSタグ付き信号トレイルマッピングと近接アラートによる SAR Bluetooth デバイス位置特定 - **WiFiロケート** - リアルタイム信号メーター、距離推定、近接音声による BSSID での WiFi アクセスポイント位置特定 - **GPS** - ライブマップ、速度、高度、衛星情報付きのリアルタイム GPS 位置追跡 - **TSCM** - RFベースライン比較と脅威検出による対監視 - **Meshtastic** - LoRa メッシュネットワーク統合 - **宇宙天気** - NOAA SWPC、NASA SDO、HamQSL からのリアルタイム太陽・地磁気データ(SDR不要) - **スパイステーション** - ナンバーステーションと外交 HF ネットワークのデータベース - **リモートエージェント** - リモートセンサーノードによる分散 SIGINT - **オフラインモード** - エアギャップ/フィールド展開向けのバンドル済みアセット - **ドローンインテリジェンス** - ASTM F3411 Remote ID(WiFi/BLE)、RTL-SDR 433/868 MHz RF、HackRF 2.4/5.8 GHz スキャンによるマルチベクター UAV 検出、ライブコンタクトマップとリスクスコアリング付き --- ## インストール / Debian / Ubuntu / macOS ### クイックスタート ```bash git clone https://github.com/smittix/intercept.git cd intercept ./setup.sh # Interactive menu (first run launches setup wizard) sudo ./start.sh ``` 初回実行時、`setup.sh` は **ガイド付きウィザード** を起動します。このウィザードは OS を検出し、インストールプロファイルを選択でき、Python 環境をセットアップし、必要に応じて環境変数と PostgreSQL を設定します。 以降の実行では、**インタラクティブメニュー**が開きます: ``` INTERCEPT Setup Menu ════════════════════════════════════════ 1) Install / Add Modules 2) System Health Check 3) Database Setup (ADS-B History) 4) Update Tools 5) Environment Configurator 6) Uninstall / Cleanup 7) View Status 0) Exit ``` > **本番環境と開発サーバー:** `start.sh` は gunicorn + gevent を自動検出し、協調的グリーンレットを備えた本番サーバーを実行します — 複数の SSE/WebSocket クライアントをブロックせずに処理します。gunicorn がインストールされていない場合は Flask 開発サーバーにフォールバックします。迅速なローカル開発には、`sudo -E venv/bin/python intercept.py` を直接使用することもできます。 ### インストールプロファイル ウィザード中またはメニューオプション 1 から、インストールするものを選択します: | # | プロファイル | ツール | |---|---------|-------| | 1 | コア SIGINT | rtl_sdr, multimon-ng, rtl_433, dump1090, acarsdec, dumpvdl2, ffmpeg, gpsd | | 2 | 海事・無線 | AIS-catcher, direwolf | | 3 | 気象・宇宙 | SatDump, radiosonde_auto_rx | | 4 | RF セキュリティ | aircrack-ng, HackRF, BlueZ, hcxtools, Ubertooth, SoapySDR | | 5 | フル SIGINT | 上記すべて | | 6 | カスタム | ツールごとのチェックリスト | 複数のプロファイルを組み合わせることができます (例: コア + 気象には `1 3` を入力)。 ### CLI フラグ ```bash ./setup.sh --non-interactive # Headless full install (same as legacy behavior) ./setup.sh --profile=core,weather # Install specific profiles ./setup.sh --health-check # Check system health and exit ./setup.sh --postgres-setup # Run PostgreSQL setup and exit ./setup.sh --menu # Force interactive menu ``` ### Docker ```bash git clone https://github.com/smittix/intercept.git cd intercept docker compose --profile basic up -d --build ``` > **注:** Docker で USB SDR にアクセスするには特権モードが必要です。SDR デバイスは `/dev/bus/usb` 経由でパススルーされます。 > **データについて:** 設定、ユーザー、アラートルール、ウォッチリスト、デコードされたメッセージはホストの `./instance` に保存されるため、`--build` を実行しても保持されます。このマウントを含まない compose ファイルからアップグレードする場合は、再ビルド前に古いデータをコピーしてください: `docker cp intercept:/app/instance ./instance`。 マルチアーキテクチャビルド(Raspberry Pi 向けの amd64 + arm64)については、`build-multiarch.sh` を参照してください — クロスコンパイルとレジストリへのプッシュを 1 ステップで処理します。 ### 環境設定 **Environment Configurator**(メニューオプション 5)を使用して、任意の `INTERCEPT_*` 変数を対話的に設定できます。設定は `.env` ファイルに保存され、起動時に `start.sh` が自動的に読み込みます。 `.env` を手動で作成または編集することもできます: ```bash # .env (auto-loaded by start.sh) INTERCEPT_PORT=5050 INTERCEPT_ADSB_AUTO_START=true INTERCEPT_DEFAULT_LAT=51.5074 INTERCEPT_DEFAULT_LON=-0.1278 ``` ### ADS-B履歴(オプション) ADS-B履歴機能は、長期的な分析のために航空機メッセージをPostgreSQLに永続化します。 **自動セットアップ(ローカルインストール):** ```bash ./setup.sh --postgres-setup # Or use menu option 3: Database Setup ``` これにより、必要に応じて PostgreSQL がインストールされ、データベース/ユーザー/テーブルが作成され、接続設定が `.env` に書き込まれます。 **Docker:** ```bash docker compose --profile history up -d ``` 次の環境変数を(`.env` に)設定します: ```bash INTERCEPT_ADSB_HISTORY_ENABLED=true INTERCEPT_ADSB_DB_HOST=adsb_db INTERCEPT_ADSB_DB_PORT=5432 INTERCEPT_ADSB_DB_NAME=intercept_adsb INTERCEPT_ADSB_DB_USER=intercept INTERCEPT_ADSB_DB_PASSWORD=intercept ``` Postgres のデータを外部ストレージに保存するには、`PGDATA_PATH` を設定します(デフォルトは `./pgdata`)。 ```bash PGDATA_PATH=/mnt/usbpi1/intercept/pgdata ``` 次に、レポートダッシュボード用に **/adsb/history** を開きます。 ### システムヘルスチェック インストールが完了し、正常に動作していることを確認します: ```bash ./setup.sh --health-check # Or use menu option 2 ``` インストール済みツール、SDR デバイス、ポートの空き状況、権限、Python venv、`.env` 設定、PostgreSQL への接続性をチェックします。 ### インターフェースを開く 起動後、ブラウザで **http://localhost:5050** を開きます。 **デフォルトのパスワードはありません。** 初回起動時に、INTERCEPT は `admin` アカウント用のパスワードを生成し、ログに記録して `instance/.initial_password` に書き込みます。そのパスワードでログインすると、インターフェースのロックが解除される前に独自のパスワードを設定するよう求められます。 事前に独自のパスワードを指定するには、初回起動前に `INTERCEPT_ADMIN_PASSWORD` を設定してください。詳細と、これが以前のデフォルト `admin`/`admin` に代わった理由については [Security](https://github.com/smittix/intercept/blob/main/docs/SECURITY.md#authentication) を参照してください。 --- ## ハードウェア要件 | ハードウェア | 用途 | 価格 | |----------|---------|-------| | **RTL-SDR** | すべての SDR 機能に必須 | 約 $25-35 | | **WiFi アダプター** | プロミスキャス(モニター)モードをサポートしている必要あり | 約 $20-40 | | **Bluetooth アダプター** | デバイススキャン(通常は内蔵) | - | | **GPS** | Linux がサポートする任意の GPS ユニット | 約 10 | ほとんどの機能は基本的な RTL-SDR ドングル(RTL2832U + R820T2)で動作します。 | :exclamation: RTL-SDR デバイスを使用していませんか? | |----------------------------------------------- |Intercept は SoapySDR がサポートするあらゆるデバイスをサポートします。ただし、お使いのデバイス用の正しいモジュールがインストールされている必要があります!例えば、SDRPlay デバイスをお持ちの場合は soapysdr-module-sdrplay をインストールする必要があります。 | :exclamation: GPS の使用 | |----------------------------------------------- |リアルタイムの位置情報には gpsd が必要です。Intercept は地図がレンダリングされる際に、バックグラウンドで gpsd が実行されているかを自動的に確認します。 --- ## Discord サーバー <p align="center"> <a href="https://discord.gg/EyeksEJmWE">Discord に参加する</a> </p> --- ## ドキュメント - [使用ガイド](https://github.com/smittix/intercept/blob/main/docs/USAGE.md) - 各モードの詳細な手順 - [ハードウェアガイド](https://github.com/smittix/intercept/blob/main/docs/HARDWARE.md) - SDR ハードウェア、手動インストール、高度なセットアップ - [トラブルシューティング](https://github.com/smittix/intercept/blob/main/docs/TROUBLESHOOTING.md) - よくある問題と解決策 - [分散エージェント](https://github.com/smittix/intercept/blob/main/docs/DISTRIBUTED_AGENTS.md) - リモートセンサーノードのデプロイ - [Webhook](https://github.com/smittix/intercept/blob/main/docs/WEBHOOKS.md) - アラートルールと Webhook 連携 - [セキュリティ](https://github.com/smittix/intercept/blob/main/docs/SECURITY.md) - ネットワークセキュリティとベストプラクティス --- ## 免責事項 このプロジェクトは、AI をコーディングパートナーとして活用し、人間の指示と AI 支援による実装を組み合わせて開発されました。目標は、一般的な SDR ツール向けのクリーンで統一されたインターフェースを提供することで、Software Defined Radio をより身近なものにすることです。 **このソフトウェアは教育および許可されたテスト目的でのみ使用してください。** - 適切な許可を得た場合にのみ使用してください - 同意なく通信を傍受することは違法となる場合があります - 適用される法律への準拠はお客様の責任です --- ## ライセンス Apache 2.0 License - [LICENSE](https://github.com/smittix/intercept/blob/main/LICENSE) を参照 ## 作者 作成者: **smittix** - [GitHub](https://github.com/smittix) ## 謝辞 [rtl-sdr](https://osmocom.org/projects/rtl-sdr/wiki) | [multimon-ng](https://github.com/EliasOenal/multimon-ng) | [rtl_433](https://github.com/merbanan/rtl_433) | [dump1090](https://github.com/flightaware/dump1090) | [AIS-catcher](https://github.com/jvde-github/AIS-catcher) | [acarsdec](https://github.com/TLeconte/acarsdec) | [direwolf](https://github.com/wb2osz/direwolf) | [rtlamr](https://github.com/bemasher/rtlamr) | [dumpvdl2](https://github.com/szpajder/dumpvdl2) | [aircrack-ng](https://www.aircrack-ng.org/) | [Leaflet.js](https://leafletjs.com/) | [SatDump](https://github.com/SatDump/SatDump) | [Celestrak](https://celestrak.org/) | [Priyom.org](https://priyom.org/)