
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
Для хранения данных Postgres на внешнем носителе установите PGDATA_PATH (по умолчанию ./pgdata):
PGDATA_PATH=/mnt/usbpi1/intercept/pgdata
Затем откройте /adsb/history для панели отчётов.
Проверка состояния системы
Убедитесь, что установка завершена и работает:
./setup.sh --health-check
# Или используйте пункт меню 2
Проверяет установленные инструменты, SDR-устройства, доступность портов, разрешения, виртуальное окружение Python, конфигурацию .env и подключение к PostgreSQL.
Откройте интерфейс
После запуска откройте http://localhost:5050 в вашем браузере.
Учётные данные по умолчанию: admin / admin — измените их в config.py (ADMIN_USERNAME / ADMIN_PASSWORD) перед тем, как открывать приложение в сети.
Требования к оборудованию
| Оборудование | Назначение | Цена |
|---|---|---|
| RTL-SDR | Требуется для всех функций SDR | ~$25-35 |
| WiFi-адаптер | Должен поддерживать режим монитора (promiscuous) | ~$20-40 |
| Bluetooth-адаптер | Сканирование устройств (обычно встроен) | - |
| GPS | Любой GPS-модуль, поддерживаемый Linux | ~$10 |
Большинство функций работают с базовым RTL-SDR-донглом (RTL2832U + R820T2).
| ❗ Не используете RTL-SDR? |
|---|
| Intercept поддерживает любые устройства, совместимые с SoapySDR. Однако необходимо установить соответствующий модуль для вашего устройства! Например, для SDRPlay потребуется установить soapysdr-module-sdrplay. |
| ❗ Использование GPS |
|---|
| Для определения местоположения в реальном времени требуется gpsd. Intercept автоматически проверяет, запущен ли gpsd в фоне при отображении карт. |
Discord-сервер
Присоединяйтесь к нашему Discord
Документация
- Руководство по использованию — Подробные инструкции для каждого режима
- Руководство по оборудованию — SDR-оборудование, ручная установка и продвинутая настройка
- Устранение неполадок — Частые проблемы и решения
- Распределённые агенты — Развёртывание удалённых сенсорных узлов
- Вебхуки — Правила оповещений и интеграция с вебхуками
- Безопасность — Сетевая безопасность и лучшие практики
Отказ от ответственности
Этот проект был разработан с использованием ИИ в качестве партнёра по программированию, сочетая человеческое руководство с реализацией на основе ИИ. Цель: сделать программно-определяемое радио более доступным, предоставив единый интерфейс для распространённых 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
