
iNTERCEPTは、最高のシグナルインテリジェンスツールを単一のアクセスしやすいインターフェースに統合する、無料でオープンソースのプラットフォームです。
このオープンソースプロジェクトの開発者を支援する
シグナルインテリジェンスプラットフォーム
ソフトウェア無線ツール向けのWebベースインターフェース。
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 を入力)。
./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
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 を手動で作成または編集することもできます:
# .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履歴機能は、長期的な分析のために航空機メッセージをPostgreSQLに永続化します。
自動セットアップ(ローカルインストール):
./setup.sh --postgres-setup
# Or use menu option 3: Database Setup
これにより、必要に応じて 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
# Or use menu option 2
インストール済みツール、SDR デバイス、ポートの空き状況、権限、Python venv、.env 設定、PostgreSQL への接続性をチェックします。
起動後、ブラウザで http://localhost:5050 を開きます。
デフォルトのパスワードはありません。 初回起動時に、INTERCEPT は admin アカウント用のパスワードを生成し、ログに記録して instance/.initial_password に書き込みます。そのパスワードでログインすると、インターフェースのロックが解除される前に独自のパスワードを設定するよう求められます。
事前に独自のパスワードを指定するには、初回起動前に INTERCEPT_ADMIN_PASSWORD を設定してください。詳細と、これが以前のデフォルト admin/admin に代わった理由については Security を参照してください。
| ハードウェア | 用途 | 価格 |
|---|---|---|
| RTL-SDR | すべての SDR 機能に必須 | 約 $25-35 |
| WiFi アダプター | プロミスキャス(モニター)モードをサポートしている必要あり | 約 $20-40 |
| Bluetooth アダプター | デバイススキャン(通常は内蔵) | - |
| GPS | Linux がサポートする任意の GPS ユニット | 約 10 |
ほとんどの機能は基本的な RTL-SDR ドングル(RTL2832U + R820T2)で動作します。
| ❗ RTL-SDR デバイスを使用していませんか? |
|---|
| Intercept は SoapySDR がサポートするあらゆるデバイスをサポートします。ただし、お使いのデバイス用の正しいモジュールがインストールされている必要があります!例えば、SDRPlay デバイスをお持ちの場合は soapysdr-module-sdrplay をインストールする必要があります。 |
| ❗ GPS の使用 |
|---|
| リアルタイムの位置情報には gpsd が必要です。Intercept は地図がレンダリングされる際に、バックグラウンドで gpsd が実行されているかを自動的に確認します。 |