अपडेट पर वापस जाएँ
New releaseAug 7, 2026

miasma v0.4.1

एआई वेब स्क्रैपर्स को एक अंतहीन जहरीले गड्ढे में फंसाएं।

साझा करें

🌀 Miasma

No AI crates.io downloads Release GitHub commits since latest release

वेब क्रॉलर ज़हरीले मियाज़्मा के बादल में फँस रहे हैं।

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

Miasma यहाँ आपकी जवाबी कार्रवाई में मदद करने के लिए है! सर्वर चालू करें और किसी भी दुर्भावनापूर्ण ट्रैफ़िक को उसकी ओर इंगित करें। Miasma पॉइज़न फाउंटेन से ज़हरीला प्रशिक्षण डेटा और कई स्व-संदर्भित लिंक भेजेगा। यह स्लॉप मशीनों के लिए स्लॉप का एक अंतहीन बुफ़े है।

Miasma बिजली की तरह तेज़ है और इसकी मेमोरी खपत न्यूनतम है - इंटरनेट की जोंकों से बचाव के लिए आपको कंप्यूट संसाधन बर्बाद नहीं करने चाहिए।

[!CAUTION] इस सॉफ़्टवेयर को तैनात करने में अंतर्निहित जोखिम है। कृपया उपयोग से पहले कॉन्फ़िगरेशन और अस्वीकरण को पूरी तरह पढ़ें।

उपयोग

आप Miasma को स्थानीय रूप से या आधिकारिक डॉकर इमेज के साथ चला सकते हैं।

यदि आप Miasma को किसी मौजूदा Rust सर्वर में शामिल करना चाहते हैं, तो आप लाइब्रेरी के रूप में Miasma का उपयोग भी कर सकते हैं।

स्थानीय रूप से चलाना

cargo के साथ इंस्टॉल करें (अनुशंसित):

cargo install miasma

वैकल्पिक रूप से, रिलीज़ से पहले से बना बाइनरी डाउनलोड करें।

विभिन्न पैकेज मैनेजरों के लिए समुदाय-अनुरक्षित पैकेज भी उपलब्ध हैं:

पैकेजिंग स्थिति

डिफ़ॉल्ट कॉन्फ़िगरेशन के साथ Miasma शुरू करें:

miasma

सभी उपलब्ध कॉन्फ़िगरेशन विकल्प देखें:

miasma --help

Docker के साथ चलाना

आधिकारिक डॉकर इमेज का उपयोग करके Miasma चलाएँ:

docker run --rm -p 9999:9999 austinweeks/miasma:latest

वही कॉन्फ़िगरेशन फ़्लैग पास करें जो आप स्थानीय रूप से उपयोग करेंगे:

docker run --rm -p 9999:9999 austinweeks/miasma:latest \
    --link-prefix '/naughty-bots' \
    --max-in-flight 30

या, docker compose क्लस्टर के भीतर चलाएँ:

services:
  miasma:
    image: austinweeks/miasma:latest
    command: ["--link-prefix", "/naughty-bots", "--max-in-flight", "30"]
    ports:
      - 9999:9999

स्क्रेपर्स को कैसे फँसाएँ

आइए Miasma के साथ स्क्रेपर्स को फँसाने के लिए सर्वर स्थापित करने का एक उदाहरण देखें। हम स्क्रेपर ट्रैफ़िक को निर्देशित करने के लिए अपने सर्वर के पथ के रूप में /naughty-bots चुनेंगे। हम अपने सर्वर के रिवर्स प्रॉक्सी के रूप में Nginx का उपयोग करेंगे, लेकिन कई अलग-अलग सेटअपों के साथ भी यही परिणाम प्राप्त किया जा सकता है।

जब हम समाप्त कर लेंगे, तो स्क्रेपर्स इस प्रकार फँस जाएँगे:

फँसे हुए स्क्रेपर्स के चक्र को दर्शाता फ़्लो चार्ट।

छिपे हुए लिंक एम्बेड करना

अपनी साइट के भीतर, हम /naughty-bots की ओर जाने वाले कुछ छिपे हुए लिंक शामिल करेंगे।

<a
  href="/naughty-bots/"
  style="display: none;"
  aria-hidden="true"
  tabindex="-1"
>
  Amazing high quality data here!
</a>

