Skip to content
KitploitKITPLOIT
أدواتالمدونة
إرسال
أدواتالمدونة
إرسال

أدوات الاختراق واختبار الاختراق والأمن السيبراني لترسانتك الأمنية!

Kitploit هو دليل لأدوات الاختراق والأمن السيبراني واختبار الاختراق. اكتشف آخر تحديثات المشاريع للعثور على الثغرات وتحليل الأنظمة وأتمتة الاختبارات وتعزيز أمنك.

··الخلاصات·اتصال·الخصوصية·© 2026 Kitploit

دليل الأدوات

الفئات

عرض جميع الفئات
Loading categories
Krawl — كراول هو خادم خداع ويب قابل للتخصيص وخفيف الوزن وسحابي أصلي، ومضاد للزواحف، يقوم بإنشاء تطبيقات ويب مزيفة تحتوي على ثغرات سهلة الاستغلال باستخدام بيانات شرك واقعية ومولدة عشوائياً وقوالب HTML مولدة بالذكاء الاصطناعي. | Kitploit
أدوات/GitHubGitHub/blessedrebus/krawl
أمن الحاوياتجمع المعلوماتأمن الويبأمن الشبكاتأمن السحابةاستخبارات التهديداتالاستجابة للحوادثمكافحة الروبوتاتأمن الذكاء الاصطناعي
GitHubblessedrebus/krawl

Krawl

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

558458منذ 2 أيامتمت المراجعة من قبل Kitploit

الأكثر شعبية

عرض الكل →

اكتشف الأدوات الأكثر استخدامًا من قبل مجتمعنا.

استكشف جميع الأدوات

تصفح مجموعتنا من الأدوات

عرض جميع الأدوات →
مشاركة
عرض المستودعالموقع الإلكتروني

Krawl

خادم honeypot ويب حديث وقابل للتخصيص مصمم لاكتشاف وتتبع النشاط الضار من المهاجمين وبرامج زحف الويب من خلال صفحات ويب خادعة، وبيانات اعتماد مزيفة، ورموز canary.

License Release
GitHub Container Registry Kubernetes Helm Chart

جدول المحتويات

  • العرض التجريبي
  • ما هو Krawl؟
  • لوحة تحكم Krawl
  • أوضاع النشر
  • قائمة حظر Krawl
  • البدء السريع
    • Docker Run
    • Docker Compose
    • Kubernetes
    • Uvicorn (Python)
  • الإعدادات
    • config.yaml
    • متغيرات البيئة
  • حظر عناوين IP الضارة
  • سمعة IP
  • العمل خلف وكيل عكسي أو CDN
  • المقاييس والمراقبة
  • توثيق إضافي
  • الخداع باستخدام الذكاء الاصطناعي
  • المساهمة

العرض التجريبي

نصيحة: قم بزحف مسارات robots.txt لمتعة إضافية

رابط Krawl: http://demo.krawlme.com

عرض لوحة التحكم http://demo.krawlme.com/das_dashboard

ما هو Krawl؟

Krawl هو خادم خداع سحابي أصلي مصمم لاكتشاف وتأخير وتحليل المهاجمين الضارين وبرامج زحف الويب والماسحات الآلية.

يقوم بإنشاء تطبيقات ويب مزيفة واقعية مليئة بالأهداف السهلة مثل لوحات الإدارة وملفات الإعدادات وبيانات اعتماد مزيفة مكشوفة لجذب وتحديد النشاط المشبوه.

dashboard

من خلال إهدار موارد المهاجمين، يساعد Krawl في التمييز بوضوح بين السلوك الضار وبرامج الزحف المشروعة.

يتميز بـ:

  • صفحات خداع مولدة بالذكاء الاصطناعي: دع المهاجمين يساعدون في توليد سطح الهجوم المزيف القابل للاستغلال لديك
  • صفحات فخ العناكب: روابط عشوائية لا نهائية لإهدار موارد برامج الزحف استنادًا إلى مشروع spidertrap
  • صفحات تسجيل دخول مزيفة: WordPress وphpMyAdmin ولوحات إدارة
  • مسارات Honeypot: مُعلن عنها في robots.txt لاصطياد الماسحات
  • بيانات اعتماد مزيفة: أسماء مستخدمين وكلمات مرور ومفاتيح API واقعية المظهر
  • تكامل Canary Token: إطلاق تنبيهات خارجية
  • ترويسات خادم عشوائية: إرباك الهجمات بناءً على ترويسة الخادم والإصدار
  • لوحة تحكم في الوقت الفعلي: مراقبة النشاط المشبوه
  • قوائم كلمات قابلة للتخصيص: إعدادات سهلة قائمة على JSON
  • حقن أخطاء عشوائي: محاكاة سلوك الخادم الحقيقي

يمكنك بسهولة عرض Krawl جنبًا إلى جنب مع خدماتك الأخرى لحمايتها من برامج زحف الويب والمستخدمين الضارين باستخدام وكيل عكسي. لمزيد من التفاصيل، راجع توثيق الوكيل العكسي.

use case

لوحة تحكم Krawl

