Описание API для Solver Captcha TG

Описание API для Solver Captcha TG

@Sergqwer2

Отправка обычных картинок

Xevil умеет решать около 20 000 типов обычной капчи, вот примеры того, что он решает без проблем, с точностью более 50%:



Чтобы решить обычную капчу с помощью нашего сервиса, вам необходимо загрузить изображение с помощью HTTP POST запроса к URL нашего API:

https://goodxevilpay.pp.ua/in.php

Сервер принимает изображения в формате multipart или base64.

Пример multipart-формы

<form method="post" action="https://goodxevilpay.pp.ua/in.php" enctype="multipart/form-data">
<input type="hidden" name="method" value="post">
<input type="text" name="key" value="YOUR_APIKEY">
Файл капчи:
<input type="file" name="file">
<input type="submit" value="Загрузить и получить ID">
</form>

Параметр YOUR_APIKEY нужно заменить на ваш ключ API с телеграмм бота


Пример base64-формы

<form method="post" action="https://goodxevilpay.pp.ua/in.php" enctype="multipart/form-data">
<input type="hidden" name="method" value="base64">
<input type="text" name="key" value="YOUR_APIKEY">
<textarea name="body">BASE64_FILE</textarea>
<input type="submit" value="Загрузить и получить ID">
</form>

Параметр YOUR_APIKEY нужно заменить на ваш ключ API с телеграмм бота

BASE64_FILE — тело файла капчи в формате base64.

Если вы отправили корректный запрос, сервер вернёт ID вашей капчи в виде простого текста, например:

OK|2122988149

или в формате JSON:

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

если вы использовали параметр json в запросе.


Отправка reCAPTCHA V2

Посмотрите исходный код элемента на странице, где вы встретили reCAPTCHA.

Найдите ссылку, которая начинается с www.google.com/recaptcha/api2/anchor или найдите параметр data-sitekey.

Скопируйте значение параметра k из ссылки или значение data-sitekey.


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

1) method - для рекапчи всегда - userrecaptcha

2) googlekey - data-sitekey со страницы с рекапчей

3) pageurl - ссылка на страницу, на которой надо решить капчу

4) key - api ключ который вам выдал телеграмм бот

5) json - не обязательный параметр, если json=1 ответ вернется в формате: {"status":1,"request":"123456"}, если его не указывать, или указать json=0, ответ вернется в формате: OK|123456

(Остальные параметры временно не поддерживаются моим сервером)

Отправьте запрос HTTP GET или POST к нашему API:

https://goodxevilpay.pp.ua/in.php?key=6Led6iMUAAAAAIRr8dtPf9ZBsn_T7H2CUGg89YSs&pageurl=https://lessons.zennolab.com/captchas/recaptcha/v2_simple.php?level=middle&method=userrecaptcha&googlekey=6Led6iMUAAAAAIRr8dtPf9ZBsn_T7H2CUGg89YSs


Так же можно отправить POST запрос в формате multipart/form-data:

<form method="post" action="https://goodxevilpay.pp.ua/in.php" enctype="multipart/form-data">
<input type="text" name="pageurl" value="https://lessons.zennolab.com/captchas/recaptcha/v2_simple.php?level=middle">
<input type="text" name="method" value="userrecaptcha">
<input type="text" name="googlekey" value="6Led6iMUAAAAAIRr8dtPf9ZBsn_T7H2CUGg89YSs">
<input type="text" name="key" value="YOUR_APIKEY">
</form>


Если что-то пошло не так, сервер вернёт ошибку.


Подождите 1 секунду и отправьте HTTP GET запрос к нашему API чтобы получить результат:

https://goodxevilpay.pp.ua/res.php?key=6Led6iMUAAAAAIRr8dtPf9ZBsn_T7H2CUGg89YSs&action=get&id=123456


