ruby-2captcha 1.1.3 → 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: c7b52e0a9284ce8442474411fdf0960617d4babcc599818d99f932f072abfd64
4
- data.tar.gz: 4df6ef3259899fca4273d67b36c769407321f1afb5339eb5b31f0def4b88b7c8
3
+ metadata.gz: 94adc4930618e4ff87a67f2863b7bcafdde25e41907547b8a5ed95d95bd20708
4
+ data.tar.gz: c98061247be1c224ebd09271a25bcca3e00dd010d6c2b698e2a5a931d1fbfb34
5
5
  SHA512:
6
- metadata.gz: c12d2955ced9e0acee9693456ec3ba0b265c33aacbf4e8f5583e1dd9c896f51588e0f32afa9e940a051ad219c7817b8c2b34f8ed034cd1382e0c28adf15f38e1
7
- data.tar.gz: 5ffbf507b9b8802d900d506b5bbae1a2bb2abedc9daf3cfd02eec9d7ce71f1a819394c13a2d96e67fd40e7b379684492b88520e5a74465f74a9683a46409e534
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)
@@ -27,14 +28,17 @@ A Ruby client for the 2Captcha API.
27
28
  - [GeeTest V4](#geetest-v4)
28
29
  - [Audio](#audio)
29
30
  - [Yandex](#yandex)
30
- - [CyberSiARA](#cyber_siara)
31
- - [DataDome](#data-dome)
31
+ - [CyberSiARA](#cybersiara)
32
+ - [DataDome](#datadome)
32
33
  - [MTCaptcha](#mtcaptcha)
34
+ - [Friendly captcha](#friendly-captcha)
35
+ - [Cutcaptcha](#cutcaptcha)
33
36
  - [Other methods](#other-methods)
34
- - [send / get_result](#send--getresult)
37
+ - [send / get_result](#send--get_result)
35
38
  - [balance](#balance)
36
39
  - [report](#report)
37
- - [Error handling](#error-handling)
40
+ - [Proxies](#proxies)
41
+ - [Error handling](#error-handling)
38
42
 
39
43
  ## Installation
40
44
  Add this line to your application's Gemfile:
@@ -71,15 +75,15 @@ client.api_key = "YOUR_API_KEY"
71
75
 
72
76
  ### Client instance options
73
77
 
74
- |Option|Default value|Description|
75
- |---|---|---|
76
- |soft_id|-|your software ID obtained after publishing in [2captcha sofware catalog]|
77
- |callback|-|URL of your web-sever that receives the captcha recognition result. The URl should be first registered in [pingback settings] of your account|
78
- |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|
79
- |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|
80
84
 
81
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.
82
- To get the answer manually use [get_result method](#send--getresult)
86
+ To get the answer manually use [get_result method](#send--get_result)
83
87
 
84
88
  ## Solve captcha
85
89
  When you submit any image-based captcha use can provide additional options to help 2captcha workers to solve it properly.
@@ -87,15 +91,15 @@ When you submit any image-based captcha use can provide additional options to he
87
91
  ### Captcha options
88
92
  | Option | Default Value | Description |
89
93
  | ------------- | ------------- | -------------------------------------------------------------------------------------------------- |
90
- | numeric | 0 | Defines if captcha contains numeric or other symbols [see more info in the API docs][post options] |
91
- | min_len | 0 | minimal answer lenght |
92
- | 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 |
93
97
  | phrase | 0 | defines if the answer contains multiple words or not |
94
- | case_sensitive | 0 | defines if the answer is case sensitive |
98
+ | case_sensitive| 0 | defines if the answer is case sensitive |
95
99
  | calc | 0 | defines captcha requires calculation |
96
100
  | lang | - | defines the captcha language, see the [list of supported languages] |
97
- | hint_image | - | an image with hint shown to workers with the captcha, translated into instructionsimg API parameter |
98
- | 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 |
99
103
 
100
104
  Below you can find basic examples for every captcha type, check out the code below.
101
105
 
@@ -359,9 +363,29 @@ result = client.mt_captcha({
359
363
  })
360
364
  ```
361
365
 
366
+ ### Friendly captcha
367
+ Use this method to solve Friendly captcha and obtain a token to bypass the protection.
368
+ ```ruby
369
+ result = client.friendly({
370
+ pageurl: "https://example.com",
371
+ sitekey: "2FZFEVS1FZCGQ9"
372
+ })
373
+ ```
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
+
362
385
  ## Other methods
363
386
 
364
387
  ### send / get_result
388
+
365
389
  These methods can be used for manual captcha submission and answer polling.
366
390
  ```ruby
367
391
 
@@ -396,8 +420,24 @@ Use this method to report good or bad captcha answer.
396
420
  client.report(captcha_id, True) # captcha solved correctly
397
421
  client.report(captcha_id, False) # captcha solved incorrectly
398
422
  ```
423
+ ## Proxies
424
+
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
+ ```
399
439
 
400
- ### Error handling
440
+ ## Error handling
401
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.
402
442
  ```ruby
403
443
  begin
@@ -416,3 +456,12 @@ In case of an error, the captcha solver throws an exception. It's important to p
416
456
  puts(e)
417
457
  end
418
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)
@@ -25,26 +26,32 @@ Ruby-клиент для API 2Captcha.
25
26
  - [Lemin Cropped Captcha](#lemin-cropped-captcha)
26
27
  - [GeeTest V4](#geetest-v4)
27
28
  - [Аудио](#audio)
28
- - [CyberSiARA](#cyber_siara)
29
- - [DataDome](#data-dome)
29
+ - [CyberSiARA](#cybersiara)
30
+ - [DataDome](#datadome)
30
31
  - [MTCaptcha](#mtcaptcha)
31
- - [Другие методы](#other-methods)
32
- - [send / get_result](#send--getresult)
33
- - [balance](#balance)
34
- - [report](#report)
35
- - [Обработка ошибок](#error-handling)
32
+ - [Friendly captcha](#friendly-captcha)
33
+ - [Cutcaptcha](#cutcaptcha)
34
+ - [Другие методы](#другие-методы)
35
+ - [send / get_result](#send--get_result)
36
+ - [Баланс](#баланс)
37
+ - [Отчет](#отчет)
38
+ - [Прокси](#прокси)
39
+ - [Обработка ошибок](#обработка-ошибок)
36
40
 
37
41
  ## Установка
38
42
  Автоматическая установка гема с помощью Bundler. Добавьте следующую строку в ваш Gemfile:
43
+
39
44
  ```ruby
40
45
  gem 'ruby-2captcha'
41
46
  ```
42
47
  Затем выполните следующую команду в терминале:
48
+
43
49
  ```ruby
44
50
  bundle install
45
51
  ```
46
52
 
47
53
  Или установите его самостоятельно, выполнив следующую команду в терминале:
54
+
48
55
  ```ruby
49
56
  gem install ruby-2captcha
50
57
  ```
@@ -62,7 +69,7 @@ require 'api_2captcha'
62
69
 
63
70
  client = Api2Captcha.new("YOUR_API_KEY")
64
71
  ```
65
-
72
+ ### Опции экземпляра клиента
66
73
  У вас также есть возможность настроить некоторые параметры экземпляра Api2Captcha:
67
74
 
68
75
  ```ruby
@@ -82,7 +89,7 @@ client.polling_interval(10)
82
89
 
83
90
  | Параметр | Значение по умолчанию | Описание |
84
91
  |-------------------|---------------|-------------------------------------------------------------------------------------------------------------------------------|
85
- | numeric | 0 | Определяет, содержит ли капча числа или другие символы [подробнее см. в документации по API](https://2captcha.com/2captcha-api#normal_post) |
92
+ | numeric | 0 | Определяет, содержит ли капча числа или другие символы [подробнее см. в документации по API](https://2captcha.com/2captcha-api#solving_normal_captcha) |
86
93
  | min_len | 0 | Минимальная длина ответа length |
87
94
  | max_len | 0 | Максимальная длина ответа length |
88
95
  | phrase | 0 | Определяет, содержит ли ответ несколько слов или нет |
@@ -96,6 +103,7 @@ client.polling_interval(10)
96
103
 
97
104
  ### Обычная капча
98
105
  Для обхода обычной капчи (искаженный текст на картинке) используйте следующий метод. Этот метод также может использоваться для распознавания любого текста на картинке.
106
+
99
107
  ```ruby
100
108
  result = client.normal({ image: 'path/to/captcha.jpg'})
101
109
  # OR
@@ -103,9 +111,10 @@ result = client.normal({
103
111
  image: 'https://site-with-captcha.com/path/to/captcha.jpg'
104
112
  })
105
113
  ```
106
-
107
114
  ### Текстовая капча
115
+
108
116
  Этот метод может использоваться для обхода капчи, которая требует ответить на вопрос, представленный в явном виде.
117
+
109
118
  ```ruby
110
119
  result = client.text({
111
120
  textcaptcha:'Если завтра суббота, то какой сегодня день?',
@@ -113,8 +122,9 @@ result = client.text({
113
122
  })
114
123
  ```
115
124
 
116
- ### ReCaptcha v2
117
- Используйте этот метод для решения ReCaptcha V2 и получения токена для обхода защиты.
125
+ ### reCAPTCHA v2
126
+ Используйте этот метод для решения reCAPTCHA v2 и получения токена для обхода защиты.
127
+
118
128
  ```ruby
119
129
  result = client.recaptcha_v2({
120
130
  googlekey: '6Le-wvkSVVABCPBMRTvw0Q4Muexq1bi0DJwx_mJ-',
@@ -123,8 +133,9 @@ result = client.recaptcha_v2({
123
133
  })
124
134
  ```
125
135
 
126
- ### ReCaptcha v3
127
- Этот метод предоставляет решение для ReCaptcha V3 и возвращает токен.
136
+ ### reCAPTCHA v3
137
+ Этот метод предоставляет решение для reCAPTCHA v3 и возвращает токен.
138
+
128
139
  ```ruby
129
140
  result = client.recaptcha_v3({
130
141
  googlekey: '6Le-wvkSVVABCPBMRTvw0Q4Muexq1bi0DJwx_mJ-',
@@ -137,6 +148,7 @@ result = client.recaptcha_v3({
137
148
 
138
149
  ### FunCaptcha
139
150
  Метод решения FunCaptcha (Arkoselabs). Он возвращает токен.
151
+
140
152
  ```ruby
141
153
  result = client.funcaptcha({
142
154
  publickey: "69A21A01-CC7B-B9C6-0F9A-E7FA06677FFC",
@@ -146,6 +158,7 @@ result = client.funcaptcha({
146
158
 
147
159
  ### GeeTest
148
160
  Метод для решения головоломки GeeTest captcha. Он возвращает набор токенов в формате JSON.
161
+
149
162
  ```ruby
150
163
  result = client.geetest({
151
164
  gt: 'f1ab2cdefa3456789012345b6c78d90e',
@@ -157,6 +170,7 @@ result = client.geetest({
157
170
 
158
171
  ### hCaptcha
159
172
  Метод решения hCaptcha. Он возвращает токен для обхода капчи.
173
+
160
174
  ```ruby
161
175
  result = client.hcaptcha({
162
176
  sitekey: '10000000-ffff-ffff-ffff-000000000001',
@@ -166,6 +180,7 @@ result = client.hcaptcha({
166
180
 
167
181
  ### KeyCaptcha
168
182
  Метод на основе токенов для решения KeyCaptcha.
183
+
169
184
  ```ruby
170
185
  result = client.keycaptcha({
171
186
  s_s_c_user_id: 10,
@@ -178,6 +193,7 @@ result = client.keycaptcha({
178
193
 
179
194
  ### Capy
180
195
  Метод основан на использовании токенов для обхода паззла Capy.
196
+
181
197
  ```ruby
182
198
  result = client.capy({
183
199
  sitekey: 'PUZZLE_Abc1dEFghIJKLM2no34P56q7rStu8v',
@@ -188,6 +204,7 @@ result = client.capy({
188
204
 
189
205
  ### Grid
190
206
  Метод сетки изначально называется методом Old ReCaptcha V2. Этот метод может быть использован для обхода любого типа капчи, где вы можете применить сетку к изображению и необходимо кликнуть по определенным ячейкам сетки. Он возвращает количество выбранных ячеек.
207
+
191
208
  ```ruby
192
209
  result = client.grid({
193
210
  image: 'path/to/captcha.jpg',
@@ -202,6 +219,7 @@ result = client.grid({
202
219
 
203
220
  ### Canvas
204
221
  Метод Canvas может быть использован, когда вам необходимо нарисовать линию вокруг объекта на изображении. Он возвращает набор координат точек для рисования многоугольника.
222
+
205
223
  ```ruby
206
224
  result = client.canvas({
207
225
  image: 'path/to/captcha.jpg',
@@ -214,6 +232,7 @@ result = client.canvas({
214
232
 
215
233
  ### ClickCaptcha
216
234
  Метод ClickCaptcha возвращает координаты точек на изображении капчи. Может быть использован, если вам необходимо кликнуть по определенным точкам на изображении.
235
+
217
236
  ```ruby
218
237
  result = client.coordinates({
219
238
  image: 'path/to/captcha.jpg',
@@ -225,6 +244,7 @@ result = client.coordinates({
225
244
 
226
245
  ### Rotate
227
246
  Этот метод может быть использован для решения капчи, которая просит повернуть объект. В основном используется для обхода FunCaptcha. Он возвращает угол поворота.
247
+
228
248
  ```ruby
229
249
  result = client.rotate({
230
250
  image: 'path/to/captcha.jpg',
@@ -235,8 +255,10 @@ result = client.rotate({
235
255
  })
236
256
  ```
237
257
 
258
+
238
259
  ### Lemin Cropped Captcha
239
260
  Используйте этот метод для решения задания hCaptcha. Он возвращает JSON-ответ с указанными значениями: ответ (answer) и идентификатор задания (challenge_id).
261
+
240
262
  ```ruby
241
263
  result = client.lemin({
242
264
  captcha_id: 'CROPPED_1abcd2f_a1234b567c890d12ef3a456bc78d901d',
@@ -246,8 +268,10 @@ result = client.lemin({
246
268
  })
247
269
  ```
248
270
 
271
+
249
272
  ### Cloudflare Turnstile
250
273
  Используйте этот метод для решения задачи Cloudflare Turnstile. Он возвращает JSON с токеном.
274
+
251
275
  ```ruby
252
276
  result = client.turnstile({
253
277
  sitekey: '0x1AAAAAAAAkg0s2VIOD34y5',
@@ -257,6 +281,7 @@ result = client.turnstile({
257
281
 
258
282
  ### Amazon WAF
259
283
  Используйте этот метод для решения Captcha Amazon WAF, также известного как AWS WAF Captcha, который является частью интеллектуальной защиты от угроз для Amazon AWS. Он возвращает JSON с токеном.
284
+
260
285
  ```ruby
261
286
  result = client.amazon_waf({
262
287
  sitekey: '0x1AAAAAAAAkg0s2VIOD34y5',
@@ -270,6 +295,7 @@ result = client.amazon_waf({
270
295
 
271
296
  ### GeeTest v4
272
297
  Используйте этот метод для решения GeeTest v4. Он возвращает ответ в формате JSON.
298
+
273
299
  ```ruby
274
300
  result = client.geetest_v4({
275
301
  captcha_id: 'e392e1d7fd421dc63325744d5a2b9c73',
@@ -279,6 +305,7 @@ result = client.geetest_v4({
279
305
 
280
306
  ### Audio
281
307
  Этот метод можно использовать для решения аудио-капчи.
308
+
282
309
  ```ruby
283
310
  result = client.audio({
284
311
  audio: 'path/to/audio.jpg',
@@ -288,6 +315,7 @@ result = client.audio({
288
315
 
289
316
  ### CyberSiARA
290
317
  Метод решения CyberSiARA. Он возвращает токен для обхода капчи.
318
+
291
319
  ```ruby
292
320
  result = client.cyber_siara({
293
321
  pageurl: "https://test.com",
@@ -298,6 +326,7 @@ result = client.cyber_siara({
298
326
  ### DataDome
299
327
  Метод решения DataDome вернет токен для обхода капчи.
300
328
  Чтобы решить капчу DataDome вы должны обязательно использовать прокси.
329
+
301
330
  ```ruby
302
331
  result = client.data_dome({
303
332
  pageurl: "https://test.com",
@@ -307,8 +336,10 @@ result = client.data_dome({
307
336
  })
308
337
  ```
309
338
 
339
+
310
340
  ### MTCaptcha
311
341
  Метод решения MTCaptcha. Он возвращает токен для обхода капчи.
342
+
312
343
  ```ruby
313
344
  result = client.mt_captcha({
314
345
  pageurl: "https://service.mtcaptcha.com/mtcv1/demo/index.html",
@@ -316,10 +347,35 @@ result = client.mt_captcha({
316
347
  })
317
348
  ```
318
349
 
350
+
351
+ ### Friendly captcha
352
+ Метод решения Friendly captcha. Он возвращает токен для обхода капчи.
353
+
354
+ ```ruby
355
+ result = client.friendly({
356
+ pageurl: "https://example.com",
357
+ sitekey: "2FZFEVS1FZCGQ9"
358
+ })
359
+ ```
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
+
319
374
  ## Другие методы
320
375
 
321
376
  ### send / get_result
322
377
  Эти методы могут быть использованы для ручного отправления капчи и получения результата.
378
+
323
379
  ```ruby
324
380
  # пример для обычной капчи
325
381
  captcha_id = client.send('path/to/captcha.jpg')
@@ -338,22 +394,42 @@ time.sleep(20)
338
394
  # Получить готовый результат
339
395
  result = client.get_result(captcha_id)
340
396
  ```
341
-
342
397
  ### Баланс
343
398
  Используйте этот метод, чтобы посмотреть баланс в вашем аккаунте.
399
+
344
400
  ```ruby
345
401
  balance = client.get_balance
346
402
  ```
347
403
 
348
404
  ### Отчет
349
405
  Используйте этот метод для отправки отчета о правильном или неправильном ответе на капчу.
406
+
350
407
  ```ruby
351
408
  client.report(captcha_id, True) # капча решена правильно
352
409
  client.report(captcha_id, False) # капча решена неправильно
353
410
  ```
354
411
 
355
- ### Обработка ошибок
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
+ ## Обработка ошибок
356
431
  В случае ошибки при решении капчи генерируется исключение. Важно правильно обрабатывать такие случаи. Мы рекомендуем использовать конструкцию `begin rescue` для обработки.
432
+
357
433
  ```ruby
358
434
  begin
359
435
  result = client.text('Если завтра суббота, то какой сегодня день?')
@@ -371,3 +447,8 @@ client.report(captcha_id, False) # капча решена неправильн
371
447
  puts(e)
372
448
  end
373
449
  ```
450
+
451
+ <!-- Shared links -->
452
+ [2Captcha]: https://2captcha.com/
453
+ [Купить резидентские прокси]: https://2captcha.com/proxy/residential-proxies
454
+ [Быстрый старт]: https://2captcha.com/proxy?openAddTrafficModal=true
@@ -10,20 +10,20 @@ module Api2Captcha
10
10
  DEFAULT_DOMAIN = "2captcha.com"
11
11
  BASE_URL_FORMAT = "https://%s"
12
12
 
13
- attr_reader :api_key, :soft_id
14
-
15
13
  attr_accessor :domain, :callback,
16
14
  :default_timeout,
17
15
  :recaptcha_timeout,
18
- :polling_interval
16
+ :polling_interval,
17
+ :api_key, :soft_id
19
18
 
20
- def initialize(api_key, soft_id = 0, callback = nil)
19
+ def initialize(api_key, callback = nil)
21
20
  @api_key = api_key
22
21
  @soft_id = soft_id
23
22
  @callback = callback
24
23
  @default_timeout = 120
25
24
  @recaptcha_timeout = 600
26
25
  @polling_interval = 10
26
+ @soft_id = 4584
27
27
  @domain = DEFAULT_DOMAIN
28
28
  end
29
29
 
@@ -197,6 +197,14 @@ module Api2Captcha
197
197
  solve("mt_captcha", **params)
198
198
  end
199
199
 
200
+ def friendly(params)
201
+ solve("friendly_captcha", **params)
202
+ end
203
+
204
+ def cutcaptcha(params)
205
+ solve("cutcaptcha", **params)
206
+ end
207
+
200
208
  private
201
209
 
202
210
  def base_url
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module Api2Captcha
4
- VERSION = "1.1.3"
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.3
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: 2023-10-26 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.