ruby-2captcha 1.1.4 → 1.1.5

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: b17960788d337b014b4337b32068a6ded3315e92fd649c28c0df2b0ba8d2cf09
4
- data.tar.gz: 8b4b808a9d0b1696758bd21a8fe6b8cdeb584f1244416e3d86df83595c4003db
3
+ metadata.gz: 94adc4930618e4ff87a67f2863b7bcafdde25e41907547b8a5ed95d95bd20708
4
+ data.tar.gz: c98061247be1c224ebd09271a25bcca3e00dd010d6c2b698e2a5a931d1fbfb34
5
5
  SHA512:
6
- metadata.gz: c288e20b91dd6b780f0acbc9f9bcf66428954b37d88505ce54330f88e320e775fe6eeccf8ebb621637376d409f0c5a702cb2d5a9d45a3e63ce612ea0a038d2a6
7
- data.tar.gz: 7304970593279b972e1b85b22b430b7f271d9f0cc85afca244b4b24024bcf4607db17bd0701086b0035d30b7076631aa43de6e06215746e293304feaacd70187
6
+ metadata.gz: c02f909803243426c91c9b908595717dba50e837d517f8260d0ffca48999cb02c098211bc3144c04c39314cf5a5617d085143b90d91cffa46b888b12d1624b29
7
+ data.tar.gz: 44bfc875ace31d895ff44b4d826250ab62af899ddf32a87b34b0b640f7dd83a9f0a40efac8e9babe1610121be9181921faf850322f22d1da6e611c7d5a5d09ba
data/README.md CHANGED
@@ -1,6 +1,6 @@
1
1
  # Ruby 2Captcha API Client
2
2
 
3
- This is the easiest way to quickly integrate 2Captcha into your code and automate solving of any type of captcha.
3
+ This is the easiest way to quickly integrate [2Captcha] into your code and automate solving of any type of captcha.
4
4
 
5
5
  A Ruby client for the 2Captcha API.
6
6
 
