Skip to content
KitploitKITPLOIT
उपकरणब्लॉग
जमा करें
उपकरणब्लॉग
जमा करें

हैकिंग, पेनटेस्ट और साइबर सुरक्षा उपकरण आपके सुरक्षा शस्त्रागार के लिए!

Kitploit हैकिंग, साइबर सुरक्षा और पेंटेस्टिंग टूल्स की एक निर्देशिका है। कमजोरियों को खोजने, सिस्टम का विश्लेषण करने, परीक्षण को स्वचालित करने और अपनी सुरक्षा को मजबूत करने के लिए नवीनतम प्रोजेक्ट अपडेट खोजें।

··फ़ीड·संपर्क·गोपनीयता·© 2026 Kitploit

टूल निर्देशिका

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
उपकरण/GitHubGitHub/blessedrebus/krawl
कंटेनर सुरक्षाजानकारी एकत्र करनावेब सुरक्षानेटवर्क सुरक्षाक्लाउड सुरक्षाखतरा खुफियाघटना प्रतिक्रियाएंटी-बॉटAI सुरक्षा
GitHubblessedrebus/krawl

Krawl

Krawl एक अनुकूलन योग्य, हल्का, क्लाउड-नेटिव वेब धोखाधड़ी सर्वर और एंटी-क्रॉलर है जो यथार्थवादी, यादृच्छिक रूप से उत्पन्न डिकॉय डेटा और एआई-जनरेटेड HTML टेम्पलेट्स का उपयोग करके आसानी से शोषण योग्य कमजोरियों वाले नकली वेब एप्लिकेशन बनाता है।

5584583 दिन पहलेKitploit द्वारा समीक्षित

सबसे लोकप्रिय

सभी देखें →

हमारे समुदाय द्वारा सबसे अधिक उपयोग किए जाने वाले उपकरण खोजें।

सभी उपकरण खोजें

हमारे उपकरणों का संग्रह ब्राउज़ करें

सभी उपकरण देखें →
साझा करें
रिपॉजिटरी देखेंवेबसाइट

Krawl

एक आधुनिक, अनुकूलन योग्य वेब हनीपॉट सर्वर जो भ्रामक वेब पेजों, नकली क्रेडेंशियल्स और कैनरी टोकन के माध्यम से हमलावरों और वेब क्रॉलर की दुर्भावनापूर्ण गतिविधि का पता लगाने और उसे ट्रैक करने के लिए डिज़ाइन किया गया है।

License Release
GitHub Container Registry Kubernetes Helm Chart

विषय-सूची

  • डेमो
  • Krawl क्या है?
  • Krawl डैशबोर्ड
  • डिप्लॉयमेंट मोड
  • Krawl बैनलिस्ट
  • त्वरित आरंभ
    • Docker Run
    • Docker Compose
    • Kubernetes
    • Uvicorn (Python)
  • कॉन्फ़िगरेशन
    • config.yaml
    • पर्यावरण चर
  • दुर्भावनापूर्ण IP बैन करें
  • IP प्रतिष्ठा
  • रिवर्स प्रॉक्सी या CDN के पीछे चलाना
  • मेट्रिक्स और मॉनिटरिंग
  • अतिरिक्त दस्तावेज़ीकरण
  • AI का उपयोग कर धोखा
  • योगदान

डेमो

टिप: अतिरिक्त मज़े के लिए robots.txt पथों को क्रॉल करें

Krawl URL: http://demo.krawlme.com

डैशबोर्ड देखें http://demo.krawlme.com/das_dashboard

Krawl क्या है?

Krawl एक क्लाउड-नेटिव धोखा सर्वर है जो दुर्भावनापूर्ण हमलावरों, वेब क्रॉलर और स्वचालित स्कैनर का पता लगाने, उन्हें विलंबित करने और उनका विश्लेषण करने के लिए डिज़ाइन किया गया है।

यह यथार्थवादी नकली वेब एप्लिकेशन बनाता है जो एडमिन पैनल, कॉन्फ़िगरेशन फ़ाइलें और उजागर नकली क्रेडेंशियल्स जैसे आसानी से मिलने वाले लक्ष्यों से भरे होते हैं, ताकि संदिग्ध गतिविधि को आकर्षित और पहचाना जा सके।

