- सार्वजनिक Gitea server
git.xeserv.us AmazonBot requests की वजह से अस्थिर हो गया, इसलिए operator ने AmazonBot team से इस domain को block list में डालने का अनुरोध किया
robots.txt में सभी bots के लिए Disallow: / सेट किया गया था, फिर भी requests आती रहीं, जिससे public Git server चलाने का काम ही बंद करना पड़ सकता था
- AI crawlers user agent बदलकर या residential IP proxy इस्तेमाल करके blocking को मुश्किल बना देते हैं
- nginx ingress में
Amazon user agent पर 418 return करने के लिए block लगाया गया, लेकिन requests अलग-अलग IPs से जारी रहीं और करीब 10% में amazonbot user agent भी नहीं था
- आखिरकार Gitea server को फिर से VPN के पीछे ले जाया गया, और requests से पहले proof-of-work check करने वाला reverse proxy
Anubis बनाया गया
AmazonBot requests और robots.txt की सीमाएं
- operator ने AmazonBot operators से
git.xeserv.us को blocked domains list में जोड़ने का अनुरोध किया
- उन्होंने कहा कि अगर Git server को crawl करना है, तो अत्यधिक resource usage संभालने के लिए hardware upgrade cost चुकाने के बारे में संपर्क करें
- सभी bots को रोकने वाला
robots.txt पहले से configured था, लेकिन वास्तविक requests रोकने के लिए यह पर्याप्त नहीं था
User-agent: *
Disallow: /
- AI crawler bots को block करना मुश्किल क्यों है, इसे भी संक्षेप में बताया गया
- bots झूठ बोलते हैं
- user agent बदलते हैं
- residential IP addresses को proxy के रूप में इस्तेमाल करते हैं
- और भी तरीके अपनाते हैं
nginx ingress blocking और Anubis का公開 होना
- 2025-01-17 17:50 UTC पर nginx ingress configuration में user agent blocking जोड़ी गई
nginx.ingress.kubernetes.io/configuration-snippet: |
if ($http_user_agent ~* "(Amazon)" ){
return 418;
}
- इस setting के बाद भी bot हर बार अलग IP से requests करता रहा, और करीब 10% requests में
amazonbot user agent नहीं था
- 2025-01-18 19:00 UTC पर Gitea server को फिर से VPN के पीछे ले जाया गया
- इसके बाद Gitea server के front में requests allow करने से पहले proof-of-work check करने वाला reverse proxy बनाना शुरू किया गया
- 2025-01-18 23:50 UTC पर यह proxy
Anubis नाम से https://git.xeserv.us/ पर देखा जा सकने लगा
- 2025-03-26 14:27 UTC तक
Anubis एक standalone project बन गया, जिसकी documentation site है
1 टिप्पणियां
Hacker News की राय
अब वकील के नाम से पत्र भेजने का समय है। Computer Fraud and Abuse Act के अभियोजन दिशानिर्देशों को देखें तो, अमेरिकी न्याय विभाग आम तौर पर ऐसे public server access को, जो स्पष्ट हमला न हो, “unauthorized access” नहीं मानता; लेकिन उसके बाद यदि अधिकार-धारक स्पष्ट लिखित cease request भेजता है और प्रतिवादी उसे प्राप्त करके समझ लेता है, तो उस समय से इसे unauthorized माना जाता है।
इसलिए किसी वकील से “स्पष्ट cease and desist” पत्र लिखवाइए, और वकील जिस तरीके की सलाह दे—registered mail या process server के जरिए—उसे Amazon तक पहुंचा दीजिए। शायद दोनों करने चाहिए और email भी भेजना चाहिए।
इसके बाद देखें कि Amazon रुकता है या नहीं; अगर नहीं रुकता, तो आप criminal complaint दर्ज करा सकते हैं। तब Amazon भी इसे गंभीरता से लेगा।
https://www.justice.gov/jm/jm-9-48000-computer-fraud
Amazon bot को ज्ञात Amazon IP ranges से आना चाहिए और robots.txt का पालन करना चाहिए। एक Amazon engineer ने भी दूसरे comment में इसकी पुष्टि की है: https://news.ycombinator.com/item?id=42751729
अगर Amazon से मेल खाने वाली चीज सिर्फ “AmazonBot” user agent string है, और IP range या behavior मेल नहीं खाते, तो Amazon को lawyer letter भेजना पैसे जलाने जैसा है।
मुझे इस comment का solution पसंद आया: https://news.ycombinator.com/item?id=42727510
साइट में कहीं ऐसा link डालें जिस पर कोई इंसान जाने वाला नहीं, robots.txt में उसे disallow कर दें, और अगर कोई IP उस link पर जाए तो उसे 24 घंटे के लिए block कर दें। कहा जा रहा है कि OpenAI crawler खास तौर पर wildcards ignore करता है, इसलिए उसे wildcard के नीचे रखने जैसा तरीका अपनाया गया।
लेकिन जुड़े हुए IP इतने ज्यादा थे कि traffic पर लगभग कोई असर नहीं पड़ा।
मैं received headers को बहुत detail में देखने की सलाह दूंगा। varnishlog ऐसी चीजों के लिए काफी अच्छा है, और लंबे समय तक देखने पर आपको सभी requests में shared characteristics मिल सकते हैं। जैसे reported language और geographic location का अजीब combination, या वही पुराना browser version।
और भी खराब यह था कि error handler में bug था, इसलिए यह condition आने पर server process restart हो जाता था, और उस दौरान “.NET 2.0 के हिसाब से काफी ठीक-ठाक” cache implementation भी invalidate हो जाता था।
इसलिए याद है कि हमने safety measure के तौर पर canary technique डालनी शुरू की थी। कुछ simple canaries जोड़ना दूसरे web server जोड़ने से फिर भी सस्ता था। बेशक, हमने cache issue भी fix किया, और उस service पर bad requests बहुत ज्यादा होने पर “चीखने” वाला तरीका भी जोड़ा।
लेकिन मजेदार बात यह है कि उन companies के अपने crawlers ही अपने बनाए manifests को parse नहीं कर पाते थे।
हम भी सभी AI·SEO bots में यही behavior देख रहे हैं, इसलिए यह recommend करता हूं। वे robots.txt का बस नाममात्र पालन करते हैं और block करना भी मुश्किल है। crawl करते समय वे spam की तरह टूट पड़ते हैं, load बहुत बढ़ाते हैं और कई customer servers को गिरा देते हैं।
अगर AI crawlers access चाहते हैं, तो उन्हें ठीक से व्यवहार करना होगा या पैसे देने होंगे। नहीं तो नतीजा लगभग universal blocking होगा।
-j TARPITलगाया था जो/apiपर औसतन प्रति सेकंड X से ज्यादा requests कर रहे थे।cloud में इसे कैसे implement करूंगा, यह ठीक से नहीं जानता। वहां अभी तक इसकी जरूरत नहीं पड़ी।
https://gist.github.com/flaviovs/103a0dbf62c67ff371ff75fc62f...
या कम से कम शिष्टाचार के तौर पर रात में या non-peak hours में scrape करें।
मैं यह मानकर नहीं चलूंगा कि यह सचमुच Amazon है। लेखक ऐसे requests देख रहा है जिनमें residential IPs को rotate किया जा रहा है और user-agent string भी बदल रही है
बड़ी कंपनी का crawler होने का नाटक करना उन लोगों की आम तरकीब है जो ध्यान में नहीं आना चाहते। requests का residential IPs से आना इस बात का बड़ा warning sign है कि कुछ और चल रहा है
अंदरूनी तौर पर जो जानकारी देख पाया, उसके आधार पर इसके सचमुच Amazon होने की संभावना बहुत कम है। Amazonbot को robots.txt का पालन करना चाहिए और हमेशा Amazon-owned IP addresses से आना चाहिए। verification procedure यहां है: https://developer.amazon.com/en/amazonbot
मैंने इसे internally forward कर दिया है ताकि यह पक्का कर सकूं कि कहीं कोई अजीब internal team, जिसके बारे में मुझे पता नहीं, ऐसा तो नहीं कर रही। लेकिन लेखक के लिए बेहतर होगा कि इस traffic को malicious मानकर user agent को झूठा बताने वाला समझे
[1] https://brightdata.com/proxy-types/residential-proxies
हाल ही में मुझे भी यही समस्या हुई। मेरा Forgejo instance home server CPU का 100% इस्तेमाल करने लगा, क्योंकि Claude और Meta·Google के AI दोस्त लगभग अनंत links को तेज रफ्तार से hit कर रहे थे
robots.txt और Caddy की user-agent आधारित block list से कुछ हद तक कम किया, लेकिन पता नहीं यह कितने समय तक काम करेगा
scraping की शालीनता आखिर गई कहां?
इससे भी बड़ा खतरा यह है कि इनमें से कोई company, यहां तक कि खुद को “Open” कहने वाली भी, economy या national security के नजरिए से “fail होने देने लायक नहीं” आकार की हो जाए
Facebook इस बात के लिए मशहूर था कि उसने MySpace से friend list scrape करना आसान बनाया, और खुद बड़ा हो जाने के बाद अपनी site पर वही व्यवहार ban कर दिया
कृपया होश में आना होगा
क्या पक्का है कि यह Amazon बनकर किया गया DDoS नहीं है?
requests का residential IPs से आना सचमुच suspicious है
ऐसे DDoS का motive छोटे sites को गिराना और इसे Amazon की गलती जैसा दिखाकर Amazon को निशाना बनाना हो सकता है
अगर यह सचमुच Amazon है, तो शुरुआत उनके publish किए गए सभी IP ranges को block करने से होगी। हालांकि सुनने में लग रहा है कि requests उन ranges के बाहर से भी आ रहे हैं
ऐसी services users की bandwidth के लिए पैसा देती हैं और फिर उसे third parties को resell करती हैं, इसलिए काफी bot traffic residential IPs से आता हुआ दिखता है
मेरी site Pinboard भी शायद AI crawlers से पिट रही है। इस summer में यह China और Singapore IPs से शुरू हुआ था, लेकिन अब IP ranges block भी नहीं कर सकता, इसलिए CAPTCHA पर निर्भर होना पड़ रहा है
traffic level इतना है कि site को तुरंत मार दे, और मेरे पास train कराने लायक कोई interesting text भी नहीं है, सिर्फ links हैं
मुझे हैरानी है कि original poster को कैसे पता चला कि Amazon crawler वजह है। मैं भी दोष डालने के लिए कोई target ढूंढना चाहता हूं
ऐसी चीजों से लड़ने का सबसे अच्छा तरीका blocking नहीं हो सकता। blocking Amazon या किसी और company को कोई नुकसान नहीं पहुंचाती
इसके बजाय अगर bot को साफ तौर पर harmful या corrupting content खिलाया जा सके तो?
अगर यह बड़े scale पर हो और Amazon को poison data मिले, तो उन्हें उसे जल्दी हटाने पर पैसा खर्च करना पड़ेगा और वे bots को ऐसा data खाने से रोकने की कोशिश करेंगे
बेशक सबसे बड़ी समस्या यह है कि ऐसी चीज अपनी site पर रखना कोई नहीं चाहेगा
ये scrapers पहले से ही CSAM और उसके बराबर भयानक चीजें भी बिना झिझक खा रहे हैं। OpenAI के Kenya data-tagging subcontractors में से कुछ ने इसी वजह से काम छोड़ा था। यह 2023 का Time article है
अभी AI companies को data quality की परवाह नहीं, वे सिर्फ quantity देखती हैं। उन्हें नुकसान पहुंचाने का एकमात्र तरीका 0 bytes देना है
Sam Altman ने जिसकी मंजूरी दी है, उसका 10वां हिस्सा भी कोई आम आदमी करे तो सीधे जेल जाएगा
https://zadzmo.org/code/nepenthes/
Amazon और दूसरे bots द्वारा बनाए गए outbound traffic overage की भरपाई के सद्भावना संकेत के तौर पर कुछ AWS credits दे दें तो अच्छा होगा। फिर भी शायद इस post की ad revenue से यह cover हो जाएगा। ad blocker बंद कर दें तो हिसाब बराबर हो जाता है
Nginx से ब्लॉक करने से पहले, Bytespider 59% और Amazonbot 21% पर था; दोनों मिलकर हमारे Git सर्वर के कुल ट्रैफिक का 80% हिस्सा बना रहे थे
ClaudeBot ने एक महीने में Redmine पर उतना ट्रैफिक भेजा, जितना ClaudeBot से पहले के 5 वर्षों को मिलाकर भी नहीं भेजा गया था