close menu
सपोर्टेड टास्क टाइप
API विधियाँ
आर्टिकल
GitHub icon
GitHub
Menu

AntiGate टास्क के माध्यम से किसी भी captcha को कैसे बायपास करें

AntiGate टास्क ट्यूटोरियल का नया वीडियो वर्शन यहाँ उपलब्ध है।

वर्षों के अनुसंधान और विकास के बाद हम पेश करना चाहेंगे एक ऐसा यूनिवर्सल समाधान, जिसकी मदद से इंसानों द्वारा बनाए गए captcha गेट्स से आपके रोबॉट्स निकल पाएँगे। इसे हम "AntiGate" कहते हैं और ये वे सिनेरियो टेम्पलेट हैं, जिनका इस्तेमाल हमारे असली कर्मचारी सटीक टास्क को एक्सीक्यूट करने के लिए करते हैं।

एक निश्चित समय पर आपकी ऐप को किसी नई तरह की captcha में "गेटवे" ऑटोमेशन समस्या, अस्पष्ट ब्राउज़र स्क्रिप्ट, या फिर किसी और दिक्कत का सामना करना पड़ जाता है। और यहीं पर AntiGate टास्क काम आती हैं। कोई असली, हाड़-मांस के इंसान द्वारा संचालित ब्राउज़र सेशन बनाने का काम आप हमारे किसी कर्मचारी को जो सौंप देते हैं।
  • सबसे पहले किसी टेम्पलेट का चयन कर लें। इसके लिए या तो आप किसी मौजूदा टेम्पलेट का इस्तेमाल कर सकते हैं या फिर अपना खुद का टेम्पलेट बना सकते हैं। एक टेम्पलेट कर्मचारियों द्वारा एक्सीक्यूट किए जाने वाले चरण-दर-चरण निर्देशों का एक सेट होता है।
  • उसके बाद टेम्पलेट की आवश्यकतानुसार अतिरिक्त डेटा मुहैया कराएँ, जैसे कि भरे जाने वाले किसी इनपुट की वैल्यू, किसी इनपुट का CSS सिलेक्टर, या फिर हमारे द्वारा नेविगेट किया जाने वाला वेब पता। टेम्पलेट के बारे में हम कुछ ही देर में थोड़ी और विस्तार से बात करेंगे।
  • तीसरा व वैकल्पिक – प्रॉक्सियाँ। इनकी ज़रूरत आपको तब पड़ती है, जब कोई वेबसाइट सेशन की हर कुकी को किसी सटीक IP पते के साथ जोड़कर देखती है।
इन तीनों को मिलाकर हमारे API के साथ आप एक टास्क की रचना कर देते हैं। हमारे खास ब्राउज़र प्लग-इन के माध्यम से आपकी वेबसाइट पर नेविगेट कर कोई कर्मचारी सभी सिनेरियो चरणों को मैन्युअली या ऑटोमेटिकली एक्सीक्यूट कर देता है। और स्क्रिप्ट के अंत में, कुकीज़, localStorage मान, ब्राउज़र फ़िंगरप्रिंट जैसी उनकी समूची ब्राउज़र सेशन जानकारी को लेकर हम उसे वापस ऐप में भेज देते हैं। अब आपको इस डेटा का इस्तेमाल कर हमारे कर्मचारी के सेशन को बहाल कर ऑपरेशन्स को किसी इंसानी उपयोगकर्ता के तौर पर जारी रखना भर होता है। है न कमाल की बात? :)

AntiGate टेम्पलेट क्या होते हैं?

एक AntiGate टेम्पलेट उस सटीक सिनेरियो को परिभाषित करता है, जिससे हमारे कर्मचारियों को गुज़रना चाहिए। टेम्पलेट में कुछ चरण शामिल होते हैं, जिन्हें क्रमानुसार एक्सीक्यूट किया जाता है। किसी एक चरण के पूरा हो जाने पर कर्मचारी अगले चरण पर बढ़ जाता है। सभी चरणों के पूरा हो जाने पर टास्क समाप्त हो जाती है व कर्मचारी के सेशन का स्नैपशॉट लेकर उसे वापस आपकी ऐप में भेज दिया जाता है।

