
intercept v2.33.0
iNTERCEPT, бесплатная платформа с открытым исходным кодом, объединяющая лучшие инструменты радиоэлектронной разведки в единый доступный интерфейс.
Поддержите разработчика этого проекта с открытым исходным кодом
Платформа сигнальной разведки
Веб-интерфейс для инструментов программно-определяемого радио.
Возможности
- Декодирование пейджеров — POCSAG/FLEX через rtl_fm + multimon-ng
- Датчики 433 МГц — Метеостанции, TPMS, устройства IoT через rtl_433
- Субгигагерцевый анализатор — Захват и декодирование протоколов в диапазоне ISM 300–928 МГц через HackRF
- Отслеживание самолётов — ADS-B через dump1090 с картой в реальном времени и радаром
- Отслеживание судов — AIS-отслеживание судов с мониторингом бедствия VHF DSC
- Сообщения ACARS — Дейталинки самолётных сообщений через acarsdec
- VDL2 — Декодирование дейталинков самолётов VHF Data Link Mode 2 через dumpvdl2
- Прослушивающий пост — Широкополосный сканер частот с аудиомониторингом в реальном времени
- Погодные спутники — Декодирование изображений NOAA APT и Meteor LRPT через SatDump с авто-планировщиком
- WebSDR — Удалённое прослушивание HF/коротких волн через сеть KiwiSDR
- ISS SSTV — Приём изображений Slow-Scan TV с Международной космической станции
- HF SSTV — Наземная SSTV на коротковолновых частотах (80m–10m, VHF, UHF)
- APRS — Отчёты о положении и телеметрия любительского пакетного радио через direwolf
- Отслеживание спутников — Прогноз пролётов с полярным графиком и картой траектории
- Коммунальные счётчики — Считывание показаний электроэнергии, газа и воды через rtlamr
- История ADS-B — Постоянная история полётов с панелью отчётов (Postgres опционально)
- Сканирование WiFi — Разведка в режиме монитора через aircrack-ng
- Сканирование Bluetooth — Обнаружение устройств и поиск трекеров (с поддержкой Ubertooth)
- BT Locate — Определение местоположения Bluetooth-устройств для SAR с картой сигнала, привязанной к GPS, и уведомлениями о близости
- WiFi Locate — Определение местоположения точек доступа по BSSID с индикатором сигнала в реальном времени, оценкой расстояния и звуковым оповещением о близости
- GPS — Отслеживание положения в реальном времени с картой, скоростью, высотой и информацией о спутниках
- TSCM — Контрразведка с сравнением RF-базового уровня и обнаружением угроз
- Meshtastic — Интеграция с LoRa-сетью
- Космическая погода — Данные о солнечной и геомагнитной активности в реальном времени от NOAA SWPC, NASA SDO и HamQSL (SDR не требуется)
- Шпионские станции — База данных номерных станций и дипломатических HF-сетей
- Удалённые агенты — Распределённая SIGINT с удалёнными сенсорными узлами
- Автономный режим — Встроенные ресурсы для изолированных/полевых развёртываний
- Дрон-разведка — Многовекторное обнаружение БПЛА через ASTM F3411 Remote ID (WiFi/BLE), RTL-SDR 433/868 МГц RF и HackRF 2.4/5.8 ГГц сканирование с картой контактов в реальном времени и оценкой риска
Установка / Debian / Ubuntu / macOS
Быстрый старт
git clone https://github.com/smittix/intercept.git
cd intercept
./setup.sh # Интерактивное меню (первый запуск запускает мастер установки)
sudo ./start.sh
При первом запуске setup.sh запускает мастер установки, который определяет вашу ОС, позволяет выбрать профили установки, настраивает окружение Python и опционально настраивает переменные окружения и PostgreSQL.
При последующих запусках открывается интерактивное меню:
Меню установки INTERCEPT
════════════════════════════════════════
1) Установить / Добавить модули
2) Проверка состояния системы
3) Настройка базы данных (история ADS-B)
4) Обновить инструменты
5) Конфигуратор окружения
6) Удалить / Очистить
7) Просмотр состояния
0) Выход
Производственный vs Dev сервер:
start.shавтоматически определяет gunicorn + gevent и запускает производственный сервер с кооперативными greenlet'ами — обрабатывает несколько клиентов SSE/WebSocket без блокировок. Если gunicorn не установлен, используется Flask dev сервер. Для быстрой локальной разработки можно напрямую использовать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 # Полная установка без ввода (как в предыдущих версиях)
./setup.sh --profile=core,weather # Установить определённые профили
./setup.sh --health-check # Проверить состояние системы и выйти
./setup.sh --postgres-setup # Запустить настройку PostgreSQL и выйти
./setup.sh --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.
Для сборок под несколько архитектур (amd64 + arm64 для Raspberry Pi) смотрите build-multiarch.sh — он выполняет кросс-компиляцию и отправку в реестр за один шаг.
Настройка окружения
Используйте Конфигуратор окружения (пункт меню 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 (Опционально)
Функция истории 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
