
iNTERCEPT, a free and open-source platform that unites the best signal intelligence tools into a single, accessible interface.
Поддержите разработчика этого проекта с открытым исходным кодом
Платформа сигнальной разведки
Веб-интерфейс для инструментов программно-определяемого радио.
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 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
Для хранения данных 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-донглом (RTL2832U + R820T2).
| ❗ Не используете RTL-SDR? |
|---|
| Intercept поддерживает любые устройства, совместимые с SoapySDR. Однако необходимо установить соответствующий модуль для вашего устройства! Например, для SDRPlay потребуется установить soapysdr-module-sdrplay. |
| ❗ Использование GPS |
|---|
| Для определения местоположения в реальном времени требуется gpsd. Intercept автоматически проверяет, запущен ли gpsd в фоне при отображении карт. |
Присоединяйтесь к нашему Discord
Этот проект был разработан с использованием ИИ в качестве партнёра по программированию, сочетая человеческое руководство с реализацией на основе ИИ. Цель: сделать программно-определяемое радио более доступным, предоставив единый интерфейс для распространённых 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
| # | Профиль | Инструменты |
|---|
| 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 | Пользовательский | Выбор инструментов по чеклисту |
| Оборудование | Назначение | Цена |
|---|
| RTL-SDR | Требуется для всех функций SDR | ~$25-35 |
| WiFi-адаптер | Должен поддерживать режим монитора (promiscuous) | ~$20-40 |
| Bluetooth-адаптер | Сканирование устройств (обычно встроен) | - |
| GPS | Любой GPS-модуль, поддерживаемый Linux | ~$10 |