
iNTERCEPT, бесплатная платформа с открытым исходным кодом, объединяющая лучшие инструменты радиоэлектронной разведки в единый доступный интерфейс.
Поддержите разработчика этого проекта с открытым исходным кодом
Платформа сигнальной разведки
Веб-интерфейс для инструментов программно-определяемого радио.
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 # Принудительно открыть интерактивное меню
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 сохраняет сообщения самолётов в 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