dashboard

हमलावरों के संसाधनों को बर्बाद करके, Krawl दुर्भावनापूर्ण व्यवहार को वैध क्रॉलर से स्पष्ट रूप से अलग करने में मदद करता है।

इसमें निम्नलिखित विशेषताएं हैं:

  • AI-जनित धोखा पेज: हमलावरों को अपने नकली कमजोर हमले की सतह बनाने में मदद करने दें
  • स्पाइडर ट्रैप पेज: क्रॉलर संसाधनों को बर्बाद करने के लिए अनंत यादृच्छिक लिंक, spidertrap प्रोजेक्ट पर आधारित
  • नकली लॉगिन पेज: WordPress, phpMyAdmin, एडमिन पैनल
  • हनीपॉट पथ: स्कैनर पकड़ने के लिए robots.txt में विज्ञापित
  • नकली क्रेडेंशियल्स: यथार्थवादी दिखने वाले उपयोगकर्ता नाम, पासवर्ड, API कुंजियाँ
  • कैनरी टोकन एकीकरण: बाहरी अलर्ट ट्रिगरिंग
  • यादृच्छिक सर्वर हेडर: सर्वर हेडर और संस्करण के आधार पर हमलों को भ्रमित करें
  • रीयल-टाइम डैशबोर्ड: संदिग्ध गतिविधि की निगरानी करें
  • अनुकूलन योग्य वर्डलिस्ट: आसान JSON-आधारित कॉन्फ़िगरेशन
  • यादृच्छिक त्रुटि इंजेक्शन: वास्तविक सर्वर व्यवहार की नकल करें

आप रिवर्स प्रॉक्सी का उपयोग करके अपनी अन्य सेवाओं के साथ Krawl को आसानी से उजागर कर सकते हैं ताकि उन्हें वेब क्रॉलर और दुर्भावनापूर्ण उपयोगकर्ताओं से सुरक्षित रखा जा सके। अधिक विवरण के लिए, रिवर्स प्रॉक्सी दस्तावेज़ीकरण देखें।

use case

Krawl डैशबोर्ड

Krawl एक व्यापक डैशबोर्ड प्रदान करता है, जो स्टार्टअप पर उत्पन्न यादृच्छिक गुप्त पथ पर या KRAWL_DASHBOARD_SECRET_PATH के माध्यम से कॉन्फ़िगर किए गए कस्टम पथ पर उपलब्ध होता है। यह डैशबोर्ड को आपके हनीपॉट को स्कैन करने वाले हमलावरों से छिपाए रखता है।

डैशबोर्ड छह टैब में व्यवस्थित है:

  • अवलोकन: हमले की गतिविधि का उच्च-स्तरीय दृश्य: IP उत्पत्ति का इंटरैक्टिव मानचित्र, हाल के संदिग्ध अनुरोध, और शीर्ष IP, User-Agents और पथ।

geoip

  • हमले: कैप्चर किए गए क्रेडेंशियल्स, हनीपॉट ट्रिगर्स और पहचाने गए हमले के प्रकारों (SQLi, XSS, path traversal, आदि) का विस्तृत विवरण चार्ट और तालिकाओं के साथ।

attack_types

  • IP अंतर्दृष्टि: चयनित IP का गहन फोरेंसिक दृश्य: जियोलोकेशन, ISP/ASN जानकारी, प्रतिष्ठा फ़्लैग, व्यवहारिक टाइमलाइन, हमले के प्रकार का वितरण और पूर्ण एक्सेस इतिहास।

ipinsight

इसके अतिरिक्त, डैशबोर्ड पासवर्ड से प्रमाणित होने के बाद, दो संरक्षित टैब उपलब्ध हो जाते हैं:

  • ट्रैक किए गए IP: उन IP पतों की वॉचलिस्ट बनाए रखें जिन्हें आप समय के साथ मॉनिटर करना चाहते हैं।
  • IP बैनलिस्ट: IP बैन प्रबंधित करें, पहचाने गए हमलावरों को देखें, और बैनलिस्ट को raw या IPTables प्रारूप में निर्यात करें।
  • धोखा: AI-जनित पेज प्रबंधित करें, उन्हें निर्यात करें या नए आयात करें।

