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

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

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

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

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

श्रेणियाँ

सभी श्रेणियाँ देखें
Loading categories
anubis-fetch — curl की तरह, लेकिन यह Anubis और Cloudflare bot-walls को पार कर जाता है। | Kitploit
उपकरण/GitHubGitHub/fzakaria/anubis-fetch
स्क्रिप्टिंग और स्वचालनWAF बाईपासवेब सुरक्षाउपयोगिताएँ और फ्रेमवर्कएंटी-बॉटफिंगरप्रिंट स्पूफिंग
GitHubfzakaria/anubis-fetch

anubis-fetch

curl की तरह, लेकिन यह Anubis और Cloudflare bot-walls को पार कर जाता है।

रिपॉजिटरी देखें
301102 दिन पहलेKitploit द्वारा समीक्षित

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

सभी देखें →

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

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

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

सभी उपकरण देखें →
साझा करें

anubis-fetch

Built with Nix CI License: MIT

root@kitploit:~
$ nix run github:fzakaria/anubis-fetch -- https://lore.kernel.org/linux-mm/some-thread/T/

एक तेज़ (Go) CLI जो Anubis प्रूफ-ऑफ-वर्क दीवारों और Cloudflare फ़िंगरप्रिंट जाँचों के पीछे से URL प्राप्त करता है — चुनौती को इन-प्रोसेस हल करता है, और केवल तभी वास्तविक ब्राउज़र का उपयोग करता है जब आवश्यक हो।

बढ़ती संख्या में साइटें — lore.kernel.org, GNOME, kernel.org, और कई अन्य — Anubis के पीछे बैठी हैं, जो एक बॉट-दीवार है जो आपके ब्राउज़र को कोई सामग्री प्रस्तुत करने से पहले SHA-256 प्रूफ-ऑफ-वर्क हल करने के लिए मजबूर करती है। यह स्क्रैपर्स को रोकने में बहुत अच्छा है। यह आपको भी रोकने में बहुत अच्छा है जब आप बस एक मेलिंग-लिस्ट थ्रेड को करना चाहते हैं:

curl
root@kitploit:~
$ curl -s https://lore.kernel.org/linux-mm/some-thread/T/ | grep -o '<title>.*</title>'
<title>Making sure you&#39;re not a bot!</title>   # 🤢

anubis-fetch आपको वास्तविक पृष्ठ प्राप्त कराता है:

root@kitploit:~
$ anubis-fetch https://lore.kernel.org/linux-mm/some-thread/T/ | grep -o '<title>.*</title>'
<title>[PATCH 0/2] ...</title>                     # 🥳

यह कैसे काम करता है

बॉट-दीवारें दो अलग-अलग स्तरों पर रहती हैं, और anubis-fetch दोनों को संभालता है, सबसे सस्ता कदम पहले:

  1. सहेजी गई कुकी का पुन: उपयोग करें। एक बार पास करने के बाद Anubis एक हस्ताक्षरित प्रमाणीकरण कुकी (techaro.lol-anubis-auth) प्रदान करता है; ब्राउज़र को अगली यात्रा पर फिर से चुनौती नहीं दी जाती, और न ही हमें दी जाती है। कुकीज़ प्रति होस्ट संग्रहीत की जाती हैं (देखें कुकी स्थिरता).
  2. प्रूफ-ऑफ-वर्क को इन-प्रोसेस हल करें। अनुरोध req के माध्यम से एक वास्तविक Chrome का प्रतिरूपण करके बाहर जाता है — समान TLS/JA3 + HTTP/2 फ़िंगरप्रिंट — जो Cloudflare की निष्क्रिय फ़िंगरप्रिंटिंग को भी साफ़ करता है। यदि प्रतिक्रिया एक Anubis चुनौती है, तो हम नॉन्स को ब्रूट-फोर्स करते हैं और इसे सबमिट करते हैं। कोई ब्राउज़र नहीं, ~0.6 सेकंड।
  3. वास्तविक ब्राउज़र पर वापस आना। किसी भी चीज़ के लिए जो तेज़ पथ नहीं कर सकता, हम chromedp के माध्यम से हेडलेस Chromium चलाते हैं, जो साइट द्वारा दिए गए किसी भी JavaScript को चलाता है।

[!NOTE] फ़ॉलबैक इनके लिए सक्रिय होता है: Anubis की preact / metarefresh चुनौती विधियाँ, एक अज्ञात/भविष्य की विधि, ब्रूट-फोर्स करने के लिए बहुत अधिक कठिनाई, एक अस्वीकृत समाधान, या एक Cloudflare सक्रिय JS चुनौती (Managed Challenge / Turnstile / "I'm Under Attack")। प्रतिरूपण निष्क्रिय Cloudflare को साफ़ करता है; केवल एक ब्राउज़र सक्रिय JS स्तरों को साफ़ करता है। इसलिए anubis-fetch "धीमा" हो जाता है, कभी "टूटा हुआ" नहीं।

हर चीज़ के लिए केवल ब्राउज़र क्यों नहीं?

क्योंकि यह ~4× धीमा है और प्रत्येक फ़ेच में ~200 MB के Chromium को खींचता है। इन-प्रोसेस सॉल्वर सामान्य मामला है; ब्राउज़र सुरक्षा जाल है।