يوفر Krawl لوحة تحكم شاملة، يمكن الوصول إليها عبر مسار سري عشوائي يتم توليده عند بدء التشغيل أو عبر مسار مخصص يتم إعداده باستخدام KRAWL_DASHBOARD_SECRET_PATH. هذا يبقي لوحة التحكم مخفية عن المهاجمين الذين يفحصون honeypot الخاص بك.

يتم تنظيم لوحة التحكم في ستة تبويبات:

  • نظرة عامة: عرض عالي المستوى لنشاط الهجمات: خريطة تفاعلية لأصول عناوين IP، وطلبات مشبوهة حديثة، وأعلى عناوين IP ووكلاء المستخدم والمسارات.

geoip

  • الهجمات: تفصيل دقيق لبيانات الاعتماد الملتقطة ومحفزات honeypot وأنواع الهجمات المكتشفة (SQLi وXSS وpath traversal وغيرها) مع رسوم بيانية وجداول.

attack_types

  • رؤية IP: عرض جنائي متعمق لعنوان IP محدد: الموقع الجغرافي ومعلومات ISP/ASN وعلامات السمعة والخط الزمني السلوكي وتوزيع أنواع الهجمات وسجل الوصول الكامل.

ipinsight

بالإضافة إلى ذلك، بعد المصادقة بكلمة مرور لوحة التحكم، يصبح تبويبان محميان متاحين:

  • عناوين IP المتعقبة: الحفاظ على قائمة مراقبة لعناوين IP التي تريد مراقبتها بمرور الوقت.
  • قائمة حظر IP: إدارة حظر عناوين IP وعرض المهاجمين المكتشفين وتصدير قائمة الحظر بتنسيق خام أو IPTables.
  • الخداع: إدارة الصفحات المولدة بالذكاء الاصطناعي وتصديرها أو استيراد صفحات جديدة.

لمزيد من التفاصيل، راجع توثيق لوحة التحكم.

أوضاع النشر

يدعم Krawl وضعي نشر، يتم التحكم فيهما بواسطة إعداد mode في config.yaml أو متغير البيئة KRAWL_MODE.

المستقل: مثالي لبيئات التطوير أو البيئات المنزلية ذات أعداد الطلبات المنخفضة. لا حاجة لأي إعدادات إضافية، فقط شغّل Krawl وسيعمل.

  • نشر بحاوية واحدة بدون تبعيات خارجية
  • استخدام أقل للذاكرة والموارد

القابل للتوسع: مصمم لبيئات الإنتاج أو honeypots عالية الحركة. مخطط Helm الافتراضي يستخدم هذا الوضع.

  • لوحة تحكم أسرع وأكثر استجابة بفضل التخزين المؤقت متعدد المستويات في Redis
  • إدخال/إخراج قرص أقل مع عمل Redis كذاكرة مؤقتة للمسار السريع أمام PostgreSQL
  • التوسع الأفقي يزيد عدد نسخ Krawl خلف موازن التحميل

للإعدادات التفصيلية وأمثلة Docker Compose وإعداد Kubernetes/Helm وتعليمات الترحيل خطوة بخطوة، راجع توثيق أوضاع النشر.

قائمة حظر Krawl

يحتفظ Krawl بقائمة banlist.txt محدثة بانتظام لعناوين IP الخاصة بـ المهاجمين الذين أطلقوا محفزات honeypot الخاصة به. يتم نشر قائمة الحظر أسبوعيًا وتكون متاحة للتنزيل، مما يساعد المجتمع على حظر الجهات الضارة المعروفة بشكل استباقي حتى بدون استخدام Krawl.

يمكن أيضًا جلب قائمة الحظر مباشرة من: https://demo.krawlme.com/das_dashboard/api/export-ips?categories=attacker&fwtype=raw.

مشاركة قوائم الحظر بين المثيلات

يمكن لمثيلات Krawl دمج قوائم الحظر الخاصة بها: يمكن لكل مثيل نشر قائمته الخاصة على مسار غير مصادق عليه وسحب القوائم من مثيلات أخرى (أو أي قائمة IP نصية عادية). يتم دمج عناوين IP المجلوبة في قرارات الحظر المحلية وعرضها في لوحة التحكم.```yaml banlist:

Public, unauthenticated download path for this instance's banlist.

Supports the same ?categories= and ?fwtype= parameters as the main API.

Empty = disabled.

export_path: "/public_banlist.txt"

Upstream banlists to fetch and merge. Plain ".txt" lists work too.

sources: - "https://demo.krawlme.com/das_dashboard/api/export-ips?categories=attacker&fwtype=raw" - "https://krawl.example.com/public_banlist.txt"

refresh_interval: 3600 # seconds between fetches

root@kitploit:~
## البدء السريع

### التشغيل عبر Docker

شغّل Krawl في الوضع المستقل باستخدام أحدث صورة:```bash
docker run -d \
  -p 5000:5000 \
  -e KRAWL_DASHBOARD_SECRET_PATH="/my-secret-dashboard" \
  -e KRAWL_DASHBOARD_PASSWORD="my-secret-password" \
  -v krawl-data:/app/data \
  --name krawl \
  ghcr.io/blessedrebus/krawl:latest

