چطور Cloudflare Turnstile را در ۲۰۲۶ دور بزنیم (چه چیزی واقعاً کار می‌کند)

منتشر شده در 12 ژوئن 2026 · زمان مطالعه ≈ 9 دقیقه

Cloudflare Turnstile شبیه یک چک‌باکس است، اما به معنای قدیمی کپچا نیست — معمولاً چیزی برای حل‌کردن وجود ندارد. چند صد میلی‌ثانیه جاوااسکریپت در مرورگر شما اجرا می‌کند، امتیاز می‌دهد که آن مرورگر چقدر واقعی به‌نظر می‌رسد و یک توکن صادر می‌کند. اگر اسکرپر شما نتواند آن JS را قانع‌کننده اجرا کند، هرگز توکن معتبر نمی‌گیرید و هر درخواستی که به آن نیاز دارد، چالش برمی‌گردد.

به همین دلیل ترفندهای معمول اسکرپینگ برای Turnstile کار نمی‌کنند. چرخش پروکسی، هدرها، حتی یک اثرانگشت TLS مرورگر بی‌نقص — هیچ‌کدام مهم نیست اگر چالش جاوااسکریپت اجرا نشود. این راهنما توضیح می‌دهد Turnstile دقیقاً چه می‌سنجد و راه‌های واقع‌بینانه‌ی عبور در ۲۰۲۶.

Turnstile واقعاً چه را بررسی می‌کند

Turnstile «اثبات مرورگر» است، نه «اثبات انسان». هنگام بارگذاری، ویجت بی‌صدا مجموعه‌ای از بررسی‌ها را اجرا و در یک امتیاز جمع می‌کند:

توکنی که می‌گیرید به IP شما و یک بازه‌ی زمانی کوتاه گره خورده است. پس حتی توکن معتبرِ «قرض‌گرفته» از جای دیگر، اگر از خروجی دیگری استفاده شود، رد می‌شود.

چرا پروکسی به‌تنهایی حل نمی‌کند

پروکسی دقیقاً یکی از این سیگنال‌ها را جابه‌جا می‌کند: اعتبار IP. این مهم است — یک ASN مسکونی تمیز می‌تواند امتیاز مرزی را از خط رد کند — اما توکن نمی‌سازد. اگر با کلاینت HTTP به Turnstile می‌زنید، هیچ پروکسی‌ای حلش نمی‌کند، چون مرورگری برای اجرای چالش نیست. پروکسی لازم است اما کافی نیست.

رویکردهای واقع‌بینانه (۲۰۲۶)

۱. یک موتور مرورگر واقعی اجرا کنید

مطمئن‌ترین راه، اجرای واقعی چالش در یک مرورگر واقعی و خوب‌استتارشده است: Playwright یا Puppeteer با وصله‌های ضدتشخیص، یا یک مرورگر stealth. توکن به‌طور طبیعی، روی IP شما، در محیطی واقعی تولید می‌شود:

from playwright.sync_api import sync_playwright

proxy = {"server": "socks5h://us.jibaoproxy.com:913",
         "username": "USERNAME", "password": "PASSWORD"}

with sync_playwright() as p:
    browser = p.chromium.launch(headless=False, proxy=proxy)
    page = browser.new_page()
    page.goto("https://target.site")
    page.wait_for_timeout(4000)          # let Turnstile run and settle
    # the cf token is now in the form; submit / read it as the site expects
    token = page.eval_on_selector(
        "input[name='cf-turnstile-response']", "el => el.value")
    print("token:", token[:20], "...")
    browser.close()

headful (یا یک ساخت headless واقعی) اجرا کنید، محیط مرورگر را سازگار نگه دارید و از خروجی مسکونی عبور دهید تا امتیاز IP با امتیاز مرورگر بخواند. این دو باید بخوانند — مرورگر بی‌نقص روی IP دیتاسنتر باز هم امتیاز پایین می‌گیرد.

۲. سرویس‌های حل‌کننده‌ی توکن

سرویس‌هایی مثل 2Captcha، CapSolver و دیگران چالش را برای شما اجرا و توکن را از طریق API برمی‌گردانند. در مقیاس مفیدند، اما با دو نکته که افراد را گیر می‌اندازد:

۳. امتیاز را بالا ببرید تا چالش نامرئی عبور کند

Turnstile معمولاً در حالت غیرتعاملی «managed» اجرا می‌شود: اگر امتیاز کافی باشد، توکن را بدون چک‌باکس و اصطکاک صادر می‌کند. ارزان‌ترین «دور زدن» اغلب این است که به‌قدر کافی واقعی به‌نظر برسید که اصلاً چالش نشوید: اثرانگشت مرورگر تمیز به‌علاوه‌ی IP مسکونی با اعتبار ASN خوب. امتیاز را بالای آستانه ببرید و Turnstile بی‌صدا رد می‌کند.

چه چیزی کار نمی‌کند

چک‌لیست

برای همه محصولات IP · هزاران نود همیشه در دسترس

همین حالا ثبت‌نام کنید و تا ۱۰۰٪ کش‌بک شارژ بگیرید

کاربران جدید با ثبت‌نام 500MB هدیه می‌گیرند، به‌علاوه بونوس اولین شارژ. پیشنهاد محدود.