Здесь также можно указать json=1 что бы обвет был:
Пример когда капча решена:
{"status":1,"request":"03AIIukzgjQ2GmRNuYZUawFhNurK64ocmQbaLT-fwmbmkItxlO91CB_VkJZO4GT8azUuNqhiOFDzvcCIj8VtYvrkXvFqSvf8ml7n7hqdyKB8O8zcfaK5v1xhCUk48uhLexTZp78e4qWQiKihZcbIk0JCLdalEILb4KbiMyGxhSCEKuSA8SvQB0QitGbdnKReFQozKBtG69pNzCbgh7fscP49794a8_VqM3JHblJa5FvsxIIWrEt03x2BGv-8lKYOKN4zgLPbRt1KSB7W15Kx-_mE2Yh4-YTSuo9ES7nwEzUoJfkkYAfGIktfXKV8msZHy0i3cNmCi_imbcZP4B6LHrwAv7W0e9nepVSFlFq7TS-ER-nlRcw5RT_USqr0CER5xqxra6yWyZoGxo50UE6JmWGP2AXfk9WJl7Y9BT-uKxtxCX_pxARrKvNlW1Ues3TzJYWPrzwx_5cSD7eOmB1oUi7oXYNxC5Qb04nbHG21IB6c88QJssce5vLl1vDlLELvzByjlU1RTlmAsqIueYMeAY2Dw5YzOx11eNLxm_cIO6mf7npVL4DjGENAAi4jmHrWzkuuykUAMwVaUP6OogzdqpxR72UnV3w3CZPNjY1lmRgzMtOMFkbbJIfmA"}
Пример когда капча еще не решена:
{"status":0,"request":"CAPCHA_NOT_READY"}



Если не укаывать параметр json, или указать json=0, то сервер вернет ответ:
Пример когда капча решена:
OK|03AIIukzjDpa2jUlCrGqw4Dzl3Sr597rD-3oBkydsVGhMw2IN206-aPeQFrjJkJ0a3V10bKfkN2XACu7bdchyoo9t0wkUxgOPu0XtUUftFAn96AJabkdV99o4FGUBsF-RhxCJrWbIJRbB7OzgEuJGlVwGFf0IfXNBxVyMqbbX4fIhkIkYeE-D5rU6Hnx6YGCT06f2vnMPESxfzJDrB3-JNVY8YAdTRMY-Usk6bzCM8GWWaMHs_TXIEO74d27w9AuckbuUkMunkfJXhgmGFCs5qYSvJlaxQUSqmH7bR7trkg1LmdP4vobE89pqvFaZxGjAtQyVi0LwZhcr7ZfjamoJofVjS5Xq5F6HjvYQR2tfuQK5lAV5z8NmV3lkxfjbQ0DxgcQ8YhOASwmKtYcZZTnjHU_nIUNamAJFK422BMrzelgP5Uf4rI1lr64cxSAg7FO-5PbXUqJC48HyQMGqZHX5DnUs5zTWjxui4EWtQ7kwvjzP1H8Jm2g62OeH2wJ5z32fatU2UhoiFGT49I6ifLrsEkxc9DIQIyYAcF-CBj9dAUBcFHpCxPZfcGAjJQjN21m1QxZqrKEY2yeVpczjARhWnu2NQQXqBvAFbCQ
Пример когда капча еще не решена:
CAPCHA_NOT_READY

(Остальные параменты этот тип запроса временно не поддерживает)


Если в ответе пришло CAPCHA_NOT_READY, значит надо повторить запрос через 1-10 секунд

Если что-то пошло не так, сервер вернёт код ошибки.

Далее найдите элемент с id g-recaptcha-response и сделайте его видимым, удалив параметр display:none.

Внимание: иногда содержимое страницы генерируется динамически и вы можете не найти данный элемент.
В таком случае вам нужно изучить скрипты, отвечающие за генерацию содержимого страницы. Опция "Inspect" в Google Chrome может помочь в этом.

На странице отобразится текстовое поле. Всё что вам остается сделать — вставить полученный токен в это поле и отправить форму.

Поздравляем, вы решили reCAPTCHA!

reCAPTCHA Callback

Иногда вы не найдете кнопки, отправляющей форму. Вместо нее может использоваться callback-функция. Эта функция выполняется, когда задание рекапчи выполнено.

Обычно callback-функция определена в параметре data-callback, например:

data-callback="myCallbackFunction"

Или иногда она указана как параметр callback у функции grecaptcha.render, например так:

grecaptcha.render('example', {
'sitekey' : 'someSitekey',
'callback' : myCallbackFunction,
'theme' : 'dark'
});

Кроме того, есть ещё один простой способ найти callback-функцию — это открыть javascript-консоль вашего браузера и изучить объект конфигурации reCAPTCHA:

