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

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

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



इसके अतिरिक्त, डैशबोर्ड पासवर्ड से प्रमाणित करने के बाद, दो संरक्षित टैब उपलब्ध हो जाते हैं:
अधिक जानकारी के लिए, डैशबोर्ड दस्तावेज़ीकरण देखें।
Krawl दो डिप्लॉयमेंट मोड का समर्थन करता है, जो config.yaml में mode सेटिंग या KRAWL_MODE पर्यावरण चर द्वारा नियंत्रित होते हैं।
स्टैंडअलोन: कम अनुरोध संख्या वाले विकास परिवेशों या होमलैब के लिए आदर्श। किसी अतिरिक्त कॉन्फ़िगरेशन की आवश्यकता नहीं, बस Krawl चलाएं और यह काम करता है।
स्केलेबल: उत्पादन परिवेशों या उच्च-ट्रैफ़िक हनीपॉट के लिए डिज़ाइन किया गया। Helm चार्ट डिफ़ॉल्ट रूप से इस मोड का उपयोग करता है।
विस्तृत कॉन्फ़िगरेशन, Docker Compose उदाहरण, Kubernetes/Helm सेटअप, और चरण-दर-चरण माइग्रेशन निर्देशों के लिए, डिप्लॉयमेंट मोड दस्तावेज़ीकरण देखें।
Krawl नियमित रूप से अपडेट की जाने वाली banlist.txt आईपी पतों की एक सूची बनाए रखता है, जो उन हमलावरों से होते हैं जिन्होंने इसके हनीपॉट ट्रैप को ट्रिगर किया। बैनलिस्ट साप्ताहिक रूप से प्रकाशित की जाती है और डाउनलोड के लिए उपलब्ध है, जो समुदाय को Krawl का उपयोग किए बिना भी ज्ञात दुर्भावनापूर्ण अभिनेताओं को पूर्व-निवारक रूप से ब्लॉक करने में मदद करती है।
बैनलिस्ट को सीधे यहाँ से भी प्राप्त किया जा सकता है: https://demo.krawlme.com/das_dashboard/api/export-ips?categories=attacker&fwtype=raw
नवीनतम इमेज के साथ 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**: केवल 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:
स्केलेबल: 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
उत्पादन-तैयार कम्पोज़ फ़ाइलें docker/ निर्देशिका में भी उपलब्ध हैं। विकास के लिए (स्रोत से निर्माण जिसमें हॉट-रिलोड है), प्रोजेक्ट रूट पर कम्पोज़ फ़ाइलों का उपयोग करें।
दोनों मोडों के बारे में अधिक जानकारी के लिए, डिप्लॉयमेंट मोड देखें।
Krawl कुबेरनेट्स पर मूल रूप से भी उपलब्ध है। स्थापना या तो मैनिफेस्ट के माध्यम से या हेल्म चार्ट का उपयोग करके की जा सकती है।
हेल्म चार्ट डिफ़ॉल्ट रूप से स्केलेबल मोड पर सेट होता है जिसमें बंडल PostgreSQL और Redis शामिल हैं:```bash
helm install krawl oci://ghcr.io/blessedrebus/krawl-chart --version 2.2.0
-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
Minimal example values files are provided for both modes:
- [`values-minimal.yaml`](https://github.com/blessedrebus/krawl/blob/HEAD/helm/values-minimal.yaml) ---> Scalable (default)
- [`values-standalone.yaml`](https://github.com/blessedrebus/krawl/blob/HEAD/helm/values-standalone.yaml) ---> Standalone
See [Deployment Modes](https://github.com/blessedrebus/krawl/blob/HEAD/docs/deployment-modes.md) and [Chart documentation](https://github.com/blessedrebus/krawl/blob/HEAD/helm/README.md) for full configuration and migration instructions.
### Uvicorn (Python)
Run Krawl directly with Python 3.13+ and uvicorn for local development or testing:```bash
pip install -r requirements.txt
uvicorn app:app --host 0.0.0.0 --port 5000 --app-dir src --no-server-header
Access the server at http://localhost:5000
Krawl एक कॉन्फ़िगरेशन पदानुक्रम का उपयोग करता है जिसमें पर्यावरण चर कॉन्फ़िगरेशन फ़ाइल पर प्राथमिकता लेते हैं. यह दृष्टिकोण Docker तैनातियों और त्वरित आउट-ऑफ-द-बॉक्स अनुकूलन के लिए अनुशंसित है.
आप उन्नत कॉन्फ़िगरेशन के लिए config.yaml फ़ाइल का उपयोग कर सकते हैं, जैसे Docker Compose या Helm चार्ट तैनातियाँ.
उदाहरण के लिए```bash
export CONFIG_LOCATION="config.yaml" export KRAWL_CANARY_TOKEN_URL="http://your-canary-token-url"
export KRAWL_LINKS_PER_PAGE_RANGE="5,25"
export KRAWL_HTTP_RISKY_METHODS_THRESHOLD="0.2" export KRAWL_VIOLATED_ROBOTS_THRESHOLD="0.15"
export KRAWL_DASHBOARD_SECRET_PATH="/my-secret-dashboard" export KRAWL_DASHBOARD_PASSWORD="my-secret-password"
env variables (standalone mode) के साथ Docker run का उदाहरण:```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
Krawl हमलावर आईपी पतों को वर्गीकृत करने के लिए एक प्रतिष्ठा-आधारित प्रणाली का उपयोग करता है और फ़ायरवॉल एकीकरण के लिए आईपी सूचियों को निर्यात करने के दो तरीके प्रदान करता है।
/api/export-ips एंडपॉइंट सीधे डेटाबेस से क्वेरी करता है और आईपी श्रेणी (attacker, bad_crawler, regular_user, good_crawler) और आउटपुट प्रारूप (raw, iptables, nftables) द्वारा फ़िल्टरिंग का समर्थन करता है:```bash
curl "https://your-krawl-instance//api/export-ips?categories=attacker&fwtype=raw"
यह विभिन्न प्लेटफार्मों पर दुर्भावनापूर्ण ट्रैफ़िक को स्वचालित रूप से अवरुद्ध करने में सक्षम बनाता है:
* [OPNsense and pfSense](https://ipv64.net/v64_blocklist_integration_guide)
* [RouterOS](https://rentry.co/krawl-routeros)
* [IPtables](https://github.com/blessedrebus/krawl/blob/HEAD/plugins/iptables/README.md) and [Nftables](https://github.com/blessedrebus/krawl/blob/HEAD/plugins/nftables/README.md)
* [Fail2Ban](https://github.com/blessedrebus/krawl/blob/HEAD/plugins/fail2ban/README.md)
पूर्ण API पैरामीटर, उदाहरण और कस्टम फ़ायरवॉल प्रारूप जोड़ने के लिए, [फ़ायरवॉल निर्यातक दस्तावेज़](https://github.com/blessedrebus/krawl/blob/HEAD/docs/firewall-exporters.md) देखें।
## IP प्रतिष्ठा
Krawl [हाल के ट्रैफ़िक का विश्लेषण करने और IP प्रतिष्ठा स्कोर बनाने और लगातार अपडेट करने के लिए कार्यों का उपयोग करता है](https://github.com/blessedrebus/krawl/blob/HEAD/src/tasks/analyze_ips.py)। यह समय-समय पर चलता है और प्रत्येक सक्रिय IP पते का मूल्यांकन कई व्यवहार संकेतकों के आधार पर करता है ताकि इसे हमलावर, क्रॉलर या नियमित उपयोगकर्ता के रूप में वर्गीकृत किया जा सके। थ्रेशोल्ड पूरी तरह से अनुकूलन योग्य हैं।

विश्लेषण में शामिल हैं:
- **जोखिमपूर्ण HTTP विधियों का उपयोग** (जैसे POST, PUT, DELETE अनुपात)
- **Robots.txt उल्लंघन**
- **अनुरोध समय विसंगतियाँ** (फटने वाले या अनियमित पैटर्न)
- **User-Agent संगति**
- **हमले URL का पता लगाना** (जैसे SQL injection, XSS पैटर्न)
प्रत्येक संकेत एक भारित स्कोरिंग मॉडल में योगदान देता है जो एक प्रतिष्ठा श्रेणी निर्दिष्ट करता है:
- `attacker`
- `bad_crawler`
- `good_crawler`
- `regular_user`
- `unknown` (अपर्याप्त डेटा के लिए)
परिणामी स्कोर और मीट्रिक डेटाबेस में संग्रहीत किए जाते हैं और Krawl द्वारा डैशबोर्ड, प्रतिष्ठा ट्रैकिंग और स्वचालित शमन कार्रवाइयों जैसे IP प्रतिबंध या फ़ायरवॉल एकीकरण को चलाने के लिए उपयोग किए जाते हैं।
## AI-जनरेटेड धोखा पृष्ठ
Krawl **OpenRouter** या **OpenAI** API का उपयोग करके 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
विस्तृत कॉन्फ़िगरेशन और उपयोग के लिए, AI Generation दस्तावेज़ीकरण देखें।
आप deception टेम्पलेट्स का योगदान भी PR खोलकर कर सकते हैं, डिसेप्शन टेम्पलेट्स का योगदान देखें।
यदि Krawl को NGINX जैसे प्रॉक्सी के पीछे तैनात किया गया है, तो server header को आपके प्रॉक्सी में निम्नलिखित कॉन्फ़िगरेशन का उपयोग करके अग्रेषित किया जाना चाहिए:```bash location / { proxy_pass https://your-krawl-instance; proxy_pass_header Server; }
## मीट्रिक्स और मॉनिटरिंग
Krawl [Prometheus](https://prometheus.io/) मीट्रिक्स को `/<dashboard_secret_path>/metrics` पर उजागर करता है (डिफ़ॉल्ट रूप से सक्षम) और एक तैयार-से-आयात [Grafana](https://grafana.com/) डैशबोर्ड के साथ आता है जो [`grafana-dashboard.json`](https://github.com/blessedrebus/krawl/blob/HEAD/grafana-dashboard.json) पर है।
पूर्ण मीट्रिक सूची, Grafana आयात चरणों, और Prometheus / Kubernetes (`ServiceMonitor`) स्क्रैपिंग सेटअप के लिए [मॉनिटरिंग दस्तावेज़ीकरण](https://github.com/blessedrebus/krawl/blob/HEAD/docs/monitoring.md) देखें।
## अतिरिक्त दस्तावेज़ीकरण
| विषय | विवरण |
|-------|-------------|
| [AI जनरेशन](https://github.com/blessedrebus/krawl/blob/HEAD/docs/ai_generation.md) | OpenRouter या OpenAI का उपयोग करके AI-जनरेटेड डिसेप्शन पेज कॉन्फ़िगर करें |
| [डिसेप्शन पेज](https://github.com/blessedrebus/krawl/blob/HEAD/docs/deception_pages.md) | डिसेप्शन पेज प्रबंधित करें, आयात करें और निर्यात करें; बल्क ऑपरेशन और दिनांक-आधारित फ़िल्टरिंग |
| [डिप्लॉयमेंट मोड](https://github.com/blessedrebus/krawl/blob/HEAD/docs/deployment-modes.md) | स्टैंडअलोन (SQLite) बनाम स्केलेबल (PostgreSQL + Redis) मोड, कॉन्फ़िगरेशन और डेटा माइग्रेशन |
| [हनीपॉट](https://github.com/blessedrebus/krawl/blob/HEAD/docs/honeypot.md) | हनीपॉट पेजों का पूरा अवलोकन: नकली लॉगिन, डायरेक्ट्री लिस्टिंग, क्रेडेंशियल फ़ाइलें, SQLi/XSS/XXE/कमांड इंजेक्शन ट्रैप और अधिक |
| [डैशबोर्ड](https://github.com/blessedrebus/krawl/blob/HEAD/docs/dashboard.md) | रीयल-टाइम मॉनिटरिंग डैशबोर्ड तक पहुंचें और अन्वेषण करें |
| [API](https://github.com/blessedrebus/krawl/blob/HEAD/docs/api.md) | Krawl द्वारा IP डेटा, प्रतिष्ठा और जियोलोकेशन के लिए उपयोग किए जाने वाले बाहरी API |
| [रिवर्स प्रॉक्सी](https://github.com/blessedrebus/krawl/blob/HEAD/docs/reverse-proxy.md) | NGINX के पीछे Krawl को तैनात करने या डिकॉय सबडोमेन का उपयोग करने का तरीका |
| [डेटाबेस बैकअप](https://github.com/blessedrebus/krawl/blob/HEAD/docs/backups.md) | स्वचालित डेटाबेस डंप जॉब को सक्षम और कॉन्फ़िगर करें |
| [कैनरी टोकन](https://github.com/blessedrebus/krawl/blob/HEAD/docs/canary-token.md) | canarytokens.org के माध्यम से बाहरी अलर्ट ट्रिगर सेट अप करें |
| [वर्डलिस्ट](https://github.com/blessedrebus/krawl/blob/HEAD/docs/wordlist.md) | नकली उपयोगकर्ता नाम, पासवर्ड और डायरेक्ट्री लिस्टिंग को अनुकूलित करें |
| [आर्किटेक्चर](https://github.com/blessedrebus/krawl/blob/HEAD/docs/architecture.md) | कोडबेस, अनुरोध पाइपलाइन, डेटाबेस स्कीमा और बैकग्राउंड कार्यों का तकनीकी अवलोकन |
| [फ़ायरवॉल एक्सपोर्टर](https://github.com/blessedrebus/krawl/blob/HEAD/docs/firewall-exporters.md) | REST API के माध्यम से IP बैनलिस्ट को raw, iptables या nftables प्रारूप में निर्यात करें |
| [मीट्रिक्स और मॉनिटरिंग](https://github.com/blessedrebus/krawl/blob/HEAD/docs/monitoring.md) | Prometheus मीट्रिक्स एंडपॉइंट, उजागर मीट्रिक्स संदर्भ, Grafana डैशबोर्ड और ServiceMonitor स्क्रैपिंग |
## योगदान
योगदान का स्वागत है! कृपया:
1. रिपॉजिटरी को फोर्क करें
2. एक फीचर ब्रांच बनाएं
3. अपने बदलाव करें
4. एक पुल रिक्वेस्ट सबमिट करें (बदलावों की व्याख्या करें!)
## अस्वीकरण
> [!CAUTION]
> यह एक डिसेप्शन/हनीपॉट सिस्टम है। अलग-थलग वातावरण में तैनात करें और सुरक्षा घटनाओं के लिए सावधानीपूर्वक निगरानी करें। जिम्मेदारी से और लागू कानूनों और नियमों के अनुपालन में उपयोग करें।
## स्टार हिस्ट्री
<img src="https://assets.kitploit.com/production/public/readmes/placeholders/f0fc86cfe65f76d40e15aaec61704ec8220a56dc89d4be03c46f67cb31b9fa8c.svg" width="600" alt="स्टार हिस्ट्री चार्ट" />
| स्टैंडअलोन | स्केलेबल |
|---|
| डेटाबेस | SQLite (WAL mode) | PostgreSQL |
| कैश | In-memory Python dict | Redis (multi-tier TTL) |
| रिप्लिका | 1 (single instance) | 1+ (horizontal scaling) |
| बाहरी निर्भरताएँ | None | PostgreSQL + Redis |
| सबसे उपयुक्त | Dev, homelabs, <500k requests | Production, HA, >500k requests |
| पर्यावरण चर | विवरण | डिफ़ॉल्ट |
|---|
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_CANARY_TOKEN_URL | बाहरी कैनरी टोकन URL | None |
KRAWL_CANARY_TOKEN_TRIES | कैनरी टोकन दिखाने से पहले अनुरोध | 10 |
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_PROBABILITY_ERROR_CODES | त्रुटि प्रतिक्रिया संभावना (0-100%) | 0 |
KRAWL_DATABASE_PATH | डेटाबेस फ़ाइल स्थान | data/krawl.db |
KRAWL_DATABASE_PERSIST_SUSPICIOUS_ONLY | एक्सेस लॉग में केवल संदिग्ध अनुरोधों को संग्रहीत करें | false |
KRAWL_BACKUPS_PATH | डेटाबेस डंप सहेजे जाने का पथ | backups |
KRAWL_BACKUPS_CRON | बैकअप जॉब शेड्यूल को नियंत्रित करने के लिए cron अभिव्यक्ति | */30 * * * * |
KRAWL_BACKUPS_ENABLED | db डंप कार्य सक्षम करने के लिए बूलियन | true |
KRAWL_DATABASE_RETENTION_DAYS | डेटाबेस में डेटा बनाए रखने के दिन | 30 |
KRAWL_TARPIT_ENABLED | AI एजेंटों को धीमी प्रतिक्रियाओं और यादृच्छिक पाठ से फँसाएँ | false |
KRAWL_TARPIT_DELAY_SECONDS | जब टार्पिट सक्रिय हो तो प्रति प्रतिक्रिया जोड़ा गया अतिरिक्त विलंब (सेकंड में) | 5 |
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 |
KRAWL_INFINITE_PAGES_FOR_MALICIOUS | दुर्भावनापूर्ण IP को अनंत पृष्ठ प्रदान करें | true |
KRAWL_MAX_PAGES_LIMIT | क्रॉलर के लिए अधिकतम पृष्ठ सीमा | 250 |
KRAWL_BAN_DURATION_SECONDS | दर-सीमित IP के लिए प्रतिबंध अवधि (सेकंड में) | 600 |
KRAWL_AI_ENABLED | AI-उत्पन्न भ्रामक पृष्ठ सक्षम करें | false |
KRAWL_AI_PROVIDER | AI प्रदाता ("openrouter" या "openai") | "openrouter" |
KRAWL_AI_OPENAI_BASE_URL | कस्टम API एंडपॉइंट के लिए वैकल्पिक OpenAI बेस 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_CUSTOM_TEMPLATE_PATH | कंटेनर के अंदर कस्टम HTML टेम्पलेट का पथ. टेम्पलेट में {counter} और {content} प्लेसहोल्डर शामिल होने चाहिए. | /templates/custom_page.html |
| स्केलेबल मोड | ||
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 | हॉट-पथ डेटा के लिए TTL (सेकंड में) (प्रतिबंध जानकारी, IP श्रेणियाँ) | 30 |
KRAWL_REDIS_TABLE_TTL | पृष्ठांकित डैशबोर्ड तालिकाओं के लिए TTL (सेकंड में) | 120 |