قم بالوصول إلى الخادم على http://localhost:5000

Docker Compose

أنشئ ملف docker-compose.yaml مع أحد وضعي النشر التاليين.

Standalone: خادم Krawl فقط مع تخزين Sqlite:```yaml services: krawl: image: ghcr.io/blessedrebus/krawl:latest container_name: krawl-server ports: - "5000:5000" environment: - CONFIG_LOCATION=config.yaml # - KRAWL_DASHBOARD_PASSWORD=my-secret-password volumes: - ./config.yaml:/app/config.yaml:ro - krawl-data:/app/data restart: unless-stopped

volumes: krawl-data:

root@kitploit:~
**قابل للتوسع**: مع PostgreSQL و Redis:

> [!CAUTION]
> المثال أدناه يستخدم **كلمات مرور افتراضية** (`krawl`/`krawl`). **قم بتغييرها قبل النشر في بيئة الإنتاج.**```yaml
services:
  postgres:
    image: postgres:16-alpine
    environment:
      POSTGRES_DB: krawl
      POSTGRES_USER: krawl
      POSTGRES_PASSWORD: krawl
    volumes:
      - postgres_data:/var/lib/postgresql/data
    restart: unless-stopped
    healthcheck:
      test: ["CMD-SHELL", "pg_isready -U krawl -d krawl"]
      interval: 10s
      timeout: 5s
      retries: 5

  redis:
    image: redis:7-alpine
    volumes:
      - redis_data:/data
    restart: unless-stopped
    healthcheck:
      test: ["CMD", "redis-cli", "ping"]
      interval: 10s
      timeout: 5s
      retries: 5

  krawl:
    image: ghcr.io/blessedrebus/krawl:latest
    container_name: krawl-server
    ports:
      - "5000:5000"
    environment:
      - CONFIG_LOCATION=config.yaml
      - KRAWL_MODE=scalable
      - KRAWL_POSTGRES_HOST=postgres
      - KRAWL_POSTGRES_PORT=5432
      - KRAWL_POSTGRES_USER=krawl
      - KRAWL_POSTGRES_PASSWORD=krawl
      - KRAWL_POSTGRES_DATABASE=krawl
      - KRAWL_REDIS_HOST=redis
      - KRAWL_REDIS_PORT=6379
      # - KRAWL_DASHBOARD_PASSWORD=my-secret-password
    volumes:
      - ./config.yaml:/app/config.yaml:ro
    restart: unless-stopped
    depends_on:
      postgres:
        condition: service_healthy
      redis:
        condition: service_healthy

volumes:
  postgres_data:
  redis_data:

لنشر الأداة، فقط قم بتشغيل```bash docker compose up -d

root@kitploit:~
ملفات compose الجاهزة للإنتاج متوفرة أيضًا في دليل [`docker/`](https://github.com/blessedrebus/krawl/blob/main/docker). للتطوير **development** (البناء من المصدر مع إعادة التحميل التلقائي)، استخدم ملفات compose الموجودة في [`docker/dev/`](https://github.com/blessedrebus/krawl/blob/main/docker/dev).

لمزيد من التفاصيل حول كلا الوضعين، راجع [أوضاع النشر](https://github.com/blessedrebus/krawl/blob/main/docs/deployment-modes.md).

### Kubernetes
**يتوفر Krawl أيضًا بشكل أصلي على Kubernetes**. يمكن إجراء التثبيت إما [عبر manifest](https://github.com/blessedrebus/krawl/blob/main/kubernetes/README.md) أو [باستخدام مخطط Helm](https://github.com/blessedrebus/krawl/blob/main/helm/README.md).

**يتميز مخطط Helm افتراضيًا بوضع قابل للتوسع** مع PostgreSQL وRedis مدمجين:```bash
helm install krawl oci://ghcr.io/blessedrebus/krawl-chart --version 2.3.1 \
  -n krawl-system --create-namespace \
  --set postgres.password=your-password \
  --set redis.password=your-redis-password \
  --set dashboardPassword=your-dashboard-password \
  --set config.dashboard.secret_path=/my-secret-dashboard

ملفات أمثلة قيم بسيطة مقدمة لكلا الوضعين:

  • values-minimal.yaml ---> قابل للتوسع (الافتراضي)
  • values-standalone.yaml ---> مستقل

راجع أوضاع النشر وتوثيق المخطط للحصول على الإعداد الكامل وتعليمات الترحيل.

Uvicorn (Python)

شغّل Krawl مباشرة باستخدام Python 3.13+ وuvicorn للتطوير المحلي أو الاختبار:```bash pip install -r requirements.txt uvicorn app:app --host 0.0.0.0 --port 5000 --app-dir src --no-server-header

root@kitploit:~
قم بالوصول إلى الخادم على `http://localhost:5000`


## الإعدادات
يستخدم Krawl **تسلسلاً هرمياً للإعدادات** حيث **تتجاوز متغيرات البيئة ملف الإعدادات**. يُنصح بهذا الأسلوب لنشر Docker والتخصيص السريع الجاهز للاستخدام.