style="display: none;", aria-hidden="true" और tabindex="-1" विशेषताएँ सुनिश्चित करती हैं कि लिंक मानव आगंतुकों के लिए पूरी तरह अदृश्य हों और स्क्रीन रीडर व कीबोर्ड नेविगेशन द्वारा अनदेखा किए जाएँ। वे केवल स्क्रेपर्स को दिखाई देंगे।

अपना Nginx प्रॉक्सी कॉन्फ़िगर करना

चूँकि हमारे छिपे हुए लिंक /naughty-bots/ की ओर इंगित करते हैं, हम Miasma को अनुरोध प्रॉक्सी करने के लिए इस पथ को कॉन्फ़िगर करेंगे। मान लेते हैं कि हम Miasma को पोर्ट 9855 पर चला रहे हैं।

हम स्क्रेपर के यूज़र-एजेंट के आधार पर आक्रामक रेट लिमिटिंग भी स्थापित करेंगे ताकि यह सुनिश्चित हो सके कि हम गलती से खुद पर DDoS न कर लें।

http {
  # Reserve 8MB memory for tracking user agents
  limit_req_zone $http_user_agent zone=miasma:8m rate=1r/s;

  server {
    location = /naughty-bots {
      port_in_redirect off;
      return 301 /naughty-bots/;
    }
    location /naughty-bots/ {
      # Rate limit via the 'miasma' zone with no queueing
      limit_req_status 429;
      limit_req zone=miasma burst=5 nodelay;

      # Proxy requests to Miasma
      proxy_pass http://localhost:9855/;
    }
  }
}

यह कॉन्फ़िगरेशन /naughty-bots पथ के सभी रूपों को पकड़ लेगा -> /naughty-bots, /naughty-bots/, /naughty-bots/12345, आदि।

Miasma चलाएँ

अंत में, हम Miasma शुरू करेंगे और /naughty-bots को लिंक प्रीफ़िक्स के रूप में निर्दिष्ट करेंगे। यह Miasma को लिंक /naughty-bots/ से शुरू करने का निर्देश देता है, जो सुनिश्चित करता है कि स्क्रेपर्स हमारे Nginx प्रॉक्सी के माध्यम से वापस Miasma तक ठीक से रूट हों।

आइए अधिकतम इन-फ़्लाइट कनेक्शन की संख्या को 50 तक सीमित करें। 50 कनेक्शनों पर, हम 50-60 MB पीक मेमोरी उपयोग की उम्मीद कर सकते हैं। ध्यान दें कि इस सीमा से अधिक कोई भी अनुरोध कतार में जोड़े जाने के बजाय तुरंत 429 प्रतिक्रिया प्राप्त करेगा।

हम Miasma को स्क्रेपर्स के Accept-Encoding हेडर की परवाह किए बिना सभी प्रतिक्रियाओं को gzip कंप्रेस करने के लिए भी बाध्य करेंगे। चूँकि gzip की गई प्रतिक्रियाएँ काफी छोटी होती हैं, इससे हमें ईग्रेस लागत कम करने में मदद मिलेगी।

हालाँकि हम स्क्रेपर्स को हमेशा के लिए फँसाए रख सकते हैं, हम लिंक काउंट और अधिकतम डेप्थ विकल्पों का उपयोग करके स्क्रेपर्स को ~100K ज़हरीले पेज उपभोग करने के बाद छोड़ देंगे। इस सेटअप के साथ, Miasma प्रति स्क्रेपर लगभग 250MB कुल डेटा भेजेगा।

miasma --link-prefix '/naughty-bots' -p 9855 -c 50 --force-gzip --link-count 5 --max-depth 8

आनंद लें!

आइए तैनात करें और देखें कि कैसे दुर्व्यवहार करने वाले बॉट हमारी अंतहीन स्लॉप मशीन से लालच से खाते हैं!

robots.txt

अपने robots.txt के माध्यम से अच्छे व्यवहार वाले बॉट्स और सर्च इंजनों को Miasma से सुरक्षित रखना सुनिश्चित करें!

User-agent: *
Disallow: /naughty-bots

मेट्रिक्स

Miasma प्रत्येक अद्वितीय User-Agent के लिए स्क्रेपर अनुरोध संख्या ट्रैक करने की क्षमता प्रदान करता है। यह पहचानने के लिए उपयोगी हो सकता है कि कौन से बॉट आपकी साइट को सबसे अधिक हिट कर रहे हैं। मेट्रिक्स एक स्थानीय SQLite डेटाबेस फ़ाइल में लिखे जाते हैं और आपकी पसंद के एंडपॉइंट पर देखे जा सकते हैं।

