Обход Cloudflare Turnstile

cloudflare captcha solver

На платформе ruCaptcha теперь есть возможность автоматического распознавания и обхода Cloudflare Turnstile.

Cloudflare Turnstile - что это такое?

Turnstile — это Cloudflare капча, которая призвана блокировать ботов и автоматизированные системы. Она является простой в решении для обычных пользователей, но сложной для распознавания ботами и автоматическими системами.

Как работает Cloudflare Turnstile?

Зачастую обычному пользователю даже не требуется разгадывать капчу, так как проверка проходит автоматически в фоне. Вы можете ознакомиться с примером работы на странице демо.

Автоматическое решение капчи Cloudflare Turnstile

Обойти Cloudflare Turnstile можно с помощью сервиса автоматического разгадывания капчи ruCaptcha.

Процесс простой:

  • Посредством API заказчик отправляет запросы на распознавание капчи в сервис;
  • Сервис передает задачи работникам, которые выполняют распознавание
  • Сервис получает ответы от работников
  • Посредством API заказчик отправляет запрос в сервис и получает результат

Процесс быстрый и надежный, и его можно использовать для обхода любых капч, в том числе и применять к Cloudflare Turnstile.

Чтобы использовать API, нужно сначала зарегистрироваться на сайте. Полноценное использование API доступно только после регистрации.

Описание работы с API по обходу Cloudflare капчи

Заказчик посредством API отправляет запрос на обход капчи. В запросе нужно передать определенные параметры.

В ответ на полученный запрос сервис возвращает идентификатор капчи.

Затем, используя полученный в ответе идентификатор капчи, заказчик запрашивает решение.

Отправка запроса

Отправка запроса на решение капчи Cloudflare Turnstile

При отправке запроса нужно указать всего несколько параметров. Список:

Параметр Описание
key API ключ
method turnstile - указывает, что отправляется запрос на решение Turnstile
sitekey значение sitekey из страницы на которой находится капча
pageurl полный URL страницы с капчей

Пример запроса:

{
    "method": "turnstile",
    "key": "YOUR_API_KEY",
    "sitekey": "0x4AAAAAAAC3DHQFLr1GavRN",
    "pageurl": "https://2captcha.com/demo/cloudflare-turnstile",
    "json": 1
}   

В ответ на запрос API возвращает идентификатор капчи.

Пример ответа:

{
    "status": 1,
    "request": "74327409378"
}

Полученный идентификатор нужно использовать, чтобы запросить результат с решением.

Отправка запроса на обход Turnstile на страницах Cloudflare Challenge

Как работает Cloudflare Turnstile

Если нужно обойти Turnstile на страницах Cloudflare Challenge, дополнительно также требуется указать следующие параметры:

Параметр Описание
action turnstile.render
data cData
pagedata chlPageData
userAgent User-Agent вашего браузера. Используйте современные браузеры, мы рекомендуем использовать версии браузеров, выпущенные в последние 6 месяцев

Дополнительные параметры передавать не обязательно, если Turnstile используется на любом другом сайте.

Как извлечь требуемые дополнительные параметры

Чтобы получить дополнительные параметры достаточно переопределить метод turnstile.render, чтобы он перехватывал параметры, передаваемые при вызове метода.

Например, можно добавить на страницу следующий код JavaScript. Код должен выполняться до загрузки Turnsitle.

Пример кода:

const i = setInterval(()=>{
  if (window.turnstile) {
    clearInterval(i)
    window.turnstile.render = (a,b) => {
      let p = {
        method: "turnstile",
        key: "YOUR_API_KEY",
        sitekey: b.sitekey,
        pageurl: window.location.href,
        data: b.cData,
        pagedata: b.chlPageData,
        action: b.action,
        userAgent: navigator.userAgent,
        json: 1        
      }
      console.log(JSON.stringify(p))
      window.tsCallback = b.callback
      return 'foo'
    }
  }
},50) 

Пример запроса

{
    "key": "YOUR_API_KEY",
    "method": "turnstile",
    "sitekey": "0x0AAAAAAADnPIDROzbs0Aaj",
    "data": "7fab0000b0e0ff00",
    "pagedata": "3gAFo2...0ME1UVT0=",
    "pageurl": "https://2captcha.com/",
    "action": "managed",
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36",
    "json": 1
}    

Ответ от API после принятия запроса

Если капча принята в обработку, должен вернуться ответ, содержащий id запроса.

Пример:

{
    "status": 1,
    "request": "74327409378"
}

Если отправка капчи завершилась ошибкой, должен вернуться ответ с ошибкой. Перечень всех ошибок с описанием собран в списке.

После отправки запроса нужно подождать 15-20 секунд пока завершится распознавание и затем можно выгрузить распознанный текст отправив запрос к API по URL res.php.

Получение решения

получение ответа в формате решенной Cloudflare Turnstile

Чтобы получить решение нужно передать id отправленного ранее запроса, это значение из параметра request.

Отправить запрос нужно к res.php. Для отправки запроса нужно отправить всего три параметра:

Параметр Описание
key ключ API
action get - означает отправку запроса на получение результата решения
id ID запроса, полученный от in.php
json установить значение 1 для получения ответа в формате JSON

Пример запроса:

{
    "key":"YOUR_API_KEY",
    "action":"get",
    "id":'74327409378'
}

Если капча решена, должен вернуться ответ.

Примера ответа:

{
    "status": 1,
    "request": "0.4uMMZZdSfsVM8...610cd090",
    "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0 Safari/537.36"
} 

Если решение капчи не завершено, должен вернуться ответ CAPCHA_NOT_READY.

Если решение завершилось ошибкой, должен вернуться ответ с ошибкой.

Цена

Стоимость решения капчи Cloudflare Turnstile — за 160 ₽ 1000 успешно решенных капч.

Полезные ссылки

Автоматический обход капчи Cloudflare Turnstile с помощью ruCaptcha API — отличный способ автоматизировать процесс обхода. Подробная информация об обходе капчи Cloudflare Turnstile доступна в документации по API.

Примеры работы с API на языках программирования:

Примеры кода по работе с сервисом на официальной странице в GitHub.