उसमें किस तरह के चरण शामिल होते हैं?
  • किसी टेक्स्ट इनपुट फ़ील्ड को ऑटोमैटिकली या मैन्युअली भर दें।
  • पेज पर टेक्स्ट सैंपल के दिखाई देने (या गायब हो जाने) का इंतज़ार करें।
  • CSS द्वारा परिभाषित किसी DOM एलिमेंट के पेज में दिखाई देने (या गायब हो जाने) का इंतज़ार करें।
  • कर्मचारी के मौजूदा ब्राउज़र URL पते में कीवर्ड के दिखाई देने (या गायब हो जाने) का इंतज़ार करें।
टेम्पलेट का "कर्मचारियों के लिए विवरण" वाला टेक्स्ट फ़ील्ड उन बाकी के चरणों की भी व्याख्या कर सकता है, जिनकी आपको किसी कर्मचारी से अपेक्षा है। उदाहरण के तौर पर: "किसी captcha को हल कर सबमिट बटन दबा दें"।
चलिए एक उदाहरण पर नज़र डालते हैं। डेवलपर सेंटर पर नेविगेट कर टेस्टिंग के लिए एक निःशुल्क टेम्पलेट बना लें। फ़िक्र मत कीजिए, ऐसा करने से वेबसाइट खराब नहीं होगी!
टेम्पलेट जोड़ने के लिए क्लिक करें
किसी उदाहरण को लोड करने के लिए क्लिक करें
चरणों वाले सेक्शन को देख लें
आपने किसी प्रदर्शन वाले उदाहरण को लोड किया है। इसे अपने अकाउंट में सेव कर बाद में आप इसे खुद ही टेस्ट करके देख सकते हैं। चलिए टेम्पलेट विशेषताओं की समूची सूची से आपका परिचय कराते हैं:
  • टेम्पलेट का नाम। सेव हो जाने पर इसमें कोई बदलाव नहीं किए जा सकते। पब्लिश हो जाने पर आपका टेम्पलेट API में इसी नाम से उपलब्ध हो जाता है।
  • ग्राहकों के लिए विवरण। सार्वजानिक टेम्पलेट हमारी टेम्पलेट डायरेक्टरी में उपलब्ध हैं।
  • कर्मचारियों के लिए विवरण। पेज के ऊपरी हिस्से में हमारे कर्मचारियों को यही टेक्स्ट दिखाई देता है।
    कर्मचारियों के इंटरफ़ेस का उदाहरण
  • चवेरिएबलर। वेरिएबल नामों की इस सूची को स्थायी वैल्यूज़ की जगह चरणों में शामिल कर आप उनका इस्तेमाल कर सकते हैं। इस उदाहरण में हमारे पास 2 वेरिएबल, "लॉग-इन करें" और "पासवर्ड" हैं। चरण 1 और 2 में इन दोनों का इस्तेमाल कर प्रदर्शन साइन-इन फ़ॉर्म को भरा जाता है। इस प्रकार, इन वैल्यूज़ को टेम्पलेट में किसी स्थायी लॉग-इन और पासवर्ड को हार्डकोड करने के बजाय API के माध्यम से भी आप मुहैया करा सकते हैं।
    पहले और दूसरे चरणों में इस्तेमाल किए गए वेरिएबल
  • । यहाँ आप सिनेरियो स्टेप्स को संपादित कार उनके क्रम में बदलाव कर सकते हैं। हमारे उदाहरण में हम ऐसा करते हैं:
    1. टेक्स्ट फ़ील्ड को CSS सिलेक्टर "#login" से ऑटोमैटिकली भर दें। टेक्स्ट फ़ील्ड की वैल्यू को "लॉग-इन" वेरिएबल के माध्यम से परिभाषित किया जाता है।
    2. टेक्स्ट फ़ील्ड को CSS सिलेक्टर "#password" से ऑटोमैटिकली भर दें। टेक्स्ट फ़ील्ड की वैल्यू को "पासवर्ड" वेरिएबल के माध्यम से परिभाषित किया जाता है।
    3. पेज पर किसी कंट्रोल टेक्स्ट के दिखाई देने का इंतज़ार करें। इसे स्थायी रूप से "लॉग-इन कर टेस्ट पास किया" पर सेट किया होता है।