@@ -13,6 +13,7 @@ A Ruby client for the 2Captcha API.
13
13
  - [reCAPTCHA v2](#recaptcha-v2)
14
14
  - [reCAPTCHA v3](#recaptcha-v3)
15
15
  - [reCAPTCHA Enterprise](#recaptcha-enterprise)
16
+ - [FunCaptcha](#funcaptcha)
16
17
  - [GeeTest](#geetest)
17
18
  - [hCaptcha](#hcaptcha)
18
19
  - [KeyCaptcha](#keycaptcha)
@@ -31,11 +32,13 @@ A Ruby client for the 2Captcha API.
31
32
  - [DataDome](#datadome)
32
33
  - [MTCaptcha](#mtcaptcha)
33
34
  - [Friendly captcha](#friendly-captcha)
35
+ - [Cutcaptcha](#cutcaptcha)
34
36
  - [Other methods](#other-methods)
35
37
  - [send / get_result](#send--get_result)
36
38
  - [balance](#balance)
37
39
  - [report](#report)
38
- - [Error handling](#error-handling)
40
+ - [Proxies](#proxies)
41
+ - [Error handling](#error-handling)
39
42
 
40
43
  ## Installation
41
44
  Add this line to your application's Gemfile:
@@ -72,15 +75,15 @@ client.api_key = "YOUR_API_KEY"
72
75
 
73
76
  ### Client instance options
74
77
 
75
- |Option|Default value|Description|
76
- |---|---|---|
77
- |soft_id|-|your software ID obtained after publishing in [2captcha sofware catalog]|
78
- |callback|-|URL of your web-sever that receives the captcha recognition result. The URl should be first registered in [pingback settings] of your account|
79
- |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|
80
- |polling_interval|10|Interval in seconds between requests to `res.php` API endpoint, setting values less than 5 seconds is not recommended|
78
+ |Option |Default value|Description |
79
+ |----------------|-------------|------------------------------------------------------------------------|
80
+ |soft_id |- |your software ID obtained after publishing in [2captcha sofware catalog]|
81
+ |callback |- |URL of your web-sever that receives the captcha recognition result. The URl should be first registered in [pingback settings] of your account|
82
+ |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|
83
+ |polling_interval|10 |Interval in seconds between requests to `res.php` API endpoint, setting values less than 5 seconds is not recommended|
81
84
 
82
85
  > **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.
83
- To get the answer manually use [get_result method](#send--getresult)
86
+ To get the answer manually use [get_result method](#send--get_result)
84
87
 
85
88
  ## Solve captcha
86
89
  When you submit any image-based captcha use can provide additional options to help 2captcha workers to solve it properly.
@@ -88,15 +91,15 @@ When you submit any image-based captcha use can provide additional options to he
88
91
  ### Captcha options
89
92
  | Option | Default Value | Description |
90
93
  | ------------- | ------------- | -------------------------------------------------------------------------------------------------- |
91
- | numeric | 0 | Defines if captcha contains numeric or other symbols [see more info in the API docs][post options] |
92
- | min_len | 0 | minimal answer lenght |
93
- | max_len | 0 | maximum answer length |
94
+ | numeric | 0 | Defines if captcha contains numeric or other symbols [see more info in the API docs][normal_post] |
95
+ | min_len | 0 | minimal answer lenght |
96
+ | max_len | 0 | maximum answer length |
94
97
  | phrase | 0 | defines if the answer contains multiple words or not |
95
- | case_sensitive | 0 | defines if the answer is case sensitive |
98
+ | case_sensitive| 0 | defines if the answer is case sensitive |
96
99
  | calc | 0 | defines captcha requires calculation |
97
100
  | lang | - | defines the captcha language, see the [list of supported languages] |
98
- | hint_image | - | an image with hint shown to workers with the captcha, translated into instructionsimg API parameter |
99
- | hint_text | - | hint or task text shown to workers with the captcha |
101
+ | hint_image | - | an image with hint shown to workers with the captcha, translated into instructionsimg API parameter |
102
+ | hint_text | - | hint or task text shown to workers with the captcha |
100
103
 
101
104
  Below you can find basic examples for every captcha type, check out the code below.
102
105
 
@@ -363,12 +366,22 @@ result = client.mt_captcha({
363
366
  ### Friendly captcha
364
367
  Use this method to solve Friendly captcha and obtain a token to bypass the protection.
365
368
  ```ruby
366
- result = client.friendly_captcha({
369
+ result = client.friendly({
367
370
  pageurl: "https://example.com",
368
371
  sitekey: "2FZFEVS1FZCGQ9"
369
372
  })
370
373
  ```
371
374
 
375
+ ### Cutcaptcha
376
+ Use this method to solve Cutcaptcha and obtain a token to bypass the protection.
377
+ ```ruby
378
+ result = client.cutcaptcha({
379
+ misery_key: "a1488b66da00bf332a1488993a5443c79047e752",
380
+ api_key: "SAb83IIB",
381
+ pageurl: "https://example.cc/foo/bar.html"
382
+ })
383
+ ```
384
+
372
385
  ## Other methods
373
386
 
374
387
  ### send / get_result
@@ -407,8 +420,24 @@ Use this method to report good or bad captcha answer.
407
420
  client.report(captcha_id, True) # captcha solved correctly
408
421
  client.report(captcha_id, False) # captcha solved incorrectly
409
422
  ```
423
+ ## Proxies
410
424
 
411
- ### Error handling
425
+ 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.
426
+
427
+ We have our own proxies that we can offer you. [Buy residential proxies] for avoid restrictions and blocks. [Quick start].
428
+
429
+ Example solving reCAPTCHA V2 using proxy:
430
+ ```ruby
431
+ result = client.recaptcha_v2({
432
+ googlekey: '6Le-wvkSVVABCPBMRTvw0Q4Muexq1bi0DJwx_mJ-',
433
+ pageurl: 'https://mysite.com/page/with/recaptcha_v2',
434
+ invisible: 1,
435
+ proxytype: "https",
436
+ proxy: "proxyuser:strongPassword@123.123.123.123:3128"
437
+ })
438
+ ```
439
+
440
+ ## Error handling
412
441
  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.
413
442
  ```ruby
414
443
  begin
@@ -427,3 +456,12 @@ In case of an error, the captcha solver throws an exception. It's important to p
427
456
  puts(e)
428
457
  end
429
458
  ```
459
+
460
+ <!-- Shared links -->
461
+ [2Captcha]: https://2captcha.com/
462
+ [2captcha sofware catalog]: https://2captcha.com/software
463
+ [pingback settings]: https://2captcha.com/setting/pingback
464
+ [normal_post]: https://2captcha.com/2captcha-api#normal_post
465
+ [list of supported languages]: https://2captcha.com/2captcha-api#language
466
+ [Buy residential proxies]: https://2captcha.com/proxy/residential-proxies
467
+ [Quick start]: https://2captcha.com/proxy?openAddTrafficModal=true
data/README.ru.md CHANGED
@@ -1,17 +1,18 @@
1
1
  # Ruby 2Captcha API Client
2
2
 
3
- Это самый простой способ быстро интегрировать 2Captcha в ваш код и автоматизировать решение любого типа капчи.
3
+ Это самый простой способ быстро интегрировать [2Captcha] в ваш код и автоматизировать решение любого типа капчи.
4
4
 
5
5
  Ruby-клиент для API 2Captcha.
6
6
 
7
- - [Установка](#installation)
8
- - [Настройка](#configuration)
9
- - [Опции экземпляра клиента](#client-instance-options)
10
- - [Решение капчи](#solve-captcha)
11
- - [Обычная капча](#normal-captcha)
12
- - [Текстовая капча](#text-captcha)
13
- - [ReCaptcha v2](#recaptcha-v2)
14
- - [ReCaptcha v3](#recaptcha-v3)
7
+ - [Установка](#установка)
8
+ - [Настройка](#настройка)
9
+ - [Опции экземпляра клиента](#опции-экземпляра-клиента)
10
+ - [Решение капчи](#решение-капчи)
11
+ - [Обычная капча](#обычная-капча)
12
+ - [Текстовая капча](#текстовая-капча)
13
+ - [reCAPTCHA v2](#recaptcha-v2)
14
+ - [reCAPTCHA v3](#recaptcha-v3)
15
+ - [FunCaptcha](#funcaptcha)
15
16
  - [GeeTest](#geetest)
16
17
  - [hCaptcha](#hcaptcha)
17
18
  - [KeyCaptcha](#keycaptcha)
@@ -29,23 +30,28 @@ Ruby-клиент для API 2Captcha.
29
30
  - [DataDome](#datadome)
30
31
  - [MTCaptcha](#mtcaptcha)
31
32
  - [Friendly captcha](#friendly-captcha)
32
- - [Другие методы](#other-methods)
33
+ - [Cutcaptcha](#cutcaptcha)
34
+ - [Другие методы](#другие-методы)
33
35
  - [send / get_result](#send--get_result)
34
- - [balance](#balance)
35
- - [report](#report)
36
- - [Обработка ошибок](#error-handling)
36
+ - [Баланс](#баланс)
37
+ - [Отчет](#отчет)
38
+ - [Прокси](#прокси)
39
+ - [Обработка ошибок](#обработка-ошибок)
37
40
 
38
41
  ## Установка
39
42
  Автоматическая установка гема с помощью Bundler. Добавьте следующую строку в ваш Gemfile:
43
+
40
44
  ```ruby
41
45
  gem 'ruby-2captcha'
42
46
  ```
43
47
  Затем выполните следующую команду в терминале:
48
+
44
49
  ```ruby
45
50
  bundle install
46
51
  ```
47
52
 
48
53
  Или установите его самостоятельно, выполнив следующую команду в терминале:
54
+
49
55
  ```ruby
50
56
  gem install ruby-2captcha
51
57
  ```
@@ -63,7 +69,7 @@ require 'api_2captcha'
63
69
 
64
70
  client = Api2Captcha.new("YOUR_API_KEY")
65
71
  ```
66
-
72
+ ### Опции экземпляра клиента
67
73
  У вас также есть возможность настроить некоторые параметры экземпляра Api2Captcha:
68
74
 
69
75
  ```ruby
@@ -83,7 +89,7 @@ client.polling_interval(10)
83
89
 
84
90
  | Параметр | Значение по умолчанию | Описание |
85
91
  |-------------------|---------------|-------------------------------------------------------------------------------------------------------------------------------|
86
- | numeric | 0 | Определяет, содержит ли капча числа или другие символы [подробнее см. в документации по API](https://2captcha.com/2captcha-api#normal_post) |
92
+ | numeric | 0 | Определяет, содержит ли капча числа или другие символы [подробнее см. в документации по API](https://2captcha.com/2captcha-api#solving_normal_captcha) |
87
93
  | min_len | 0 | Минимальная длина ответа length |
88
94
  | max_len | 0 | Максимальная длина ответа length |
89
95
  | phrase | 0 | Определяет, содержит ли ответ несколько слов или нет |
@@ -97,6 +103,7 @@ client.polling_interval(10)
97
103
 
98
104
  ### Обычная капча
99
105
  Для обхода обычной капчи (искаженный текст на картинке) используйте следующий метод. Этот метод также может использоваться для распознавания любого текста на картинке.
106
+
100
107
  ```ruby
101
108
  result = client.normal({ image: 'path/to/captcha.jpg'})
102
109
  # OR
@@ -104,9 +111,10 @@ result = client.normal({
104
111
  image: 'https://site-with-captcha.com/path/to/captcha.jpg'
105
112
  })
106
113
  ```
107
-
108
114
  ### Текстовая капча
115
+
109
116
  Этот метод может использоваться для обхода капчи, которая требует ответить на вопрос, представленный в явном виде.
117
+
110
118
  ```ruby
111
119
  result = client.text({
112
120
  textcaptcha:'Если завтра суббота, то какой сегодня день?',
@@ -114,8 +122,9 @@ result = client.text({
114
122
  })
115
123
  ```
116
124
 
117
- ### ReCaptcha v2
118
- Используйте этот метод для решения ReCaptcha V2 и получения токена для обхода защиты.
125
+ ### reCAPTCHA v2
126
+ Используйте этот метод для решения reCAPTCHA v2 и получения токена для обхода защиты.
127
+
119
128
  ```ruby
120
129
  result = client.recaptcha_v2({
121
130
  googlekey: '6Le-wvkSVVABCPBMRTvw0Q4Muexq1bi0DJwx_mJ-',
@@ -124,8 +133,9 @@ result = client.recaptcha_v2({
124
133
  })
125
134
  ```
126
135
 
127
- ### ReCaptcha v3
128
- Этот метод предоставляет решение для ReCaptcha V3 и возвращает токен.
136
+ ### reCAPTCHA v3
137
+ Этот метод предоставляет решение для reCAPTCHA v3 и возвращает токен.
138
+
129
139
  ```ruby
130
140
  result = client.recaptcha_v3({
131
141
  googlekey: '6Le-wvkSVVABCPBMRTvw0Q4Muexq1bi0DJwx_mJ-',
@@ -138,6 +148,7 @@ result = client.recaptcha_v3({
138
148
 
139
149
  ### FunCaptcha
140
150
  Метод решения FunCaptcha (Arkoselabs). Он возвращает токен.
151
+
141
152
  ```ruby
142
153
  result = client.funcaptcha({
143
154
  publickey: "69A21A01-CC7B-B9C6-0F9A-E7FA06677FFC",
@@ -147,6 +158,7 @@ result = client.funcaptcha({
147
158
 
148
159
  ### GeeTest
149
160
  Метод для решения головоломки GeeTest captcha. Он возвращает набор токенов в формате JSON.
161
+
150
162
  ```ruby
151
163
  result = client.geetest({
152
164
  gt: 'f1ab2cdefa3456789012345b6c78d90e',
@@ -158,6 +170,7 @@ result = client.geetest({
158
170
 
159
171
  ### hCaptcha
160
172
  Метод решения hCaptcha. Он возвращает токен для обхода капчи.
173
+
161
174
  ```ruby
162
175
  result = client.hcaptcha({
163
176
  sitekey: '10000000-ffff-ffff-ffff-000000000001',
@@ -167,6 +180,7 @@ result = client.hcaptcha({
167
180
 
168
181
  ### KeyCaptcha
169
182
  Метод на основе токенов для решения KeyCaptcha.
183
+
170
184
  ```ruby
171
185
  result = client.keycaptcha({
172
186
  s_s_c_user_id: 10,
@@ -179,6 +193,7 @@ result = client.keycaptcha({
179
193
 
180
194
  ### Capy
181
195
  Метод основан на использовании токенов для обхода паззла Capy.
196
+
182
197
  ```ruby
183
198
  result = client.capy({
184
199
  sitekey: 'PUZZLE_Abc1dEFghIJKLM2no34P56q7rStu8v',
@@ -189,6 +204,7 @@ result = client.capy({
189
204
 
190
205
  ### Grid
191
206
  Метод сетки изначально называется методом Old ReCaptcha V2. Этот метод может быть использован для обхода любого типа капчи, где вы можете применить сетку к изображению и необходимо кликнуть по определенным ячейкам сетки. Он возвращает количество выбранных ячеек.
207
+
192
208
  ```ruby
193
209
  result = client.grid({
194
210
  image: 'path/to/captcha.jpg',
@@ -203,6 +219,7 @@ result = client.grid({
203
219
 
204
220
  ### Canvas
205
221
  Метод Canvas может быть использован, когда вам необходимо нарисовать линию вокруг объекта на изображении. Он возвращает набор координат точек для рисования многоугольника.
222
+
206
223
  ```ruby
207
224
  result = client.canvas({
208
225
  image: 'path/to/captcha.jpg',
@@ -215,6 +232,7 @@ result = client.canvas({
215
232
 
216
233
  ### ClickCaptcha
217
234
  Метод ClickCaptcha возвращает координаты точек на изображении капчи. Может быть использован, если вам необходимо кликнуть по определенным точкам на изображении.
235
+
218
236
  ```ruby
219
237
  result = client.coordinates({
220
238
  image: 'path/to/captcha.jpg',
@@ -226,6 +244,7 @@ result = client.coordinates({
226
244
 
227
245
  ### Rotate
228
246
  Этот метод может быть использован для решения капчи, которая просит повернуть объект. В основном используется для обхода FunCaptcha. Он возвращает угол поворота.
247
+
229
248
  ```ruby
230
249
  result = client.rotate({
231
250
  image: 'path/to/captcha.jpg',
@@ -236,8 +255,10 @@ result = client.rotate({
236
255
  })
237
256
  ```
238
257
 
258
+
239
259
  ### Lemin Cropped Captcha
240
260
  Используйте этот метод для решения задания hCaptcha. Он возвращает JSON-ответ с указанными значениями: ответ (answer) и идентификатор задания (challenge_id).
261
+
241
262
  ```ruby
242
263
  result = client.lemin({
243
264
  captcha_id: 'CROPPED_1abcd2f_a1234b567c890d12ef3a456bc78d901d',
@@ -247,8 +268,10 @@ result = client.lemin({
247
268
  })
248
269
  ```
249
270
 
271
+
250
272
  ### Cloudflare Turnstile
251
273
  Используйте этот метод для решения задачи Cloudflare Turnstile. Он возвращает JSON с токеном.
274
+
252
275
  ```ruby
253
276
  result = client.turnstile({
254
277
  sitekey: '0x1AAAAAAAAkg0s2VIOD34y5',
@@ -258,6 +281,7 @@ result = client.turnstile({
258
281
 
259
282
  ### Amazon WAF
260
283
  Используйте этот метод для решения Captcha Amazon WAF, также известного как AWS WAF Captcha, который является частью интеллектуальной защиты от угроз для Amazon AWS. Он возвращает JSON с токеном.
284
+
261
285
  ```ruby
262
286
  result = client.amazon_waf({
263
287
  sitekey: '0x1AAAAAAAAkg0s2VIOD34y5',
@@ -271,6 +295,7 @@ result = client.amazon_waf({
271
295
 
272
296
  ### GeeTest v4
273
297
  Используйте этот метод для решения GeeTest v4. Он возвращает ответ в формате JSON.
298
+
274
299
  ```ruby
275
300
  result = client.geetest_v4({
276
301
  captcha_id: 'e392e1d7fd421dc63325744d5a2b9c73',
@@ -280,6 +305,7 @@ result = client.geetest_v4({
280
305
 
281
306
  ### Audio
282
307
  Этот метод можно использовать для решения аудио-капчи.
308
+
283
309
  ```ruby
284
310
  result = client.audio({
285
311
  audio: 'path/to/audio.jpg',
@@ -289,6 +315,7 @@ result = client.audio({
289
315
 
290
316
  ### CyberSiARA
291
317
  Метод решения CyberSiARA. Он возвращает токен для обхода капчи.
318
+
292
319
  ```ruby
293
320
  result = client.cyber_siara({
294
321
  pageurl: "https://test.com",
@@ -299,6 +326,7 @@ result = client.cyber_siara({
299
326
  ### DataDome
300
327
  Метод решения DataDome вернет токен для обхода капчи.
301
328
  Чтобы решить капчу DataDome вы должны обязательно использовать прокси.
329
+
302
330
  ```ruby
303
331
  result = client.data_dome({
304
332
  pageurl: "https://test.com",
@@ -308,8 +336,10 @@ result = client.data_dome({
308
336
  })
309
337
  ```
310
338
 
339
+
311
340
  ### MTCaptcha
312
341
  Метод решения MTCaptcha. Он возвращает токен для обхода капчи.
342
+
313
343
  ```ruby
314
344
  result = client.mt_captcha({
315
345
  pageurl: "https://service.mtcaptcha.com/mtcv1/demo/index.html",
@@ -317,19 +347,35 @@ result = client.mt_captcha({
317
347
  })
318
348
  ```
319
349
 
350
+
320
351
  ### Friendly captcha
321
352
  Метод решения Friendly captcha. Он возвращает токен для обхода капчи.
353
+
322
354
  ```ruby
323
- result = client.friendly_captcha({
355
+ result = client.friendly({
324
356
  pageurl: "https://example.com",
325
357
  sitekey: "2FZFEVS1FZCGQ9"
326
358
  })
327
359
  ```
328
360
 
361
+
362
+ ### Cutcaptcha
363
+ Метод решения Cutcaptcha. Он возвращает токен для обхода капчи.
364
+
365
+ ```ruby
366
+ result = client.cutcaptcha({
367
+ misery_key: "a1488b66da00bf332a1488993a5443c79047e752",
368
+ api_key: "SAb83IIB",
369
+ pageurl: "https://example.cc/foo/bar.html"
370
+ })
371
+ ```
372
+
373
+
329
374
  ## Другие методы
330
375
 
331
376
  ### send / get_result
332
377
  Эти методы могут быть использованы для ручного отправления капчи и получения результата.
378
+
333
379
  ```ruby
334
380
  # пример для обычной капчи
335
381
  captcha_id = client.send('path/to/captcha.jpg')
@@ -348,22 +394,42 @@ time.sleep(20)
348
394
  # Получить готовый результат
349
395
  result = client.get_result(captcha_id)
350
396
  ```
351
-
352
397
  ### Баланс
353
398
  Используйте этот метод, чтобы посмотреть баланс в вашем аккаунте.
399
+
354
400
  ```ruby
355
401
  balance = client.get_balance
356
402
  ```
357
403
 
358
404
  ### Отчет
359
405
  Используйте этот метод для отправки отчета о правильном или неправильном ответе на капчу.
406
+
360
407
  ```ruby
361
408
  client.report(captcha_id, True) # капча решена правильно
362
409
  client.report(captcha_id, False) # капча решена неправильно
363
410
  ```
364
411
 
365
- ### Обработка ошибок
412
+ ## Прокси
413
+
414
+ Вы можете передать свой прокси-сервер в качестве дополнительного аргумента для методов: recaptcha, funcaptcha, geetest, geetest v4, hcaptcha, keycaptcha, capy puzzle, lemin, turnstile, amazon waf, Cutcaptcha, Friendly captcha, MTCaptcha, DataDome, CyberSiARA и других. Передынный Прокси-сервер будет перенаправлен в API и будет использован для загрузки капчи.
415
+
416
+ У нас есть свои собственные прокси-серверы, которые мы можем вам предложить. [Купить резидентские прокси] чтобы избежать ограничений и блокировок. [Быстрый старт].
417
+
418
+ Пример решения reCAPTCHA V2 с использованием прокси-сервера:
419
+
420
+ ```ruby
421
+ result = client.recaptcha_v2({
422
+ googlekey: '6Le-wvkSVVABCPBMRTvw0Q4Muexq1bi0DJwx_mJ-',
423
+ pageurl: 'https://mysite.com/page/with/recaptcha_v2',
424
+ invisible: 1,
425
+ proxytype: "https",
426
+ proxy: "proxyuser:strongPassword@123.123.123.123:3128"
427
+ })
428
+ ```
429
+
430
+ ## Обработка ошибок
366
431
  В случае ошибки при решении капчи генерируется исключение. Важно правильно обрабатывать такие случаи. Мы рекомендуем использовать конструкцию `begin rescue` для обработки.
432
+
367
433
  ```ruby
368
434
  begin
369
435
  result = client.text('Если завтра суббота, то какой сегодня день?')
@@ -381,3 +447,8 @@ client.report(captcha_id, False) # капча решена неправильн
381
447
  puts(e)
382
448
  end
383
449
  ```
450
+
451
+ <!-- Shared links -->
452
+ [2Captcha]: https://2captcha.com/
453
+ [Купить резидентские прокси]: https://2captcha.com/proxy/residential-proxies
454
+ [Быстрый старт]: https://2captcha.com/proxy?openAddTrafficModal=true
@@ -23,7 +23,7 @@ module Api2Captcha
23
23
  @default_timeout = 120
24
24
  @recaptcha_timeout = 600
25
25
  @polling_interval = 10
26
- @soft_id = 0
26
+ @soft_id = 4584
27
27
  @domain = DEFAULT_DOMAIN
28
28
  end
29
29
 
@@ -201,6 +201,10 @@ module Api2Captcha
201
201
  solve("friendly_captcha", **params)
202
202
  end
203
203
 
204
+ def cutcaptcha(params)
205
+ solve("cutcaptcha", **params)
206
+ end
207
+
204
208
  private
205
209
 
206
210
  def base_url
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Api2Captcha
4
- VERSION = "1.1.4"
4
+ VERSION = "1.1.5"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: ruby-2captcha
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.1.4
4
+ version: 1.1.5
5
5
  platform: ruby
6
6
  authors:
7
7
  - 2captcha.com
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-01-23 00:00:00.000000000 Z
11
+ date: 2024-05-16 00:00:00.000000000 Z
12
12
  dependencies: []
13
13
  description: Ruby package for easy integration with the API of 2captcha captcha solving
14
14
  service to bypass recaptcha, hcaptcha, funcaptcha, geetest and solve any other captchas.