___grecaptcha_cfg.clients[0].aa.l.callback

Имейте в виду, что часть aa.l меняется, а также, что на одном сайте может быть несколько имплементации reCAPTCHA, поэтому вам нужно посмотреть и на clients[1], clients[2] и т.д.

Или, еще проще - воспользуйтесь скриптом для поиска параметров reCAPTCHA

В конце концов вам нужно запустить callback-функцию:

myCallbackFunction();

Или даже так:

___grecaptcha_cfg.clients[0].aa.l.callback();

Иногда функция требует какой-либо агрумент на входе. В большинстве случаев нужно передать токен. Например:

myCallbackFunction('TOKEN');



Отправка hCaptcha

Принцип решения капчи довольно прост:

Найдите в исходном коде страницы значение параметра data-sitekey.

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

1) method - для hcaptcha всегда - hcaptcha

2) sitekey - data-sitekey со страницы с hcaptcha

3) pageurl - ссылка на страницу, на которой надо решить капчу

4) key - api ключ который вам выдал телеграмм бот

5) json - не обязательный параметр, если json=1 ответ вернется в формате: {"status":1,"request":"1234567"}, если его не указывать, или указать json=0, ответ вернется в формате: OK|1234567

(Остальные параметры временно не поддерживаются моим сервером)

Отправьте запрос HTTP GET или POST к нашему API:

https://goodxevilpay.pp.ua/in.php?key=WZkcEELOAxgbVuGsCS6WKxA8W9SbayEi&pageurl=https://lessons.zennolab.com/captchas/hcaptcha/?level=moderate&method=hcaptcha&sitekey=d391ffb1-bc91-4ef8-a45a-2e2213af091b


Так же можно отправить POST запрос в формате multipart/form-data:

<form method="post" action="https://goodxevilpay.pp.ua/in.php" enctype="multipart/form-data">
<input type="text" name="pageurl" value="https://lessons.zennolab.com/captchas/hcaptcha/?level=moderate">
<input type="text" name="method" value="hcaptcha">
<input type="text" name="sitekey" value="d391ffb1-bc91-4ef8-a45a-2e2213af091b">
<input type="text" name="key" value="6Led6iMUAAAAAIRr8dtPf9ZBsn_T7H2CUGg89YSs">
</form>


Если что-то пошло не так, сервер вернёт ошибку.


Подождите 1 секунду и отправьте HTTP GET запрос к нашему API чтобы получить результат:

https://goodxevilpay.pp.ua/res.php?key=6Led6iMUAAAAAIRr8dtPf9ZBsn_T7H2CUGg89YSs&action=get&id=1234567


Здесь также можно указать json=1 что бы обвет был:
Пример когда капча решена:
{"status":1,"request":"P0_eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJwYXNza2V5IjoidElUZUh6RkhUWkhjVHFFTG9wNEs1MTk1Z2g5WkR1U3hEbUlsQU5McVZLUm1JWUtLaG81bDErdGtMYzZ2Wk5xQ0RFOEdEdHAxejMvOC9kZkxqazFROHpYaEs5R2N1VGxyTCtEb1J5dUFVRzl1TTB0Ynd3NzhUdThQaHdpUDVOWllEM3RrbEpLM21QL1hJaTRrZjU1NHhSQlNOUGpMWDFuUlFhcDR1STljeEc4VXFjMkpkQytiNHpOcjQ4bWd4U1I2Q1diWDJMVkg0TDNzZ2VMRKRnRZZ0M0NnVvV0FzQ1phZitvSlFsQmNrbVltM3FlWEl5OTZlSTY2eHl5cDdsZjFhMzUxZmVpL01VUk10bkllU3pEN0xhdFBFOXhIUVN3czRkaEE1ZGdWQTZzMUZxcnRXS1R4VGtwMnowZDlLWkxnMFVzejBqQmVQY3QrZENyZ1lpTlM5S3JlSHR3d2ZXTnpDQnp5T1NSeFRBQzNTU0VjUnZLa1VGUVpqZjVHWGFXRWdmOE90NTA3WVhkQ1p2UHYrRTNubjNTaTN6Y2hBZnBjYXdNK21sMHJlZUovUmFNRDJKWFBIUkczM0JzeXppWFFHaERjM1FlbFJYN0k4Q0NzNnlValhld2JjT05taWg0UXN1ZWFiRWMvanlURUVwa1dPOTZWNzQ5aEtFSFZ4cHErWG9OTXNwa24wZHFhTFJaK1k2RHY3QjJRa"}
Пример когда капча еще не решена:
{"status":0,"request":"CAPCHA_NOT_READY"}