कॉन्फ़िगरेशन

Miasma को CLI फ़्लैग या कॉन्फ़िग फ़ाइल के माध्यम से कॉन्फ़िगर किया जा सकता है।

विकल्पडिफ़ॉल्टविवरण
config-fileनिर्दिष्ट फ़ाइल पथ पर एक फ़ाइल से कॉन्फ़िगरेशन विकल्प लोड करें। YAML, TOML और JSON प्रारूप समर्थित हैं। उदाहरणों के लिए docs देखें।
port9999वह पोर्ट जिससे सर्वर को बाइंड होना चाहिए।
hostlocalhostवह होस्ट पता जिससे सर्वर को बाइंड होना चाहिए।
unix-socketTCP पते के बजाय Unix डोमेन सॉकेट से बाइंड करें। केवल Unix-जैसी प्रणालियों पर उपलब्ध।
max-in-flight500अनुमत इन-फ़्लाइट अनुरोधों की अधिकतम संख्या। इन-फ़्लाइट सीमा पार होने पर प्राप्त अनुरोधों को 429 प्रतिक्रिया मिलेगी। Miasma की मेमोरी खपत सीधे इन-फ़्लाइट अनुरोधों की संख्या के साथ बढ़ती है - यदि मेमोरी उपयोग चिंता का विषय है तो इसे कम मान पर सेट करें।
link-prefix/स्व-निर्देशित लिंक के लिए प्रीफ़िक्स। यह वह पथ होना चाहिए जहाँ आप Miasma होस्ट करते हैं, जैसे /naughty-bots
link-count5प्रत्येक प्रतिक्रिया पृष्ठ में शामिल करने के लिए स्व-निर्देशित लिंक की संख्या।
max-depthnoneस्क्रेपर निर्दिष्ट डेप्थ तक पहुँचने पर लिंक उत्पन्न करना बंद करें। यह आपको वांछित मात्रा में ज़हर परोसने के बाद स्क्रेपर्स को काटने की अनुमति देता है। सक्रिय स्क्रेपर्स की संख्या को प्रबंधनीय स्तर पर रखने के लिए इसे link-count के साथ मिलकर उपयोग करें।
force-gzipfalseक्लाइंट के Accept-Encoding हेडर की परवाह किए बिना हमेशा gzip प्रतिक्रियाएँ भेजें। कंप्रेशन बाध्य करने से ईग्रेस लागत कम करने में मदद मिल सकती है।
unsafe-allow-htmlfalseपॉइज़न स्रोत की प्रतिक्रियाओं में HTML वर्णों को एस्केप न करें। अनपेक्षित क्लाइंट-साइड JavaScript निष्पादन को रोकने के लिए एस्केपिंग डिफ़ॉल्ट रूप से सक्षम है। इस विकल्प का उपयोग सावधानी से करें।
poison-sourcehttps://rnsaffn.com/poison2/?mask=0ज़हरीले प्रशिक्षण डेटा के लिए प्रॉक्सी स्रोत।
no-poison-cachefalseपॉइज़न स्रोत प्रतिक्रिया कैशिंग अक्षम करें।
metrics-db-pathमेट्रिक्स डेटा संग्रहीत करने के लिए SQLite डेटाबेस फ़ाइल का पथ। यदि पहले से मौजूद नहीं है तो Miasma इस स्थान पर एक डेटाबेस बनाएगा।
metrics-usernameMiasma के मेट्रिक्स पृष्ठ तक पहुँचने के लिए आवश्यक Basic auth उपयोगकर्ता नाम।
metrics-passwordMiasma के मेट्रिक्स पृष्ठ तक पहुँचने के लिए आवश्यक Basic auth पासवर्ड।
metrics-endpoint/metricsवह एंडपॉइंट जिस पर Miasma के मेट्रिक्स प्रदान किए जाएँगे।

अस्वीकरण

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

Miasma प्रभावित स्क्रेपर्स के संचालकों से किसी भी प्रतिक्रिया के लिए ज़िम्मेदार नहीं है। लागू कानूनों और होस्टिंग प्रदाता नीतियों का पालन करना आपकी ज़िम्मेदारी है। पूर्ण वारंटी और दायित्व की सीमा विवरण के लिए LICENSE (GPL-v3) देखें।


कवर कला: @cerberussaturn07

श्रेणियाँ