نیا Recaptcha QR کوڈ چیلنج Anti-Captcha کی طرف سے مقامی طور پر معاون ہے
Anti-Captcha ٹیم نے تصدیق کی ہے کہ نیا QR کوڈ کے ساتھ Recaptcha چیلنج ہماری سروس کی جانب سے مقامی طور پر معاون ہے۔ آپ کے انضمام میں کسی تبدیلی کی ضرورت نہیں ہے: چونکہ Anti-Captcha پر ہر کیپچا حقیقی لوگوں کے ذریعے حل کیا جاتا ہے، اس لیے ہمارے کارکن اس نئے چیلنج کو اسی طرح سنبھالتے ہیں جیسے ایک عام ویب سائٹ کا وزیٹر کرتا ہے۔

Recaptcha QR کوڈ چیلنج کیا ہے
گوگل نے 2026 کی گرمیوں میں نیا چیلنج پیش کیا۔ اس وقت اسے تمام Recaptcha صارفین تک پہنچانے سے پہلے ویب سائٹس کے ایک محدود سیٹ پر بند موڈ میں آزمایا جا رہا ہے۔ تصاویر منتخب کرنے یا چیک باکس پر نشان لگانے کے بجائے، صارف کو ایک QR کوڈ دکھایا جاتا ہے اور اس سے اپنے موبائل فون پر تصدیق مکمل کرنے کو کہا جاتا ہے۔ QR کوڈ چیلنج کسی ایک Recaptcha ورژن سے منسلک نہیں ہے: یہ Recaptcha V2 اور Recaptcha V3 دونوں استعمال کرنے والی ویب سائٹس پر ظاہر ہوتا ہے۔
اس کے پیچھے کا خیال سادہ ہے: ایک بوٹ کے لیے ڈیسک ٹاپ براؤزر کی نقل کرنا نسبتاً سستا ہے، لیکن کیمرے، حقیقی آپریٹنگ سسٹم اور سرکاری ایپ اسٹورز تک رسائی کے ساتھ ایک حقیقی جسمانی اسمارٹ فون کی نقل کرنا کہیں زیادہ مشکل ہے۔
تکنیکی خصوصیات
- موبائل پر مرکوز۔ یہ چیلنج اسی براؤزر میں مکمل نہیں کیا جا سکتا جہاں یہ ظاہر ہوتا ہے۔ تصدیق کو ایک الگ ڈیوائس — یعنی صارف کے اسمارٹ فون — پر منتقل کر دیا جاتا ہے، اور براؤزر صرف تصدیق کا انتظار کرتا ہے۔
- فون کے کیمرے سے اسکین کیا جاتا ہے۔ QR کوڈ کو فون کی عام کیمرہ ایپ سے اسکین کیا جاتا ہے۔ کسی فریق ثالث کے QR اسکینر کی ضرورت نہیں ہوتی: کیمرہ کوڈ کو پہچانتا ہے اور تصدیق کھولنے کی پیشکش کرتا ہے۔
- Google Play اور App Store کی منی ایپس کے ذریعے حل کیا جاتا ہے۔ کوڈ اسکین کرنے سے ایک ہلکی پھلکی منی ایپ لانچ ہوتی ہے جو Google Play (Android بمع Google Play Services 25.41.30) یا App Store (iOS 15/16+) کے ذریعے تقسیم کی جاتی ہے۔ منی ایپ مکمل انسٹالیشن کے بغیر فوری طور پر کھلتی ہے اور ڈیوائس پر تصدیق انجام دیتی ہے۔
- ڈیوائس سے منسلک تصدیق۔ نتیجہ ایک حقیقی جسمانی ڈیوائس سے منسلک ہوتا ہے، جو اس چیلنج کو ہیڈ لیس براؤزرز، ایمولیٹرز یا AI پر مبنی حل کاروں کے ساتھ خودکار بنانا بہت مشکل بنا دیتا ہے۔
Anti-Captcha کے کارکن اسے کیسے سنبھالتے ہیں
ہم نے Anti-Captcha کارکنوں کے درمیان ایک اندرونی ٹیسٹ کیا: ان میں سے تقریباً 50% فوری طور پر نیا چیلنج حل کرنے میں کامیاب رہے اپنے فون استعمال کرتے ہوئے، کسی اضافی ہدایات یا تیاری کے بغیر۔ باقی کو زیادہ تر اپنے آپریٹنگ سسٹم کو اپ ڈیٹ کرنے یا کسی معاون ڈیوائس پر منتقل ہونے کی ضرورت ہوتی ہے، جو کسی حقیقی رکاوٹ کے بجائے وقت کی بات ہے۔
یہی وہ جگہ ہے جہاں انسانی طاقت پر مبنی سروس کو خودکار حل کاروں پر برتری حاصل ہوتی ہے۔ ایک عام اسمارٹ فون والا شخص چند سیکنڈوں میں چیلنج مکمل کر لیتا ہے، جبکہ ایک بوٹ کو ایسا کرنے کے لیے حقیقی ڈیوائسز کا ایک فارم چلانا پڑے گا۔
ہمارے صارفین کے لیے اس کا کیا مطلب ہے
آپ Recaptcha V2 یا V3 ٹاسکس کو اسی طرح بھیجتے رہیں جیسے آپ اب کرتے ہیں۔ جب کوئی ویب سائٹ QR کوڈ چیلنج دکھاتی ہے، تو اسے ہمارے ورکرز اپنے فون پر حل کرتے ہیں اور آپ کو ٹاسک کے نتیجے میں ایک معمول کا g-recaptcha-response ٹوکن موصول ہوتا ہے۔
کیسے معلوم کریں کہ کوئی ویب سائٹ کون سا Recaptcha ورژن استعمال کرتی ہے
Chrome میں captcha والا صفحہ کھولیں، ڈیولپر کنسول کھولیں (F12، پھر Console ٹیب)، ذیل میں دیا گیا اسکرپٹ پیسٹ کریں اور Enter دبائیں۔ captcha کے صفحے پر ظاہر ہونے کے بعد اسے چلائیں، مثلاً فارم کے submit بٹن پر کلک کرنے کے بعد۔
(() => {
const out = { scripts: [], iframes: [], clients: [], verdict: [] };
// 1. Loaded Recaptcha scripts
document.querySelectorAll('script[src*="recaptcha"]').forEach(s => {
const u = new URL(s.src, location.href);
out.scripts.push({
src: u.pathname,
enterprise: u.pathname.includes('enterprise'),
render: u.searchParams.get('render'),
});
});
// 2. Anchor-iframe
document.querySelectorAll('iframe[src*="/anchor"]').forEach(f => {
const u = new URL(f.src);
out.iframes.push({
enterprise: u.pathname.includes('/enterprise/'),
sitekey: u.searchParams.get('k'),
size: u.searchParams.get('size'),
action: u.searchParams.get('sa'),
s: u.searchParams.has('s'),
});
});
// 3. Internal config: look for objects with a sitekey
const seen = new WeakSet();
const walk = (o, depth = 0) => {
if (!o || typeof o !== 'object' || seen.has(o) || depth > 6) return;
seen.add(o);
if (typeof o.sitekey === 'string') {
out.clients.push({
sitekey: o.sitekey,
size: o.size,
action: o.action,
callback: typeof o.callback === 'function' ? o.callback.name || 'fn'
: o.callback || null,
badge: o.badge,
});
}
for (const k in o) { try { walk(o[k], depth + 1); } catch {} }
};
try { walk(window.___grecaptcha_cfg?.clients); } catch {}
// 4. Verdict
const renderKey = out.scripts.find(s => s.render && s.render !== 'explicit' && s.render !== 'onload');
const ent = out.scripts.some(s => s.enterprise) || !!window.grecaptcha?.enterprise;
if (renderKey) out.verdict.push(`v3/score (render=${renderKey.render})`);
out.iframes.forEach(i => {
if (i.size === 'normal' || i.size === 'compact') out.verdict.push(`v2 checkbox (${i.sitekey})`);
else if (i.size === 'invisible' && (!renderKey || renderKey.render !== i.sitekey))
out.verdict.push(`v2 invisible (${i.sitekey})`);
});
if (ent) out.verdict.push('Enterprise');
console.table(out.scripts);
console.table(out.iframes);
console.table(out.clients);
console.log('VERDICT:', out.verdict.length ? out.verdict.join(' | ') : 'not found (the captcha may not be loaded yet)');
return out;
})();اسکرپٹ Recaptcha اسکرپٹس، ویجٹس اور ان کی ترتیبات (sitekey, size, action) کو ٹیبلز کی صورت میں پرنٹ کرتا ہے، جس کے بعد ایک VERDICT لائن آتی ہے:
v3/score— Recaptcha V3: sitekey کو Recaptcha اسکرپٹ کےrenderپیرامیٹر میں پاس کیا جاتا ہے۔v2 checkbox/v2 invisible— Recaptcha V2 چیک باکس یا ایک غیر مرئی ویجٹ کے ساتھ۔Enterprise— ویب سائٹ Recaptcha Enterprise استعمال کرتی ہے (enterprise.jsاسکرپٹ)۔
آؤٹ پٹ سے sitekey کو ویب سائٹ کلید کے طور پر، اور action ویلیو کو، اگر کوئی ہو، ذیل کی کوڈ مثالوں میں صفحے کے ایکشن کے طور پر استعمال کریں۔
کوڈ کی مثالیں
ویب سائٹ پر پایا جانے والا Recaptcha ورژن منتخب کریں:
Python میں Recaptcha QR کو کیسے حل کریں
#pip3 install anticaptchaofficial
from anticaptchaofficial.recaptchav2enterpriseproxyless import *
solver = recaptchaV2EnterpriseProxyless()
solver.set_verbose(1)
solver.set_key("YOUR_API_KEY_HERE")
solver.set_website_url("https://website.com")
solver.set_website_key("YOUR_API_KEY_HERE")
# set to "true" if there's "size":"invisible" option in "grecaptcha.enterprise.render" function
solver.set_is_invisible(True)
# Set page action value:
solver.set_enterprise_payload({"action": "form_submit"})
g_response = solver.solve_and_return_solution()
if g_response != 0:
print("g-response: "+g_response)
# user-agent in case you need it:
print("user-agent: "+solver.get_user_agent())
else:
print("task finished with error "+solver.error_code)