Если не укаывать параметр json, или указать json=0, то сервер вернет ответ:
Пример когда капча решена:
OK|P0_eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJwYXNza2V5IjoibTBabzBVVUdFT2J3OUk5M3hKdFgvZk01amF5b1c3cm5MdHlvS2ZFcVpyT3M5Z0ZPTXZBWEpzM0JBUGpFeWZhaWNCVWFRWktJazdhOGFPQ2FYcUt2Sm81ajJ1d0xHVXl6UXdHelFxQmd4bTlwbTIyMEpvNG16QnZsYkJHNmZBRWRKRnRZZ0M0NnVvV0FzQ1phZitvSlFsQmNrbVltM3FlWEl5OTZlSTY2eHl5cDdsZjFhMzUxZmVpL01VUk10bkllU3pEN0xhdFBFOXhIUVN3czRkaEE1ZGdWQTZzMUZxcnRXS1R4VGtwMnowZDlLWkxnMFVzejBqQmVQY3QrZENyZ1lpTlM5S3JlSHR3d2ZXTnpDQnp5T1NSeFRBQzNTU0VjUnZLa1VGUVpqZjVHWGFXRWdmOE90NTA3WVhkQ1p2UHYrRTNubjNTaTN6Y2hBZnBjYXdNK21sMHJlZUovUmFNRDJKWFBIUkczM0JzeXppWFFHaERjM1FlbFJYN0k4Q0NzNnlValhld2JjT05taWg0UXN1ZWFiRWMvanlURUVwa1dPOTZWNzQ5aEtFSFZ4cHErWG9OTXNwa24wZHFhTFJaK1k2RHY3QjJRaFptekVUVHhlck9GSm9KWUpncnhaUi84WjFKeG9Xd2hwRFdoTkZ1NE1vdG5VdUdBd1BpSUNxRm42b1YxNlVxMWZvTzBsRGhLcUVWbzNtYXhqVE1GVXIyazVNRlZEM2NONG1hZlhvVWliVTFoMG92NnVZQmJBZTVySmlXWlRZNkVnU2FXRVRYNENPWWxuTmdJQnNiVHNZaEdjdU4rOE1FOVVpRWgrWHZtZHRXY0grYkZhOXBRbmVpTHhQZXNBYU9WVXJZSVd3aVdWNmtmMzZuMUJucXJFb3hrTWEyblp0SmtaK0theEY2T2FSaWtiQ2hxUk5oM0dGWjNmdDVKRWRqaFcxOWVWUmNhdjJRYlV5MFEzUTErSlhOVld4a2J1WW1nRG1QR2FpVlh3N1l1czVmdURjWUdWUitvM2U4UjYxeHR1dFVJMDAyNUdMQnJGa1Y3eE9ZbmpzRThSdUlYekRnQkZjTVNPbFNQRTMzL0svMnVQTFJ0VTlTZ0tKa3hJQjhXTjI1VGxEWHZSN1hOTlNNRVpUdVBxeVVuNmR3SE9pQVgxM3pxZkkwM3luSmlHcHpPeklNS
Пример когда капча еще не решена:
CAPCHA_NOT_READY

(Остальные параменты этот тип запроса временно не поддерживает)


Если в ответе пришло CAPCHA_NOT_READY, значит надо повторить запрос через 1-10 секунд

Если что-то пошло не так, сервер вернёт код ошибки.


Поместите полученный токен в скрытые элементы h-captcha-response и g-recaptcha-response и отправьте форму.

Иногда нет кнопки которая проверяет капчу, тогда надо вызвать callback-функцию, так же как и с рекапчей 2


Slider captcha (Geetest slider и не только)

Чтобы решить такую капчу с вам понадобится сделать скриншот.

Далее вам надо отправить POST запрос, тип запроса multipart/form-data
Данные:

method = geetest

key = api ключ с тг бота

body - скриншот в формате base64


В ответ придет: OK|123
123 - ID