अब आप टेम्पलेट को सेव कर सकते हैं, जिसके बाद वह आपके डेवलपर सेंटर में दिखाई दे जाएगा। गौरतलब है कि इसका "सैंडबॉक्स" स्टेटस होता है, यानी कि यह केवल आपके लिए उपलब्ध होता है व API में उपलब्ध नहीं होता। अब आप अपने नये-नवेले टेम्पलेट को कुछ इस कदर टेस्ट करके देख सकते हैं जैसे आप अपने ही कर्मचारी हों।

टेस्टिंग टेम्पलेट

अब आपको Chrome ब्राउज़र का इस्तेमाल करना होगा। हम आपको इस ब्राउज़र में एक नई यूज़र प्रोफ़ाइल बनाने का सुझाव देंगे, क्योंकि वहाँ आपकी प्रोफ़ाइल की कुकीज़ को एक्सेस कर पाने वाला अपना एक प्लग-इन हमें इनस्टॉल करना होगा।
कर्मचारियों के इंटरफ़ेस का उदाहरण
अब अपने टेम्पलेट कार्ड पर "test" बटन दबा दें।
निर्देशों का पालन करते हुए अपने प्लेटफ़ॉर्म के लिए प्लग-इन डाउनलोड कर लें। फिर इसे प्रभावी बनाने के लिए पेज को पुनः लोड कर "लॉग-इन" और "पासवर्ड" वेरिएबल्स को किन्हीं भी रैंडम वैल्यूज़ से भरकर "लॉन्च टेस्ट" बटन दबा दें। ऐसा करने पर कुछ ऐसा दिखाई देने वाला एक नया पेज खुल जाएगा:

एड्रेस बार के पास प्लग-इन द्वारा लक्षित पेज के ऊपर जोड़ी गई नीले रंग की एक बार होती है। इसी के माध्यम से कर्मचारियों को अपने असाइनमेंट के बारे में पता चलता है व वे अपनी टास्क की एक्सीक्यूशन को नियंत्रित कर पाते हैं।

साथ ही, गौरतलब है कि लॉग-इन और पासवर्ड वाले फ़ील्ड में वेरिएबल भरते समय वे छिपे रहते हैं। ऐसा जानबूझकर किया जाता है। हालांकि डेवलपर के कंसोल के माध्यम से कर्मचारियों के पास टास्क डेटा का पूरा-पूरा एक्सेस होता है, उनमें से 99.99% को इस बात से कोई फ़र्क ही नहीं पड़ता कि पर्दे के पीछे आखिर चल क्या रहा है।
Recaptcha हल करने के बाद "साइन-इन" बटन दबा दें। टेम्पलेट का अंतिम चरण "WAIT_CONTROL_TEXT_PRESENT" पास हो जाता है। प्लग-इन "लॉग-इन के साथ टेस्ट पास हुआ " कंट्रोल फ़्रेज़ की खोज करता है, जिसे स्थायी रूप से आपके टेम्पलेट में परिभाषित किया गया होता है। यह टैब अपने आप ही बंद हो जाता है व सेशन का स्नैपशॉट नतीजों वाले फ़ील्ड में प्रदर्शित हो जाता है।
नतीजों का उदाहरण

इसी स्नैपशॉट डेटा को API से भी प्राप्त किया जा सकता है। लेकिन अपने टेम्पलेट को API में उपलब्ध कराने के लिए पहले हमें उसे पब्लिश करना होता है।

पब्लिशिंग टेम्पलेट

किसी टेम्पलेट को प्रकाशित करते समय आपके पास 2 विकल्प होते हैं: उसे निजी रखना या सार्वजानिक बनाना।
  • निजी टेम्पलेट केवल आपकी API कुंजी के साथ ही उपलब्ध होते हैं। अन्य ग्राहक उनका इस्तेमाल नहीं कर सकते। उनकी समीक्षा कर उन्हें प्रकाशित करने की लागत: $1।
  • सार्वजानिक टेम्पलेट सभी के लिए उपलब्ध होते हैं। इस टेम्पलेट के माध्यम से प्रत्येक ग्राहक द्वारा ख़र्च की गई धनराशि का 5% हिस्सा आपको मिल जाता है। आपके टेम्पलेट में कोई गड़बड़ आ जाने की स्थिति में हमारे ग्राहकों की मदद के लिए आपको कुछ संपर्क जानकारी मुहैया करानी होगी। समीक्षा कर प्रकाशन करने की लागत: $1।
