From fdadc0bb178fc92e9ff21f243c9c02619a4b23ce Mon Sep 17 00:00:00 2001 From: dzmitry-duboyski Date: Thu, 28 Mar 2024 18:19:58 +0400 Subject: [PATCH 1/7] fix links --- README.md | 12 ++++++------ README.ru.md | 16 ++++++++-------- 2 files changed, 14 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index a4027bb..9ddafb1 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Ruby 2Captcha API Client -This is the easiest way to quickly integrate 2Captcha into your code and automate solving of any type of captcha. +This is the easiest way to quickly integrate [2Captcha](https://2captcha.com/) into your code and automate solving of any type of captcha. A Ruby client for the 2Captcha API. @@ -76,13 +76,13 @@ client.api_key = "YOUR_API_KEY" |Option|Default value|Description| |---|---|---| -|soft_id|-|your software ID obtained after publishing in [2captcha sofware catalog]| -|callback|-|URL of your web-sever that receives the captcha recognition result. The URl should be first registered in [pingback settings] of your account| +|soft_id|-|your software ID obtained after publishing in [2captcha sofware catalog](https://2captcha.com/software)| +|callback|-|URL of your web-sever that receives the captcha recognition result. The URl should be first registered in [pingback settings](https://2captcha.com/setting/pingback) of your account| |default_timeout|120|Timeout in seconds for all captcha types except reCAPTCHA. Defines how long the module tries to get the answer from `res.php` API endpoint| |polling_interval|10|Interval in seconds between requests to `res.php` API endpoint, setting values less than 5 seconds is not recommended| > **IMPORTANT:** once `callback` is defined for `Client` instance, all methods return only the captcha ID and DO NOT poll the API to get the result. The result will be sent to the callback URL. -To get the answer manually use [get_result method](#send--getresult) +To get the answer manually use [get_result method](#send--get_result) ## Solve captcha When you submit any image-based captcha use can provide additional options to help 2captcha workers to solve it properly. @@ -90,13 +90,13 @@ When you submit any image-based captcha use can provide additional options to he ### Captcha options | Option | Default Value | Description | | ------------- | ------------- | -------------------------------------------------------------------------------------------------- | -| numeric | 0 | Defines if captcha contains numeric or other symbols [see more info in the API docs][post options] | +| numeric | 0 | Defines if captcha contains numeric or other symbols [see more info in the API docs](https://2captcha.com/2captcha-api#solving_normal_captcha) | | min_len | 0 | minimal answer lenght | | max_len | 0 | maximum answer length | | phrase | 0 | defines if the answer contains multiple words or not | | case_sensitive | 0 | defines if the answer is case sensitive | | calc | 0 | defines captcha requires calculation | -| lang | - | defines the captcha language, see the [list of supported languages] | +| lang | - | defines the captcha language, see the [list of supported languages](https://2captcha.com/2captcha-api#language) | | hint_image | - | an image with hint shown to workers with the captcha, translated into instructionsimg API parameter | | hint_text | - | hint or task text shown to workers with the captcha | diff --git a/README.ru.md b/README.ru.md index 9caea88..f48c432 100644 --- a/README.ru.md +++ b/README.ru.md @@ -1,6 +1,6 @@ # Ruby 2Captcha API Client -Это самый простой способ быстро интегрировать 2Captcha в ваш код и автоматизировать решение любого типа капчи. +Это самый простой способ быстро интегрировать [2Captcha](https://2captcha.com/) в ваш код и автоматизировать решение любого типа капчи. Ruby-клиент для API 2Captcha. @@ -10,8 +10,8 @@ Ruby-клиент для API 2Captcha. - [Решение капчи](#solve-captcha) - [Обычная капча](#normal-captcha) - [Текстовая капча](#text-captcha) - - [ReCaptcha v2](#recaptcha-v2) - - [ReCaptcha v3](#recaptcha-v3) + - [reCAPTCHA v2](#recaptcha-v2) + - [reCAPTCHA v3](#recaptcha-v3) - [FunCaptcha](#funcaptcha) - [GeeTest](#geetest) - [hCaptcha](#hcaptcha) @@ -85,7 +85,7 @@ client.polling_interval(10) | Параметр | Значение по умолчанию | Описание | |-------------------|---------------|-------------------------------------------------------------------------------------------------------------------------------| -| numeric | 0 | Определяет, содержит ли капча числа или другие символы [подробнее см. в документации по API](https://2captcha.com/2captcha-api#normal_post) | +| numeric | 0 | Определяет, содержит ли капча числа или другие символы [подробнее см. в документации по API](https://2captcha.com/2captcha-api#solving_normal_captcha) | | min_len | 0 | Минимальная длина ответа length | | max_len | 0 | Максимальная длина ответа length | | phrase | 0 | Определяет, содержит ли ответ несколько слов или нет | @@ -116,8 +116,8 @@ result = client.text({ }) ``` -### ReCaptcha v2 -Используйте этот метод для решения ReCaptcha V2 и получения токена для обхода защиты. +### reCAPTCHA v2 +Используйте этот метод для решения reCAPTCHA v2 и получения токена для обхода защиты. ```ruby result = client.recaptcha_v2({ googlekey: '6Le-wvkSVVABCPBMRTvw0Q4Muexq1bi0DJwx_mJ-', @@ -126,8 +126,8 @@ result = client.recaptcha_v2({ }) ``` -### ReCaptcha v3 -Этот метод предоставляет решение для ReCaptcha V3 и возвращает токен. +### reCAPTCHA v3 +Этот метод предоставляет решение для reCAPTCHA v3 и возвращает токен. ```ruby result = client.recaptcha_v3({ googlekey: '6Le-wvkSVVABCPBMRTvw0Q4Muexq1bi0DJwx_mJ-', From f6f4635d60e4875b3534c33426a4ddf37c7a07bd Mon Sep 17 00:00:00 2001 From: Dima Dub <38065632+dzmitry-duboyski@users.noreply.github.com> Date: Wed, 15 May 2024 06:19:46 +0000 Subject: [PATCH 2/7] update README.md --- README.md | 35 +++++++++++++++++++++-------------- 1 file changed, 21 insertions(+), 14 deletions(-) diff --git a/README.md b/README.md index 9ddafb1..e76f9e0 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,6 @@ # Ruby 2Captcha API Client -This is the easiest way to quickly integrate [2Captcha](https://2captcha.com/) into your code and automate solving of any type of captcha. +This is the easiest way to quickly integrate [2Captcha] into your code and automate solving of any type of captcha. A Ruby client for the 2Captcha API. @@ -74,12 +74,12 @@ client.api_key = "YOUR_API_KEY" ### Client instance options -|Option|Default value|Description| -|---|---|---| -|soft_id|-|your software ID obtained after publishing in [2captcha sofware catalog](https://2captcha.com/software)| -|callback|-|URL of your web-sever that receives the captcha recognition result. The URl should be first registered in [pingback settings](https://2captcha.com/setting/pingback) of your account| -|default_timeout|120|Timeout in seconds for all captcha types except reCAPTCHA. Defines how long the module tries to get the answer from `res.php` API endpoint| -|polling_interval|10|Interval in seconds between requests to `res.php` API endpoint, setting values less than 5 seconds is not recommended| +|Option |Default value|Description | +|----------------|-------------|------------------------------------------------------------------------| +|soft_id |- |your software ID obtained after publishing in [2captcha sofware catalog]| +|callback |- |URL of your web-sever that receives the captcha recognition result. The URl should be first registered in [pingback settings] of your account| +|default_timeout |120 |Timeout in seconds for all captcha types except reCAPTCHA. Defines how long the module tries to get the answer from `res.php` API endpoint| +|polling_interval|10 |Interval in seconds between requests to `res.php` API endpoint, setting values less than 5 seconds is not recommended| > **IMPORTANT:** once `callback` is defined for `Client` instance, all methods return only the captcha ID and DO NOT poll the API to get the result. The result will be sent to the callback URL. To get the answer manually use [get_result method](#send--get_result) @@ -90,15 +90,15 @@ When you submit any image-based captcha use can provide additional options to he ### Captcha options | Option | Default Value | Description | | ------------- | ------------- | -------------------------------------------------------------------------------------------------- | -| numeric | 0 | Defines if captcha contains numeric or other symbols [see more info in the API docs](https://2captcha.com/2captcha-api#solving_normal_captcha) | -| min_len | 0 | minimal answer lenght | -| max_len | 0 | maximum answer length | +| numeric | 0 | Defines if captcha contains numeric or other symbols [see more info in the API docs][normal_post] | +| min_len | 0 | minimal answer lenght | +| max_len | 0 | maximum answer length | | phrase | 0 | defines if the answer contains multiple words or not | -| case_sensitive | 0 | defines if the answer is case sensitive | +| case_sensitive| 0 | defines if the answer is case sensitive | | calc | 0 | defines captcha requires calculation | -| lang | - | defines the captcha language, see the [list of supported languages](https://2captcha.com/2captcha-api#language) | -| hint_image | - | an image with hint shown to workers with the captcha, translated into instructionsimg API parameter | -| hint_text | - | hint or task text shown to workers with the captcha | +| lang | - | defines the captcha language, see the [list of supported languages] | +| hint_image | - | an image with hint shown to workers with the captcha, translated into instructionsimg API parameter | +| hint_text | - | hint or task text shown to workers with the captcha | Below you can find basic examples for every captcha type, check out the code below. @@ -439,3 +439,10 @@ In case of an error, the captcha solver throws an exception. It's important to p puts(e) end ``` + + +[2Captcha]: https://2captcha.com/ +[2captcha sofware catalog]: https://2captcha.com/software +[pingback settings]: https://2captcha.com/setting/pingback +[normal_post]: https://2captcha.com/2captcha-api#normal_post +[list of supported languages]: https://2captcha.com/2captcha-api#language \ No newline at end of file From 6f798ba0bf1489e02f22c4bed5d2006a7f22144c Mon Sep 17 00:00:00 2001 From: Dima Dub <38065632+dzmitry-duboyski@users.noreply.github.com> Date: Wed, 15 May 2024 06:42:39 +0000 Subject: [PATCH 3/7] Add info about Proxy --- README.md | 25 ++++++++++++++++++++++--- 1 file changed, 22 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index e76f9e0..33c06a1 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,8 @@ A Ruby client for the 2Captcha API. - [send / get_result](#send--get_result) - [balance](#balance) - [report](#report) - - [Error handling](#error-handling) +- [Proxies](#proxies) +- [Error handling](#error-handling) ## Installation Add this line to your application's Gemfile: @@ -419,8 +420,24 @@ Use this method to report good or bad captcha answer. client.report(captcha_id, True) # captcha solved correctly client.report(captcha_id, False) # captcha solved incorrectly ``` +## Proxies -### Error handling +You can pass your proxy as an additional argument for methods: recaptcha, funcaptcha, geetest, geetest v4, hcaptcha, keycaptcha, capy puzzle, lemin, turnstile, amazon waf, Cutcaptcha, Friendly captcha, MTCaptcha, DataDome, CyberSiARA and etc. The proxy will be forwarded to the API to solve the captcha. + +We have our own proxies that we can offer you. [Buy residential proxies] for avoid restrictions and blocks. [Quick start]. + +Example solving reCAPTCHA V2 using proxy: +```ruby +result = client.recaptcha_v2({ + googlekey: '6Le-wvkSVVABCPBMRTvw0Q4Muexq1bi0DJwx_mJ-', + pageurl: 'https://mysite.com/page/with/recaptcha_v2', + invisible: 1, + proxytype: "https", + proxy: "proxyuser:strongPassword@123.123.123.123:3128" +}) +``` + +## Error handling In case of an error, the captcha solver throws an exception. It's important to properly handle these cases. We recommend using `begin rescue` to handle exceptions. ```ruby begin @@ -445,4 +462,6 @@ In case of an error, the captcha solver throws an exception. It's important to p [2captcha sofware catalog]: https://2captcha.com/software [pingback settings]: https://2captcha.com/setting/pingback [normal_post]: https://2captcha.com/2captcha-api#normal_post -[list of supported languages]: https://2captcha.com/2captcha-api#language \ No newline at end of file +[list of supported languages]: https://2captcha.com/2captcha-api#language +[Buy residential proxies]: https://2captcha.com/proxy/residential-proxies +[Quick start]: https://2captcha.com/proxy?openAddTrafficModal=true \ No newline at end of file From 06c04cce70782305c82053a9dc4761bd1781856b Mon Sep 17 00:00:00 2001 From: Dima Dub <38065632+dzmitry-duboyski@users.noreply.github.com> Date: Wed, 15 May 2024 07:00:05 +0000 Subject: [PATCH 4/7] Add info about proxy (ru) --- README.ru.md | 26 ++++++++++++++++++++++++-- 1 file changed, 24 insertions(+), 2 deletions(-) diff --git a/README.ru.md b/README.ru.md index f48c432..901841e 100644 --- a/README.ru.md +++ b/README.ru.md @@ -35,7 +35,8 @@ Ruby-клиент для API 2Captcha. - [send / get_result](#send--get_result) - [balance](#balance) - [report](#report) - - [Обработка ошибок](#error-handling) +- [Прокси](#proxies) +- [Обработка ошибок](#error-handling) ## Установка Автоматическая установка гема с помощью Bundler. Добавьте следующую строку в ваш Gemfile: @@ -373,8 +374,25 @@ balance = client.get_balance client.report(captcha_id, True) # капча решена правильно client.report(captcha_id, False) # капча решена неправильно ``` +

Прокси

-### Обработка ошибок +Вы можете передать свой прокси-сервер в качестве дополнительного аргумента для методов: recaptcha, funcaptcha, geetest, geetest v4, hcaptcha, keycaptcha, capy puzzle, lemin, turnstile, amazon waf, Cutcaptcha, Friendly captcha, MTCaptcha, DataDome, CyberSiARA и других. Передынный Прокси-сервер будет перенаправлен в API и будет использован для загрузки капчи. + +У нас есть свои собственные прокси-серверы, которые мы можем вам предложить. [Купить резидентские прокси][Buy residential proxies] чтобы избежать ограничений и блокировок. [Быстрый старт][Quick start]. + +Пример решения reCAPTCHA V2 с использованием прокси-сервера: +```ruby +result = client.recaptcha_v2({ + googlekey: '6Le-wvkSVVABCPBMRTvw0Q4Muexq1bi0DJwx_mJ-', + pageurl: 'https://mysite.com/page/with/recaptcha_v2', + invisible: 1, + proxytype: "https", + proxy: "proxyuser:strongPassword@123.123.123.123:3128" +}) +``` + + +## Обработка ошибок В случае ошибки при решении капчи генерируется исключение. Важно правильно обрабатывать такие случаи. Мы рекомендуем использовать конструкцию `begin rescue` для обработки. ```ruby begin @@ -393,3 +411,7 @@ client.report(captcha_id, False) # капча решена неправильн puts(e) end ``` + + +[Buy residential proxies]: https://2captcha.com/proxy/residential-proxies +[Quick start]: https://2captcha.com/proxy?openAddTrafficModal=true \ No newline at end of file From a8e4eeb9bf9274ebbfa25997fab76776606effcf Mon Sep 17 00:00:00 2001 From: Dima Dub <38065632+dzmitry-duboyski@users.noreply.github.com> Date: Wed, 15 May 2024 12:51:06 +0000 Subject: [PATCH 5/7] Update README.ru.md --- README.ru.md | 105 ++++++++++++++++++++++++++++++++++----------------- 1 file changed, 71 insertions(+), 34 deletions(-) diff --git a/README.ru.md b/README.ru.md index 901841e..deb416b 100644 --- a/README.ru.md +++ b/README.ru.md @@ -1,6 +1,6 @@ # Ruby 2Captcha API Client -Это самый простой способ быстро интегрировать [2Captcha](https://2captcha.com/) в ваш код и автоматизировать решение любого типа капчи. +Это самый простой способ быстро интегрировать [2Captcha] в ваш код и автоматизировать решение любого типа капчи. Ruby-клиент для API 2Captcha. @@ -38,24 +38,27 @@ Ruby-клиент для API 2Captcha. - [Прокси](#proxies) - [Обработка ошибок](#error-handling) -## Установка +

Установка

Автоматическая установка гема с помощью Bundler. Добавьте следующую строку в ваш Gemfile: + ```ruby gem 'ruby-2captcha' ``` Затем выполните следующую команду в терминале: + ```ruby bundle install ``` Или установите его самостоятельно, выполнив следующую команду в терминале: + ```ruby gem install ruby-2captcha ``` Мы также приглашаем вас ознакомиться с нашим репозиторием на [GitHub](https://github.com/2captcha/), где вы можете найти библиотеки и модули для простой интеграции с нашим API. -## Настройка +

Настройка

Описание всех необходимых параметров для настройки установленного гема. @@ -79,7 +82,7 @@ client.polling_interval(10) **ВАЖНО**: после определения обратного вызова для экземпляра , все методы возвращают только идентификатор капчи и НЕ запрашивают результат у API. Результат будет отправлен на URL обратного вызова. Чтобы получить ответ вручную, используйте метод get_result. -## Решение капчи +

Решение капчи

При отправке любой капчи, основанной на изображении, вы можете предоставить дополнительные параметры, чтобы помочь работникам 2Captcha правильно ее решить. ### Параметры капчи @@ -98,8 +101,9 @@ client.polling_interval(10) Ниже вы найдете основные примеры для каждого типа капчи. Ознакомьтесь с кодом ниже. -### Обычная капча +

Обычная капча

Для обхода обычной капчи (искаженный текст на картинке) используйте следующий метод. Этот метод также может использоваться для распознавания любого текста на картинке. + ```ruby result = client.normal({ image: 'path/to/captcha.jpg'}) # OR @@ -107,9 +111,10 @@ result = client.normal({ image: 'https://site-with-captcha.com/path/to/captcha.jpg' }) ``` +

Текстовая капча

-### Текстовая капча Этот метод может использоваться для обхода капчи, которая требует ответить на вопрос, представленный в явном виде. + ```ruby result = client.text({ textcaptcha:'Если завтра суббота, то какой сегодня день?', @@ -117,8 +122,9 @@ result = client.text({ }) ``` -### reCAPTCHA v2 +

reCAPTCHA v2

Используйте этот метод для решения reCAPTCHA v2 и получения токена для обхода защиты. + ```ruby result = client.recaptcha_v2({ googlekey: '6Le-wvkSVVABCPBMRTvw0Q4Muexq1bi0DJwx_mJ-', @@ -127,8 +133,9 @@ result = client.recaptcha_v2({ }) ``` -### reCAPTCHA v3 +

reCAPTCHA v3

Этот метод предоставляет решение для reCAPTCHA v3 и возвращает токен. + ```ruby result = client.recaptcha_v3({ googlekey: '6Le-wvkSVVABCPBMRTvw0Q4Muexq1bi0DJwx_mJ-', @@ -139,8 +146,9 @@ result = client.recaptcha_v3({ }) ``` -### FunCaptcha +

FunCaptcha

Метод решения FunCaptcha (Arkoselabs). Он возвращает токен. + ```ruby result = client.funcaptcha({ publickey: "69A21A01-CC7B-B9C6-0F9A-E7FA06677FFC", @@ -148,8 +156,9 @@ result = client.funcaptcha({ surl: "https://client-api.arkoselabs.com"}) ``` -### GeeTest +

GeeTest

Метод для решения головоломки GeeTest captcha. Он возвращает набор токенов в формате JSON. + ```ruby result = client.geetest({ gt: 'f1ab2cdefa3456789012345b6c78d90e', @@ -159,8 +168,9 @@ result = client.geetest({ }) ``` -### hCaptcha +

hCaptcha

Метод решения hCaptcha. Он возвращает токен для обхода капчи. + ```ruby result = client.hcaptcha({ sitekey: '10000000-ffff-ffff-ffff-000000000001', @@ -168,8 +178,9 @@ result = client.hcaptcha({ }) ``` -### KeyCaptcha +

KeyCaptcha

Метод на основе токенов для решения KeyCaptcha. + ```ruby result = client.keycaptcha({ s_s_c_user_id: 10, @@ -180,8 +191,9 @@ result = client.keycaptcha({ }) ``` -### Capy +

Capy

Метод основан на использовании токенов для обхода паззла Capy. + ```ruby result = client.capy({ sitekey: 'PUZZLE_Abc1dEFghIJKLM2no34P56q7rStu8v', @@ -190,8 +202,9 @@ result = client.capy({ }) ``` -### Grid +

Grid

Метод сетки изначально называется методом Old ReCaptcha V2. Этот метод может быть использован для обхода любого типа капчи, где вы можете применить сетку к изображению и необходимо кликнуть по определенным ячейкам сетки. Он возвращает количество выбранных ячеек. + ```ruby result = client.grid({ image: 'path/to/captcha.jpg', @@ -204,8 +217,9 @@ result = client.grid({ }) ``` -### Canvas +

Canvas

Метод Canvas может быть использован, когда вам необходимо нарисовать линию вокруг объекта на изображении. Он возвращает набор координат точек для рисования многоугольника. + ```ruby result = client.canvas({ image: 'path/to/captcha.jpg', @@ -216,8 +230,9 @@ result = client.canvas({ }) ``` -### ClickCaptcha +

ClickCaptcha

Метод ClickCaptcha возвращает координаты точек на изображении капчи. Может быть использован, если вам необходимо кликнуть по определенным точкам на изображении. + ```ruby result = client.coordinates({ image: 'path/to/captcha.jpg', @@ -227,8 +242,9 @@ result = client.coordinates({ }) ``` -### Rotate +

Rotate

Этот метод может быть использован для решения капчи, которая просит повернуть объект. В основном используется для обхода FunCaptcha. Он возвращает угол поворота. + ```ruby result = client.rotate({ image: 'path/to/captcha.jpg', @@ -239,8 +255,10 @@ result = client.rotate({ }) ``` -### Lemin Cropped Captcha + +

Lemin Cropped Captcha

Используйте этот метод для решения задания hCaptcha. Он возвращает JSON-ответ с указанными значениями: ответ (answer) и идентификатор задания (challenge_id). + ```ruby result = client.lemin({ captcha_id: 'CROPPED_1abcd2f_a1234b567c890d12ef3a456bc78d901d', @@ -250,8 +268,10 @@ result = client.lemin({ }) ``` -### Cloudflare Turnstile + +

Cloudflare Turnstile

Используйте этот метод для решения задачи Cloudflare Turnstile. Он возвращает JSON с токеном. + ```ruby result = client.turnstile({ sitekey: '0x1AAAAAAAAkg0s2VIOD34y5', @@ -259,8 +279,9 @@ result = client.turnstile({ }) ``` -### Amazon WAF +

Amazon WAF

Используйте этот метод для решения Captcha Amazon WAF, также известного как AWS WAF Captcha, который является частью интеллектуальной защиты от угроз для Amazon AWS. Он возвращает JSON с токеном. + ```ruby result = client.amazon_waf({ sitekey: '0x1AAAAAAAAkg0s2VIOD34y5', @@ -272,8 +293,9 @@ result = client.amazon_waf({ }) ``` -### GeeTest v4 +

GeeTest v4

Используйте этот метод для решения GeeTest v4. Он возвращает ответ в формате JSON. + ```ruby result = client.geetest_v4({ captcha_id: 'e392e1d7fd421dc63325744d5a2b9c73', @@ -281,8 +303,9 @@ result = client.geetest_v4({ }) ``` -### Audio +

Audio

Этот метод можно использовать для решения аудио-капчи. + ```ruby result = client.audio({ audio: 'path/to/audio.jpg', @@ -290,8 +313,9 @@ result = client.audio({ }) ``` -### CyberSiARA +

CyberSiARA

Метод решения CyberSiARA. Он возвращает токен для обхода капчи. + ```ruby result = client.cyber_siara({ pageurl: "https://test.com", @@ -299,9 +323,10 @@ result = client.cyber_siara({ }) ``` -### DataDome +

DataDome

Метод решения DataDome вернет токен для обхода капчи. Чтобы решить капчу DataDome вы должны обязательно использовать прокси. + ```ruby result = client.data_dome({ pageurl: "https://test.com", @@ -311,8 +336,10 @@ result = client.data_dome({ }) ``` -### MTCaptcha + +

MTCaptcha

Метод решения MTCaptcha. Он возвращает токен для обхода капчи. + ```ruby result = client.mt_captcha({ pageurl: "https://service.mtcaptcha.com/mtcv1/demo/index.html", @@ -320,8 +347,10 @@ result = client.mt_captcha({ }) ``` -### Friendly captcha + +

Friendly captcha

Метод решения Friendly captcha. Он возвращает токен для обхода капчи. + ```ruby result = client.friendly({ pageurl: "https://example.com", @@ -329,8 +358,10 @@ result = client.friendly({ }) ``` -### Cutcaptcha + +

Cutcaptcha

Метод решения Cutcaptcha. Он возвращает токен для обхода капчи. + ```ruby result = client.cutcaptcha({ misery_key: "a1488b66da00bf332a1488993a5443c79047e752", @@ -339,10 +370,12 @@ result = client.cutcaptcha({ }) ``` -## Другие методы -### send / get_result +

Другие методы

+ +

send / get_result

Эти методы могут быть использованы для ручного отправления капчи и получения результата. + ```ruby # пример для обычной капчи captcha_id = client.send('path/to/captcha.jpg') @@ -361,19 +394,21 @@ time.sleep(20) # Получить готовый результат result = client.get_result(captcha_id) ``` - -### Баланс +

Баланс

Используйте этот метод, чтобы посмотреть баланс в вашем аккаунте. + ```ruby balance = client.get_balance ``` -### Отчет +

Отчет

Используйте этот метод для отправки отчета о правильном или неправильном ответе на капчу. + ```ruby client.report(captcha_id, True) # капча решена правильно client.report(captcha_id, False) # капча решена неправильно ``` +

Прокси

Вы можете передать свой прокси-сервер в качестве дополнительного аргумента для методов: recaptcha, funcaptcha, geetest, geetest v4, hcaptcha, keycaptcha, capy puzzle, lemin, turnstile, amazon waf, Cutcaptcha, Friendly captcha, MTCaptcha, DataDome, CyberSiARA и других. Передынный Прокси-сервер будет перенаправлен в API и будет использован для загрузки капчи. @@ -381,6 +416,7 @@ client.report(captcha_id, False) # капча решена неправильн У нас есть свои собственные прокси-серверы, которые мы можем вам предложить. [Купить резидентские прокси][Buy residential proxies] чтобы избежать ограничений и блокировок. [Быстрый старт][Quick start]. Пример решения reCAPTCHA V2 с использованием прокси-сервера: + ```ruby result = client.recaptcha_v2({ googlekey: '6Le-wvkSVVABCPBMRTvw0Q4Muexq1bi0DJwx_mJ-', @@ -391,9 +427,9 @@ result = client.recaptcha_v2({ }) ``` - -## Обработка ошибок +

Обработка ошибок

В случае ошибки при решении капчи генерируется исключение. Важно правильно обрабатывать такие случаи. Мы рекомендуем использовать конструкцию `begin rescue` для обработки. + ```ruby begin result = client.text('Если завтра суббота, то какой сегодня день?') @@ -413,5 +449,6 @@ result = client.recaptcha_v2({ ``` +[2Captcha]: https://2captcha.com/ [Buy residential proxies]: https://2captcha.com/proxy/residential-proxies [Quick start]: https://2captcha.com/proxy?openAddTrafficModal=true \ No newline at end of file From 815c58ea7c7cd239407ca0db59ce506882275420 Mon Sep 17 00:00:00 2001 From: Dima Dub <38065632+dzmitry-duboyski@users.noreply.github.com> Date: Wed, 15 May 2024 14:39:49 +0000 Subject: [PATCH 6/7] Add 2captcha softId by default --- lib/api_2captcha/client.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/api_2captcha/client.rb b/lib/api_2captcha/client.rb index 60fc8ee..d3a03a0 100644 --- a/lib/api_2captcha/client.rb +++ b/lib/api_2captcha/client.rb @@ -23,7 +23,7 @@ def initialize(api_key, callback = nil) @default_timeout = 120 @recaptcha_timeout = 600 @polling_interval = 10 - @soft_id = 0 + @soft_id = 4584 @domain = DEFAULT_DOMAIN end From e08f7d5e44998b13f776866726ffc8f4645d0f66 Mon Sep 17 00:00:00 2001 From: Dima Dub <38065632+dzmitry-duboyski@users.noreply.github.com> Date: Thu, 16 May 2024 16:06:22 +0000 Subject: [PATCH 7/7] Update README.ru.md --- README.ru.md | 94 ++++++++++++++++++++++++++-------------------------- 1 file changed, 47 insertions(+), 47 deletions(-) diff --git a/README.ru.md b/README.ru.md index deb416b..98efbe2 100644 --- a/README.ru.md +++ b/README.ru.md @@ -4,12 +4,12 @@ Ruby-клиент для API 2Captcha. -- [Установка](#installation) -- [Настройка](#configuration) - - [Опции экземпляра клиента](#client-instance-options) -- [Решение капчи](#solve-captcha) - - [Обычная капча](#normal-captcha) - - [Текстовая капча](#text-captcha) +- [Установка](#установка) +- [Настройка](#настройка) + - [Опции экземпляра клиента](#опции-экземпляра-клиента) +- [Решение капчи](#решение-капчи) + - [Обычная капча](#обычная-капча) + - [Текстовая капча](#текстовая-капча) - [reCAPTCHA v2](#recaptcha-v2) - [reCAPTCHA v3](#recaptcha-v3) - [FunCaptcha](#funcaptcha) @@ -31,14 +31,14 @@ Ruby-клиент для API 2Captcha. - [MTCaptcha](#mtcaptcha) - [Friendly captcha](#friendly-captcha) - [Cutcaptcha](#cutcaptcha) -- [Другие методы](#other-methods) +- [Другие методы](#другие-методы) - [send / get_result](#send--get_result) - - [balance](#balance) - - [report](#report) -- [Прокси](#proxies) -- [Обработка ошибок](#error-handling) + - [Баланс](#баланс) + - [Отчет](#отчет) +- [Прокси](#прокси) +- [Обработка ошибок](#обработка-ошибок) -

Установка

+## Установка Автоматическая установка гема с помощью Bundler. Добавьте следующую строку в ваш Gemfile: ```ruby @@ -58,7 +58,7 @@ gem install ruby-2captcha Мы также приглашаем вас ознакомиться с нашим репозиторием на [GitHub](https://github.com/2captcha/), где вы можете найти библиотеки и модули для простой интеграции с нашим API. -

Настройка

+## Настройка Описание всех необходимых параметров для настройки установленного гема. @@ -69,7 +69,7 @@ require 'api_2captcha' client = Api2Captcha.new("YOUR_API_KEY") ``` - +### Опции экземпляра клиента У вас также есть возможность настроить некоторые параметры экземпляра Api2Captcha: ```ruby @@ -82,7 +82,7 @@ client.polling_interval(10) **ВАЖНО**: после определения обратного вызова для экземпляра , все методы возвращают только идентификатор капчи и НЕ запрашивают результат у API. Результат будет отправлен на URL обратного вызова. Чтобы получить ответ вручную, используйте метод get_result. -

Решение капчи

+## Решение капчи При отправке любой капчи, основанной на изображении, вы можете предоставить дополнительные параметры, чтобы помочь работникам 2Captcha правильно ее решить. ### Параметры капчи @@ -101,7 +101,7 @@ client.polling_interval(10) Ниже вы найдете основные примеры для каждого типа капчи. Ознакомьтесь с кодом ниже. -

Обычная капча

+### Обычная капча Для обхода обычной капчи (искаженный текст на картинке) используйте следующий метод. Этот метод также может использоваться для распознавания любого текста на картинке. ```ruby @@ -111,7 +111,7 @@ result = client.normal({ image: 'https://site-with-captcha.com/path/to/captcha.jpg' }) ``` -

Текстовая капча

+### Текстовая капча Этот метод может использоваться для обхода капчи, которая требует ответить на вопрос, представленный в явном виде. @@ -122,7 +122,7 @@ result = client.text({ }) ``` -

reCAPTCHA v2

+### reCAPTCHA v2 Используйте этот метод для решения reCAPTCHA v2 и получения токена для обхода защиты. ```ruby @@ -133,7 +133,7 @@ result = client.recaptcha_v2({ }) ``` -

reCAPTCHA v3

+### reCAPTCHA v3 Этот метод предоставляет решение для reCAPTCHA v3 и возвращает токен. ```ruby @@ -146,7 +146,7 @@ result = client.recaptcha_v3({ }) ``` -

FunCaptcha

+### FunCaptcha Метод решения FunCaptcha (Arkoselabs). Он возвращает токен. ```ruby @@ -156,7 +156,7 @@ result = client.funcaptcha({ surl: "https://client-api.arkoselabs.com"}) ``` -

GeeTest

+### GeeTest Метод для решения головоломки GeeTest captcha. Он возвращает набор токенов в формате JSON. ```ruby @@ -168,7 +168,7 @@ result = client.geetest({ }) ``` -

hCaptcha

+### hCaptcha Метод решения hCaptcha. Он возвращает токен для обхода капчи. ```ruby @@ -178,7 +178,7 @@ result = client.hcaptcha({ }) ``` -

KeyCaptcha

+### KeyCaptcha Метод на основе токенов для решения KeyCaptcha. ```ruby @@ -191,7 +191,7 @@ result = client.keycaptcha({ }) ``` -

Capy

+### Capy Метод основан на использовании токенов для обхода паззла Capy. ```ruby @@ -202,7 +202,7 @@ result = client.capy({ }) ``` -

Grid

+### Grid Метод сетки изначально называется методом Old ReCaptcha V2. Этот метод может быть использован для обхода любого типа капчи, где вы можете применить сетку к изображению и необходимо кликнуть по определенным ячейкам сетки. Он возвращает количество выбранных ячеек. ```ruby @@ -217,7 +217,7 @@ result = client.grid({ }) ``` -

Canvas

+### Canvas Метод Canvas может быть использован, когда вам необходимо нарисовать линию вокруг объекта на изображении. Он возвращает набор координат точек для рисования многоугольника. ```ruby @@ -230,7 +230,7 @@ result = client.canvas({ }) ``` -

ClickCaptcha

+### ClickCaptcha Метод ClickCaptcha возвращает координаты точек на изображении капчи. Может быть использован, если вам необходимо кликнуть по определенным точкам на изображении. ```ruby @@ -242,7 +242,7 @@ result = client.coordinates({ }) ``` -

Rotate

+### Rotate Этот метод может быть использован для решения капчи, которая просит повернуть объект. В основном используется для обхода FunCaptcha. Он возвращает угол поворота. ```ruby @@ -256,7 +256,7 @@ result = client.rotate({ ``` -

Lemin Cropped Captcha

+### Lemin Cropped Captcha Используйте этот метод для решения задания hCaptcha. Он возвращает JSON-ответ с указанными значениями: ответ (answer) и идентификатор задания (challenge_id). ```ruby @@ -269,7 +269,7 @@ result = client.lemin({ ``` -

Cloudflare Turnstile

+### Cloudflare Turnstile Используйте этот метод для решения задачи Cloudflare Turnstile. Он возвращает JSON с токеном. ```ruby @@ -279,7 +279,7 @@ result = client.turnstile({ }) ``` -

Amazon WAF

+### Amazon WAF Используйте этот метод для решения Captcha Amazon WAF, также известного как AWS WAF Captcha, который является частью интеллектуальной защиты от угроз для Amazon AWS. Он возвращает JSON с токеном. ```ruby @@ -293,7 +293,7 @@ result = client.amazon_waf({ }) ``` -

GeeTest v4

+### GeeTest v4 Используйте этот метод для решения GeeTest v4. Он возвращает ответ в формате JSON. ```ruby @@ -303,7 +303,7 @@ result = client.geetest_v4({ }) ``` -

Audio

+### Audio Этот метод можно использовать для решения аудио-капчи. ```ruby @@ -313,7 +313,7 @@ result = client.audio({ }) ``` -

CyberSiARA

+### CyberSiARA Метод решения CyberSiARA. Он возвращает токен для обхода капчи. ```ruby @@ -323,7 +323,7 @@ result = client.cyber_siara({ }) ``` -

DataDome

+### DataDome Метод решения DataDome вернет токен для обхода капчи. Чтобы решить капчу DataDome вы должны обязательно использовать прокси. @@ -337,7 +337,7 @@ result = client.data_dome({ ``` -

MTCaptcha

+### MTCaptcha Метод решения MTCaptcha. Он возвращает токен для обхода капчи. ```ruby @@ -348,7 +348,7 @@ result = client.mt_captcha({ ``` -

Friendly captcha

+### Friendly captcha Метод решения Friendly captcha. Он возвращает токен для обхода капчи. ```ruby @@ -359,7 +359,7 @@ result = client.friendly({ ``` -

Cutcaptcha

+### Cutcaptcha Метод решения Cutcaptcha. Он возвращает токен для обхода капчи. ```ruby @@ -371,9 +371,9 @@ result = client.cutcaptcha({ ``` -

Другие методы

+## Другие методы -

send / get_result

+### send / get_result Эти методы могут быть использованы для ручного отправления капчи и получения результата. ```ruby @@ -394,14 +394,14 @@ time.sleep(20) # Получить готовый результат result = client.get_result(captcha_id) ``` -

Баланс

+### Баланс Используйте этот метод, чтобы посмотреть баланс в вашем аккаунте. ```ruby balance = client.get_balance ``` -

Отчет

+### Отчет Используйте этот метод для отправки отчета о правильном или неправильном ответе на капчу. ```ruby @@ -409,11 +409,11 @@ client.report(captcha_id, True) # капча решена правильно client.report(captcha_id, False) # капча решена неправильно ``` -

Прокси

+## Прокси Вы можете передать свой прокси-сервер в качестве дополнительного аргумента для методов: recaptcha, funcaptcha, geetest, geetest v4, hcaptcha, keycaptcha, capy puzzle, lemin, turnstile, amazon waf, Cutcaptcha, Friendly captcha, MTCaptcha, DataDome, CyberSiARA и других. Передынный Прокси-сервер будет перенаправлен в API и будет использован для загрузки капчи. -У нас есть свои собственные прокси-серверы, которые мы можем вам предложить. [Купить резидентские прокси][Buy residential proxies] чтобы избежать ограничений и блокировок. [Быстрый старт][Quick start]. +У нас есть свои собственные прокси-серверы, которые мы можем вам предложить. [Купить резидентские прокси] чтобы избежать ограничений и блокировок. [Быстрый старт]. Пример решения reCAPTCHA V2 с использованием прокси-сервера: @@ -427,7 +427,7 @@ result = client.recaptcha_v2({ }) ``` -

Обработка ошибок

+## Обработка ошибок В случае ошибки при решении капчи генерируется исключение. Важно правильно обрабатывать такие случаи. Мы рекомендуем использовать конструкцию `begin rescue` для обработки. ```ruby @@ -450,5 +450,5 @@ result = client.recaptcha_v2({ [2Captcha]: https://2captcha.com/ -[Buy residential proxies]: https://2captcha.com/proxy/residential-proxies -[Quick start]: https://2captcha.com/proxy?openAddTrafficModal=true \ No newline at end of file +[Купить резидентские прокси]: https://2captcha.com/proxy/residential-proxies +[Быстрый старт]: https://2captcha.com/proxy?openAddTrafficModal=true \ No newline at end of file