अधिक विवरण के लिए, डैशबोर्ड दस्तावेज़ीकरण देखें।

डिप्लॉयमेंट मोड

Krawl दो डिप्लॉयमेंट मोड का समर्थन करता है, जिन्हें config.yaml में mode सेटिंग या KRAWL_MODE पर्यावरण चर द्वारा नियंत्रित किया जाता है।

स्टैंडअलोन: कम अनुरोध संख्या वाले विकास वातावरण या homelabs के लिए आदर्श। किसी अतिरिक्त कॉन्फ़िगरेशन की आवश्यकता नहीं, बस Krawl चलाएं और यह काम करता है।

  • बिना किसी बाहरी निर्भरता के एकल कंटेनर डिप्लॉयमेंट
  • कम RAM और संसाधन उपयोग

स्केलेबल: प्रोडक्शन वातावरण या उच्च-ट्रैफिक हनीपॉट के लिए डिज़ाइन किया गया। Helm चार्ट डिफ़ॉल्ट रूप से इस मोड का उपयोग करता है।

  • Redis मल्टी-टियर कैशिंग के कारण तेज़, अधिक प्रतिक्रियाशील डैशबोर्ड
  • PostgreSQL के सामने हॉट-पाथ कैश के रूप में Redis के साथ कम डिस्क I/O
  • क्षैतिज स्केलिंग लोड बैलेंसर के पीछे Krawl रेप्लिका की संख्या बढ़ाती है

विस्तृत कॉन्फ़िगरेशन, Docker Compose उदाहरण, Kubernetes/Helm सेटअप और चरण-दर-चरण माइग्रेशन निर्देशों के लिए, डिप्लॉयमेंट मोड दस्तावेज़ीकरण देखें।

Krawl बैनलिस्ट

Krawl उन IP पतों की एक नियमित रूप से अद्यतन banlist.txt बनाए रखता है जो उन हमलावरों से हैं जिन्होंने इसके हनीपॉट ट्रैप ट्रिगर किए। बैनलिस्ट साप्ताहिक प्रकाशित होती है और डाउनलोड के लिए उपलब्ध होती है, जिससे समुदाय को 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:~
## क्विकस्टार्ट

### डॉकर रन

नवीनतम इमेज के साथ 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.yaml बनाएं।

