
iNTERCEPT، منصة مجانية ومفتوحة المصدر توحد أفضل أدوات استخبارات الإشارات في واجهة واحدة سهلة الوصول.
<p align="center"> <img src="https://raw.githubusercontent.com/smittix/intercept/HEAD/static/images/readme-banner.svg" alt="iNTERCEPT — منصة استخبارات الإشارات" width="100%"> </p> <p align="center"> <img src="https://img.shields.io/badge/python-3.9+-blue.svg" alt="Python 3.9+"> <img src="https://img.shields.io/badge/license-Apache--2.0-green.svg" alt="Apache 2.0 License"> <img src="https://img.shields.io/badge/platform-macOS%20%7C%20Linux-lightgrey.svg" alt="Platform"> </p> <p align="center"> ادعم مطوّر هذا المشروع مفتوح المصدر </p> <p align="center"> <a href="https://www.buymeacoffee.com/smittix" target="_blank"><img src="https://assets.kitploit.com/production/public/readmes/12080/608ca47c77206e90cac89def2d3fa14b17084ebc4a0a8dce231e4f0b3a78be1a.webp" alt="Buy Me A Coffee" style="height: 41px !important;width: 174px !important;box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;-webkit-box-shadow: 0px 3px 2px 0px rgba(190, 190, 190, 0.5) !important;" ></a> </p> <p align="center"> <strong>منصة استخبارات الإشارات</strong><br> واجهة قائمة على الويب لأدوات الراديو المعرّف بالبرمجيات. </p> <p align="center"> <img src="https://assets.kitploit.com/production/public/readmes/12080/ccf5fc125324afe151202823a136a895449841e2cdd28325dcf6290230cda0d1.png" alt="Screenshot"> </p> --- ## الميزات - **فك ترميز أجهزة النداء** - POCSAG/FLEX عبر rtl_fm + multimon-ng - **مستشعرات 433MHz** - محطات الطقس، TPMS، أجهزة إنترنت الأشياء عبر 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** - استماع بعيد للترددات العالية/الموجات القصيرة عبر شبكة KiwiSDR - **ISS SSTV** - استقبال صور التلفزيون بطيء المسح من محطة الفضاء الدولية - **HF SSTV** - SSTV الأرضي على ترددات الموجات القصيرة (80m-10m، VHF، UHF) - **APRS** - تقارير المواقع والقياس عن بُعد لراديو الحزم للهواة عبر direwolf - **تتبع الأقمار الصناعية** - التنبؤ بالمرور مع مخطط قطبي وخريطة المسار الأرضي - **عدادات المرافق** - قراءة عدادات الكهرباء والغاز والمياه عبر rtlamr - **سجل ADS-B** - سجل دائم للطائرات مع لوحة تقارير (Postgres اختياري) - **مسح WiFi** - استطلاع في وضع المراقبة عبر aircrack-ng - **مسح Bluetooth** - اكتشاف الأجهزة وكشف المتتبعات (مع دعم Ubertooth) - **BT Locate** - تحديد موقع أجهزة Bluetooth لأغراض البحث والإنقاذ مع رسم خرائط لمسار الإشارة المعلَّم بـ GPS وتنبيهات القرب - **WiFi Locate** - تحديد موقع نقاط وصول WiFi عبر BSSID مع مقياس إشارة في الوقت الفعلي وتقدير المسافة وصوت تنبيه القرب - **GPS** - تتبع موقع GPS في الوقت الفعلي مع خريطة مباشرة والسرعة والارتفاع ومعلومات الأقمار الصناعية - **TSCM** - مكافحة المراقبة عبر مقارنة خط الأساس للترددات الراديوية وكشف التهديدات - **Meshtastic** - تكامل شبكة LoRa المتداخلة - **طقس الفضاء** - بيانات شمسية وجيومغناطيسية في الوقت الفعلي من NOAA SWPC وNASA SDO وHamQSL (لا يتطلب SDR) - **محطات التجسس** - قاعدة بيانات محطات الأرقام وشبكات HF الدبلوماسية - **الوكلاء البعيدون** - SIGINT موزّع مع عقد استشعار بعيدة - **الوضع دون اتصال** - أصول مضمّنة للنشر المعزول ميدانيًا - **استخبارات الطائرات بدون طيار** - كشف متعدد الوسائط للطائرات بدون طيار عبر ASTM F3411 Remote ID (WiFi/BLE)، وRTL-SDR 433/868 MHz RF، ومسح HackRF 2.4/5.8 GHz مع خريطة اتصالات مباشرة وتقييم للمخاطر --- ## التثبيت / Debian / Ubuntu / macOS ### البدء السريع ```bash 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). ### أعلام CLI ```bash ./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 ``` ### Docker ```bash 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` أو تعديله يدويًا: ```bash # .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 (اختياري) تحتفظ ميزة سجل ADS-B برسائل الطائرات في PostgreSQL للتحليل طويل المدى. **الإعداد الآلي (تثبيت محلي):** ```bash ./setup.sh --postgres-setup # Or use menu option 3: Database Setup ``` سيقوم هذا بتثبيت PostgreSQL إذا لزم الأمر، وإنشاء قاعدة البيانات/المستخدم/الجداول، وكتابة إعدادات الاتصال إلى `.env`. **Docker:** ```bash docker compose --profile history up -d ``` عيّن متغيرات البيئة التالية (في `.env`): ```bash 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`): ```bash PGDATA_PATH=/mnt/usbpi1/intercept/pgdata ``` ثم افتح **/adsb/history** للحصول على لوحة معلومات التقارير. ### فحص سلامة النظام تحقق من أن التثبيت مكتمل ويعمل: ```bash ./setup.sh --health-check # Or use menu option 2 ``` يتحقق من الأدوات المثبتة، وأجهزة SDR، وتوفر المنافذ، والأذونات، وبيئة Python الافتراضية (venv)، وإعدادات `.env`، والاتصال بـ PostgreSQL. ### فتح الواجهة بعد بدء التشغيل، افتح **http://localhost:5050** في متصفحك. **لا توجد كلمة مرور افتراضية.** عند أول بدء تشغيل، يُنشئ INTERCEPT واحدة لحساب `admin`، ويسجّلها، ويكتبها إلى `instance/.initial_password`. سجّل الدخول باستخدامها، وسيُطلب منك تعيين كلمة مرور خاصة بك قبل فتح الواجهة. لاختيار كلمة مرور خاصة بك مسبقًا، عيّن `INTERCEPT_ADMIN_PASSWORD` قبل أول بدء تشغيل. راجع [الأمان](https://github.com/smittix/intercept/blob/main/docs/SECURITY.md#authentication) للحصول على التفاصيل وللتعرف على سبب استبدال هذا للإعداد الافتراضي السابق `admin`/`admin`. --- ## متطلبات العتاد | العتاد | الغرض | السعر | |----------|---------|-------| | **RTL-SDR** | مطلوب لجميع ميزات SDR | ~$25-35 | | **محول WiFi** | يجب أن يدعم الوضع المختلط (المراقبة) | ~$20-40 | | **محول Bluetooth** | فحص الأجهزة (مدمج عادةً) | - | | **GPS** | أي وحدة GPS مدعومة على Linux | ~10 | تعمل معظم الميزات مع دونجل RTL-SDR أساسي (RTL2832U + R820T2). | :exclamation: ألا تستخدم جهاز RTL-SDR؟ | |----------------------------------------------- |يدعم Intercept أي جهاز يدعمه SoapySDR. ومع ذلك، يجب أن تكون وحدة (module) الجهاز الصحيحة مثبتة لديك! على سبيل المثال، إذا كان لديك جهاز SDRPlay فستحتاج إلى تثبيت soapysdr-module-sdrplay. | :exclamation: استخدام GPS | |----------------------------------------------- |يلزم gpsd لتحديد الموقع في الوقت الفعلي. يتحقق Intercept تلقائيًا مما إذا كنت تشغّل gpsd في الخلفية عند عرض أي خرائط. --- ## خادم Discord <p align="center"> <a href="https://discord.gg/EyeksEJmWE">انضم إلى Discord الخاص بنا</a> </p> --- ## الوثائق - [دليل الاستخدام](https://github.com/smittix/intercept/blob/main/docs/USAGE.md) - تعليمات مفصلة لكل وضع - [دليل العتاد](https://github.com/smittix/intercept/blob/main/docs/HARDWARE.md) - عتاد SDR، والتثبيت اليدوي، والإعداد المتقدم - [استكشاف الأخطاء وإصلاحها](https://github.com/smittix/intercept/blob/main/docs/TROUBLESHOOTING.md) - المشكلات الشائعة والحلول - [الوكلاء الموزعون](https://github.com/smittix/intercept/blob/main/docs/DISTRIBUTED_AGENTS.md) - نشر عقد المستشعرات عن بُعد - [Webhooks](https://github.com/smittix/intercept/blob/main/docs/WEBHOOKS.md) - قواعد التنبيهات وتكامل webhook - [الأمان](https://github.com/smittix/intercept/blob/main/docs/SECURITY.md) - أمان الشبكة وأفضل الممارسات --- ## إخلاء المسؤولية طُوّر هذا المشروع باستخدام الذكاء الاصطناعي كشريك في البرمجة، جامعًا بين التوجيه البشري والتنفيذ بمساعدة الذكاء الاصطناعي. الهدف: جعل الراديو المعرّف برمجيًا (Software Defined Radio) أكثر سهولة في الوصول من خلال توفير واجهة موحدة ونظيفة لأدوات SDR الشائعة. **هذا البرنامج مخصص لأغراض تعليمية وللاختبار المصرّح به فقط.** - استخدمه فقط بوجود تصريح مناسب - قد يكون اعتراض الاتصالات دون موافقة غير قانوني - أنت مسؤول عن الامتثال للقوانين المعمول بها --- ## الترخيص ترخيص Apache 2.0 - راجع [LICENSE](https://github.com/smittix/intercept/blob/main/LICENSE) ## المؤلف أنشأه **smittix** - [GitHub](https://github.com/smittix) ## شكر وتقدير [rtl-sdr](https://osmocom.org/projects/rtl-sdr/wiki) | [multimon-ng](https://github.com/EliasOenal/multimon-ng) | [rtl_433](https://github.com/merbanan/rtl_433) | [dump1090](https://github.com/flightaware/dump1090) | [AIS-catcher](https://github.com/jvde-github/AIS-catcher) | [acarsdec](https://github.com/TLeconte/acarsdec) | [direwolf](https://github.com/wb2osz/direwolf) | [rtlamr](https://github.com/bemasher/rtlamr) | [dumpvdl2](https://github.com/szpajder/dumpvdl2) | [aircrack-ng](https://www.aircrack-ng.org/) | [Leaflet.js](https://leafletjs.com/) | [SatDump](https://github.com/SatDump/SatDump) | [Celestrak](https://celestrak.org/) | [Priyom.org](https://priyom.org/)