
احتجاز أدوات تجريف الويب الذكاء الاصطناعي في حفرة سم لا نهائية.
تقوم شركات الذكاء الاصطناعي بجمع البيانات من الإنترنت باستمرار وعلى نطاق هائل، حيث تبتلع كل محتوياته لاستخدامها كبيانات تدريب لنماذجها القادمة. إذا كان لديك موقع ويب عام، فإنهم يسرقون عملك بالفعل.
جاء Miasma لمساعدتك على الرد! قم بتشغيل الخادم ووجّه أي حركة مرور خبيثة نحوه. سيرسل Miasma بيانات تدريب مسمومة من نافورة السم إلى جانب روابط متعددة ذاتية الإشارة. إنها وليمة لا نهاية لها من الرديء لآلات الرديء.
Miasma سريع كالبرق وله بصمة ذاكرة ضئيلة - لا ينبغي أن تضطر إلى إهدار موارد الحوسبة لصد علائق الإنترنت.
[!CAUTION] هناك مخاطر كامنة في نشر هذا البرنامج. يرجى قراءة الإعدادات وإخلاء المسؤولية بالكامل قبل الاستخدام.
يمكنك تشغيل Miasma محليًا، أو باستخدام صورة docker الرسمية.
إذا كنت ترغب في دمج Miasma في خادم Rust موجود، يمكنك أيضًا استخدام Miasma كمكتبة.
قم بالتثبيت باستخدام cargo (موصى به):
cargo install miasma
بدلاً من ذلك، قم بتنزيل ملف ثنائي مُجمّع مسبقًا من الإصدارات.
تتوفر أيضًا حزم يديرها المجتمع لمجموعة متنوعة من مديري الحزم:
ابدأ Miasma بالإعدادات الافتراضية:
miasma
اعرض جميع خيارات الإعدادات المتاحة:
miasma --help
شغّل Miasma باستخدام صورة docker الرسمية:
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="https://github.com/austin-weeks/miasma/blob/main/naughty-bots"
style="display: none;"
aria-hidden="true"
tabindex="-1"
>
Amazing high quality data here!
</a>
تضمن سمات style="display: none;" وaria-hidden="true" وtabindex="-1" أن تكون الروابط غير مرئية تمامًا للزوار البشر وسيتم تجاهلها بواسطة قارئات الشاشة والتنقل بلوحة المفاتيح. ستكون مرئية فقط لبرامج الكشط.
بما أن روابطنا المخفية تشير إلى /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 ونحدد /naughty-bots كبادئة الرابط. هذا يوجّه Miasma لبدء الروابط بـ /naughty-bots/، مما يضمن توجيه برامج الكشط بشكل صحيح عبر وكيل Nginx الخاص بنا عائدة إلى Miasma.
لنحدد الحد الأقصى لعدد الاتصالات الجارية بـ 50. عند 50 اتصالاً، يمكننا توقع ذروة استخدام ذاكرة تبلغ 50-60 ميجابايت. لاحظ أن أي طلبات تتجاوز هذا الحد ستتلقى فورًا استجابة 429 بدلاً من إضافتها إلى قائمة انتظار.
سنجبر أيضًا Miasma على ضغط gzip لجميع الاستجابات بغض النظر عن ترويسة Accept-Encoding الخاصة ببرامج الكشط. بما أن الاستجابات المضغوطة بـ gzip أصغر بكثير، سيساعدنا هذا في تقليل تكاليف الخروج.
بينما يمكننا إبقاء برامج الكشط محتجزة إلى الأبد، سنستخدم خيارات عدد الروابط والعمق الأقصى للسماح لبرامج الكشط بالمغادرة بعد استهلاكها ~100 ألف صفحة مسمومة. مع هذا الإعداد، سيرسل Miasma حوالي 250 ميجابايت من إجمالي البيانات لكل برنامج كشط.
miasma --link-prefix '/naughty-bots' -p 9855 -c 50 --force-gzip --link-count 5 --max-depth 8
لننشر ونشاهد بينما تلتهم الروبوتات المسيئة بشراهة من آلة الرديء اللانهائية الخاصة بنا!
robots.txtتأكد من حماية الروبوتات حسنة السلوك ومحركات البحث من Miasma عبر robots.txt!
User-agent: *
Disallow: /naughty-bots
يقدم Miasma القدرة على تتبع أعداد طلبات برامج الكشط لكل وكيل مستخدم فريد. يمكن أن يكون هذا مفيدًا لتحديد أي الروبوتات تضرب موقعك بأكبر قدر. تُكتب المقاييس إلى ملف قاعدة بيانات SQLite محلي ويمكن عرضها في نقطة نهاية تختارها.
يمكن إعداد Miasma عبر أعلام CLI أو ملف إعدادات.