### الإعداد عبر config.yaml
يمكنك استخدام ملف [config.yaml](https://github.com/blessedrebus/krawl/blob/main/config.yaml) للإعدادات المتقدمة، مثل نشر Docker Compose أو مخططات Helm.

### الإعداد عبر متغيرات البيئة

يمكن توفير جميع الإعدادات كمتغيرات بيئة، والتي تتجاوز `config.yaml`.
اسم المتغير هو `KRAWL_` بالإضافة إلى مسار الإعداد بالأحرف الكبيرة، لذا فإن `dashboard.password`
يصبح `KRAWL_DASHBOARD_PASSWORD`.

<details>
<summary><b>الخادم وتوليد الروابط</b> (12 متغيراً)</summary>

كيف يقدم Krawl نفسه ويشكل متاهة الصفحات المُولَّدة.

| متغير البيئة | الوصف | الافتراضي |
|----------------------|-------------|---------|
| `CONFIG_LOCATION` | مسار ملف إعدادات yaml | `config.yaml` |
| `KRAWL_PORT` | منفذ استماع الخادم | `5000` |
| `KRAWL_DELAY` | تأخير الاستجابة بالمللي ثانية | `100` |
| `KRAWL_SERVER_HEADER` | ترويسة خادم HTTP للخداع | `""` |
| `KRAWL_LINKS_LENGTH_RANGE` | نطاق طول الروابط بصيغة `min,max` | `5,15` |
| `KRAWL_LINKS_PER_PAGE_RANGE` | الروابط لكل صفحة بصيغة `min,max` | `10,15` |
| `KRAWL_CHAR_SPACE` | الأحرف المستخدمة لتوليد الروابط | `abcdefgh...` |
| `KRAWL_MAX_COUNTER` | قيمة العداد الأولية | `10` |
| `KRAWL_PROBABILITY_ERROR_CODES` | احتمالية استجابات الخطأ (0-100%) | `0` |
| `KRAWL_INFINITE_PAGES_FOR_MALICIOUS` | تقديم صفحات لا نهائية لعناوين IP الخبيثة | `true` |
| `KRAWL_MAX_PAGES_LIMIT` | الحد الأقصى لعدد الصفحات للزاحفين | `250` |
| `KRAWL_BAN_DURATION_SECONDS` | مدة الحظر بالثواني لعناوين IP المقيَّدة المعدل | `600` |

</details>

<details>
<summary><b>لوحة التحكم والمقاييس والتسجيل</b> (8 متغيرات)</summary>

الوصول إلى لوحة التحكم، التسخين المسبق للذاكرة المؤقتة، Prometheus ومستوى السجل.

| متغير البيئة | الوصف | الافتراضي |
|----------------------|-------------|---------|
| `KRAWL_DASHBOARD_SECRET_PATH` | مسار لوحة تحكم مخصص | مُولَّد تلقائياً |
| `KRAWL_DASHBOARD_PASSWORD` | كلمة مرور للوحات التحكم المحمية | مُولَّدة تلقائياً |
| `KRAWL_DASHBOARD_CACHE_WARMUP` | حساب مسبق لبيانات لوحة التحكم كل 5 دقائق لتحميل فوري للصفحات | `true` |
| `KRAWL_DASHBOARD_WARMUP_PAGES` | عدد الصفحات للتسخين المسبق لكل لوحة جدول | `10` |
| `KRAWL_DASHBOARD_WARMUP_AGGREGATION` | حساب مسبق كامل لتجميعات top_paths/top_ua لخدمة بدون استعلامات | `false` |
| `KRAWL_DASHBOARD_TOP_N_MIN_COUNT` | الحد الأدنى لعدد الوصول للوحات المسارات/وكلاء المستخدم الأعلى (اضبطه على 1 لتعطيله) | `5` |
| `KRAWL_METRICS_ENABLED` | كشف مقاييس Prometheus على `/<dashboard_path>/metrics` | `true` |
| `KRAWL_LOG_LEVEL` | مستوى سجل التطبيق (`DEBUG`, `INFO`, `WARNING`, `ERROR`) | `INFO` |

</details>

<details>
<summary><b>قاعدة البيانات والاحتفاظ والنسخ الاحتياطي</b> (6 متغيرات)</summary>

موقع التخزين، مدة الاحتفاظ بالبيانات، ومهمة التفريغ.

| متغير البيئة | الوصف | الافتراضي |
|----------------------|-------------|---------|
| `KRAWL_DATABASE_PATH` | موقع ملف قاعدة البيانات | `data/krawl.db` |
| `KRAWL_DATABASE_PERSIST_SUSPICIOUS_ONLY` | الاحتفاظ بالطلبات المشبوهة فقط في سجل الوصول | `false` |
| `KRAWL_DATABASE_RETENTION_DAYS` | أيام الاحتفاظ بالبيانات في قاعدة البيانات | `30` |
| `KRAWL_BACKUPS_PATH` | المسار الذي تُحفظ فيه نسخ قاعدة البيانات | `backups` |
| `KRAWL_BACKUPS_CRON` | تعبير cron للتحكم بجدول مهمة النسخ الاحتياطي | `*/30 * * * *` |
| `KRAWL_BACKUPS_ENABLED` | قيمة منطقية لتفعيل مهمة تفريغ قاعدة البيانات | `true` |

</details>

<details>
<summary><b>الفخاخ: tarpit وصفحات الخداع وcanary</b> (6 متغيرات)</summary>

فخاخ اختيارية والصفحات المقدمة للمهاجمين.

| متغير البيئة | الوصف | الافتراضي |
|----------------------|-------------|---------|
| `KRAWL_TARPIT_ENABLED` | محاصرة وكلاء الذكاء الاصطناعي باستجابات بطيئة ونص عشوائي | `false` |
| `KRAWL_TARPIT_DELAY_SECONDS` | تأخير إضافي بالثواني يُضاف لكل استجابة عند تفعيل tarpit | `5` |
| `KRAWL_DECEPTION_IMPORT_PAGES` | استيراد تلقائي لصفحات الخداع من `src/templates/deception/` عند بدء التشغيل | `true` |
| `KRAWL_CUSTOM_TEMPLATE_PATH` | مسار داخل الحاوية لقالب HTML مخصص. يجب أن يتضمن القالب العناصر النائبة `{counter}` و`{content}`. | `/templates/custom_page.html` |
| `KRAWL_CANARY_TOKEN_URL` | عنوان URL خارجي لرمز canary | لا شيء |
| `KRAWL_CANARY_TOKEN_TRIES` | الطلبات قبل عرض رمز canary | `10` |

</details>

<details>
<summary><b>محلل سمعة عنوان IP</b> (6 متغيرات)</summary>

عتبات تحدد كيفية تصنيف عنوان IP.

| متغير البيئة | الوصف | الافتراضي |
|----------------------|-------------|---------|
| `KRAWL_HTTP_RISKY_METHODS_THRESHOLD` | عتبة اكتشاف طرق HTTP الخطرة | `0.1` |
| `KRAWL_VIOLATED_ROBOTS_THRESHOLD` | عتبة انتهاكات robots.txt | `0.1` |
| `KRAWL_UNEVEN_REQUEST_TIMING_THRESHOLD` | عتبة معامل الاختلاف للتوقيت | `0.5` |
| `KRAWL_UNEVEN_REQUEST_TIMING_TIME_WINDOW_SECONDS` | النافذة الزمنية لتحليل توقيت الطلبات بالثواني | `300` |
| `KRAWL_USER_AGENTS_USED_THRESHOLD` | عتبة اكتشاف وكلاء مستخدم متعددين | `2` |
| `KRAWL_ATTACK_URLS_THRESHOLD` | عتبة اكتشاف عناوين URL الهجومية | `1` |

</details>

<details>
<summary><b>قائمة الحظر وعناوين IP المتجاهلة</b> (4 متغيرات)</summary>

مشاركة قوائم الحظر مع مثيلات أخرى، والحركة التي لا يتم تتبعها أبداً.

| متغير البيئة | الوصف | الافتراضي |
|----------------------|-------------|---------|
| `KRAWL_IGNORED_IPS` | عناوين IP/CIDRs مفصولة بفواصل لا يتم تتبعها أو حظرها أو تصديرها أبداً | Loopback, RFC1918, link-local, CGNAT |
| `KRAWL_BANLIST_EXPORT_PATH` | مسار تنزيل عام لقائمة الحظر، مثل `/public_banlist.txt` (فارغ = معطل) | `""` |
| `KRAWL_BANLIST_SOURCES` | عناوين URL لقوائم حظر علوية مفصولة بفواصل لجلبها ودمجها | قائمة حظر مجتمع Krawl |
| `KRAWL_BANLIST_REFRESH_INTERVAL` | الثواني بين عمليات جلب قوائم الحظر العلوية | `3600` |

</details>

<details>
<summary><b>صفحات الخداع المُولَّدة بالذكاء الاصطناعي</b> (10 متغيرات)</summary>

راجع [توثيق توليد الذكاء الاصطناعي](https://github.com/blessedrebus/krawl/blob/main/docs/ai_generation.md).

| متغير البيئة | الوصف | الافتراضي |
|----------------------|-------------|---------|
| `KRAWL_AI_ENABLED` | تفعيل صفحات الخداع المُولَّدة بالذكاء الاصطناعي | `false` |
| `KRAWL_AI_PROVIDER` | مزود الذكاء الاصطناعي (`"openrouter"` أو `"openai"`) | `"openrouter"` |
| `KRAWL_AI_OPENAI_BASE_URL` | عنوان URL أساسي اختياري لـ OpenAI لنقاط نهاية API مخصصة | `"https://api.openai.com/v1"` |
| `KRAWL_AI_API_KEY` | مفتاح API لمزود الذكاء الاصطناعي | `None` |
| `KRAWL_AI_MODEL` | نموذج الذكاء الاصطناعي المستخدم لتوليد الصفحات | `"nvidia/nemotron-3-super-120b-a12b:free"` |
| `KRAWL_AI_TIMEOUT` | مهلة الطلب بالثواني لاستدعاءات API الخاصة بالذكاء الاصطناعي | `60` |
| `KRAWL_AI_MAX_DAILY_REQUESTS` | الحد الأقصى لعدد الصفحات المُولَّدة بالذكاء الاصطناعي يومياً (0 = غير محدود) | `0` |
| `KRAWL_AI_PROMPT` | قالب مطالبة مخصص لتوليد صفحات الذكاء الاصطناعي | المطالبة الافتراضية |
| `KRAWL_AI_REASONING_ENABLED` | تفعيل رموز الاستدلال (نماذج OpenRouter للاستدلال فقط) | `false` |
| `KRAWL_AI_REASONING_EFFORT` | جهد الاستدلال (`none`, `minimal`, `low`, `medium`, `high`, `xhigh`) | `"medium"` |

</details>

<details>
<summary><b>الوضع القابل للتوسع: PostgreSQL وRedis</b> (13 متغيراً)</summary>

يُستخدم فقط عند `KRAWL_MODE=scalable`. راجع [أوضاع النشر](https://github.com/blessedrebus/krawl/blob/main/docs/deployment-modes.md).

| متغير البيئة | الوصف | الافتراضي |
|----------------------|-------------|---------|
| `KRAWL_MODE` | وضع النشر (`standalone` أو `scalable`) | `standalone` |
| `KRAWL_POSTGRES_HOST` | اسم مضيف PostgreSQL | `localhost` |
| `KRAWL_POSTGRES_PORT` | منفذ PostgreSQL | `5432` |
| `KRAWL_POSTGRES_USER` | اسم مستخدم PostgreSQL | `krawl` |
| `KRAWL_POSTGRES_PASSWORD` | كلمة مرور PostgreSQL | `krawl` |
| `KRAWL_POSTGRES_DATABASE` | اسم قاعدة بيانات PostgreSQL | `krawl` |
| `KRAWL_REDIS_HOST` | اسم مضيف Redis | `localhost` |
| `KRAWL_REDIS_PORT` | منفذ Redis | `6379` |
| `KRAWL_REDIS_DB` | رقم قاعدة بيانات Redis | `0` |
| `KRAWL_REDIS_PASSWORD` | كلمة مرور Redis | لا شيء |
| `KRAWL_REDIS_CACHE_TTL` | TTL بالثواني لبيانات تسخين لوحة التحكم | `600` |
| `KRAWL_REDIS_HOT_TTL` | TTL بالثواني لبيانات المسار السريع (معلومات الحظر، فئات IP) | `30` |
| `KRAWL_REDIS_TABLE_TTL` | TTL بالثواني لجداول لوحة التحكم المقسمة إلى صفحات | `120` |

</details>


على سبيل المثال```bash
# Set canary token
export CONFIG_LOCATION="config.yaml"
export KRAWL_CANARY_TOKEN_URL="http://your-canary-token-url"

# Set number of pages range (min,max format)
export KRAWL_LINKS_PER_PAGE_RANGE="5,25"

# Set analyzer thresholds
export KRAWL_HTTP_RISKY_METHODS_THRESHOLD="0.2"
export KRAWL_VIOLATED_ROBOTS_THRESHOLD="0.15"

# Set custom dashboard path and password
export KRAWL_DASHBOARD_SECRET_PATH="/my-secret-dashboard"
export KRAWL_DASHBOARD_PASSWORD="my-secret-password"

مثال على تشغيل Docker مع متغيرات البيئة (وضع مستقل):```bash docker run -d
-p 5000:5000
-e KRAWL_MODE=standalone
-e KRAWL_PORT=5000
-e KRAWL_DELAY=100
-e KRAWL_DASHBOARD_PASSWORD="my-secret-password"
-e KRAWL_CUSTOM_TEMPLATE_PATH="/templates/custom_page.html"
-e KRAWL_CANARY_TOKEN_URL="http://your-canary-token-url"
--name krawl
ghcr.io/blessedrebus/krawl:latest

root@kitploit:~
## استخدام Krawl لحظر عناوين IP الضارة
يستخدم Krawl نظامًا قائمًا على السمعة لتصنيف عناوين IP الخاصة بالمهاجمين، ويوفر طريقتين لتصدير قوائم IP للتكامل مع جدار الحماية.

تستعلم نقطة النهاية `/api/export-ips` من قاعدة البيانات مباشرةً وتدعم التصفية حسب فئة IP (`attacker`, `bad_crawler`, `regular_user`, `good_crawler`) وصيغة الإخراج (`raw`, `iptables`, `nftables`):```bash
curl "https://your-krawl-instance/<DASHBOARD-PATH>/api/export-ips?categories=attacker&fwtype=raw"

هذا يتيح الحظر التلقائي لحركة المرور الخبيثة عبر منصات متعددة:

  • OPNsense و pfSense
  • RouterOS
  • IPtables و Nftables
  • Fail2Ban

للحصول على معاملات API الكاملة والأمثلة وإضافة تنسيقات جدار حماية مخصصة، راجع توثيق Firewall Exporters.

يمكن لـ Krawl أيضًا دفع عناوين IP المحظورة مباشرة إلى قائمة عناوين IP الخاصة بحساب Cloudflare لاستخدامها في قواعد WAF. تعمل المزامنة كمهمة خلفية وتحدّث القائمة بالاستبدال الكامل على فاصل زمني قابل للتكوين. راجع توثيق مزامنة قائمة حظر Cloudflare.

سمعة IP

يستخدم Krawl مهام تحلل حركة المرور الحديثة لبناء وتحديث درجة سمعة IP بشكل مستمر. تعمل بشكل دوري وتقيّم كل عنوان IP نشط بناءً على مؤشرات سلوكية متعددة لتصنيفه كمهاجم أو زاحف أو مستخدم عادي. العتبات قابلة للتخصيص بالكامل.

سمعة IP

يتضمن التحليل ما يلي:

  • استخدام طرق HTTP الخطرة (مثل نسب POST و PUT و DELETE)
  • انتهاكات Robots.txt
  • شذوذ توقيت الطلبات (أنماط متقطعة أو غير منتظمة)
  • اتساق User-Agent
  • كشف عناوين URL الهجومية (مثل أنماط حقن SQL و XSS)

يساهم كل إشارة في نموذج تسجيل مرجّح يخصص فئة سمعة:

  • attacker
  • bad_crawler
  • good_crawler
  • regular_user
  • unknown (للبيانات غير الكافية)

تُخزَّن الدرجات والمقاييس الناتجة في قاعدة البيانات ويستخدمها Krawl لقيادة لوحات المعلومات وتتبع السمعة وإجراءات التخفيف الآلية مثل حظر IP أو التكامل مع جدار الحماية.

صفحات الخداع المولّدة بالذكاء الاصطناعي

يمكن لـ Krawl توليد صفحات خداع واقعية تلقائيًا باستخدام نماذج الذكاء الاصطناعي من واجهات برمجة تطبيقات OpenRouter أو OpenAI. تنشئ هذه الميزة صفحات honeypot فريدة ومعقولة أثناء الطلب لخداع المهاجمين دون إنشاء صفحات يدويًا.

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

  • التوليد الديناميكي: ينشئ صفحات HTML فريدة لأي مسار طلب
  • التخزين المؤقت الذكي: يخزّن الصفحات المولّدة مؤقتًا لتجنب استدعاءات API المتكررة
  • تحديد المعدل اليومي: التحكم في تكاليف API بحدود طلبات قابلة للتكوين
  • موفّرون متعددون: دعم لـ OpenRouter (خيارات مجانية) و OpenAI
  • التراجع السلس: يتراجع إلى honeypot القياسي عند التعطيل أو بلوغ الحد
  • الخدمة المخزّنة مؤقتًا: تُقدَّم الصفحات المولّدة سابقًا حتى عند تعطيل الذكاء الاصطناعي

الإعداد السريع:```yaml ai: enabled: true provider: "openrouter" openai_base_url: "your-custom-base-url" api_key: "your-api-key" model: "nvidia/nemotron-3-super-120b-a12b:free" timeout: 60 max_daily_requests: 10

root@kitploit:~
للحصول على التكوين والاستخدام المفصل، راجع [وثائق توليد الذكاء الاصطناعي](https://github.com/blessedrebus/krawl/blob/main/docs/ai_generation.md).

يمكنك أيضًا **المساهمة بقوالب الخداع** عن طريق فتح طلب سحب (PR)، راجع [المساهمة بقوالب الخداع](https://github.com/blessedrebus/krawl/blob/main/docs/deception_pages.md#contributing-deception-templates-via-pr).

## التشغيل خلف وكيل عكسي أو شبكة توصيل المحتوى (CDN)

**NGINX وTraefik والوكلاء الآخرون مثل CloudFlare** يحتاجون إلى توجيه الرؤوس (header forwarding) حتى يتمكن Krawl من رؤية عنوان IP الحقيقي. راجع [وثائق الوكيل العكسي](https://github.com/blessedrebus/krawl/blob/main/docs/reverse-proxy.md) للحصول على أمثلة التكوين وقائمة الرؤوس الكاملة.

## المقاييس والمراقبة

يكشف Krawl عن مقاييس [Prometheus](https://prometheus.io/) على `/<dashboard_secret_path>/metrics` (مفعّلة افتراضيًا) ويأتي مع لوحة تحكم [Grafana](https://grafana.com/) جاهزة للاستيراد في [`grafana-dashboard.json`](https://github.com/blessedrebus/krawl/blob/main/grafana-dashboard.json).

راجع [وثائق المراقبة](https://github.com/blessedrebus/krawl/blob/main/docs/monitoring.md) للحصول على قائمة المقاييس الكاملة، وخطوات استيراد Grafana، وإعداد الجمع عبر Prometheus / Kubernetes (`ServiceMonitor`).

## وثائق إضافية

| الموضوع | الوصف |
|---------|-------|
| [توليد الذكاء الاصطناعي](https://github.com/blessedrebus/krawl/blob/main/docs/ai_generation.md) | تكوين صفحات خداع مولّدة بالذكاء الاصطناعي باستخدام OpenRouter أو OpenAI |
| [صفحات الخداع](https://github.com/blessedrebus/krawl/blob/main/docs/deception_pages.md) | إدارة صفحات الخداع واستيرادها وتصديرها؛ العمليات الجماعية والتصفية المستندة إلى التاريخ |
| [أنماط النشر](https://github.com/blessedrebus/krawl/blob/main/docs/deployment-modes.md) | الوضع المستقل (SQLite) مقابل الوضع القابل للتوسع (PostgreSQL + Redis)، والتكوين، وترحيل البيانات |
| [خادم الطُعم (Honeypot)](https://github.com/blessedrebus/krawl/blob/main/docs/honeypot.md) | نظرة عامة كاملة على صفحات خادم الطُعم: عمليات تسجيل دخول مزيفة، وقوائم الدلائل، وملفات بيانات الاعتماد، وفخاخ SQLi/XSS/XXE/حقن الأوامر، والمزيد |
| [لوحة التحكم](https://github.com/blessedrebus/krawl/blob/main/docs/dashboard.md) | الوصول إلى لوحة تحكم المراقبة في الوقت الفعلي واستكشافها |
| [واجهة برمجة تطبيقات لوحة التحكم](https://github.com/blessedrebus/krawl/blob/main/docs/dashboard-api.md) | واجهة JSON API الخاصة بـ Krawl: مرجع نقاط النهاية، والمصادقة، ووثائق OpenAPI التفاعلية، وتنزيلات المرفقات |
| [واجهات برمجة التطبيقات الخارجية](https://github.com/blessedrebus/krawl/blob/main/docs/api.md) | واجهات برمجة التطبيقات التابعة لجهات خارجية التي يستدعيها Krawl للحصول على بيانات IP والسمعة والموقع الجغرافي |
| [الوكيل العكسي](https://github.com/blessedrebus/krawl/blob/main/docs/reverse-proxy.md) | كيفية نشر Krawl خلف NGINX أو استخدام نطاقات فرعية خادعة |
| [النسخ الاحتياطي لقاعدة البيانات](https://github.com/blessedrebus/krawl/blob/main/docs/backups.md) | تفعيل وتكوين مهمة تفريغ قاعدة البيانات التلقائية |
| [رمز الكناري (Canary Token)](https://github.com/blessedrebus/krawl/blob/main/docs/canary-token.md) | إعداد مشغلات تنبيه خارجية عبر canarytokens.org |
| [قائمة الكلمات](https://github.com/blessedrebus/krawl/blob/main/docs/wordlist.md) | تخصيص أسماء المستخدمين وكلمات المرور وقوائم الدلائل المزيفة |
| [البنية المعمارية](https://github.com/blessedrebus/krawl/blob/main/docs/architecture.md) | نظرة عامة تقنية على قاعدة الكود وخط أنابيب الطلبات ومخطط قاعدة البيانات والمهام الخلفية |
| [مزامنة قائمة حظر Cloudflare](https://github.com/blessedrebus/krawl/blob/main/docs/cloudflare_banlist.md) | دفع عناوين IP المحظورة من Krawl إلى قائمة عناوين IP لحساب Cloudflare لاستخدامها في قواعد WAF. تعمل المزامنة كمهمة خلفية وتحدّث القائمة بالاستبدال الكامل. |
| [مصدّرات جدار الحماية](https://github.com/blessedrebus/krawl/blob/main/docs/firewall-exporters.md) | تصدير قوائم حظر IP بتنسيقات raw أو iptables أو nftables عبر REST API |
| [فخ الإبطاء (Tarpit)](https://github.com/blessedrebus/krawl/blob/main/docs/tarpit.md) | إبطاء وتسميم زاحفي الذكاء الاصطناعي باستجابات متأخرة ومحشوة بالضوضاء |
| [المقاييس والمراقبة](https://github.com/blessedrebus/krawl/blob/main/docs/monitoring.md) | نقطة نهاية مقاييس Prometheus، ومرجع المقاييس المكشوفة، ولوحة تحكم Grafana، وجمع ServiceMonitor |

## المساهمة

المساهمات مرحّب بها! يرجى:
1. عمل fork للمستودع
2. إنشاء فرع ميزة
3. إجراء التغييرات
4. تقديم طلب سحب (اشرح التغييرات!)

## إخلاء مسؤولية
> [!CAUTION]
> هذا نظام خداع/خادم طُعم. انشره في بيئات معزولة وراقبه بعناية بحثًا عن الأحداث الأمنية. استخدمه بمسؤولية ووفقًا للقوانين واللوائح المعمول بها.

## سجل النجوم
<img src="https://star-history.dera.page/svg?repos=BlessedRebuS/Krawl&amp;type=Date" width="600" alt="مخطط سجل النجوم" />
تنزيل الأداة
مستقلقابل للتوسع
قاعدة البياناتSQLite (وضع WAL)PostgreSQL
الذاكرة المؤقتةقاموس Python في الذاكرةRedis (TTL متعدد المستويات)
النسخ1 (مثيل واحد)1+ (توسع أفقي)
التبعيات الخارجيةلا شيءPostgreSQL + Redis
الأفضل لـالتطوير والبيئات المنزلية وأقل من 500 ألف طلبالإنتاج والتوافر العالي وأكثر من 500 ألف طلب