Запустили сервис для обхода Friendly Captcha

Friendly captcha капча обход и решене

Сервис ruCaptcha разработал решение и запустил услугу автоматического обхода Friendly Captcha.

Если вы столкнулись с Friendly Captcha и ищете способ ее обойти, то эта статья специально для вас. Сервис ruCaptcha помогает автоматически решать капчи.

Статья описывает процесс взаимодействия с API.

Friendly Captcha - что это такое

Friendly Captcha - система фильтрации трафика для сайта или приложения. Ключевая особенность - работа в фоновом режиме. В отличие от традиционных капч, которые требуют от пользователя взаимодействия, например решения пазлов или нажатия на кнопки, Friendly Captcha работает пассивно в фоновом режиме. Пользователи даже не замечают, как провдится проверка.

Как работает Friendly Captcha

  • Концепция proof-of-work: Friendly Captcha отправляет на устройство пользователя криптографическую задача, которая автоматически решается в фоновом режиме, используя ресурсы устройства;
  • Никаких действий со стороны пользователя не нужно: В отличие от других капч, требующих нажатия или ввода текста, Friendly Captcha работает полностью в фоновом режиме без каких-либо действий со стороны пользователя.

Как обойти капчу Friendly Captcha

Обойти Friendly Captcha непросто, но процесс решения можно автоматизировать используя API.

Процесс решения заключается в следующем:

  • Заказчик отправляет набор необходимых параметров с целевой страницы в сервис автоматического решения;
  • Задача выполняется работником сервиса, после чего ответ возвращается в виде токена, который необходимо ввести в соответствующее поле для обхода.

Для использования API надо зарегистрироваться на сайте. После активации профиля заказчик получает ключ API и может приступить к работе с сервисом.

Ниже описан процесс взаимодействия с API и приведены примеры кода на наиболее популярных языках программирования.

API для решения

Friendly Captcha

Основанный на токенах метод обхода Friendly Captcha.

Полученный токен необходимо установить в качестве значения для элемента input с именем frc-captcha-solution и/или передать функции обратного вызова, заданную аттрибутом data-callback у элемента div капчи.

Типы задач

  • FriendlyCaptchaTaskProxyless - мы используем собственный пул прокси-серверов для решения капч
  • FriendlyCaptchaTask - мы используем переданный вами прокси

Спецификация для типа задачи FriendlyCaptchaTaskProxyless

Свойство Тип Обязателен Описание
type Строка Да Тип задачи:
FriendlyCaptchaTaskProxyless
FriendlyCaptchaTask
websiteURL Строка Да Полный URL-адрес целевой веб-страницы, на которую загружается капча. Мы не открываем страницу, это не проблема, если страница доступна только для авторизованных пользователей
websiteKey Строка Да Значение аттрибута data-apikey элемента div капчи

Спецификация для типа задачи FriendlyCaptchaTask

Задача FriendlyCaptchaTask расширяет FriendlyCaptchaTaskProxyless, добавляя набор параметров, связанных с прокси, перечисленных ниже.

Свойство Тип Обязателен Описание
proxyType Строка Да Тип прокси:
http
socks4
socks5
proxyAddress Строка Да IP-адрес прокси-сервера или имя хоста
proxyPort Число Да Порт прокси-сервера
proxyLogin Строка Нет Логин используемый для аунтефикации на прокси-сервере
proxyPassword Строка Нет Пароль используемый для аунтефикации на прокси-сервере

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

Метод: createTask
Конечная точка API: https://{{api_hostname}}/createTask

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

{
    "clientKey": "YOUR_API_KEY",
    "task": {
        "type": "FriendlyCaptchaTaskProxyless",
        "websiteURL": "https://example.com",
        "websiteKey": "2FZFEVS1FZCGQ9"
    }
}

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

{
    "clientKey": "YOUR_API_KEY",
    "task": {
        "type": "FriendlyCaptchaTask",
        "websiteURL": "https://example.com",
        "websiteKey": "2FZFEVS1FZCGQ9",
        "proxyType": "http",
        "proxyAddress": "1.2.3.4",
        "proxyPort": "8080",
        "proxyLogin": "user23",
        "proxyPassword": "p4$$w0rd"
    }
}

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

{
    "errorId": 0,
    "status": "ready",
    "solution": {
        "token": "f8b10f4ad796484bae963b1ebe3ce2bb.ZXL8Z...AAAAAA.AgAD"    },
    "cost": "0.00299",
    "ip": "1.2.3.4",
    "createTime": 1692863536,
    "endTime": 1692863556,
    "solveCount": 1
}

Использование токена

Полученный токен поместите в значение тега input с name = frc-captcha-solution, затем отправьте форму, внутри которой находится этот input, например:

document.querySelector('input.frc-captcha-solution').value='f8b10f4ad796484bae963b1ebe3ce2bb.ZXL8Z...AAAAAA.AgAD'
document.querySelector('form').submit()

Имейте в виду, что имя для input может быть кастомизировано с помощью аттрибута data-solution-field-name и в этом случае нужно использовать значение этого аттрибута, как имя.

Если на странице задана коллбек-функция, то можно отправить токен через нее. Например, если data-callback="doneCallback" то вы должны выполнить:

doneCallback('f8b10f4ad796484bae963b1ebe3ce2bb.ZXL8Z...AAAAAA.AgAD')

Полезные материалы

Отвечаем на вопросы

Если после прочтения документации у вас остались вопросы по новому API, будем рады ответить и помочь:

Можно задать вопрос любым способом:

Мы ценим отзывы и хотим убедиться, что сервис идеально подходит для ваших задач.