العودة إلى التحديثات
New releaseAug 6, 2026

Shadowbroker v0.9.84

منصة OSINT جغرافية مكانية في الوقت الفعلي تجمع أكثر من 60 مصدر تغذية قياس عن بعد عامة (ADS-B, AIS, أقمار صناعية, CCTV) في خريطة موحدة مع مجموعة أدوات استطلاع من جانب الخادم، قناة وكيل ذكاء اصطناعي، واتصالات شبكة متداخلة لا مركزية.

مشاركة

🛰️ S H A D O W B R O K E R

اعتراض التهديد العالمي — منصة استخبارات جغرافية مكانية في الزمن الحقيقي


ShadowBroker

ShadowBroker هي منصة استخبارات لا مركزية تجمع القياسات عن بعد من مصادر استخباراتية متعددة المجالات في الزمن الحقيقي من أكثر من 60 تغذية استخباراتية حية في واجهة خريطة عمليات سرية واحدة. الطائرات، السفن، الأقمار الصناعية، مناطق النزاع، شبكات كاميرات المراقبة، تشويش GPS، الأجهزة المتصلة بالإنترنت، ماسحات الشرطة، عقد شبكات الراديو المتداخلة، والأحداث الجيوسياسية المتطورة — كلها تحدث في الزمن الحقيقي على شاشة واحدة، بالإضافة إلى بروتوكول اتصالات مبهمة وبنية تحتية لتبادل المعلومات.

🛰️ وصف المشروع

مبني باستخدام Next.js و MapLibre GL و FastAPI و Python. أكثر من 40 طبقة بيانات قابلة للتبديل، بما في ذلك كشف التغيرات الأرضية باستخدام SAR، استخبارات Telegram (معاينات القنوات العامة محللة جغرافيًا على الخريطة)، مجموعة أدوات استطلاع من جانب الخادم (DNS، WHOIS، العقوبات، BGP، مسح IP، والمزيد)، تراكبات مخاطر سلسلة التوريد، وتغذية تهديدات سيبرانية للبرامج الضارة وC2 و CISA KEV. أوضاع عرض متعددة (DEFAULT / SATELLITE / FLIR / NVG / CRT). انقر بزر الماوس الأيمن على أي نقطة على الأرض للحصول على ملف دولة، معلومات رئيس الدولة، توسيع الرسم البياني للكيانات، وأحدث صورة قمر صناعي Sentinel-2. ShadowBroker لا يحتوي على حسابات أو قياسات تتبع للمنتج أو تحليلات؛ لوحة التحكم تتواصل مع الخلفية التي تستضيفها بنفسك. استعلامات الاستطلاع الحساسة و Shodan لا تصل أبدًا إلى واجهات برمجة التطبيقات التابعة لجهات خارجية من المتصفح — بل يتم توجيهها عبر الخلفية مع حماية من SSRF ومصادقة المشغل المحلي. قناة أوامر OpenClaw / الوكيل تكشف عن نفس خلفيات الاستطلاع بالإضافة إلى بحث كامل عن القياسات عن بعد — لا حاجة لتكامل منفصل لواجهة برمجة التطبيقات.

مصمم للمحللين والباحثين ومشغلي الراديو وأي شخص يريد رؤية كيف يبدو العالم عندما تكون كل الإشارات العامة على نفس الخريطة.


🌍 لماذا هذا موجود

كمية مذهلة من القياسات عن بعد العالمية هي بالفعل عامة — بث ADS-B للطائرات، إشارات AIS البحرية، بيانات مدارات الأقمار الصناعية، أجهزة استشعار الزلازل، شبكات الراديو المتداخلة، تغذية ماسحات الشرطة، محطات مراقبة البيئة، قياسات البنية التحتية للإنترنت، والمزيد. هذه البيانات مبعثرة عبر عشرات الأدوات وواجهات برمجة التطبيقات. ShadowBroker يجمع كل ذلك في واجهة واحدة.

المشروع لا يقدم قدرات مراقبة جديدة — بل يجمع ويصور مجموعات البيانات العامة الموجودة. إنه مفتوح المصدر بالكامل حتى يتمكن أي شخص من تدقيق البيانات التي يتم الوصول إليها وكيفية ذلك. ShadowBroker لا يتضمن قياسات تتبع للمنتج أو تحليلات أو حسابات. المفاتيح التي يوفرها المشغل تبقى في نشرك المحلي، لكن ميزات الاستخبارات الحية تستلزم بالضرورة إرسال طلبات صادرة إلى موفري البيانات العامة الذين تقوم بتمكينهم أو الاستعلام عنهم.


📡 Shodan والاستطلاع (الأمن أولاً)