Для получения результата надо отправить GET запрос: http://goodxevilpay.pp.ua/res.php?key&id
key = api ключ с тг бота

id = ID с предыдущего шага

В ответ придет: OK|coordinate:x=220,y=60,w=39

x=0 y=0 - верхний левый угол скриншота

x - координата по x относительно верхнего левого угла

y - координата по y относительно верхнего левого угла

w - ширина затемненной зоны


Вот пример с html:

<form action="http://goodxevilpay.pp.ua/in.php" method="POST" enctype="multipart/form-data">
    <input type="hiden" name="method" value="geetest">
    <input type="hiden" name="key" value="">
    <input type="hiden" name="body" value="iVBORw0KGgoAAAANSUhEUgA..............AAE4AA">
    <input value="Submit" type="submit">
  </form>

Пример для получения результата:

<form action="http://goodxevilpay.pp.ua/res.php?key&id" method="GET">
<input type="hiden" name="key" value="">
  <input type="hiden" name="id" value="">
<input value="Submit" type="submit">
</form> 


BuxMoney/PayupVideo

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



Далее вам надо отправить POST запрос, тип запроса multipart/form-data
Данные:

method = buxmoney

key = api ключ с тг бота

body - скриншот в формате base64


В ответ придет: OK|123
123 - ID

Для получения результата надо отправить GET запрос: http://goodxevilpay.pp.ua/res.php?key&id
key = api ключ с тг бота

id = ID с предыдущего шага

В ответ придет: OK|coordinate:x=220,y=60

x=0 y=0 - верхний левый угол скриншота

x - координата по x относительно верхнего левого угла

y - координата по y относительно верхнего левого угла


Вот пример с html:

<form action="http://goodxevilpay.pp.ua/in.php" method="POST" enctype="multipart/form-data">
    <input type="hiden" name="method" value="buxmoney">
    <input type="hiden" name="key" value="">
    <input type="hiden" name="body" value="/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAMCAgICAgMCAgIDAwMDBAYEBAQEBAgGBgUGCQgKCgkICQkKDA8MCgsOCwkJDRENDg8QEBEQCg............................">
    <input value="Submit" type="submit">
  </form>

Пример для получения результата:

<form action="http://goodxevilpay.pp.ua/res.php?key&id" method="GET">
<input type="hiden" name="key" value="">
  <input type="hiden" name="id" value="">
<input value="Submit" type="submit">
</form> 


Seo-Fast ProfitCentr SeoTime

Вам надо отправить POST запрос, тип запроса multipart/form-data
Данные:

method = profit или seofast или seotime

key = api ключ с тг бота

textinstructions = текст задания, на русском

body_1 - body_6 - картинки в формате base64


В ответ придет: OK|123
123 - ID

Для получения результата надо отправить GET запрос: http://goodxevilpay.pp.ua/res.php?key&id
key = api ключ с тг бота

id = ID с предыдущего шага

В ответ придет: OK|1,5

1 и 5, это номера картинок на которые надо нажать


Вот пример с html:

<form action="http://goodxevilpay.pp.ua/in.php" method="POST" enctype="multipart/form-data">
    <input type="hiden" name="method" value="profit">
    <input type="hiden" name="key" value="">
<input type="hiden" name="textinstructions" value="Отметьте изображения с медалями">
    <input type="hiden" name="body_1" value="iVBORw0KGgoAAAANSUhEUgAAAE4AA">
<input type="hiden" name="body_2" value="iVBORw0KGgoAAAANSUhEUgAAAE4AAA">
<input type="hiden" name="body_3" value="iVBORw0KGgoAAAANSUhEUgAAAE4A">
<input type="hiden" name="body_4" value="iVBORw0KGgoAAAANSUhEUgAAAE4AAABOCAIAA">
<input type="hiden" name="body_5" value="iVBORw0KGgoAAAANSUhEUgAAAE4AAABOCAIAAAAByL">
<input type="hiden" name="body_6" value="iVBORw0KGgoAAAANSUhEUgAAAE4AAABOCAIA">
    <input value="Submit" type="submit">
  </form>

Пример для получения результата:

<form action="http://goodxevilpay.pp.ua/res.php?key&id" method="GET">
<input type="hiden" name="key" value="">
  <input type="hiden" name="id" value="">
<input value="Submit" type="submit">
</form>





Report Page