
intercept v2.33.0
iNTERCEPT,一个免费且开源平台,将顶尖信号情报工具整合到一个易于访问的界面中。
支持这个开源项目的开发者
信号情报平台
面向软件定义无线电工具的 Web 界面。
功能特性
- 寻呼机解码 - 通过 rtl_fm + multimon-ng 解码 POCSAG/FLEX
- 433MHz 传感器 - 通过 rtl_433 接收气象站、TPMS、IoT 设备
- Sub-GHz 分析仪 - 通过 HackRF 对 300-928 MHz ISM 频段进行 RF 捕获与协议解码
- 飞机追踪 - 通过 dump1090 接收 ADS-B,提供实时地图与雷达
- 船舶追踪 - AIS 船舶追踪,支持 VHF DSC 遇险监控
- ACARS 消息 - 通过 acarsdec 接收飞机数据链消息
- VDL2 - 通过 dumpvdl2 解码 VHF 数据链模式 2 飞机数据链
- 监听站 - 宽带频率扫描器,支持实时音频监听
- 气象卫星 - 通过 SatDump 解码 NOAA APT 与 Meteor LRPT 图像,支持自动调度
- WebSDR - 通过 KiwiSDR 网络远程收听 HF/短波
- ISS SSTV - 接收来自国际空间站的慢扫描电视图像
- HF SSTV - 短波频率上的地面 SSTV(80m-10m、VHF、UHF)
- APRS - 通过 direwolf 接收业余分组无线电位置报告与遥测
- 卫星追踪 - 过境预测,提供极坐标图与地面轨迹地图
- 公用事业仪表 - 通过 rtlamr 读取电表、燃气表和水表
- ADS-B 历史 - 持久化飞机历史记录,提供报告仪表板(可选 Postgres)
- WiFi 扫描 - 通过 aircrack-ng 进行监听模式侦察
- 蓝牙扫描 - 设备发现与追踪器检测(支持 Ubertooth)
- BT 定位 - SAR 蓝牙设备定位,支持 GPS 标记信号轨迹映射与接近警报
- 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
快速开始
git clone https://github.com/smittix/intercept.git
cd intercept
./setup.sh # Interactive menu (first run launches setup wizard)
sudo ./start.sh
首次运行时,setup.sh 会启动一个引导向导,它会检测你的操作系统、让你选择安装配置文件、设置 Python 环境,并可选地配置环境变量和 PostgreSQL。
Lors des exécutions suivantes, il ouvre un menu interactif :
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,并以协作式 greenlet 运行生产服务器——可处理多个 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 | 射频安全 | aircrack-ng, HackRF, BlueZ, hcxtools, Ubertooth, SoapySDR |
| 5 | 完整 SIGINT | 以上全部 |
| 6 | 自定义 | 逐工具清单 |
多个配置档可以组合使用(例如输入 1 3 表示核心 + 气象)。
CLI 参数
./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
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。
对于多架构构建(amd64 + arm64,用于 Raspberry Pi),请参阅 build-multiarch.sh —— 它一步完成交叉编译和镜像仓库推送。
环境配置
使用 环境配置器(菜单选项 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 历史记录(可选)
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 默认密码,请参阅安全。
硬件要求
| 硬件 | 用途 | 价格 |
|---|---|---|
| RTL-SDR | 所有 SDR 功能所必需 | ~$25-35 |
| WiFi 适配器 | 必须支持混杂(监听)模式 | ~$20-40 |
| 蓝牙适配器 | 设备扫描(通常为内置) | - |
| GPS | 任何 Linux 支持的 GPS 单元 | ~10 |
大多数功能使用基本的 RTL-SDR 接收器(RTL2832U + R820T2)即可运行。
| ❗ 未使用 RTL-SDR 设备? |
|---|
| Intercept 支持 SoapySDR 支持的任何设备。但你必须安装适用于你设备的正确模块!例如,如果你有 SDRPlay 设备,则需要安装 soapysdr-module-sdrplay。 |
| ❗ GPS 使用 |
|---|
| 实时定位需要 gpsd。当渲染任何地图时,Intercept 会自动检查你是否在后台运行 gpsd。 |
Discord 服务器
文档
- 使用指南 - 每种模式的详细说明
- 硬件指南 - SDR 硬件、手动安装和高级设置
- 故障排除 - 常见问题与解决方案
- 分布式代理 - 远程传感器节点部署
- Webhooks - 告警规则与 webhook 集成
- 安全 - 网络安全与最佳实践
免责声明
本项目使用 AI 作为编码伙伴开发,将人类指导与 AI 辅助实现相结合。目标:通过为常见 SDR 工具提供简洁、统一的界面,让软件定义无线电更易于使用。
本软件仅用于教育和授权测试目的。
- 仅在获得适当授权的情况下使用
- 未经同意拦截通信可能违法
- 你有责任遵守适用法律
许可证
Apache 2.0 许可证 - 参见 LICENSE
作者
由 smittix 创建 - GitHub