يتضمن ShadowBrocker موصلاً اختيارياً لـ Shodan للوصول إلى API بمفتاح يوفره المشغل (SHODAN_API_KEY) ولوحة أدوات الاستطلاع لاستعلامات OSINT بدون مفتاح. كلاهما يعمل على الخادم فقط: المتصفح يستدعي مساراتك الذاتية /api/osint/* و /api/tools/shodan/*؛ الطلبات الصادرة تتم بواسطة الخلفية بعد التحقق من SSRF. الاستطلاع يتطلب وصول المشغل المحلي (نفس نموذج الثقة لتبديل الطبقات والمسارات الإدارية). نتائج Shodan تظهر كطبقة خريطة منفصلة وتخضع لشروط خدمة Shodan.


🗺️ حالات استخدام مثيرة للاهتمام
  • تتبع طائرة Air Force One، والطائرات الخاصة لأصحاب المليارات والديكتاتوريين، وكل ناقلة عسكرية وطائرة استخبارات ومراقبة واستطلاع ومقاتلة تبث ADS-B. يتم تمييز Air Force One وجميع طائرات الرئاسة/نائب الرئيس المصاحبة ومراقبتها منذ لحظة إقلاعها.
  • ربط وكيل ذكاء اصطناعي كمحلل مشارك عبر قناة أوامر الوكيل الموقعة بـ HMAC في ShadowBroker — يدعم OpenClaw وأي وكيل آخر يتحدث البروتوكول (Claude، GPT، LangChain، مخصص). يحصل الوكيل على وصول كامل للقراءة/الكتابة إلى جميع طبقات البيانات الـ 40+، بحث مضغوط عبر الطبقات (search_telemetry، search_news)، مجموعة أدوات الاستطلاع الكاملة (osint_lookup لعناوين IP/DNS/WHOIS/العقوبات/CVE/إلخ.)، توسيع الرسم البياني للكيانات، وضع الدبابيس، التحكم في الخريطة، التغيير الأرضي SAR، الشبكات المتداخلة، وتسليم التنبيهات. يرى كل ما يراه المشغل ويمكنه اتخاذ إجراءات على الخريطة في الوقت الحقيقي.
  • التواصل على شبكة InfoNet التجريبية — أول شبكة استخبارات لا مركزية مدمجة في أداة OSINT. رسائل مبهمة مع شخصيات بوابة، تبادل نظير لنظير عبر Dead Drop، وواجهة سطر أوامر مدمجة. لا حسابات، لا تسجيل. الخصوصية غير مضمونة بعد — هذه شبكة تجريبية — لكن البروتوكول يعمل ويتم تقويته.
  • انقر بزر الماوس الأيمن في أي مكان على الأرض للحصول على ملف دولة (رئيس الدولة، عدد السكان، اللغات)، ملخص ويكيبيديا، وأحدث صورة قمر صناعي Sentinel-2 بدقة 10 أمتار
  • انقر على عقدة KiwiSDR واستمع إلى الراديو القصير مباشرة في لوحة القيادة. انقر على تغذية ماسح شرطة واستمع بنقرة واحدة.
  • شاهد أكثر من 11,000 كاميرا مراقبة عبر 6 دول — لندن، نيويورك، كاليفورنيا، إسبانيا، سنغافورة، والمزيد — يتم بثها مباشرة على الخريطة
  • شاهد مناطق تشويش GPS في الوقت الحقيقي — مستمدة من تحليل تدهور NAC-P لبيانات أجهزة إرسال الطائرات
  • راقب الأقمار الصناعية في الأعلى ملونة حسب نوع المهمة — استطلاع عسكري، SIGINT، SAR، إنذار مبكر، محطات فضائية — مع شبكات محطات أرضية SatNOGS و TinyGS
  • تتبع حركة المرور البحرية بما في ذلك أكثر من 25,000 سفينة AIS، نشاط الصيد عبر Global Fishing Watch، ويخوت أصحاب المليارات الفاخرة
  • تابع الزلازل، الثورات البركانية، حرائق الغابات النشطة (NASA FIRMS)، تحذيرات الطقس القاسي، وقراءات جودة الهواء في جميع أنحاء العالم
  • ارسم القواعد العسكرية، أكثر من 35,000 محطة طاقة، أكثر من 2,000 مركز بيانات، ومناطق انقطاع الإنترنت — مترابطة تلقائيًا
  • اتصل بعقد راديو Meshtastic المتداخلة وشبكات الراديو للهواة APRS — مرئية على الخريطة ومدمجة في Mesh Chat
  • اكتشف التغيرات الأرضية عبر الغطاء السحابي باستخدام SAR (رادار ذو فتحة تركيبية) — تشوه أرضي بمقياس مليمتر، مدى الفيضانات، اضطراب الغطاء النباتي، وتقييمات الأضرار من NASA OPERA و Copernicus EGMS. حدد مناطق المراقبة الخاصة بك واحصل على تنبيهات الحالات الشاذة. مجاني مع حساب NASA Earthdata.
  • بدّل أوضاع العرض — DEFAULT، SATELLITE، FLIR (حراري)، NVG (رؤية ليلية)، CRT (طرفية قديمة) — عبر زر STYLE
  • تتبع القطارات عبر الولايات المتحدة (Amtrak) وأوروبا (DigiTraffic) في الوقت الحقيقي
  • قدّر أين توجد حاملات الطائرات الأمريكية باستخدام كشط أخبار GDELT الآلي — لا توجد أداة مفتوحة أخرى تفعل ذلك
  • ابحث عن الأجهزة المتصلة بالإنترنت عالميًا عبر Shodan — كاميرات، أنظمة SCADA، قواعد بيانات — مرسومة كطبقة حية على الخريطة
  • شغّل مجموعة أدوات استطلاع كاملة من الشريط الجانبي الأيسر — تحديد الموقع الجغرافي IP، DNS، RDAP/WHOIS، شفافية الشهادة، BGP/ASN، بحث عقوبات OFAC، بحث CVE، فحوصات تهديد Tor/OTX، ومسح الشبكات الفرعية (InternetDB موجه عبر الخادم)
  • وسّع رسمًا بيانيًا للكيانات عند تحديد طائرة، سفينة، شركة، أو عنوان IP — روابط متقاطعة من Wikidata + OFAC + مخزن حي تُعرض في لوحة Entity Graph
  • راقب مخاطر سلسلة التوريد — مصانع أشباه الموصلات والبطاريات من المستوى 1/2 مسجلة مقابل الزلازل القريبة، حرائق الغابات، وأحداث النزاع (لوحة SCM)
  • بدّل نقاط تواجد برامج ضارة C2 — تغذية abuse.ch Feodo Tracker + URLhaus معينة حسب البلد (طبقة اختيارية)
  • راقب قنوات OSINT على Telegram — خلاصات حرب/نزاع عامة t.me/s (OSINTdefender، NEXTA، إلخ.) ممسوحة كل ساعة، مسجلة المخاطر، محللة جغرافيًا لنقاط ربط حضرية، ومرسومة كدبابيس خريطة قابلة للنقر مع وسائط مضمنة
  • تراكب كابلات الاتصالات البحرية العالمية — مسارات كابلات ثابتة مستمدة من TeleGeography (طبقة اختيارية)

⚡ بدء سريع (Docker)

من GitHub (الافتراضي — يستخدم صور GHCR)```bash

git clone https://github.com/bigbodycobain/Shadowbroker.git cd Shadowbroker docker compose pull docker compose up -d

### من GitLab (يستخدم GitLab Container Registry)```bash
git clone https://gitlab.com/bigbodycobain/Shadowbroker.git
cd Shadowbroker
docker compose -f docker-compose.yml -f docker-compose.gitlab.yml pull
docker compose -f docker-compose.yml -f docker-compose.gitlab.yml up -d

كلا المسارين ينتجان حاويات متطابقة — نفس المصدر، نفس CI، نفس الصور بايت مقابل بايت. اختر النظام البيئي الذي تستخدمه بالفعل.

افتح http://localhost:3000 لمشاهدة لوحة التحكم! (يتطلب Docker Desktop أو Docker Engine)

انضم إلى سرب InfoNet الخاص (sb-testnet-0): انقر على NODE في لوحة التحكم، أو قم بتشغيل ./meshnode.sh لمشارك بدون واجهة. لا حاجة لقائمة أقران يدوية — إعدادات الأسطول الافتراضية تكتشف البذرة وتسحب البيان الموقّع تلقائيًا. اضبط MESH_INFONET_FLEET_JOIN=false في .env لعقدة خاصة منفردة.

المنفذ الخلفي مشغول بالفعل؟ المتصفح يحتاج فقط المنفذ 3000، لكن API الخلفية يُنشر أيضًا على منفذ المضيف 8000 للتشخيص المحلي. إذا كان تطبيق آخر يستخدم 8000 بالفعل، أنشئ أو حرّر .env بجانب docker-compose.yml واضبط BACKEND_PORT=8001، ثم قم بتشغيل docker compose up -d.

صفحات الأخبار/UAP/القواعد/مياه الصرف فارغة بعد عدة دقائق؟ تحقق من إعادة تشغيل OOM للخلفية باستخدام docker events --since 30m --filter container=shadowbroker-backend --filter event=oom. ملف compose الافتراضي يعطي الخلفية 4GB؛ إذا كان لدى مضيفك ذاكرة أقل، قلل الموجّهات المفعّلة أو اضبط BACKEND_MEMORY_LIMIT=3G وتوقع أن الطبقات الأبطأ/الأثقل ستستغرق وقتًا أطول للتسخين.

مستخدمو Podman: Podman يعمل، لكن podman compose هو غلاف ولا يزال بحاجة إلى مزود Compose مثبت. على Windows/WSL، إذا رأيت looking up compose provider failed، قم بتثبيت podman-compose وشغّل podman-compose pull ثم podman-compose up -d من داخل المجلد المستنسخ Shadowbroker. على أصداف Linux/macOS/WSL يمكنك أيضًا استخدام ./compose.sh --engine podman pull و ./compose.sh --engine podman up -d.


🔄 كيفية التحديث

يستخدم ShadowBroker صور Docker مُعدّة مسبقًا — لا حاجة للبناء محليًا. التحديث يستغرق ثوانٍ:```bash docker compose pull docker compose up -d

هذا كل شيء. `pull` يسحب أحدث الصور، و `up -d` يعيد تشغيل الحاويات.

> **هل قادم من إصدار أقدم؟** اسحب أحدث كود المستودع أولاً، ثم اسحب الصور:
>
> ```bash
> git pull origin main
> docker compose down
> docker compose pull
> docker compose up -d
> ```
>
> يجب على مستخدمي Podman تشغيل الأمر المكافئ للموفر، على سبيل المثال `podman-compose pull` و `podman-compose up -d`، أو استخدام `./compose.sh --engine podman pull` و `./compose.sh --engine podman up -d` من شيل متوافق مع bash.

### سلامة التحديث

يتم تسليم تحديثات Docker عبر سجلات الحاويات الموقعة. يتحقق برنامج التحديث الذاتي ZIP القديم من أرشيفات الإصدار من خلال هذه السلسلة، بالترتيب:

* `MESH_UPDATE_SHA256` عندما يحدد المشغل ملخصًا بشكل صريح.
* `backend/data/release_digests.json` لأرقام الإصدار المضمنة.
* أصل `SHA256SUMS.txt` للإصدار على GitHub عندما لا يكون هناك رقم مضمن.

يجب على مسؤولي الإصدار تشغيل `python backend/scripts/release_helper.py hash <ShadowBroker_vX.Y.Z.zip>` قبل النشر، ثم نشر `SHA256SUMS.txt` وتحديث `backend/data/release_digests.json` عند شحن هدف تحديث ZIP. يحافظ برنامج التحديث على مسار التجاوز الخاص بالمشغل سليمًا بدلاً من الفشل المغلق عند عدم وجود ملخصات مضمنة، حتى لا تتعطل التثبيتات الحالية بسبب خطأ في عملية الإصدار.

### تعزيز CSP

يأتي الواجهة الأمامية للإنتاج مع CSP متوافق مع التميؤ و CSP صارم يعتمد على nonce فقط في `Content-Security-Policy-Report-Only`. قم بتعيين `SHADOWBROKER_STRICT_CSP=1` فقط بعد التحقق من أن البناء المحدد يتم تميؤه بشكل صحيح في نشرك. خطوط Google في وقت التشغيل غير مطلوبة؛ خط أنابيب الخطوط المضمن في Next يخدم خط لوحة التحكم من بناء التطبيق.

### ⚠️ **عالق في النسخة القديمة؟**

**إذا فشل `git pull` أو استمر `docker compose up` في البناء من المصدر بدلاً من سحب الصور**، فإن نسختك تسبق ترحيل المستودع في مارس 2026 الذي أعاد كتابة تاريخ الالتزامات. لا يمكن لـ `git pull` العادي إصلاح هذا. قم بتشغيل:```bash
# Back up any local config you want to keep (.env, etc.)
cd ..
rm -rf Shadowbroker
git clone https://github.com/bigbodycobain/Shadowbroker.git
cd Shadowbroker
docker compose pull
docker compose up -d

كيفية معرفة ما إذا كنت متأثرًا: إذا أظهر الأمر docker compose up نصوصًا مثل RUN apt-get أو RUN npm ci أو RUN pip install — فهذا يعني أنه يتم البناء من المصدر بدلاً من سحب الصور المعدة مسبقًا. أنت بحاجة إلى استنساخ جديد.

استكشاف الأخطاء وإصلاحها الأخرى:

  • إعادة السحب قسرًا: docker compose pull --no-cache
  • تنظيف الصور القديمة: docker image prune -f
  • فحص السجلات: docker compose logs -f backend

☸️ Kubernetes / Helm (متقدم)

لنشر عالي التوفر أو مجموعات معمل منزلي، يدعم ShadowBroker النشر عبر Helm. يعتمد هذا المخطط على قالب bjw-s-labs ويوفر إعدادًا قويًا وقابلًا للتعديل لكل من الواجهة الخلفية والأمامية.

1. إضافة المستودع:```bash helm repo add bjw-s-labs https://bjw-s-labs.github.io/helm-charts/ helm repo update

**2. تثبيت المخطط:**```bash
# Default — pulls images from GHCR
helm install shadowbroker ./helm/chart --create-namespace --namespace shadowbroker

# GitLab registry variant
helm install shadowbroker ./helm/chart --create-namespace --namespace shadowbroker \
  -f helm/chart/values.yaml \
  -f helm/chart/values-gitlab.yaml

3. الميزات الرئيسية:

  • بنية معيارية: توسيع نطاق الواجهة الخلفية للاستخبارات والواجهة الأمامية لوحدة العرض (HUD) بشكل فردي.
  • سياق الأمان: يعمل بمعرفات مستخدم مقيدة (1001) لتعزيز أمان الحاويات.
  • جاهز للإدخال (Ingress): متوافق مع Traefik وCert-Manager وGateway API للوصول الخارجي الآمن إلى عقدة الاستخبارات الخاصة بك.

شكر خاص لـ @chr0n1x للمساهمة في البنية المعمارية الأولية لـ Kubernetes.


🌐 شبكة اختبار تجريبية — لا ضمان للخصوصية

تُصدر ShadowBroker v0.9.7 InfoNet (شبكة استخبارات لامركزية + اقتصاد حوكمة القشرة السيادية)، وقناة أوامر وكيلية للذكاء الاصطناعي (تدعم OpenClaw وأي وكيل يوقع باستخدام HMAC)، وتشغيل لقطات Time Machine، وكشف التغيرات الأرضية عبر الرادار ذو الفتحة التركيبية (SAR). هذه شبكة اختبار تجريبية — ليست برنامج مراسلة خاص وليست نظام حوكمة إنتاجي.

القناةحالة الخصوصيةالتفاصيل
Meshtastic / APRSعامةالإرسال اللاسلكي (RF) علني وقابل للاعتراض بطبيعته.
دردشة بوابة InfoNetمبهمةالرسائل مبهمة بشخصيات البوابة وتوقيع الحمولة القانونية، لكنها ليست مشفرة من طرف إلى طرف. البيانات الوصفية ليست مخفية بالرغم من تصميمها عبر Tor وReticulum (قيد التطوير).
المراسلات الخاصة (Dead Drop DMs)أقوى مسار حاليًاصندوق بريد قائم على الرمز المميز (توكن) مع عصر زمني والتحقق من كلمة التلامس (SAS). أقوى مسار في هذا الإصدار، لكنه ليس موثوقًا بشكل كامل بعد.
حوكمة القشرة السياديةدفتر عامالالتماسات، الأصوات، تجزئات الترقية، ورهانات النزاعات هي أحداث موقعة على سلسلة تجزئة عامة. شبه مجهولة من خلال شخصية البوابة، لكن إجراءات الحوكمة قابلة للملاحظة عمدًا.
البدائيات الخصوصية (RingCT / عناوين سرية / DEX)غير موصولة بعدعقود البروتوكول المقفلة موجودة، لكن المخطط التشفيري لم يتم اختياره بعد. صندوق Rust للخصوصية الأساسية هو هدف التكامل لسباق تطوير مستقبلي.

لا ترسل أي شيء حساس على أي قناة. تعامل مع جميع المسارات كمسارات مفتوحة وعامة في الوقت الحالي. التشفير من طرف إلى طرف وتقوية أعم للـ Tauri هي المعالم التالية. إذا قمت بتفرع هذا المشروع، احتفظ بهذه التسميات سليمة ولا تقدم ادعاءات خصوصية أقوى مما يدعمه التنفيذ.

للحصول على صورة كاملة لما تحمي منه الشبكة فعليًا وما لا تحمي منه، اقرأ نموذج التهديد و تسوية الادعاءات. كل جملة أعلاه مرتبطة هناك بمسار الكود الذي يفرضها (أو لا يفرضها).**


✨ الميزات

🧅 InfoNet — شبكة استخبارات لامركزية + قشرة سيادية (موسعة في v0.9.7)

أول طبقة اتصال وحوكمة استخباراتية لامركزية مبنية مباشرة في منصة OSINT. لا حسابات، لا تسجيل، لا حاجة لهوية. v0.9.7 يرقّي InfoNet من طبقة دردشة إلى اقتصاد حوكمة كامل بمسار واضح لمنصة استخبارات لامركزية تحافظ على الخصوصية.

طبقة الاتصال (منذ v0.9.6):

  • شبكة InfoNet التجريبية — مرحّل رسائل عالمي مبهم باستخدام Tor وReticulum. أي شخص يشغل ShadowBroker يمكنه الإرسال والاستقبال على InfoNet. تمر الرسائل عبر طبقة مرحّل (Wormhole) بشخصيات بوابة، توقيع حمولة قانونية باستخدام Ed25519، وإبهام النقل.
  • لوحة دردشة الشبكة (Mesh) — واجهة بثلاث علامات تبويب: INFONET (دردشة البوابة بنقل مبهم)، MESH (تكامل راديو Meshtastic)، DEAD DROP (تبادل الرسائل من نظير إلى نظير مع صناديق بريد قائمة على العصر الزمني والرموز المميزة — أقوى مسار حاليًا).
  • نظام شخصية البوابة — هويات شبه مجهولة بمفاتيح توقيع Ed25519، حزم مفاتيح مسبقة، التحقق من جهات الاتصال بكلمة SAS، والإبلاغ عن سوء الاستخدام.
  • طرفية الشبكة (Mesh Terminal) — CLI مدمج: send، dm، أوامر السوق، فحص حالة البوابة. لوحة قابلة للسحب، تصغير إلى الشريط العلوي. اكتب help لرؤية جميع الأوامر.
  • مجموعة التشفير — توقيع Ed25519، تبادل مفاتيح X25519، تشفير AESGCM مع اشتقاق المفتاح HKDF، نظام الالتزام بسلسلة التجزئة. هيكل المراسلة المزدوجة (double-ratchet DM) قيد التطوير.

القشرة السيادية — اقتصاد الحوكمة (جديد في v0.9.7):

  • الالتماسات + لغة الحوكمة الخاصة بالمجال (DSL) — تغييرات المعلمات على السلسلة عبر الالتماسات الموقعة. منفذ حمولة آمن من حيث النوع لـ UPDATE_PARAM و BATCH_UPDATE_PARAMS و ENABLE_FEATURE و DISABLE_FEATURE. المقابض القابلة للضبط تتغير بالتصويت — لا حاجة لنشر كود.
  • حوكمة تجزئة الترقية — ترقيات البروتوكول التي تحتاج منطقًا جديدًا (وليس فقط تغيير المعلمات) تصوت على تجزئة SHA-256 للإصدار الذي تم التحقق منه. أغلبية ساحقة 80%، نصاب 40%، تفعيل العقدة الثقيلة 67%. دورة الحياة: توقيعات → تصويت → نافذة تحدي → انتظار الجاهزية → تفعيل.
  • أسواق القرار والنزاع — الرهان على نتائج قرار السوق (نعم / لا / بيانات غير متوفرة)، فتح النزاعات بأدلة مضمونة، والرهان على تأكيد النزاع أو عكسه. حالة تقديم كل صف تبقى معزولة بحيث لا تشارك الإجراءات المتزامنة في فتحة قيد التنفيذ.
  • تقديم الأدلة — حزم أدلة مضمونة مع تحديد تجزئة SHA-256 من جانب العميل يتطابق تمامًا مع repr() في Python، بحيث تدور التجزئات عبر السلسلة بشكل نظيف.
  • تعليق / إغلاق البوابة / الاستئنافات — نماذج لتقديم طلب تعليق أو إغلاق بوابة، مع تدفق استئناف قابل لإعادة الاستخدام يستهدف تلقائيًا الالتماس المعلق.
  • التمهيد: عقدة مؤهلة واحدة لكل صوت — الأسواق المئة الأولى تُحل بصوت واحد لكل عقدة مؤهلة بدلاً من الحل المرجح بالرهان. الأهلية: عمر الهوية ≥ 3 أيام، وليس في مجموعة استبعاد المتنبئ، وإثبات عمل Argon2id صالح (لعقدة ثقيلة فقط). ينتقل إلى الحل المرجح بالرهان عند 1000 عقدة.
  • حالة من مستويين + نهائية العصر الزمني — أحداث المستوى الأول تنتشر بأسلوب CRDT لزمن وصول منخفض؛ أحداث المستوى الثاني تتطلب نهائية العصر الزمني قبل التصرف بناءً عليها. تدوير الهوية، عقوبات تصاعدية، معالم الانطلاق، وثوابت دستورية تُفرض عبر MappingProxyType.
  • الاستقصاء التكيفي — طرق عرض القشرة السيادية تستقصي كل 8 ثوانٍ أثناء مراحل التصويت / التحدي / التفعيل النشطة، وكل 30–60 ثانية عند الخمول. التصويت يبدو حيًا بدون طبقة websocket.
  • التشخيص الحرفي — كل زر كتابة يظهر سبب الرفض الحرفي من الواجهة الخلفية. لا رسائل "مرفوض" غير شفافة.

مدرج البدائيات الخصوصية (جديد في v0.9.7):

  • مفاتيح الوظائف — هيكل بيانات الاعتماد المجهولة — الأساس موجود لمعادلات الصفر، تحدّي-استجابة، إيصالات الالتزام على مرحلتين، رموز الرفض المفصلة، والتسوية المجمعة. تحدّي-استجابة الحالي هو عنصر نائب قائم على HMAC لاختبار التكامل، وليس دليلاً إنتاجياً على المواطنة المجهولة أو ذات المعرفة الصفرية. الإصدار الحقيقي غير القابل للربط لا يزال ينتظر قراراً بشأن البدائية (تواقيع RSA العمياء مقابل BBS+ مقابل U-Prove مقابل Idemix).
  • عقود البروتوكول المقفلة — واجهات مستقرة في services/infonet/privacy/contracts.py للتوقيعات الحلقية، العناوين السرية، التزامات Pedersen، براهين النطاق، ومطابقة DEX. صندوق privacy-core Rust هو هدف التكامل — لا يحتاج أي متصل بوحدة الخصوصية لمعرفة أي مخطط نشط.
  • مسار السباق 11+ — عند اختيار المخطط التشفيري، تتصل البدائيات بالبروتوكولات المقفلة دون تغيير في واجهة البرمجة.

شبكة اختبار تجريبية — لا ضمان للخصوصية: رسائل InfoNet مبهمة لكنها ليست مشفرة من طرف إلى طرف. شبكة Mesh (Meshtastic/APRS) ليست خاصة — الإرسال اللاسلكي علني بطبيعته. عقود البدائيات الخصوصية مهيكلة لكنها غير موصولة بعد. لا ترسل أي شيء حساس على أي قناة. تعامل مع جميع المسارات كمسارات مفتوحة وعامة في الوقت الحالي.

🔍 مجموعة أدوات الاستطلاع و Shodan (مشتقة من Osiris، تركز على الأمان)

مقتبسة من مجموعة الاستطلاع OSIRIS (MIT) مع نموذج الوكيل الخاص بـ ShadowBroker. الإسناد: backend/third_party/osiris/NOTICE.md.

مجموعة أدوات الاستطلاع (الشريط الجانبي الأيسر — مشغل محلي فقط):

  • IP / DNS / WHOIS — تحديد الموقع الجغرافي عبر ip-api.com، DNS عبر HTTPS من Google، بيانات المسجل RDAP مع تسجيل اختياري لدرجة أمان رؤوس HTTP
  • الشهادات و BGP — اكتشاف النطاقات الفرعية عبر crt.sh، عمليات بحث ASN/البادئة عبر bgpview.io
  • استخبارات التهديدات — نبضات AlienVault OTX، فحص عقد الخروج Tor، سمعة اختيارية لكل IP/نطاق
  • العقوبات — فهرس OpenSanctions us_ofac_sdn (CC-BY)؛ فحص متقاطع على كيانات WHOIS وسلاسل ISP/ORG الخاصة بـ IP
  • CVE / MAC / GitHub / التسريبات — واجهة MITRE CVE API، البحث عن بائع MAC، استطلاع ملف تعريف GitHub، فحص خروقات البيانات العامة
  • مسح IP/api/osint/sweep/scan يحدد الموقع الجغرافي لهدف /24–/32 ويوكل اكتشاف مضيف InternetDB الخاص بـ Shodan من جانب الخادم (المتصفح لا يتصل مباشرة بـ InternetDB)
  • حماية SSRF — أسماء المضيفين الخاصة، الحلقة المحلية، المحلية الارتباط، والميتاداتا محظورة قبل أي جلب يقدمه المستخدم

رسم بياني للكيانات — حدد أي كيان على الخريطة لفتح لوحة الرسم البياني للكيانات (GET /api/entity/expand). يحلل الطائرات، السفن، الشركات، الأشخاص، عناوين IP، والبلدان إلى رسم بياني للعقد/الصلات (استعلام Wikidata SPARQL + OFAC + مخزن الطيران/السفن في الذاكرة).

وصول OpenClaw / الوكيل — نفس تطبيقات الاستطلاع الخلفية متاحة على قناة أوامر HMAC (بدون بوابة المشغل المحلي للمتصفح): osint_lookup (استعلام IP/DNS/WHOIS/شهادات/BGP/عقوبات/CVE/MAC/GitHub/تسريبات/تهديدات سلبية)، entity_expand (رسم بياني للعلاقات)، و osint_sweep (فحص نشط للشبكة الفرعية — طبقة الوصول الكامل فقط). اكتب osint_tools لسرد أنواع الاستعلام المدعومة. حزمة المهارات: openclaw-skills/shadowbroker/ (SKILL.md + sb_query.py).

تراكب Shodan (بدون تغيير):

  • بحث أجهزة الإنترنت — استعلام Shodan بمفتاح API الخاص بك؛ النتائج تُرسم كتراكب حي
  • علامات قابلة للتخصيص — تخصيص الشكل واللون والحجم لنتائج Shodan

🛩️ تتبع الطيران

  • الرحلات التجارية — مواقع حية عبر OpenSky Network (~5,000+ طائرة)
  • الطائرات الخاصة — طائرات خفيفة عامة (GA)، توربينية، طائرات رجال أعمال متتبعة بشكل منفصل
  • طائرات رجال الأعمال الخاصة — طائرات الأفراد ذوي الثروات العالية مع تحديد المالك
  • الرحلات العسكرية — ناقلات، استخبارات مراقبة واستطلاع (ISR)، مقاتلات، شحنات عبر نقطة نهاية adsb.lol العسكرية
  • تراكم مسارات الطيران — مسارات فتات الخبز المستمرة لجميع الطائرات المتتبعة
  • كشف نمط الاحتجاز — يحدد تلقائيًا الطائرات التي تدور (>300° دوران إجمالي)
  • تصنيف الطائرات — أيقونات SVG دقيقة الشكل: طائرات تجارية، توربينية، طائرات رجال أعمال، طائرات هليكوبتر
  • كشف الهبوط — الطائرات تحت 100 قدم فوق مستوى سطح الأرض تُعرض بأيقونات رمادية

🚢 التتبع البحري

  • تيار سفن AIS — 25,000+ سفينة عبر WebSocket aisstream.io (وقت حقيقي)
  • تصنيف السفن — شحن، ناقلات، ركاب، يخوت، أنواع سفن حربية مع أيقونات ملونة
  • متتبع مجموعة حاملات الطائرات — جميع حاملات الطائرات الأمريكية النشطة البالغ عددها 11 مع مواقع مقدرة عبر OSINT. لا أداة مفتوحة أخرى تفعل ذلك.
    • كشط آلي لأخبار GDELT يحلل تقارير تحركات الحاملات لتقدير المواقع
    • أكثر من 50 تعيينًا للمنطقة الجغرافية إلى الإحداثيات (مثل "شرق البحر الأبيض المتوسط" ← خط عرض/خط طول)
    • مواقع مخزنة مؤقتًا على القرص، يتم التحديث التلقائي عند الساعة 00:00 و 12:00 UTC
  • سفن الرحلات البحرية والركاب — طبقة مخصصة لبواخر الرحلات والعبارات
  • نشاط الصيد — أحداث سفن الصيد عبر Global Fishing Watch (جديد)
  • عرض مجمع — السفن تتجمع عند التكبير المنخفض مع تسميات العدد، وتفكك عند التكبير

🚆 تتبع السكك الحديدية (جديد في v0.9.6)

  • قطارات Amtrak — مواقع حية لقطارات Amtrak في جميع أنحاء الولايات المتحدة مع السرعة والاتجاه والمسار والحالة
  • السكك الحديدية الأوروبية — تكامل DigiTraffic لمواقع القطارات الأوروبية

🛰️ الفضاء والأقمار الصناعية

  • التتبع المداري — مواقع حية للأقمار الصناعية عبر بيانات TLE من CelesTrak + انتشار SGP4 (2,000+ قمر صناعي نشط، لا حاجة لمفتاح API)
  • التصنيف حسب نوع المهمة — ملونة حسب المهمة: استطلاع عسكري (أحمر)، رادار SAR (سماوي)، استخبارات إشارات (أبيض)، ملاحة (أزرق)، إنذار مبكر (أرجواني)، تصوير تجاري (أخضر)، محطة فضائية (ذهبي)
  • محطات أرضية SatNOGS — شبكة محطات أرضية هواة للأقمار الصناعية مع بيانات رصد حية (جديد)
  • أقمار TinyGS LoRa — تتبع كوكبات أقمار LoRa (جديد)

🌍 الجغرافيا السياسية والصراعات

  • الأحداث العالمية — تجميع أحداث الصراع المدعوم بـ GDELT (آخر 8 ساعات، ~1,000 حدث)
  • خط الجبهة الأوكرانية — GeoJSON حي لخط الحرب من DeepState Map
  • إنذارات جوية أوكرانيا — إنذارات جوية إقليمية حية (جديد)
  • خلاصة أخبار SIGINT/RISINT — تجميع RSS حي من مصادر متعددة تركز على الاستخبارات مع خلاصات قابلة للتخصيص من قبل المستخدم (حتى 20 مصدر، أوزان أولوية قابلة للتكوين 1-5)
  • ملف المنطقة — انقر بزر الماوس الأيمن في أي مكان على الأرض للحصول على إحاطة استخباراتية فورية:
    • ملف الدولة (عدد السكان، العاصمة، اللغات، العملات، المساحة)
    • رئيس الدولة الحالي ونوع الحكومة (استعلام حي عبر Wikidata SPARQL)
    • ملخص ويكيبيديا المحلي مع صورة مصغرة
    • أحدث صورة قمر صناعي Sentinel-2 مع تاريخ الالتقاط وتغطية السحب (دقة 10م)

🛰️ صور الأقمار الصناعية

  • NASA GIBS (MODIS Terra) — تراكب صور حقيقية الألوان يومية عبر الأقمار الصناعية مع شريط زمني لـ 30 يومًا، تشغيل/إيقاف مؤقت للرسوم المتحركة، والتحكم في الشفافية (~250 متر/بكسل)
  • صور عالية الدقة (Esri) — صور بدقة دون المتر عبر Esri World Imagery — تكبير لرؤية تفاصيل المباني والتضاريس (تكبير 18+)
  • بطاقة استخبارات Sentinel-2 — انقر بزر الماوس الأيمن في أي مكان على الخريطة للحصول على بطاقة استخبارات عائمة تظهر أحدث صورة قمر صناعي Sentinel-2 مع تاريخ الالتقاط، نسبة تغطية السحب، وصورة كاملة الدقة قابلة للنقر (دقة 10م، تُحدث كل ~5 أيام)
  • واجهة برمجة تطبيقات معالجة Sentinel Hub — صور الأقمار الصناعية من Copernicus CDSE مع تدفق رمز OAuth2 (جديد)
  • أضواء الليل VIIRS — تراكب كشف التغيرات في الإضاءة الليلية (جديد)
  • 5 أوضاع بصرية — تبديل جمالية الخريطة بأكملها عبر زر STYLE:
    • DEFAULT — خريطة أساسية CARTO داكنة
    • SATELLITE — صور World Imagery من Esri بدقة دون المتر
    • FLIR — جمالية التصوير الحراري (تدرج رمادي مقلوب)
    • NVG — فوسفور أخضر للرؤية الليلية
    • CRT — تراكب خطوط المسح الطرفي القديم

🛰️ كشف التغيرات الأرضية عبر الرادار SAR (جديد)

  • طبقة الرادار ذو الفتحة التركيبية — يكشف التغيرات الأرضية من خلال الغطاء السحابي، ليلاً، في أي مكان على الأرض. وضعان، كلاهما مجاني:
    • الوضع أ (الفهرس) — بيانات وصفية مجانية لمشهد Sentinel-1 من منشأة أقمار ألاسكا. لا حاجة لحساب. يوضح متى حدثت المسوحات الرادارية فوق مناطق اهتمامك ومتى سيأتي المسح التالي.
    • الوضع ب (الشذوذ الكامل) — إنذارات التغير الأرضي الحية من NASA OPERA (DISP، DSWx، DIST-ALERT) و Copernicus EGMS. يتطلب حساب NASA Earthdata مجاني — المعالج داخل التطبيق يرشدك خلال الإعداد في أقل من دقيقة.
  • أنواع الشذوذ — تشوه أرضي (هبوط بمقياس مم، انهيارات أرضية)، تغير في المياه السطحية (مدى الفيضان)، اضطراب الغطاء النباتي (إزالة الغابات، ندوب الحرائق، فوهات الانفجار)، تقييمات الأضرار (مؤكدة من UNOSAT/Copernicus EMS)، وكشف تغير التماسك
  • تصور الخريطة — دبابيس شذوذ ملونة حسب النوع (برتقالي للتشوه، سماوي للمياه، أخضر للنباتات، أحمر للضرر، أرجواني للتماسك). حدود AOI مرسومة كمضلعات متقطعة مع تلوين قائم على الفئة. انقر على أي دبوس للحصول على نافذة منبثقة بالتفاصيل مع المقدار، الثقة، الحلال، عدد المشاهد، ورابط المصدر.
  • محرر AOI — تعريف مناطق الاهتمام مباشرة من الخريطة. انقر على زر "تعديل AOIs" عندما تكون طبقة SAR نشطة، ثم استخدم أداة التقاطع للنقر لإسقاط مركز AOI على الخريطة. حدد الاسم، نصف القطر (1–500 كم)، والفئة. تظهر AOIs على الخريطة فورًا.
  • تكامل OpenClaw — يمكن للوكيل الذكي فحص تفاصيل شذوذ SAR (sar_pin_click) وتوجيه خريطة المشغل إلى أي مركز AOI (sar_focus_aoi) — مما يتيح سير عمل تعاوني للمحللين.
  • لوحة الإعدادات — علامة تبويب SAR مخصصة في الإعدادات تظهر حالة الوضع أ/ب، حالة تكامل OpenClaw، وتتيح إلغاء بيانات اعتماد Earthdata بنقرة واحدة.

📻 الراديو المعرف بالبرمجيات (SDR) واستخبارات الإشارات (SIGINT)

  • أجهزة استقبال KiwiSDR — 500+ جهاز استقبال SDR عام مرسوم على مستوى العالم بعلامات عنبرية مجمعة
  • موالف راديو حي — انقر على أي عقدة KiwiSDR لفتح موالف SDR مضمن مباشرة في لوحة SIGINT
  • عرض البيانات الوصفية — اسم العقدة، الموقع، نوع الهوائي، نطاقات التردد، المستخدمين النشطين
  • راديو شبكة Meshtastic — تكامل راديو الشبكة عبر MQTT مع خريطة العقدة، مدمج في دردشة Mesh (جديد)
  • تكامل APRS — تحديد المواقع عبر راديو الهواة عبر تغذية TCP APRS-IS (جديد)
  • كشف تشويش GPS — تحليل حي لقيم NAC-P (فئة دقة الملاحة) للطائرات
    • التجميع القائم على الشبكة يحدد مناطق التداخل
    • مربعات تراكب حمراء مع تسميات شدة "GPS JAM XX%"
  • لوحة اعتراض الراديو — واجهة على غرار الماسح الضوئي مع خلاصات إطفاء/شرطة عبر OpenMHZ. انقر على أي نظام للاستماع المباشر. وضع المسح يتنقل عبر الخلاصات النشطة تلقائيًا. التنصت بنقرة واحدة على اتصالات الطوارئ الحقيقية.

📷 المراقبة

  • شبكة CCTV — 22,000+ كاميرا مرور حية من 21 مجمعًا عبر 10 دول (الولايات المتحدة، المملكة المتحدة، كندا، أستراليا، النمسا، إسبانيا، سنغافورة، هولندا عندما تكون تغذية NDW نشطة، بالإضافة إلى OSM):
    • 🇬🇧 كاميرات JamCams التابعة لهيئة النقل في لندن
    • 🇺🇸 NYC DOT، Austin TX (TxDOT)
    • 🇺🇸 كاليفورنيا (12 منطقة Caltrans)، ولاية واشنطن (WSDOT)، جورجيا DOT، إلينوي DOT، ميشيغان DOT
    • 🇪🇸 DGT الوطنية الإسبانية (20 مدينة)، مدريد سيتي (357 كاميرا عبر KML)
    • 🇦🇹 كاميرات الطرق السريعة ASFINAG النمساوية
    • 🇸🇬 LTA سنغافورة
    • 🌍 Windy Webcams
  • تقديم الخلاصة — اكتشاف وعرض تلقائي لخلاصات الفيديو، MJPEG، HLS، التضمين، بلاط الأقمار الصناعية، والصور
  • عرض الخريطة المجمع — نقاط خضراء تتجمع مع تسميات العدد، تتفكك عند التكبير

🔥 المراقبة البيئية والمخاطر

  • نقاط الحرائق الساخنة NASA FIRMS (24 ساعة) — 5,000+ شذوذ حراري عالمي من قمر NOAA-20 VIIRS، محدثة كل دورة. أيقونات على شكل لهب ملونة حسب قوة الإشعاع الناري (FRP): أصفر (منخفض)، برتقالي، أحمر، أحمر غامق (شديد). مجمعة عند التكبير المنخفض بعلامات مجموعة على شكل نار.
  • البراكين — براكين الهولوسين من برنامج البراكين العالمي التابع لمؤسسة سميثسونيان مرسومة عالميًا (جديد)
  • إنذارات الطقس — مضلعات الطقس القاسي مع مؤشرات الإلحاح/الشدة (جديد)
  • جودة الهواء (PM2.5) — محطات OpenAQ عالميًا مع قراءات الجسيمات الدقيقة في الوقت الحقيقي (جديد)
  • الزلازل (24 ساعة) — تغذية الزلازل الحية من USGS مع علامات مقياس الحجم
  • شارة الطقس الفضائي — مؤشر العاصفة المغناطيسية الأرضية الحية من NOAA في شريط الحالة السفلي. معامل Kp ملون: أخضر (هادئ)، أصفر (نشط)، أحمر (عاصفة G1–G5). بيانات من تغذية مؤشر K الكوكبي لـ SWPC بدقيقة واحدة.

🏗️ مراقبة البنية التحتية* مراقبة انقطاع الإنترنت — تنبيهات الاتصال الإقليمية بالإنترنت من Georgia Tech IODA. علامات رمادية في المناطق المتأثرة مع نسبة الشدة. يستخدم فقط مصادر بيانات موثوقة (جداول توجيه BGP، اختبار ping نشط) — لا تلسكوب أو بيانات محرفة.

  • تخطيط مراكز البيانات — أكثر من 2000 مركز بيانات عالمي مُخطط من مجموعة بيانات منسقة. علامات أرجوانية مجمعة مع أيقونات رفوف الخوادم. انقر للحصول على المشغل، والموقع، والإسناد الترافقي التلقائي لانقطاع الإنترنت حسب البلد.
  • القواعد العسكرية — قاعدة بيانات عالمية للمنشآت العسكرية ومرافق الصواريخ (جديد)
  • محطات الطاقة — أكثر من 35000 محطة طاقة عالمية من قاعدة بيانات WRI (جديد)
  • الكابلات البحرية — مسارات الكابلات البحرية العالمية من GeoJSON ثابت مشتق من TeleGeography (frontend/public/data/submarine-cables.json). تراكب خط اختياري.
  • طبقة C2 للبرامج الضارة — خوادم C2 للبوت نت (Feodo Tracker) وعناوين URL للبرامج الضارة الحديثة (URLhaus) من abuse.ch، يتم تحديثها على المستوى البطيء عند تمكين الطبقة.
  • مخاطر الموردين في سلسلة التوريد (SCM) — مصانع الرقائق والبطاريات من المستوى 1/2 (TSMC, Samsung, CATL, إلخ) مع الإسناد الترافقي مقابل الزلازل، وحرائق FIRMS، وقرب النزاعات GDELT. تنبيهات في لوحة SCM؛ طبقة خريطة اختيارية.
  • تغذية التهديدات السيبرانية — إدخالات الثغرات المستغلة المعروفة من CISA (KEV) مؤخرًا والمكشوفة عبر /api/cyber-threats ومفتاح الطبقة.
  • مؤشر المخاطر القطرية — درجات المخاطر الجيوسياسية الثابتة مع إثراء الزلازل من USGS عبر /api/country-risk.
  • OSINT من تيليجرام — معاينات الويب للقنوات العامة (t.me/s/*) من تغذيات الحرب/OSINT القابلة للتكوين. دمج تدريجي كل ساعة (بدون إعادة كشط زائدة)، تقدير مخاطر الكلمات الرئيسية، أسماء الأماكن البديلة باللغات السيريلية/العربية، الترميز الجغرافي للمترو-المرتكز (منفصل عن مراكز الأخبار)، صور/فيديو مضمن عبر بروكسي /api/telegram/media. مفتاح الطبقة: telegram_osint.

🌐 طبقات وأدوات إضافية

  • دورة الليل والنهار — تراكب خط الفاصل الشمسي يظهر النهار/الظلام العالمي
  • شريط الأسواق العالمية — مؤشرات الأسواق المالية الحية (قابل للتصغير)
  • أداة القياس — قياس المسافة والاتجاه من نقطة إلى نقطة على الخريطة
  • شريط LOCATE — بحث بالإحداثيات (31.8, 34.8) أو اسم المكان (طهران، مضيق هرمز) للانتقال مباشرة إلى أي موقع — مُرمَّز جغرافيًا عبر OpenStreetMap Nominatim

غزة

🤖 قناة أوامر AI وكيل ثنائية الاتجاه — OpenClaw + الوكلاء المتوافقون (موسعة في v0.9.7)

يكشف ShadowBroker عن قناة أوامر AI وكيل ثنائية الاتجاه — جسر موقع ومُقيد بالمستوى يمنح أي وكيل AI متوافق وصولًا كاملاً للقراءة/الكتابة إلى منصة الاستخبارات. OpenClaw هو الوكيل المرجعي، لكن القناة بروتوكول مفتوح: أي وكيل مدفوع بـ LLM يوقع الطلبات بـ HMAC-SHA256 (Claude Code, GPT, LangChain, عملاء Python/TypeScript مخصصون، أو التكامل الخاص بك) يمكنه الاتصال كمحلل يرى نفس البيانات التي يراها المشغل ويمكنه اتخاذ إجراءات على الخريطة. ShadowBroker لا يدمج LLM أو بيئة تشغيل وكيل أو أوزان نموذج — يوفر السطح؛ أنت تحضر الوكيل.

الإصدار v0.9.7 يحول ShadowBroker من لوحة معلومات يراقبها إنسان إلى سطح استخبارات يمكن لأي وكيل التصرف بناءً عليه.

نقل القناة (جديد في v0.9.7):

  • قناة أوامر مفردةPOST /api/ai/channel/command يقبل {cmd, args} ويوزع على أي أداة مسجلة.
  • تنفيذ متزامن مجمعPOST /api/ai/channel/batch يقبل حتى 20 أمرًا في طلب واحد. يعمل النهاية الخلفية عليها بشكل متزامن ويعيد خريطة نتائج موزعة. يقلل زمن استجابة الوكيل بدرجة كبيرة مقارنة بالاستدعاءات المتسلسلة.
  • وصول مقيد بالمستوىOPENCLAW_ACCESS_TIER يتحكم في الأوامر التي يمكن للوكيل استدعاؤها: restricted يكشف المجموعة للقراءة فقط، full يضيف عمليات الكتابة والحقن. نقطة نهاية الاكتشاف تعيد available_commands حتى يتمكن الوكيل من استكشاف قدراته الخاصة.
  • توقيع HMAC-SHA256 — كل أمر موقع باستخدام HMAC-SHA256(secret, METHOD|path|timestamp|nonce|sha256(body)) مع حماية من إعادة التشغيل بواسطة الطابع الزمني + nonce وسلامة الطلب. يدعم الوضع المحلي (بدون تكوين) والوضع البعيد (وكيل على جهاز مختلف / VPS).

القدرات:

  • وصول كامل للقياس عن بعد — يستعلم الوكيل جميع طبقات البيانات الـ 40+: الرحلات الجوية، السفن، الأقمار الصناعية، SIGINT، أحداث النزاعات، الزلازل، الحرائق، مياه الصرف الصحي، OSINT تيليجرام، البرامج الضارة/C2، تهديدات CISA KEV السيبرانية، تراكبات SCM، نشاط الصيد (GFW)، أسواق التوقعات، والمزيد. نقاط النهاية السريعة والبطيئة تعيد بيانات غنية بالإحداثيات الجغرافية والطوابع الزمنية وإسناد المصدر.
  • البحث المضغوط (مفضل على التفريغ الكامل)get_summaryget_layer_slice مع since_layer_versions لكل طبقة (الدفع عبر SSE layer_changed يخبر الوكيل بالضبط أي الطبقات تم تحديثها). search_telemetry هو فهرس الكلمات الرئيسية عبر الطبقات على نمط Google. search_news يغطي الأخبار، GDELT، CrowdThreat، LiveUAMap، خطوط الجبهة، ومنشورات تيليجرام. entities_near, brief_area, find_flights/find_ships/find_entity, و correlate_entity تجيب على أسئلة مستهدفة دون سحبات متعددة الميغابايتات.
  • مجموعة أدوات الاستطلاع على القناةosint_lookup يشغل نفس النهايات الخلفية المحمية بـ SSRF مثل لوحة الاستطلاع (ip, dns, whois, certs, bgp, sanctions, cve, mac, github, leaks, threats, sweep_init). entity_expand يبني رسوم بيانية لعلاقات Wikidata + OFAC. osint_sweep يشغل اكتشاف الشبكة الفرعية Shodan InternetDB (مستوى كامل). أسماء مستعارة للطبقات: telegram, malware/botnet, cyber/cisa/kev, scm/suppliers, gfw/fishing.
  • دبابيس استخبارات AI — ضع علامات تحقيق ملونة حسب اللون مباشرة على خريطة المشغل. 14 فئة دبوس (تهديد، شذوذ، عسكري، بحري، طيران، SIGINT، بنية تحتية، إلخ.) مع درجات ثقة، انتهاء صلاحية TTL، عناوين URL مصدر، ووضع دفعة يصل إلى 100 دبوس في المرة الواحدة.
  • التحكم في الخريطة — نقل عرض خريطة المشغل إلى أي إحداثي، تشغيل عمليات بحث صور الأقمار الصناعية، وفتح ملفات المنطقة. يمكن للوكيل توجيه انتباه المشغل إلى مواقع محددة في الوقت الفعلي.
  • تغيير الأرض SAR — استعلام تغذيات الشذوذ SAR، فحص تفاصيل الدبوس، إدارة مناطق الاهتمام، وتحريك الخريطة لمشاهدة المناطق. يمكن للوكيل مراقبة تشوه الأرض أو مدى الفيضان أو الضرر وترقية الشذوذات إلى دبابيس.
  • حقن الطبقات الأصلية — دفع بيانات مخصصة مباشرة إلى الطبقات الأصلية في ShadowBroker (كاميرات CCTV، سفن، عقد SIGINT، قواعد عسكرية، إلخ.) بحيث تظهر المصادر التي اكتشفها الوكيل جنبًا إلى جنب مع التغذيات الحقيقية.
  • المشاركة في شبكة Wormhole — يمكن للوكيل الانضمام إلى InfoNet اللامركزي، نشر رسائل موقعة، الانضمام إلى قنوات مشفرة، إرسال/استقبال رسائل مباشرة مشفرة، والتفاعل مع راديو Meshtastic و Dead Drops — يعمل كعضو كامل في الشبكة.
  • المشاركة في السيادة السيادية (v0.9.7) — تقديم التماسات، توقيع والتصويت على التغييرات الحوكمية، المراهنة على القرارات والنزاعات، الإشارة إلى استعداد العقد الثقيل للترقيات — كل ذلك برمجيًا، مقيد بالمستوى و HMAC. يصبح الوكلاء مشاركين من الدرجة الأولى في اقتصاد الاستخبارات اللامركزي.
  • الترميز الجغرافي ومسح القرب — حل أسماء الأماكن إلى إحداثيات، ثم مسح جميع الطبقات ضمن نصف قطر للحصول على ملخص قرب شامل.
  • الأخبار و GDELT بالقرب من الموقع — سحب أحداث النزاع GDELT والمقالات الإخبارية المجمعة بالقرب من أي إحداثي للحصول على وعي ظرفي إقليمي.
  • تسليم التنبيهات — إرسال موجزات استخباراتية ذات علامة تجارية، تحذيرات، وإشعارات تهديد إلى webhooks ديسكورد وقنوات تيليجرام.
  • تقارير استخباراتية — إنشاء تقارير منظمة مع إحصائيات موجزة، أهم الرحلات الجوية العسكرية، الارتباطات، نشاط الزلازل، تعدادات SIGINT، ومخزون الدبوس.
  • قابل للتدقيق — كل استدعاء قناة يُسجل؛ يمكن للمشغل استكشاف ما فعله الوكيل.

ربط وكيل: افتح لوحة AI Intel في الشريط الجانبي الأيسر، انقر Connect Agent، وانسخ السر HMAC. من هناك، وجه أي وكيل متوافق إلى القناة — بالنسبة لـ OpenClaw، استورد ShadowBrokerClient من openclaw-skills/shadowbroker/sb_query.py (انظر SKILL.md للأمثلة)؛ بالنسبة لأي وكيل آخر، استخدم نفس عقد HMAC الموثق أعلاه (طابع زمني + nonce + ملخص الجسم، مقيد بالمستوى). الاكتشاف: GET /api/ai/tools و GET /api/ai/capabilities. القناة هي البروتوكول، وليس الوكيل.

Docker Compose + وكلاء عن بعد: واجهة لوحة القيادة تتحدث إلى النهاية الخلفية عبر الجسر الخاص لـ Docker (موثوق تلقائيًا). وكيل OpenClaw يعمل على المضيف (خارج الحاوية) يضرب http://localhost:8000 من عنوان IP بوابة Docker — HMAC مطلوب هناك. في AI Intel → Connect Agent، انقر Bootstrap ثم Reveal، انسخ SHADOWBROKER_HMAC_SECRET في بيئة الوكيل الخاص بك، وأعد تشغيل النهاية الخلفية مرة واحدة حتى يتم تحميل data/openclaw.env على وحدة تخزين backend_data. اختبر الدخان باستخدام:```bash export SHADOWBROKER_URL=http://127.0.0.1:8000 export SHADOWBROKER_HMAC_SECRET= python openclaw-skills/shadowbroker/verify_hmac.py

استخدم منفذ الواجهة الخلفية (`:8000`)، وليس منفذ لوحة تحكم Next.js (`:3000`). يجب على الموقّعين اليدويين تجزئة وحدات بايت POST تماماً: `json.dumps(payload, separators=(",", ":"), sort_keys=True)`.

### ⏱️ آلة الزمن — تشغيل اللقطات (جديد في الإصدار v0.9.7)

ناقل وسائط جديد للتغذية الكاملة للتليمتري. تعامل مع الخريطة الحية كتسجيل يمكن تفريشه وإيقافه وإعادة تشغيله.

* **تبديل حي ↔ لقطة** — التبديل إلى وضع اللقطة يوقف حلقة الاستقصاء العالمية فوراً؛ العودة إلى الوضع الحي يبطل صلاحية ETags ويُعيد تحميل المستويات السريعة والبطيئة بالقوة بحيث تلحق لوحة التحكم بالركب دون وميض الإطارات القديمة.
* **فهرس الساعة** — كل لقطة مأخوذة مفهرسة وفق حاوية الساعة الخاصة بها مع `count`, `latest_id`, `latest_ts` وقائمة `snapshot_ids` الكاملة. انتقل إلى أي طابع زمني ملتقط مباشرة من أداة تفريش الخط الزمني.
* **استيفاء الإطارات** — الكائنات المتحركة (الطائرات، السفن، الأقمار الصناعية، الرحلات العسكرية) تستوفي بسلاسة بين الإطارات المسجلة أثناء التشغيل بحيث تبقى الحركة مستمرة حتى عندما تكون اللقطات متباعدة.
* **سرعة تشغيل متغيرة** — خطوة، تشغيل، تسريع، وإرجاع عبر التليمتري المحفوظ بسرعة قابلة للتعديل.
* **واعٍ للملف الشخصي** — كل لقطة تسجل ملف الخصوصية الذي كان نشطاً عند التقاطها، بحيث يكون التشغيل مطابقاً لما كان سيراه المُشغّل على ذلك الملف.
* **جانب المُشغّل وليس جانب الخادم** — اللقطات تُخزّن محلياً في الواجهة الخلفية؛ لا جهة ثالثة ترى خط التشغيل الزمني أبداً.

### 📦 لوحة مفاتيح API — توجيه المسار، للقراءة فقط (جديد في الإصدار v0.9.7)

الإعدادات ← مفاتيح API أصبحت الآن سجلاً للقراءة فقط. قيم المفاتيح لا تصل أبداً إلى عملية المتصفح — ولا حتى بادئة مبهمة. اللوحة تعرض:

* المسار المطلق لملف `.env` للواجهة الخلفية كما تم حله بواسطة `Path(__file__).resolve()` — يعمل على كل نظام تشغيل، كل قرص، كل موقع تثبيت (لينكس `/home/...`، ماك `/Users/...`، ويندوز على أي قرص، حاويات Docker، أجهزة VM السحابية).
* مؤشرات `[موجود]` / `[سيتم إنشاؤه عند أول حفظ]` / `[غير قابل للكتابة — حرره يدوياً]` على المسار نفسه.
* المسار لقالب `.env.example` ليتمكن المستخدمون من نسخه وتعبئة مفاتيحهم.
* شارة ثنائية `مُهيأ` / `غير مُهيأ` لكل مفتاح، بالإضافة إلى سطر بيئة قابل للنسخ (مثل `OPENSKY_CLIENT_ID=YOUR_VALUE`) يمكن للمستخدم وضعه في الملف يدوياً.

بيانات اعتماد OpenSky API أصبحت الآن مطلب بيئي **تحذيري حرج**: فحص بيئة البدء يشير إلى نقص بيانات اعتماد OAuth2 الخاصة بـ OpenSky بتحذير قوي، ورابط النافذة المنبثقة لتغيير السجلات يقود مباشرة إلى صفحة التسجيل المجانية. بدونها، تعود طبقة الرحلات الجوية إلى تغطية ADS-B فقط مع فجوات كبيرة في أفريقيا وآسيا وأمريكا اللاتينية.

</details>

---

<details>
<summary>🏗️ البنية المعمارية</summary>

يتكون ShadowBroker v0.9.7 من ثلاث طبقات عمودية — **واجهة المشغّل**، **طبقة خدمة الواجهة الخلفية**، و**الطبقة اللامركزية (InfoNet)** — بالإضافة إلى جسرين عرضيين (**آلة الزمن** و**قناة الذكاء الاصطناعي العاملة**، وهو البروتوكول الذي يتصل من خلاله OpenClaw وأي وكيل آخر متوافق) و**نواة الخصوصية** crate بلغة Rust التي تدعم الشبكة القديمة والعمل المستقبلي للعملة المحمية / DEX.```
╔═════════════════════════════════════════════════════════════════════════════╗
║                       OPERATOR UI  (Next.js + MapLibre)                     ║
║                                                                             ║
║  ┌────────────────┐  ┌──────────┐  ┌────────────────┐  ┌────────────────┐   ║
║  │ MapLibre GL    │  │ NewsFeed │  │ Sovereign Shell│  │   Mesh Chat    │   ║
║  │  WebGL render  │  │  SIGINT  │  │  Petitions /   │  │  + Mesh Term.  │   ║
║  │  + clusters    │  │  GDELT   │  │  Upgrades /    │  │  (Infonet /    │   ║
║  │                │  │  Threat  │  │  Disputes /    │  │   Mesh /       │   ║
║  │                │  │          │  │  Gates /       │  │   Dead Drop)   │   ║
║  │                │  │          │  │  Bootstrap /   │  │                │   ║
║  │                │  │          │  │  Function Keys │  │                │   ║
║  └──────┬─────────┘  └────┬─────┘  └────────┬───────┘  └────────┬───────┘   ║
║         │                 │                 │                   │           ║
║  ┌──────┴─────────────────┴─────────────────┴───────────────────┴───────┐   ║
║  │  Time Machine ◀── snapshot playback ── snapshotMode toggle ──▶ Live │   ║
║  │  hourly index │ frame interpolation │ profile-aware │ per-tier ETag  │   ║
║  └──────────────────────────────────┬───────────────────────────────────┘   ║
║                                     │ REST  +  /api/[...path] proxy         ║
╠═════════════════════════════════════╪═══════════════════════════════════════╣
║                       BACKEND SERVICE PLANE  (FastAPI)                      ║
║                                     │                                       ║
║  ┌──────────────────────────────────┴────────────────────────────────────┐  ║
║  │              Data Fetcher  (APScheduler — fast / slow tiers)          │  ║
║  │                                                                       │  ║
║  │  ┌───────────┬───────────┬───────────┬───────────┬───────────┐        │  ║
║  │  │  OpenSky* │ adsb.lol  │ CelesTrak │   USGS    │   AIS WS  │        │  ║
║  │  │  Flights  │ Military  │   Sats    │  Quakes   │   Ships   │        │  ║
║  │  ├───────────┼───────────┼───────────┼───────────┼───────────┤        │  ║
║  │  │  Carrier  │   GDELT   │ CCTV (12) │ DeepState │   NASA    │        │  ║
║  │  │  Tracker  │ Conflict  │  Cameras  │ Frontline │   FIRMS   │        │  ║
║  │  ├───────────┼───────────┼───────────┼───────────┼───────────┤        │  ║
║  │  │   GPS     │  KiwiSDR  │  Shodan   │  Amtrak   │  SatNOGS  │        │  ║
║  │  │  Jamming  │   Radios  │  Devices  │ DigiTraf  │  TinyGS   │        │  ║
║  │  ├───────────┼───────────┼───────────┼───────────┼───────────┤        │  ║
║  │  │ Volcanoes │  Weather  │  Fishing  │ Mil Bases │   IODA    │        │  ║
║  │  │  Air Qual │  Alerts   │  Activity │ PwrPlants │  Outages  │        │  ║
║  │  ├───────────┼───────────┼───────────┼───────────┼───────────┤        │  ║
║  │  │ Sentinel  │   MODIS   │   VIIRS   │   Data    │ Meshtastic│        │  ║
║  │  │  Hub/STAC │   Terra   │ Nightlts  │  Centers  │   APRS    │        │  ║
║  │  ├───────────┴───────────┴───────────┴───────────┴───────────┤        │  ║
║  │  │  SAR (NEW v0.9.7)                                         │        │  ║
║  │  │   Mode A: ASF Search catalog (free, no account)           │        │  ║
║  │  │   Mode B: NASA OPERA / Copernicus EGMS / GFM / EMS /      │        │  ║
║  │  │           UNOSAT  ground-change anomalies (opt-in)        │        │  ║
║  │  └───────────────────────────────────────────────────────────┘        │  ║
║  │   * OpenSky: REQUIRED for global flight coverage                      │  ║
║  └───────────────────────────────────────────────────────────────────────┘  ║
║                                     │                                       ║
║  ┌──────────────────────────────────┴────────────────────────────────────┐  ║
║  │                   Snapshot Store  (Time Machine source)               │  ║
║  │   Hourly index  │  per-snapshot layer manifest  │  profile metadata   │  ║
║  └───────────────────────────────────────────────────────────────────────┘  ║
║                                                                             ║
║  ┌───────────────────────────────────────────────────────────────────────┐  ║
║  │   Agentic AI Channel  (HMAC-SHA256, tier-gated  —  OpenClaw + others) │  ║
║  │                                                                       │  ║
║  │   POST /api/ai/channel/command   →  one tool call                     │  ║
║  │   POST /api/ai/channel/batch     →  up to 20 concurrent tool calls    │  ║
║  │                                                                       │  ║
║  │   Tier:   restricted (read-only)   │   full (read + write + inject)   │  ║
║  │   Auth:   X-SB-Timestamp + X-SB-Nonce + X-SB-Signature                │  ║
║  │   Sig  =  HMAC-SHA256(secret, METHOD|path|ts|nonce|sha256(body))      │  ║
║  └───────────────────────────────────────────────────────────────────────┘  ║
╠═════════════════════════════════════════════════════════════════════════════╣
║                  DECENTRALIZED LAYER  (InfoNet Testnet — signed events)     ║
║                                                                             ║
║  ┌────────────────────────────┐    ┌──────────────────────────────────┐     ║
║  │    Mesh Hashchain          │    │   Sovereign Shell Governance     │     ║
║  │                            │    │                                  │     ║
║  │  Ed25519 signed events     │    │  Petitions  (DSL: UPDATE_PARAM,  │     ║
║  │  Public-key binding        │    │              ENABLE_FEATURE …)   │     ║
║  │  Replay / sequence guard   │    │  Upgrade-Hash voting (80% / 40%  │     ║
║  │  Two-tier finality         │    │             quorum / 67% Heavy)  │     ║
║  │   ├ Tier 1 (CRDT, fast)    │    │  Resolution & Dispute markets    │     ║
║  │   └ Tier 2 (epoch finality)│    │  Gate suspend / shutdown / appeal│     ║
║  │  Identity rotation         │    │  Bootstrap eligible-node-1-vote  │     ║
║  │  Constitutional invariants │    │   (Argon2id PoW, Heavy-Node only)│     ║
║  │  (MappingProxyType)        │    │  Function Keys (5 of 6 pieces)   │     ║
║  └─────────────┬──────────────┘    └─────────────┬────────────────────┘     ║
║                │                                 │                          ║
║                └──────────────┬──────────────────┘                          ║
║                               │                                             ║
║  ┌────────────────────────────┴──────────────────────────────────────┐      ║
║  │            Wormhole / InfoNet Relay  (transport layer)            │      ║
║  │   Gate personas │ canonical signing │ Dead Drop epoch mailboxes   │      ║
║  └───────────────────────────────────────────────────────────────────┘      ║
╠═════════════════════════════════════════════════════════════════════════════╣
║              PRIVACY CORE  (Rust crate — locked Protocol contracts)         ║
║                                                                             ║
║   privacy-core/  ─►  Argon2id │ Ed25519/X25519 │ AESGCM │ HKDF              ║
║                      Ring sigs* │ Stealth addrs* │ Pedersen* │ Bulletproofs*║
║                      Blind-sig issuance* (RSA / BBS+ / U-Prove / Idemix)    ║
║                                                                             ║
║   * = locked Protocol contract; cryptographic primitive lands Sprint 11+    ║
╚═════════════════════════════════════════════════════════════════════════════╝

   Distribution
   ────────────
     GitHub (primary):  ghcr.io/bigbodycobain/shadowbroker-{backend,frontend}
     GitLab (mirror):   registry.gitlab.com/bigbodycobain/shadowbroker/{backend,frontend}
     Multi-arch:        linux/amd64  +  linux/arm64  (Raspberry Pi 5 supported)
     Desktop:           Tauri shell  →  packaged backend-runtime  +  Next.js frontend

📊 مصادر البيانات وواجهات API
المصدرالبياناتتكرار التحديثمفتاح API مطلوب
OpenSky Networkالرحلات التجارية والخاصة~60sنعم
adsb.lolالطائرات العسكرية~60sلا
aisstream.ioمواقع السفن (AIS)WebSocket في الوقت الفعلينعم
CelesTrakمواقع الأقمار الصناعية المدارية (TLE + SGP4)~60sلا
USGS Earthquakeالأحداث الزلزالية العالمية~60sلا
GDELT Projectأحداث الصراعات العالمية~6hلا
DeepState Mapخطوط المواجهة في أوكرانيا~30minلا
Shodanالبحث عن الأجهزة المتصلة بالإنترنتعند الطلبنعم
OpenSanctionsفهرس عقوبات OFAC SDN (استطلاع + رسم بياني للكيانات)تخزين مؤقت لمدة 24 ساعةلا
abuse.ch Feodo + URLhausعناوين URL للتحكم والتوزيع (C2) للبرامج الضارة~5 دقائق (طبقة اختيارية)لا
CISA KEVثغرات CVE المعروفة المستغلة~5 دقائق (طبقة اختيارية)لا
ip-api.comتحديد الموقع الجغرافي لـ IP (استطلاع، رسم بياني للكيانات)عند الطلبلا
Google Public DNSاستعلامات DNS عبر HTTPS (استطلاع)عند الطلبلا
RDAP.orgبيانات تسجيل النطاق (استطلاع)عند الطلبلا
crt.shشفافية الشهادات (استطلاع)عند الطلبلا
bgpview.ioتوجيه BGP/ASN (استطلاع)عند الطلبلا
TeleGeography (static)طرق الكابلات البحريةثابتلا
ASFINAGكاميرات الويب للطرق السريعة في النمسا~10minلا
Amtrakمواقع القطارات الأمريكية~60sلا
DigiTrafficمواقع السكك الحديدية الأوروبية~60sلا
Global Fishing Watchأحداث نشاط سفن الصيد~1 ساعةنعم (GFW_API_TOKEN)
Telegram public previewsمنشورات قنوات الحرب/الاستخبارات مفتوحة المصدر (telegram_osint)~1 ساعةلا (اختياري TELEGRAM_OSINT_CHANNELS)
Transport for London, NYC DOT, TxDOTكاميرات المراقبة (المملكة المتحدة، الولايات المتحدة)~10minلا
Caltrans, WSDOT, GDOT, IDOT, MDOTكاميرات المراقبة (5 ولايات أمريكية)~10minلا
Spain DGT, Madrid Cityكاميرات المراقبة (إسبانيا)~10minلا
Singapore LTAكاميرات المرور في سنغافورة~10minنعم
Windy Webcamsكاميرات الويب العالمية~10minلا
SatNOGSمحطات أرضية للأقمار الصناعية هواة~30minلا
TinyGSمحطات أرضية للأقمار الصناعية LoRa~30minلا
Meshtastic MQTTمواقع عقد الراديو الشبكيةفي الوقت الفعليلا
APRS-ISمواقع الراديو الهواةTCP في الوقت الفعليلا
KiwiSDRمواقع مستقبلات SDR العامة~30minلا
OpenMHZخلاصات ماسحات الشرطة/الإطفاءفي الوقت الفعليلا
Smithsonian GVPالبراكين الهولوسينية في جميع أنحاء العالمثابت (مخبأ)لا
OpenAQمحطات جودة الهواء PM2.5~120sلا
NOAA / NWSتنبيهات الطقس القاسي والمضلعات~120sلا
WRI Global Power Plant DBأكثر من 35,000 محطة طاقةثابت (مخبأ)لا
Military base datasetsالمنشآت العسكرية العالميةثابت (مخبأ)لا
NASA FIRMSالنقاط الساخنة للحريق/الحرارية من NOAA-20 VIIRS~120sلا
NOAA SWPCمؤشر Kp للطقس الفضائي والأحداث الشمسية~120sلا
IODA (Georgia Tech)تنبيهات انقطاع الإنترنت الإقليمية~120sلا
DC Map (GitHub)مواقع مراكز البيانات العالميةثابت (مخبأ لمدة 7 أيام)لا
NASA GIBSصور الأقمار الصناعية اليومية MODIS Terraيوميًا (تأخير 24-48 ساعة)لا
Esri World Imageryخريطة أساس عالية الدقة من الأقمار الصناعيةثابت (يتم تحديثه دوريًا)لا
MS Planetary Computerمشاهد Sentinel-2 L2A (النقر بالزر الأيمن)عند الطلبلا
Copernicus CDSEصور Sentinel Hub (API المعالجة)عند الطلبنعم (مجاني)
VIIRS Nightlightsكشف تغير الضوء الليليثابتلا
RestCountriesبيانات ملفات الدولعند الطلب (مخبأ لمدة 24 ساعة)لا
Wikidata SPARQLبيانات رؤساء الدولعند الطلب (مخبأ لمدة 24 ساعة)لا
Wikipedia APIملخصات المواقع وصور الطائراتعند الطلب (مخبأ)لا
OSM Nominatimالترميز الجغرافي لأسماء الأماكن (شريط LOCATE)عند الطلبلا
CARTO Basemapsبلاط خريطة داكنمستمرلا

الخصوصية والتدقيق للبيانات الصادرة (#348–#366): كل تثبيت مستضاف ذاتيًا يستخدم عنوان IP الخاص بالخادم ومعرف User-Agent الخاص بالتثبيت. راجع docs/OUTBOUND_DATA.md لمعرفة ما يتصل بأطراف ثالثة، وعناصر التحكم الاختيارية/البيئية، والمقايضات المقبولة (CCTV Referer، basemap CDN، LiveUAMap، إلخ).


🚀 البدء

🐳 إعداد Docker (موصى به للاستضافة الذاتية)

يحتوي المستودع على ملف docker-compose.yml يسحب الصور المبنية مسبقًا من سجل حاويات GitHub.```bash git clone https://github.com/BigBodyCobain/Shadowbroker.git cd Shadowbroker

Add your API keys in a repo-root .env file (optional — see Environment Variables below)

docker compose pull docker compose up -d

افتح `http://localhost:3000` لعرض لوحة القيادة.

> **النشر علنًا أو على شبكة محلية؟** لا حاجة لأي تكوين لمعظم الإعدادات.
> يقوم الواجهة الأمامية بتوكيل جميع استدعاءات API عبر خادم Next.js إلى `BACKEND_URL`,
> والذي يُعيّن افتراضيًا إلى `http://backend:8000` (الشبكة الداخلية لـ Docker).
> منفذ المضيف `8000` يُنشر فقط للوصول المحلي لـ API/التصحيح (`127.0.0.1:8000`
> في ملف `docker-compose.yml`). إذا تعارض مع خدمة أخرى، قم بتعيين
> `BACKEND_PORT=8001` في ملف `.env`؛ اترك `BACKEND_URL` كـ `http://backend:8000`
> لأنه المنفذ الداخلي لـ Docker.
>
> **تشغيل الخلفية خارج Docker** (`cd backend && python main.py`):
> خادم التطوير يُربط **حلقة محلية فقط** (`127.0.0.1:8000`) لذا لا يمكن للأجهزة الأخرى على
> شبكتك المحلية الوصول إلى مسارات admin/local-trust مع `ADMIN_KEY` فارغ. قم بتعيين
> `SHADOWBROKER_DEV_BIND_ALL=true` في ملف `.env` فقط عندما تحتاج عمدًا إلى
> `0.0.0.0` واستخدم `ADMIN_KEY` قوي لأي متصل غير محلي.
> حد الذاكرة للخلفية يتم التحكم به بواسطة `BACKEND_MEMORY_LIMIT` ويُعيّن افتراضيًا
> إلى `4G`. إذا أبلغ Docker عن أحداث OOM، ستُعاد تشغيل الخلفية وقد تبدو الطبقات البطيئة فارغة حتى يتم إعادة ملئها.
>
> إذا كانت خلفيتك تعمل على **مضيف أو منفذ مختلفين**، قم بتعيين `BACKEND_URL` في وقت التشغيل — لا حاجة لإعادة البناء:
>
> ```bash
> # Linux / macOS
> BACKEND_URL=http://myserver.com:9096 docker compose up -d
>
> # Podman (via compose.sh wrapper)
> BACKEND_URL=http://192.168.1.50:9096 ./compose.sh up -d
>
> # Windows (PowerShell)
> $env:BACKEND_URL="http://myserver.com:9096"; docker compose up -d
>
> # Or add to a .env file next to docker-compose.yml:
> # BACKEND_URL=http://myserver.com:9096
> ```

**مستخدمو Podman:** لا تمرر رابط GitHub إلى `podman compose pull`؛ قم باستنساخ المستودع أولاً، ثم `cd Shadowbroker`، ثم قم بتشغيل compose من هذا المجلد. `podman compose` يتطلب أيضًا مزود Compose. إذا أبلغ Podman عن `looking up compose provider failed`، قم بتثبيت واحد:```bash
# Linux / macOS / WSL
python3 -m pip install --user podman-compose
podman-compose pull
podman-compose up -d

.```powershell

Windows PowerShell

py -m pip install --user podman-compose podman-compose pull podman-compose up -d

إذا كنت في شل متوافق مع bash، يمكن للغلاف المرفق الكشف تلقائياً عن Docker أو Podman:```bash
./compose.sh --engine podman pull
./compose.sh --engine podman up -d

🐋 نشر مستقل (Portainer, Uncloud, NAS، إلخ.)

لا حاجة لاستنساخ المستودع. استخدم الصور المُعدّة مسبقًا من سجل حاويات GitHub. يمكن استخدام صور سجل GitLab كمرآة إذا قمت بنشرها هناك.

أنشئ ملف docker-compose.yml بالمحتوى التالي وانشره مباشرة — الصقه في محرر الأكوام في Portainer، أو uncloud deploy، أو أي مضيف Docker:```yaml

Image registry — uncomment ONE line per service:

GitHub (primary): ghcr.io/bigbodycobain/shadowbroker-backend:latest

GitLab (mirror): registry.gitlab.com/bigbodycobain/shadowbroker/backend:latest

services: backend: image: ghcr.io/bigbodycobain/shadowbroker-backend:latest # image: registry.gitlab.com/bigbodycobain/shadowbroker/backend:latest container_name: shadowbroker-backend ports: - "${BACKEND_PORT:-8000}:8000" environment: - AIS_API_KEY=your_aisstream_key # Required — get one free at aisstream.io - OPENSKY_CLIENT_ID= # Optional — higher flight data rate limits - OPENSKY_CLIENT_SECRET= # Optional — paired with Client ID above - LTA_ACCOUNT_KEY= # Optional — Singapore CCTV cameras - SHODAN_API_KEY= # Optional — Shodan device search overlay - SH_CLIENT_ID= # Optional — Sentinel Hub satellite imagery - SH_CLIENT_SECRET= # Optional — paired with Sentinel Hub ID - CORS_ORIGINS= # Optional — comma-separated allowed origins volumes: - backend_data:/app/data restart: unless-stopped

frontend: image: ghcr.io/bigbodycobain/shadowbroker-frontend:latest # image: registry.gitlab.com/bigbodycobain/shadowbroker/frontend:latest container_name: shadowbroker-frontend ports: - "3000:3000" environment: - BACKEND_URL=http://backend:8000 # Docker internal networking — no rebuild needed depends_on: - backend restart: unless-stopped

volumes: backend_data:

> **كيف يعمل:** يقوم الحاوية الأمامية (frontend) بتوجيه جميع طلبات `/api/*` عبر خادم Next.js إلى `BACKEND_URL` باستخدام الشبكة الداخلية لـ Docker. المتصفح يتواصل فقط مع المنفذ 3000. المنفذ المضيف للخلفية مخصص للوصول المحلي للـ API والتصحيح، ويمكن تغييره باستخدام `BACKEND_PORT=8001` دون تغيير `BACKEND_URL`.
>
> `BACKEND_URL` هو متغير بيئة تشغيل عادي (ليس `NEXT_PUBLIC_*` وقت البناء)، لذا يمكنك تغييره في Portainer أو Uncloud أو أي محرر compose دون إعادة بناء الصورة. قم بتعيينه إلى العنوان الذي يمكن الوصول إليه من الخلفية داخل شبكة Docker (مثل `http://backend:8000` أو `http://192.168.1.50:8000`).

</details>

---

<details>
<summary>📦 بداية سريعة (بدون حاجة لبرمجة)</summary>

إذا كنت ترغب فقط في تشغيل لوحة التحكم دون التعامل مع أوامر الطرفية:

1. انتقل إلى علامة التبويب **[Releases](https://raw.githubusercontent.com/bigbodycobain/releases)** على الجانب الأيمن من صفحة هذا المستودع.
2. قم بتنزيل أحدث ملف `.zip` من الإصدار.
3. استخرج المجلد إلى جهاز الكمبيوتر الخاص بك.
4. **نظام ويندوز:** انقر نقرًا مزدوجًا على `start.bat`.
   **نظام ماك/لينكس:** افتح الطرفية، اكتب `chmod +x start.sh`، ثم `dos2unix start.sh`، وقم بتشغيل `./start.sh`.
5. سيقوم تلقائيًا بتثبيت كل شيء وتشغيل لوحة التحكم!

ملاحظات المشغل المحلي:

- `start.bat` / `start.sh` run the app without Docker — يقومان بتثبيت التبعيات وتشغيل كلا الخادمين مباشرة.
- إذا فشلت نقاط نهاية هوية Wormhole أو اتصالات DM بعد الترقية، تحقق من مجلد `docs/mesh/` لاستكشاف الأخطاء وإصلاحها.
- لنشر شاهد جذر DM والشفافية ومراقبة المشغل، ابدأ بـ `docs/mesh/wormhole-dm-root-operations-runbook.md`.
- لنماذج أصول جسر عمليات جذر DM، انظر أيضًا `scripts/mesh/poll-dm-root-health-alerts.mjs`، `scripts/mesh/export-dm-root-health-prometheus.mjs`، `scripts/mesh/publish-external-root-witness-package.mjs`، `scripts/mesh/smoke-external-root-witness-flow.mjs`، `scripts/mesh/smoke-root-transparency-publication-flow.mjs`، `scripts/mesh/smoke-dm-root-deployment-flow.mjs`، `scripts/mesh/sync-dm-root-external-assurance.mjs`، و `docs/mesh/examples/`.

</details>

---

<details>
<summary>💻 إعداد المطور</summary>

إذا كنت ترغب في تعديل الكود أو التشغيل من المصدر:

#### المتطلبات الأساسية

* **Node.js** 18+ و **npm** — [nodejs.org](https://nodejs.org/)
* **Python** 3.10 أو 3.11 أو 3.12 مع `pip` — [python.org](https://www.python.org/downloads/) (**تحقق من "Add to PATH"** أثناء التثبيت)
  * ⚠️ قد يواجه Python 3.13+ مشاكل توافق مع بعض التبعيات. **يوصى باستخدام 3.11 أو 3.12.**
* مفاتيح API لـ: `aisstream.io` (مطلوب)، واختياريًا `opensky-network.org` (OAuth2)، `lta.gov.sg`

### التثبيت

</details>```bash
# Clone the repository
git clone https://github.com/BigBodyCobain/Shadowbroker.git
cd Shadowbroker

# Backend setup
cd backend
python -m venv venv
venv\Scripts\activate        # Windows
# source venv/bin/activate   # macOS/Linux
pip install .

# Optional helper scripts (creates venv + installs dev deps)
# Windows PowerShell
# .\backend\scripts\setup-venv.ps1
# macOS/Linux
# ./backend/scripts/setup-venv.sh

# Optional env check (prints warnings for missing keys)
# Windows PowerShell
# .\backend\scripts\check-env.ps1
# macOS/Linux
# ./backend/scripts/check-env.sh

# Create .env with your API keys
echo "AIS_API_KEY=your_aisstream_key" >> .env
echo "OPENSKY_CLIENT_ID=your_opensky_client_id" >> .env
echo "OPENSKY_CLIENT_SECRET=your_opensky_secret" >> .env

# Frontend setup
cd ../frontend
npm ci

تشغيل```bash

From the frontend directory — starts both frontend & backend concurrently

npm run dev

* **Next.js** الواجهة الأمامية على `http://localhost:3000`
* **FastAPI** الواجهة الخلفية على `http://localhost:8000`

### Pre-commit (اختياري)

إذا كنت تستخدم pre-commit، فقم بتثبيت الخطافات مرة واحدة من جذر المستودع:```bash
pre-commit install

مستقبل AIS محلي (اختياري)

يمكنك إدخال بيانات السفن AIS الخاصة بك إلى ShadowBroker باستخدام دونجل RTL-SDR و AIS-catcher، وهو محلل AIS مفتوح المصدر. يمنحك هذا تغطية فورية للسفن في منطقتك المحلية — لا حاجة لمفتاح API.

  1. قم بتوصيل دونجل RTL-SDR
  2. قم بتثبيت AIS-catcher (الإصدارات) أو استخدم صورة Docker:
docker run --rm -it --device /dev/bus/usb ghcr.io/jvde-github/ais-catcher:latest
```   ```bash
   docker run -d --device /dev/bus/usb \
     ghcr.io/jvde-github/ais-catcher -H http://host.docker.internal:4000/api/ais/feed interval 10
  1. أو تشغيل محليًا: ```bash AIS-catcher -H http://localhost:4000/api/ais/feed interval 10

يقوم AIS-catcher بفك تشفير إشارات الراديو VHF على الترددات 161.975 ميجاهرتز و 162.025 ميجاهرتز ويُرسل بيانات السفن المفكوكة إلى ShadowBroker كل 10 ثوانٍ. تظهر السفن التي يتم اكتشافها بواسطة هوائي SDR الخاص بك بجانب بث AIS العالمي.

Docker (ARM/Raspberry Pi): راجع docker-shipfeeder للحصول على صورة Docker جاهزة للإنتاج ومحسّنة لـ ARM.

ملاحظة: يعتمد مدى AIS على هوائك — عادةً 20-40 ميلًا بحريًا بإعدادات أساسية، و 60+ ميلًا بحريًا باستخدام هوائي VHF بحري على ارتفاع.


🎛️ طبقات البيانات

جميع الطبقات الـ 41 قابلة للتبديل بشكل مستقل من اللوحة اليسرى:

الطبقةالافتراضيالوصف
الرحلات الجوية التجارية✅ نشطشركات الطيران، والشحن، والطائرات العامة
الرحلات الجوية الخاصة✅ نشطالطائرات الخاصة غير التجارية
الطائرات الخاصة الفاخرة✅ نشططائرات رجال الأعمال عالية القيمة مع بيانات المالك
الرحلات الجوية العسكرية✅ نشطالطائرات العسكرية والحكومية
الطائرات المتعقبة✅ نشطقائمة مراقبة ذات اهتمام خاص
تشويش GPS✅ نشطمناطق تدهور NAC-P
حاملات / عسكرية / شحن✅ نشطحاملات البحرية، وسفن الشحن، والناقلات
السفن المدنية✅ نشطاليخوت، وصيد الأسماك، والترفيهية
رحلات بحرية / ركاب✅ نشطسفن الرحلات البحرية والعبارات
اليخوت المتعقبة✅ نشطاليخوت الفاخرة للأثرياء وأقطاب الأعمال
نشاط الصيد✅ نشطأحداث سفن صيد الأسماك من Global Fishing Watch
القطارات✅ نشطمواقع Amtrak + السكك الحديدية الأوروبية
الأقمار الصناعية✅ نشطالأصول المدارية حسب نوع المهمة
SatNOGS✅ نشطمحطات أرضية للهواة للأقمار الصناعية
TinyGS✅ نشطمحطات أرضية للأقمار الصناعية LoRa
الزلازل (24 ساعة)✅ نشطأحداث الزلازل من USGS
بؤر الحرائق (24 ساعة)✅ نشطالشذوذات الحرارية VIIRS من NASA FIRMS
البراكين✅ نشطبراكين حقبة الهولوسين من Smithsonian
تنبيهات الطقس✅ نشطمضلعات الطقس القاسي
جودة الهواء (PM2.5)✅ نشطمحطات OpenAQ في جميع أنحاء العالم
خط المواجهة في أوكرانيا✅ نشطمواقع خطوط الحرب الحية
إنذارات جوية أوكرانيا✅ نشطإنذارات الغارات الجوية الإقليمية
الحوادث العالمية✅ نشطأحداث النزاعات من GDELT
شبكة CCTV✅ نشطأكثر من 11,000 كاميرا عبر 13 مصدرًا في 6 دول
انقطاعات الإنترنت✅ نشطتنبيهات الاتصال الإقليمية من IODA
مراكز البيانات✅ نشطمواقع مراكز البيانات العالمية (أكثر من 2,000)
القواعد العسكرية✅ نشطالمنشآت العسكرية العالمية
أجهزة استقبال KiwiSDR✅ نشطأجهزة استقبال راديو SDR عامة
عُقد Meshtastic✅ نشطمواقع عُقد شبكة الميش اللاسلكية
APRS✅ نشطتحديد المواقع عبر الراديو للهواة
الماسحات الضوئية✅ نشطتغذية ماسحات ضوئية للشرطة/الإطفاء
دورة النهار / الليل✅ نشطتراكب خط الفاصل الشمسي
MODIS Terra (يوميًا)❌ معطلصور الأقمار الصناعية اليومية من NASA GIBS
قمر صناعي عالي الدقة❌ معطلصور الأقمار الصناعية دون المترية من Esri
Sentinel Hub❌ معطلواجهة برمجة تطبيقات معالجة Copernicus CDSE
أضواء الليل VIIRS❌ معطلكشف تغير الإضاءة الليلية
محطات الطاقة❌ معطلأكثر من 35,000 محطة طاقة عالمية
تراكب Shodan❌ معطلنتائج بحث أجهزة الإنترنت
اتجاهات الشحن البري❌ معطلاتجاهات حركة الشاحنات عبر Sentinel-2 على الطرق السريعة الرئيسية (حلل هنا)
كابلات تحت سطح البحر❌ معطلطرق الكابلات البحرية العالمية (GeoJSON ثابت)
C2 للبرامج الضارة❌ معطلنقاط التهديد من abuse.ch Feodo + URLhaus
موردو SCM❌ معطلعلامات مخاطر سلسلة التوريد من المستوى 1/2 + تنبيهات اللوحة
التهديدات الإلكترونية❌ معطلإدخالات CISA KEV الأخيرة (إحصائيات في الحمولة البطيئة)
Telegram OSINT✅ نشطقنوات Telegram عامة للحرب/OSINT — كشط كل ساعة، دبابيس جغرافية
SAR✅ نشطكتالوج الرادار ذو الفتحة الاصطناعية + تنبيهات الشذوذ

أدوات الاستطلاع والكيانات (ليست طبقات خريطة — الشريط الجانبي الأيسر / التحديد):

الأداةالوصول إلى لوحة التحكمأمر OpenClawالوصف
مجموعة أدوات الاستطلاعمشغل محلي (/api/osint/*)osint_lookup, osint_sweepIP، DNS، WHOIS، الشهادات، BGP، العقوبات، CVE، MAC، GitHub، التسريبات، التهديدات، مسح الشبكة الفرعية
رسم بياني للكياناتمشغل محلي (/api/entity/expand)entity_expandرسم بياني للعلاقات من Wikidata + OFAC + المخزن المباشر
لوحة مخاطر SCMمشغل محلي (/api/scm-suppliers)get_layer_slice(["scm_suppliers"])تجميع تهديدات الموردين + علامات الخريطة
اكتشاف الأداةosint_toolsيسرد أنواع البحث الاستطلاعي ومخططات توسيع الكيانات

osint_sweep (فحص InternetDB نشط) يتطلب OPENCLAW_ACCESS_TIER=full.


🔧 الأداء

تم تحسين المنصة للتعامل مع مجموعات البيانات الضخمة في الوقت الفعلي:

  • ضغط Gzip — يتم ضغط حمولات API بنسبة ~92% (11.6 ميجابايت → 915 كيلوبايت)
  • تخزين ETag مؤقت — استجابات 304 Not Modified تتجاوز تحليل JSON غير الضروري
  • اقتصاص إطار العرض — يتم عرض العناصر الموجودة فقط داخل حدود الخريطة المرئية (مع هامش 20%+)
  • تحديثات الخريطة الحتمية — الطبقات عالية الحجم (الرحلات الجوية، الأقمار الصناعية، الحرائق) تتجاوز reconciliation في React عبر استدعاءات setData() المباشرة
  • عرض مجمّع — السفن، CCTV، الزلازل، ومراكز البيانات تستخدم تجميع MapLibre لتقليل عدد العناصر
  • تحديثات إطار العرض المخففة — debounce 300ms لمنع إعادة بناء GeoJSON المفرطة أثناء التكبير/التحريك؛ debounce 2s للطبقات الكثيفة (الأقمار الصناعية، الحرائق)
  • استيفاء المواقع — حركة رسوم متحركة سلسة لمدة 10 ثوانٍ بين تحديثات البيانات
  • React.memo — المكونات الثقيلة ملفوفة لمنع عمليات إعادة التصيير غير الضرورية
  • دقة الإحداثيات — تقريب خطوط الطول/العرض إلى 5 منازل عشرية (~1m) لتقليل حجم JSON

📁 هيكل المشروع

يمكن للمساهمين الجدد استخدام docs/contributor-map.md للحصول على دليل توجيهي أقصر.``` Shadowbroker/ ├── openclaw-skills/shadowbroker/ # OpenClaw skill — SKILL.md, sb_query.py client, alerts/monitor helpers ├── backend/ │ ├── main.py # FastAPI app, middleware, API routes (~4,000 lines) │ ├── cctv.db # SQLite CCTV camera database (auto-generated) │ ├── config/ │ │ └── news_feeds.json # User-customizable RSS feed list │ ├── services/ │ │ ├── data_fetcher.py # Core scheduler — orchestrates all data sources │ │ ├── ais_stream.py # AIS WebSocket client (25K+ vessels) │ │ ├── carrier_tracker.py # OSINT carrier position estimator (GDELT news scraping) │ │ ├── cctv_pipeline.py # 14-source CCTV camera ingestion pipeline │ │ ├── ssrf_guard.py # SSRF validation for operator recon fetches │ │ ├── sanctions/ofac.py # OpenSanctions OFAC SDN index │ │ ├── osint/lookups.py # Server-side recon lookups (Osiris port) │ │ ├── osint/openclaw_recon.py # OpenClaw dispatch for recon + entity_expand │ │ ├── osint_intel/resolve.py # Entity graph resolver (Wikidata + OFAC) │ │ ├── scm/suppliers.py # Supply-chain risk overlay │ │ ├── intel_feeds/ # Country risk index helpers │ │ ├── fetchers/malware.py # abuse.ch Feodo + URLhaus │ │ ├── fetchers/cyber_status.py # CISA KEV feed │ │ ├── fetchers/telegram_osint.py # Public Telegram channel scrape + geoparse │ │ ├── third_party/osiris/ # MIT attribution for Osiris-derived code │ │ ├── geopolitics.py # GDELT + Ukraine frontline + air alerts │ │ ├── region_dossier.py # Right-click country/city intelligence │ │ ├── radio_intercept.py # Police scanner feeds + OpenMHZ │ │ ├── kiwisdr_fetcher.py # KiwiSDR receiver scraper │ │ ├── sentinel_search.py # Sentinel-2 STAC imagery search │ │ ├── shodan_connector.py # Shodan device search connector │ │ ├── sigint_bridge.py # APRS-IS TCP bridge │ │ ├── network_utils.py # HTTP client with curl fallback │ │ ├── api_settings.py # API key management │ │ ├── news_feed_config.py # RSS feed config manager │ │ ├── fetchers/ │ │ │ ├── flights.py # OpenSky, adsb.lol, GPS jamming, holding patterns │ │ │ ├── geo.py # AIS vessels, carriers, GDELT, fishing activity │ │ │ ├── satellites.py # CelesTrak TLE + SGP4 propagation │ │ │ ├── earth_observation.py # Quakes, fires, volcanoes, air quality, weather │ │ │ ├── infrastructure.py # Data centers, power plants, military bases │ │ │ ├── trains.py # Amtrak + DigiTraffic European rail │ │ │ ├── sigint.py # SatNOGS, TinyGS, APRS, Meshtastic │ │ │ ├── meshtastic_map.py # Meshtastic MQTT + map node aggregation │ │ │ ├── military.py # Military aircraft classification │ │ │ ├── news.py # RSS intelligence feed aggregation │ │ │ ├── financial.py # Global markets data │ │ │ └── ukraine_alerts.py # Ukraine air raid alerts │ │ └── mesh/ # InfoNet / Wormhole protocol stack │ │ ├── mesh_protocol.py # Core mesh protocol + routing │ │ ├── mesh_crypto.py # Ed25519, X25519, AESGCM primitives │ │ ├── mesh_hashchain.py # Hash chain commitment system (~1,400 lines) │ │ ├── mesh_router.py # Multi-transport router (APRS, Meshtastic, WS) │ │ ├── mesh_wormhole_persona.py # Gate persona identity management │ │ ├── mesh_wormhole_dead_drop.py # Dead Drop token-based DM mailbox │ │ ├── mesh_wormhole_ratchet.py # Double-ratchet DM scaffolding │ │ ├── mesh_wormhole_gate_keys.py # Gate key management + rotation │ │ ├── mesh_wormhole_seal.py # Message sealing + unsealing │ │ ├── mesh_merkle.py # Merkle tree proofs for data commitment │ │ ├── mesh_reputation.py # Node reputation scoring │ │ ├── mesh_oracle.py # Oracle consensus protocol │ │ └── mesh_secure_storage.py # Secure credential storage │ ├── routers/ │ │ ├── osint.py # /api/osint/* recon routes (local operator) │ │ ├── entity_graph.py # /api/entity/expand │ │ ├── scm.py # /api/scm-suppliers │ │ └── intel_feeds.py # /api/malware, /api/cyber-threats, /api/telegram-feed, /api/country-risk ├── frontend/ │ ├── public/data/ │ │ └── submarine-cables.json # Static undersea cable GeoJSON │ ├── src/ │ │ ├── app/ │ │ │ └── page.tsx # Main dashboard — state, polling, layout │ │ └── components/ │ │ ├── MaplibreViewer.tsx # Core map — all GeoJSON layers │ │ ├── MeshChat.tsx # InfoNet / Mesh / Dead Drop chat panel │ │ ├── MeshTerminal.tsx # Draggable CLI terminal │ │ ├── NewsFeed.tsx # SIGINT feed + entity detail panels │ │ ├── WorldviewLeftPanel.tsx # Data layer toggles (40+ layers) │ │ ├── ShodanPanel.tsx # Shodan device search overlay │ │ ├── ReconPanel.tsx # Server-side OSINT recon toolkit │ │ ├── ScmPanel.tsx # Supply-chain risk command panel │ │ ├── EntityGraphPanel.tsx # Entity graph on map selection │ │ ├── MaplibreViewer/popups/TelegramOsintPopup.tsx # Threat-intercept styled Telegram pin popups │ │ ├── WorldviewRightPanel.tsx # Search + filter sidebar │ │ ├── AdvancedFilterModal.tsx # Airport/country/owner filtering │ │ ├── MapLegend.tsx # Dynamic legend with all icons │ │ ├── MarketsPanel.tsx # Global financial markets ticker │ │ ├── RadioInterceptPanel.tsx # Scanner-style radio panel │ │ ├── FindLocateBar.tsx # Search/locate bar │ │ ├── ChangelogModal.tsx # Version changelog popup (auto-shows on upgrade) │ │ ├── SettingsPanel.tsx # API Keys + News Feed + Shodan config │ │ ├── ScaleBar.tsx # Map scale indicator │ │ └── ErrorBoundary.tsx # Crash recovery wrapper │ └── package.json

</details>

---

<details>
<summary>🔑 متغيرات البيئة</summary>

### الواجهة الخلفية (`backend/.env`)```env
# Required for airplane telemetry (NEW in v0.9.7 — startup env check flags these as critical)
# Free registration: https://opensky-network.org/index.php?option=com_users&view=registration
OPENSKY_CLIENT_ID=your_opensky_client_id      # OAuth2 — global flight state vectors
OPENSKY_CLIENT_SECRET=your_opensky_secret     # OAuth2 — paired with Client ID above

# Optional (enhances data quality)
AIS_API_KEY=your_aisstream_key                # Maritime vessel tracking (aisstream.io) — ships layer empty without it
LTA_ACCOUNT_KEY=your_lta_key                  # Singapore CCTV cameras
SHODAN_API_KEY=your_shodan_key                # Shodan device search overlay
SH_CLIENT_ID=your_sentinel_hub_id             # Copernicus CDSE Sentinel Hub imagery
SH_CLIENT_SECRET=your_sentinel_hub_secret     # Paired with Sentinel Hub Client ID
MESH_SAR_EARTHDATA_USER=                      # NASA Earthdata user (SAR Mode B — OPERA products)
MESH_SAR_EARTHDATA_TOKEN=                     # NASA Earthdata token (paired with user above)
MESH_SAR_COPERNICUS_USER=                     # Copernicus Data Space user (SAR Mode B — EGMS / EMS)
MESH_SAR_COPERNICUS_TOKEN=                    # Copernicus token (paired with user above)
OPENCLAW_ACCESS_TIER=restricted               # OpenClaw agent tier: "restricted" (read-only) or "full"
# OPENCLAW_HMAC_SECRET=                         # Optional; UI Bootstrap persists to data/openclaw.env in Docker
GFW_API_TOKEN=your_gfw_token                  # Global Fishing Watch — fishing_activity layer (Settings → Maritime)
TELEGRAM_OSINT_ENABLED=true                   # Telegram OSINT layer (default on)
TELEGRAM_OSINT_CHANNELS=osintdefender,...     # Comma-separated public channel slugs (see .env.example)

# Private-lane privacy-core pinning (required when Arti or RNS is enabled)
PRIVACY_CORE_MIN_VERSION=0.1.0
PRIVACY_CORE_ALLOWED_SHA256=your_privacy_core_sha256
# Optional override if you load a non-default shared library path
PRIVACY_CORE_LIB=

عندما يكون MESH_ARTI_ENABLED=true أو MESH_RNS_ENABLED=true، فإن بدء تشغيل الخلفية يفشل الآن بشكل مغلق ما لم يُبلغ الأرتيفكت privacy-core المُحمّل عن إصدار قابل للتحليل يكون مساويًا أو أعلى من PRIVACY_CORE_MIN_VERSION ويتطابق مع أحد التجزئات في PRIVACY_CORE_ALLOWED_SHA256.

قم بتوليد التجزئة من الأرتيفكت الذي تنوي شحنه:```powershell Get-FileHash .\privacy-core\target\release\privacy_core.dll -Algorithm SHA256

## 🌀 القصة```bash
sha256sum ./privacy-core/target/release/libprivacy_core.so

ثم تأكد من أن المصادقة GET /api/wormhole/status أو GET /api/settings/wormhole-status تظهر نفس privacy_core.version و privacy_core.library_path و privacy_core.library_sha256.

الواجهة الأمامية

المتغيرمكان الإعدادالغرض
BACKEND_URLenvironment في docker-compose.yml، أو متغيرات البيئة shellعنوان URL الذي يستخدمه خادم Next.js لتوكيل استدعاءات API إلى الخلفية. القيمة الافتراضية هي http://backend:8000. متغير تشغيلي — لا حاجة لإعادة البناء.
BACKEND_PORTملف .env في جذر المستودع أو متغيرات البيئة shell قبل docker compose upمنفذ المضيف المستخدم لفضح واجهة API الخلفية للتشخيص المحلي. القيمة الافتراضية هي 8000؛ قم بتعيين BACKEND_PORT=8001 إذا كان المنفذ 8000 مستخدمًا بالفعل. لا يغير BACKEND_URL الداخلي لـ Docker.

كيفية العمل: تقوم الواجهة الأمامية بتوكيل جميع طلبات /api/* عبر خادم Next.js إلى BACKEND_URL باستخدام الشبكة الداخلية لـ Docker. المتصفحات تتحدث فقط مع المنفذ 3000؛ منفذ المضيف للخلفية مخصص فقط للتشخيص المحلي. للتطوير المحلي بدون Docker، القيمة الافتراضية لـ BACKEND_URL هي http://localhost:8000.


🤝 المساهمون

تم بناء ShadowBroker في العلن. هؤلاء الأشخاص قدموا كودًا حقيقيًا:

منماذاPR
@Alienmajikدعم Raspberry Pi 5 — حزم ARM64، ملاحظات النشر بدون واجهة، ضبط وقت التشغيل لأجهزة فئة Pi
@wa1idإصلاح استيراد CCTV — SQLite متعدد الخيوط، قاعدة بيانات دائمة، ترطيب بدء التشغيل، قابلية النقر على العناقيد#92
@AlborzNazariمصادر DGT إسبانيا + CCTV مدريد، تصدير معلومات التهديدات STIX 2.1#91
@adust09طبقة محطات الطاقة، تغطية استخبارات شرق آسيا (قواعد JSDF، إثراء ICAO، أخبار تايوان، تصنيف عسكري)#71, #72, #76, #77, #87
@Xpirixتحسينات في نمط وتفاعل LocateBar#78
@imqdcrتقسيم تبديل السفن (4 فئات) + معرفات كيانات MMSI/إشارة نداء مستقرة
@csyspتنبيهات تهديد قابلة للإزالة + معرفات كيانات مستقرة لـ GDELT والأخبار#48, #63
@suranyamiبنى Docker متعددة المعمارية الموازية (11 دقيقة → 3 دقائق) + إصلاح BACKEND_URL وقت التشغيل#35, #44
@chr0n1xبنية مخطط Kubernetes / Helm للنشر عالي التوفر

⚠️ إخلاء مسؤولية

تم بناء هذه الأداة بالكامل على بيانات استخبارات المصادر المفتوحة (OSINT) المتاحة للجمهور. لا يتم استخدام أي بيانات مصنفة أو مقيدة أو غير عامة. مواقع الناقلات هي تقديرات بناءً على التقارير العامة. واجهة المستخدم ذات الطابع العسكري هي جمالية بحتة.


📜 الترخيص

هذا المشروع مخصص للأغراض التعليمية والبحث الشخصي. راجع شروط خدمة مزودي API الفرديين لقيود استخدام البيانات.


بنيت بـ ☕ والكثير من استدعاءات API

الفئات