
iNTERCEPT، منصة مجانية ومفتوحة المصدر توحد أفضل أدوات استخبارات الإشارات في واجهة واحدة سهلة الوصول.
ادعم مطوّر هذا المشروع مفتوح المصدر
منصة استخبارات الإشارات
واجهة قائمة على الويب لأدوات الراديو المعرّف بالبرمجيات.
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.
في عمليات التشغيل اللاحقة، يفتح قائمة تفاعلية:
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 ويشغّل خادم إنتاج باستخدام greenlets تعاونية — يتعامل مع عدة عملاء SSE/WebSocket دون حجب. يعود إلى خادم Flask التطويري إذا لم يكن gunicorn مثبتًا. للتطوير المحلي السريع، لا يزال بإمكانك استخدامsudo -E venv/bin/python intercept.pyمباشرة.
اختر ما تريد تثبيته أثناء المعالج أو عبر خيار القائمة 1:
| # | الملف التعريفي | الأدوات |
|---|---|---|
| 1 | Core SIGINT | rtl_sdr, multimon-ng, rtl_433, dump1090, acarsdec, dumpvdl2, ffmpeg, gpsd |
| 2 | Maritime & Radio | AIS-catcher, direwolf |
| 3 | Weather & Space | SatDump, radiosonde_auto_rx |
| 4 | RF Security | aircrack-ng, HackRF, BlueZ, hcxtools, Ubertooth, SoapySDR |
| 5 | Full SIGINT | كل ما سبق |
| 6 | Custom | قائمة تحقق لكل أداة |
يمكن دمج عدة ملفات تعريف (مثل إدخال 1 3 لـ Core + Weather).
./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
git clone https://github.com/smittix/intercept.git
cd intercept
docker compose --profile basic up -d --build
ملاحظة: يتطلب Docker وضعًا مميزًا (privileged mode) للوصول إلى أجهزة USB SDR. يتم تمرير أجهزة SDR عبر
/dev/bus/usb.
بياناتك: توجد الإعدادات والمستخدمون وقواعد التنبيه وقوائم المراقبة والرسائل المفككة في
./instanceعلى المضيف، لذا تبقى محفوظة بعد--build. هل تقوم بالترقية من ملف compose لا يتضمن ذلك التحميل (mount)؟ انسخ البيانات القديمة قبل إعادة البناء:docker cp intercept:/app/instance ./instance.
لبنيات متعددة المعمارية (amd64 + arm64 لـ Raspberry Pi)، راجع build-multiarch.sh — فهو يتولى الترجمة المتقاطعة (cross-compilation) والدفع إلى السجل (registry push) في خطوة واحدة.
استخدم Environment Configurator (خيار القائمة 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 برسائل الطائرات في 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.