स्टैंडअलोन: Sqlite स्टोरेज के साथ केवल Krawl सर्वर:```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:~
प्रोडक्शन-रेडी कंपोज़ फ़ाइलें [`docker/`](https://github.com/blessedrebus/krawl/blob/main/docker) निर्देशिका में भी उपलब्ध हैं। **डेवलपमेंट** के लिए (हॉट-रिलोड के साथ स्रोत से बिल्ड), [`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 पर मूल रूप से भी उपलब्ध है**। इंस्टॉलेशन [मैनिफेस्ट के माध्यम से](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 ---> स्टैंडअलोन

पूर्ण कॉन्फ़िगरेशन और माइग्रेशन निर्देशों के लिए Deployment Modes और Chart documentation देखें।

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 chart डिप्लॉयमेंट।

### पर्यावरणीय चर के माध्यम से कॉन्फ़िगरेशन

सभी सेटिंग्स को पर्यावरण चर के रूप में प्रदान किया जा सकता है, जो `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` | `/<dashboard_path>/metrics` पर Prometheus मेट्रिक्स उजागर करें | `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` | db डंप जॉब सक्षम करने के लिए बूलियन | `true` |

</details>

<details>
<summary><b>ट्रैप: टारपिट, धोखा पृष्ठ और कैनरी</b> (6 चर)</summary>

ऑप्ट-इन ट्रैप और हमलावरों को परोसे जाने वाले पृष्ठ।

| पर्यावरण चर | विवरण | डिफ़ॉल्ट |
|----------------------|-------------|---------|
| `KRAWL_TARPIT_ENABLED` | धीमी प्रतिक्रियाओं और यादृच्छिक पाठ के साथ AI एजेंटों को फंसाएं | `false` |
| `KRAWL_TARPIT_DELAY_SECONDS` | टारपिट सक्रिय होने पर प्रति प्रतिक्रिया जोड़ा गया अतिरिक्त विलंब सेकंड में | `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 | None |
| `KRAWL_CANARY_TOKEN_TRIES` | कैनरी टोकन दिखाने से पहले अनुरोध | `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/CIDR जो कभी ट्रैक, प्रतिबंधित या निर्यात नहीं किए जाते | 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>AI-जनरेटेड धोखा पृष्ठ</b> (10 चर)</summary>

[AI जनरेशन दस्तावेज़ीकरण](https://github.com/blessedrebus/krawl/blob/main/docs/ai_generation.md) देखें।

| पर्यावरण चर | विवरण | डिफ़ॉल्ट |
|----------------------|-------------|---------|
| `KRAWL_AI_ENABLED` | AI-जनरेटेड धोखा पृष्ठ सक्षम करें | `false` |
| `KRAWL_AI_PROVIDER` | AI प्रदाता (`"openrouter"` या `"openai"`) | `"openrouter"` |
| `KRAWL_AI_OPENAI_BASE_URL` | कस्टम API एंडपॉइंट के लिए वैकल्पिक OpenAI Base URL | `"https://api.openai.com/v1"` |
| `KRAWL_AI_API_KEY` | AI प्रदाता के लिए API कुंजी | `None` |
| `KRAWL_AI_MODEL` | पृष्ठ जनरेशन के लिए उपयोग किया जाने वाला AI मॉडल | `"nvidia/nemotron-3-super-120b-a12b:free"` |
| `KRAWL_AI_TIMEOUT` | AI API कॉल के लिए सेकंड में अनुरोध टाइमआउट | `60` |
| `KRAWL_AI_MAX_DAILY_REQUESTS` | प्रति दिन AI-जनरेटेड पृष्ठों की अधिकतम संख्या (0 = असीमित) | `0` |
| `KRAWL_AI_PROMPT` | AI पृष्ठ जनरेशन के लिए कस्टम प्रॉम्प्ट टेम्पलेट | डिफ़ॉल्ट प्रॉम्प्ट |
| `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 पासवर्ड | None |
| `KRAWL_REDIS_CACHE_TTL` | डैशबोर्ड वार्मअप डेटा के लिए सेकंड में TTL | `600` |
| `KRAWL_REDIS_HOT_TTL` | हॉट-पाथ डेटा (प्रतिबंध जानकारी, IP श्रेणियां) के लिए सेकंड में TTL | `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 run का उदाहरण env वेरिएबल्स के साथ (स्टैंडअलोन मोड):```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:~
## मैलिशियस IPs को बैन करने के लिए Krawl का उपयोग करें
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 को सीधे Cloudflare Account IP List में भी पुश कर सकता है, जिसका उपयोग WAF नियमों में किया जा सकता है। सिंक एक पृष्ठभूमि कार्य के रूप में चलता है और कॉन्फ़िगर करने योग्य अंतराल पर पूर्ण प्रतिस्थापन द्वारा सूची को अपडेट करता है। Cloudflare Banlist Sync दस्तावेज़ीकरण देखें।

IP प्रतिष्ठा

Krawl हाल के ट्रैफ़िक का विश्लेषण करने और IP प्रतिष्ठा स्कोर बनाने तथा लगातार अपडेट करने के लिए कार्यों का उपयोग करता है। यह समय-समय पर चलता है और प्रत्येक सक्रिय IP पते का मूल्यांकन कई व्यवहारिक संकेतकों के आधार पर करता है ताकि इसे हमलावर, क्रॉलर, या नियमित उपयोगकर्ता के रूप में वर्गीकृत किया जा सके। थ्रेशोल्ड पूरी तरह से अनुकूलन योग्य हैं।

ip reputation

विश्लेषण में शामिल हैं:

  • जोखिमपूर्ण HTTP विधियों का उपयोग (जैसे POST, PUT, DELETE अनुपात)
  • Robots.txt उल्लंघन
  • अनुरोध समय विसंगतियाँ (बर्स्टी या अनियमित पैटर्न)
  • User-Agent स्थिरता
  • हमले URL का पता लगाना (जैसे SQL इंजेक्शन, XSS पैटर्न)

प्रत्येक संकेत एक भारित स्कोरिंग मॉडल में योगदान देता है जो एक प्रतिष्ठा श्रेणी निर्दिष्ट करता है:

  • attacker
  • bad_crawler
  • good_crawler
  • regular_user
  • unknown (अपर्याप्त डेटा के लिए)

परिणामी स्कोर और मेट्रिक्स डेटाबेस में संग्रहीत किए जाते हैं और Krawl द्वारा डैशबोर्ड, प्रतिष्ठा ट्रैकिंग, और IP बैनिंग या फ़ायरवॉल एकीकरण जैसी स्वचालित शमन कार्रवाइयों को चलाने के लिए उपयोग किए जाते हैं।

AI-जनरेटेड डिसेप्शन पेज

Krawl OpenRouter या OpenAI APIs से AI मॉडल का उपयोग करके स्वचालित रूप से यथार्थवादी डिसेप्शन पेज उत्पन्न कर सकता है। यह सुविधा मैन्युअल पेज निर्माण के बिना हमलावरों को धोखा देने के लिए अद्वितीय, प्रशंसनीय हनीपॉट पेज तुरंत बनाती है।

मुख्य विशेषताएं:

  • गतिशील जनरेशन: किसी भी अनुरोध पथ के लिए अद्वितीय HTML पेज बनाता है
  • स्मार्ट कैशिंग: अनावश्यक API कॉल से बचने के लिए जनरेट किए गए पेजों को कैश करता है
  • दैनिक दर सीमा: कॉन्फ़िगर करने योग्य अनुरोध सीमाओं के साथ API लागत नियंत्रित करें
  • एकाधिक प्रदाता: OpenRouter (मुफ्त विकल्प) और OpenAI के लिए समर्थन
  • सुगम फ़ॉलबैक: अक्षम होने या सीमा तक पहुंचने पर मानक हनीपॉट पर वापस आ जाता है
  • कैश्ड सर्विंग: AI अक्षम होने पर भी पहले जनरेट किए गए पेज परोसे जाते हैं

त्वरित सेटअप:```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:~
विस्तृत कॉन्फ़िगरेशन और उपयोग के लिए, [AI जनरेशन दस्तावेज़](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 जैसे अन्य प्रॉक्सी** को हेडर फ़ॉरवर्डिंग की आवश्यकता होती है ताकि Krawl वास्तविक IP देख सके। कॉन्फ़िगरेशन उदाहरणों और पूर्ण हेडर सूची के लिए [रिवर्स प्रॉक्सी दस्तावेज़](https://github.com/blessedrebus/krawl/blob/main/docs/reverse-proxy.md) देखें।

## मेट्रिक्स और मॉनिटरिंग

Krawl `/<dashboard_secret_path>/metrics` पर [Prometheus](https://prometheus.io/) मेट्रिक्स उजागर करता है (डिफ़ॉल्ट रूप से सक्षम) और [`grafana-dashboard.json`](https://github.com/blessedrebus/krawl/blob/main/grafana-dashboard.json) पर आयात-योग्य [Grafana](https://grafana.com/) डैशबोर्ड के साथ आता है।

पूर्ण मेट्रिक सूची, Grafana आयात चरणों, और Prometheus / Kubernetes (`ServiceMonitor`) स्क्रैपिंग सेटअप के लिए [मॉनिटरिंग दस्तावेज़](https://github.com/blessedrebus/krawl/blob/main/docs/monitoring.md) देखें।

## अतिरिक्त दस्तावेज़

| विषय | विवरण |
|-------|-------------|
| [AI जनरेशन](https://github.com/blessedrebus/krawl/blob/main/docs/ai_generation.md) | OpenRouter या OpenAI का उपयोग करके AI-जनित धोखा पृष्ठ कॉन्फ़िगर करें |
| [धोखा पृष्ठ](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) मोड, कॉन्फ़िगरेशन, और डेटा माइग्रेशन |
| [हनीपॉट](https://github.com/blessedrebus/krawl/blob/main/docs/honeypot.md) | हनीपॉट पृष्ठों का पूर्ण अवलोकन: नकली लॉगिन, निर्देशिका सूचियाँ, क्रेडेंशियल फ़ाइलें, SQLi/XSS/XXE/कमांड इंजेक्शन ट्रैप, और अधिक |
| [डैशबोर्ड](https://github.com/blessedrebus/krawl/blob/main/docs/dashboard.md) | रीयल-टाइम मॉनिटरिंग डैशबोर्ड तक पहुँचें और अन्वेषण करें |
| [डैशबोर्ड API](https://github.com/blessedrebus/krawl/blob/main/docs/dashboard-api.md) | Krawl का अपना JSON API: एंडपॉइंट संदर्भ, प्रमाणीकरण, इंटरैक्टिव OpenAPI दस्तावेज़, और अटैचमेंट डाउनलोड |
| [बाहरी APIs](https://github.com/blessedrebus/krawl/blob/main/docs/api.md) | तृतीय-पक्ष APIs जिन्हें Krawl IP डेटा, प्रतिष्ठा, और जियोलोकेशन के लिए कॉल करता है |
| [रिवर्स प्रॉक्सी](https://github.com/blessedrebus/krawl/blob/main/docs/reverse-proxy.md) | NGINX के पीछे Krawl कैसे परिनियोजित करें या डिकॉय सबडोमेन का उपयोग करें |
| [डेटाबेस बैकअप](https://github.com/blessedrebus/krawl/blob/main/docs/backups.md) | स्वचालित डेटाबेस डंप जॉब सक्षम और कॉन्फ़िगर करें |
| [कैनरी टोकन](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) | Krawl से प्रतिबंधित IP को WAF नियमों में उपयोग के लिए Cloudflare खाता IP सूची में पुश करता है। सिंक एक पृष्ठभूमि कार्य के रूप में चलता है और पूर्ण प्रतिस्थापन द्वारा सूची को अपडेट करता है। |
| [फ़ायरवॉल एक्सपोर्टर](https://github.com/blessedrebus/krawl/blob/main/docs/firewall-exporters.md) | REST API के माध्यम से IP बैनलिस्ट को raw, iptables, या nftables प्रारूप में निर्यात करें |
| [टारपिट](https://github.com/blessedrebus/krawl/blob/main/docs/tarpit.md) | विलंबित, शोर-पैडेड प्रतिक्रियाओं के साथ AI क्रॉलर को धीमा करें और ज़हर दें |
| [मेट्रिक्स और मॉनिटरिंग](https://github.com/blessedrebus/krawl/blob/main/docs/monitoring.md) | Prometheus मेट्रिक्स एंडपॉइंट, उजागर मेट्रिक्स संदर्भ, Grafana डैशबोर्ड, और ServiceMonitor स्क्रैपिंग |

## योगदान

योगदान का स्वागत है! कृपया:
1. रिपॉजिटरी को फ़ोर्क करें
2. एक फीचर ब्रांच बनाएं
3. अपने परिवर्तन करें
4. एक पुल अनुरोध सबमिट करें (परिवर्तनों की व्याख्या करें!)


## अस्वीकरण
> [!CAUTION]
> यह एक धोखा/हनीपॉट प्रणाली है। पृथक वातावरण में परिनियोजित करें और सुरक्षा घटनाओं के लिए सावधानीपूर्वक निगरानी करें। लागू कानूनों और विनियमों के अनुपालन में जिम्मेदारी से उपयोग करें।

## स्टार इतिहास
<img src="https://star-history.dera.page/svg?repos=BlessedRebuS/Krawl&amp;type=Date" width="600" alt="Star History Chart" />
टूल डाउनलोड करें
स्टैंडअलोनस्केलेबल
डेटाबेसSQLite (WAL मोड)PostgreSQL
कैशइन-मेमोरी Python dictRedis (मल्टी-टियर TTL)
रेप्लिका1 (एकल इंस्टेंस)1+ (क्षैतिज स्केलिंग)
बाहरी निर्भरताएंकोई नहींPostgreSQL + Redis
सर्वोत्तम उपयोगDev, homelabs, <500k अनुरोधप्रोडक्शन, HA, >500k अनुरोध