पथसमयChromium की आवश्यकता
हल (Anubis प्रूफ-ऑफ-वर्क)~0.6 सेकंडनहीं
ब्राउज़र फ़ॉलबैक~2.0 सेकंडहाँ

Anubis प्रूफ-ऑफ-वर्क, संक्षेप में

Anubis पृष्ठ में JSON के रूप में एक चुनौती एम्बेड करता है:

root@kitploit:~
{"rules":{"algorithm":"fast","difficulty":4},
 "challenge":{"id":"…","method":"fast","randomData":"6214bd88…","difficulty":4}}

इसे हल करने का अर्थ है एक नॉन्स ढूँढना जैसे कि hex(sha256(randomData ‖ nonce)) difficulty शून्य वर्णों से शुरू होता है (nonce इसके आधार-10 स्ट्रिंग है)। फिर हम उत्तर वापस भेजते हैं:

root@kitploit:~
GET /.within.website/x/cmd/anubis/api/pass-challenge?id=…&response=<hash>&nonce=<n>&redir=<url>&elapsedTime=<ms>

…जो प्रमाणीकरण कुकी सेट करता है और वास्तविक पृष्ठ पर रीडायरेक्ट करता है। कठिनाई 4 (lore/kernel.org/GNOME पर डिफ़ॉल्ट) ~65k हैश है — Go में उप-मिलीसेकंड।

स्थापना

सीधे चलाएँ:

root@kitploit:~
$ nix run github:fzakaria/anubis-fetch -- <url>

अपने प्रोफ़ाइल में स्थापित करें:

root@kitploit:~
$ nix profile install github:fzakaria/anubis-fetch

या इसे अपने स्वयं के flake में जोड़ें:

root@kitploit:~
{
  inputs.anubis-fetch.url = "github:fzakaria/anubis-fetch";
  # तब, उदा. home.packages / environment.systemPackages में:
  #   inputs.anubis-fetch.packages.${system}.default
}

उपयोग

root@kitploit:~
$ anubis-fetch [flags] URL
फ़्लैगअर्थ
--textHTML के बजाय पढ़ने योग्य सादा पाठ प्रस्तुत करें
--timeout MSप्रति-चरण टाइमआउट मिलीसेकंड में (डिफ़ॉल्ट 30000)
--ua STRINGUser-Agent को ओवरराइड करें
--browserसॉल्वर छोड़ें; सीधे हेडलेस ब्राउज़र पर जाएँ
--no-browserकभी ब्राउज़र का उपयोग न करें; यदि हल लागू नहीं हो सकता तो 3 निकास कोड दें
--no-cacheस्थायी कुकी जार को पढ़ें या लिखें नहीं
root@kitploit:~
# HTML से stdout
$ anubis-fetch https://lore.kernel.org/linux-mm/some-thread/T/

# पढ़ने योग्य सादा पाठ
$ anubis-fetch --text https://lore.kernel.org/linux-mm/some-thread/T/

# न्यूनतम/तेज़ केवल — स्क्रिप्ट में उपयोगी; यदि ब्राउज़र की आवश्यकता होती है तो 3 निकास कोड देता है
$ anubis-fetch --no-browser https://example.com/ && echo "got it"

कुकी स्थिरता

सफल फ़ेच के बाद, प्रमाणीकरण कुकी को $XDG_CACHE_HOME/anubis-fetch/cookies/<host>.json पर लिखा जाता है (वापस ~/.cache/… पर आते हुए)। उस होस्ट के लिए अगली रन सीधे अंदर जाती है — कोई प्रूफ-ऑफ-वर्क नहीं, कोई ब्राउज़र नहीं — बिल्कुल ब्राउज़र पुनरीक्षण की तरह। ब्राउज़र फ़ॉलबैक के माध्यम से प्राप्त कुकीज़ भी सहेजी जाती हैं, ताकि बाद की रन तेज़ HTTP पथ ले सके। अक्षम करने के लिए --no-cache का उपयोग करें, या पुन: समाधान के लिए बस फ़ाइल हटा दें।

विकास

सब कुछ flake के माध्यम से जुड़ा है:

root@kitploit:~
$ nix develop          # डेव शेल: go, gopls, chromium, treefmt
$ go test ./...        # यूनिट परीक्षण (हर्मेटिक — कोई नेटवर्क नहीं)
$ nix build            # लिपटे बाइनरी का निर्माण
$ nix flake check      # निर्माण + परीक्षण + फ़ॉर्मेटिंग
$ nix fmt              # treefmt के माध्यम से Go + Nix को फ़ॉर्मेट करें (gofmt + alejandra)

प्रूफ-ऑफ-वर्क का कार्यान्वयन Anubis के अपने प्रकाशित परीक्षण वेक्टर (sha256("hunter" + "0")) के विरुद्ध पिन किया गया है, ताकि हैश निर्माण में किसी भी बदलाव से मूक रूप से गलत आउटपुट देने के बजाय एक यूनिट परीक्षण विफल हो जाए।

पूर्व कला और धन्यवाद

  • TecharoHQ/anubis — बॉट-दीवार जिसके साथ यह विनम्रतापूर्वक बातचीत करता है।
  • imroc/req — HTTP क्लाइंट जिसका Chrome प्रतिरूपण निष्क्रिय Cloudflare फ़िंगरप्रिंटिंग को साफ़ करता है।
  • chromedp/chromedp — हेडलेस-ब्राउज़र फ़ॉलबैक चलाता है।
टूल डाउनलोड करें