हम हरेक टेम्पलेट की अच्छे से समीक्षा करते हैं। प्रोडक्शन मोड में सफलतापूर्वक स्विच करने के लिए आपको कुछ बुनियादी बातों का ध्यान रखना होगा:
  • वह किसी तरह की कोई भी गैरकानूनी गतिविधि नहीं होनी चाहिए।
  • टेम्पलेट को मौजूदा टेम्पलेट की नकल कर नहीं बनाया जाना चाहिए।
  • डमी या टेस्ट टेम्पलेट जमा न करें।
  • समीक्षा के लिए नमूने के तौर पर कोई वेब पता एवं कुछ वेरिएबल वैल्यू मुहैया कराएँ। हम एक टेस्ट लॉन्च करेंगे, जिसके दौरान सभी चरण सफलतापूर्वक पूरे हो जाने चाहिए।

API अनुरोध

ऊपर दिए AntiGate टेम्पलेट के लिए API को भेजे जाने वाला टास्क निर्माण अनुरोध दिखने में इतना सरल-सा होगा:

curl -i -H "Accept: application/json" \
     -H "Content-Type: application/json" \
     -X POST -d '{
    "clientKey":"YOUR_API_KEY",
    "task":
        {
            "type":"AntiGateTask",
            "websiteURL":"https://anti-captcha.com/demo/?page=recaptcha_v2_textarea",
            "templateName":"Demo sign-in at anti-captcha.com #123456",
            "variables": {
                "login":"some value",
                "password":"some value"
            }
        }
}' https://api.anti-captcha.com/createTask

यानी कि टेम्पलेट भरने के लिए आप "templateName" और "variables" पैरामीटर्स को स्किप कर जाते हैं।

टास्क नतीजों का इस्तेमाल करना

सफलतापूर्वक पूरी की गईं AntiGate टास्क "कुकीज़", "localStorage", "फ़िंगरप्रिंट" और "url" वाला सॉल्यूशन रिटर्न कर देती हैं आपके सॉफ़्टवेयर को इस अनुरोध में "कुकीज़" का उपयोग करके "url" पर नेविगेट करना होगा, और ब्राउज़र के उपयोगकर्ता-एजेंट के लिए कम से कम "fingerprint.self.navigator.userAgent" वैल्यू का इस्तेमाल करना होगा। ज़्यादा जटिल वेबसाइटें महत्वपूर्ण डेटा को localStorage में संग्रहित करती हैं, जो कुकीज़ के आधुनिक वर्शन जैसा है। ऐसे में, किसी भी Javascript को चलाने से पहले पेज में आपको इस डेटा को इंजेक्ट करना होगा। यह काम Puppeteer जैसे डेवलपमेंट एनवायरनमेंट में किया जा सकता है। इस विषय पर शायद एक-आधा लेख और लिखा जाना चाहिए।

अपने खुद के टेम्पलेट बनाना

सैंपल टेम्पलेट को लोड किए बगैर उपर्युक्त चरणों का पालन करें। सभी डिटेल्स को अच्छे से भरते हुए चरणों को सावधानीपूर्वक जोड़ दें। गौरतलब है कि सभी चरणों को क्रमानुसार एक्सीक्यूट किया जाता है। प्लग-इन अगले चरण की एक्सीक्यूशन की तब तक अनुमति नहीं देगा, जब तक कि मौजूदा चरण पूरा न हो जाए। अपने टेम्पलेट को आप कभी भी सेव कर उसे कर्मचारी के ब्राउज़र प्लग-इन के साथ टेस्ट कर सकते हैं।

प्राइसिंग

फ़िलहाल हम शुल्क को $2 प्रति 1000 टास्क पर निर्धारित कर देते हैं। साथ ही, टास्क की एक्सीक्यूशन के हर सेकंड में टास्क शुल्क के साठवें हिस्से की लागत आती है। उदाहरण के तौर पर, टास्क में $0.002 की लागत आती है व उसे हल करने में कर्मचारी को 20 सेकंड का समय लगा।
अंतिम शुल्क $0.00266 = 0.002 + (0.002 / 60 * 20) होगा।