
iNTERCEPTは、最高のシグナルインテリジェンスツールを単一のアクセスしやすいインターフェースに統合する、無料でオープンソースのプラットフォームです。
このオープンソースプロジェクトの開発者をサポートする
シグナルインテリジェンスプラットフォーム
ソフトウェア定義無線ツールのためのウェブベースインターフェース
git clone https://github.com/smittix/intercept.git
cd intercept
./setup.sh # 対話型メニュー(初回起動はセットアップウィザードを起動)
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
本番サーバー vs 開発サーバー:
start.shはgunicorn + geventを自動検出し、協調グリーンレットを使用した本番サーバーを起動します。複数のSSE/WebSocketクライアントをブロックなしで処理できます。gunicornがインストールされていない場合はFlask開発サーバーにフォールバックします。迅速なローカル開発の場合は、直接sudo -E venv/bin/python intercept.pyを使用することもできます。
ウィザード中またはメニューオプション1でインストールするものを選択します:
複数のプロファイルを組み合わせることができます(例:1 3と入力するとコア+気象)。
./setup.sh --non-interactive # 非対話型フルインストール(従来の動作と同じ)
./setup.sh --profile=core,weather # 特定のプロファイルをインストール
./setup.sh --health-check # システムヘルスチェックを実行して終了
./setup.sh --postgres-setup # PostgreSQLセットアップを実行して終了
./setup.sh --menu # 対話型メニューを強制
git clone https://github.com/smittix/intercept.git
cd intercept
docker compose --profile basic up -d --build
注記: DockerはUSB SDRアクセスに特権モードが必要です。SDRデバイスは
/dev/bus/usbを介して渡されます。
マルチアーキテクチャビルド(Raspberry Pi用のamd64 + arm64)については、build-multiarch.shを参照してください。クロスコンパイルとレジストリプッシュを1ステップで処理します。
環境コンフィギュレーター(メニューオプション5)を使用して、任意のINTERCEPT_*変数を対話的に設定します。設定は.envファイルに保存され、start.shが起動時に自動的に読み込みます。
手動で.envを作成または編集することもできます:
# .env(start.shによって自動読み込み)
INTERCEPT_PORT=5050
INTERCEPT_ADSB_AUTO_START=true
INTERCEPT_DEFAULT_LAT=51.5074
INTERCEPT_DEFAULT_LON=-0.1278
ADS-B履歴機能は、長期間の分析のために航空機メッセージをPostgreSQLに永続化します。
自動セットアップ(ローカルインストール):
./setup.sh --postgres-setup
# またはメニューオプション3:データベースセットアップを使用
これにより、必要に応じてPostgreSQLがインストールされ、データベース/ユーザー/テーブルが作成され、接続設定が.envに書き込まれます。
Docker:
docker compose --profile history up -d
以下の環境変数を設定します(.env内):
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):
PGDATA_PATH=/mnt/usbpi1/intercept/pgdata
その後、レポートダッシュボードのために**/adsb/history**を開きます。
インストールが完全で動作していることを確認します:
./setup.sh --health-check
# またはメニューオプション2を使用
インストール済みツール、SDRデバイス、ポートの利用可能性、パーミッション、Python venv、.env設定、PostgreSQL接続をチェックします。
起動後、ブラウザで**http://localhost:5050**を開きます。
デフォルトの認証情報:admin / admin — アプリをネットワークに公開する前に、config.py(ADMIN_USERNAME / ADMIN_PASSWORD)で変更してください。
ほとんどの機能は基本的なRTL-SDRドングル(RTL2832U + R820T2)で動作します。
| ❗ RTL-SDRデバイスを使用していませんか? |
|---|
| InterceptはSoapySDRがサポートするすべてのデバイスに対応しています。ただし、お使いのデバイス用の正しいモジュールがインストールされている必要があります!たとえば、SDRPlayデバイスをお持ちの場合は、soapysdr-module-sdrplayをインストールする必要があります。 |
| ❗ GPSの使用 |
|---|
| リアルタイム位置情報にはgpsdが必要です。Interceptは、マップがレンダリングされるときにバックグラウンドでgpsdが実行されているかどうかを自動的に確認します。 |
このプロジェクトは、人間の指示とAI支援による実装を組み合わせ、AIをコーディングパートナーとして使用して開発されました。目標:一般的なSDRツールにクリーンで統一されたインターフェースを提供することで、ソフトウェア定義無線をより利用しやすくすること。
このソフトウェアは教育および許可されたテスト目的のみに使用してください。
Apache 2.0ライセンス - LICENSEを参照
smittixによって作成 - GitHub
rtl-sdr | multimon-ng | rtl_433 | dump1090 | AIS-catcher | acarsdec | direwolf | rtlamr | dumpvdl2 | aircrack-ng | Leaflet.js | SatDump | Celestrak | Priyom.org
| # | プロファイル | ツール |
|---|
| 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 | カスタム | ツールごとのチェックリスト |
| ハードウェア | 目的 | 価格 |
|---|
| RTL-SDR | すべてのSDR機能に必須 | 約$25-35 |
| WiFiアダプター | promiscuous(モニター)モード対応必須 | 約$20-40 |
| Bluetoothアダプター | デバイススキャン(通常内蔵) | - |
| GPS | Linux対応の任意のGPSユニット | 約$10 |