@2captcha/captcha-solver 1.0.1 → 1.0.3

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.
package/README.md CHANGED
@@ -1,6 +1,3 @@
1
- <b>[English](README.md)</b> (recommended) | [中国语文科](README.zh.md) | [Русский](README.ru.md)
2
-
3
-
4
1
  # JavaScript captcha solver module for 2Captcha API
5
2
 
6
3
  ## Description
@@ -8,7 +5,7 @@ A wrapper around the [2captcha](https://2captcha.com/) API. This wrapper support
8
5
 
9
6
  Also added support for the `bounding_box` method. The Bounding Box Method allows you to mark data on the image. This method can be used to mark up datasets or highlight any objects in an image according to the given instructions. Read more about using *Bounding Box Method* on [documentation](https://2captcha.com/2captcha-api#bounding_box).
10
7
 
11
- [2captcha](https://2captcha.com/) is a service that solves many different types of captchas, this library serves as a wrapper around API 2captcha to bring easy, promise-based functionality to NodeJS. This library specializes in concurrent solves, and bulk-api usage.
8
+ [2captcha](https://2captcha.com/) is a service that solves many different types of captchas, this library serves as a wrapper around API 2captcha to bring easy, promise-based functionality to Node.js. This library specializes in concurrent solves, and Bulk API usage.
12
9
 
13
10
  - [Install](#install)
14
11
  - [Configuration](#configuration)
@@ -198,7 +195,7 @@ solver.geetestV4({
198
195
 
199
196
  ### Yandex Smart Captcha
200
197
 
201
- Use this method to solve Yandex and obtain a token to bypass the protection.
198
+ Use this method to solve Yandex Smart Captcha and obtain a token to bypass the protection.
202
199
 
203
200
  ```js
204
201
  solver.yandexSmart({
@@ -215,7 +212,7 @@ solver.yandexSmart({
215
212
 
216
213
  ### Lemin captcha
217
214
 
218
- Use this method to solve Lemin and obtain a token to bypass the protection.
215
+ Use this method to solve Lemin captcha and obtain a token to bypass the protection.
219
216
 
220
217
  ```js
221
218
  solver.lemin({
@@ -1,6 +1,4 @@
1
- interface BaseSolve {
2
- }
3
- export interface paramsRecaptcha extends BaseSolve {
1
+ export interface paramsRecaptcha {
4
2
  pageurl: string;
5
3
  googlekey: string;
6
4
  invisible?: boolean;
@@ -18,7 +16,7 @@ export interface paramsRecaptcha extends BaseSolve {
18
16
  min_score?: number;
19
17
  version?: string;
20
18
  }
21
- export interface paramsHCaptcha extends BaseSolve {
19
+ export interface paramsHCaptcha {
22
20
  sitekey: string;
23
21
  pageurl: string;
24
22
  header_acao?: boolean;
@@ -31,7 +29,7 @@ export interface paramsHCaptcha extends BaseSolve {
31
29
  soft_id?: number;
32
30
  domain?: string;
33
31
  }
34
- export interface paramsFunCapthca extends BaseSolve {
32
+ export interface paramsFunCaptcha {
35
33
  publickey: string;
36
34
  pageurl: string;
37
35
  surl?: string;
@@ -501,7 +499,7 @@ export declare class Solver {
501
499
  * console.log(err);
502
500
  * })
503
501
  */
504
- funCaptcha(params: paramsFunCapthca): Promise<CaptchaAnswer>;
502
+ funCaptcha(params: paramsFunCaptcha): Promise<CaptchaAnswer>;
505
503
  /**
506
504
  *
507
505
  * ### Solves a Lemin captcha
@@ -1 +1 @@
1
- {"version":3,"file":"2captcha.d.ts","sourceRoot":"","sources":["../../src/structs/2captcha.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"2captcha.d.ts","sourceRoot":"","sources":["../../src/structs/2captcha.ts"],"names":[],"mappings":"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"}
@@ -1,3 +1,4 @@
1
+ /// <reference types="node" />
1
2
  import { EventEmitter } from "events";
2
3
  import { paramsRecaptcha } from "./2captcha.js";
3
4
  export interface ServerCaptchaResult {
@@ -1 +1 @@
1
- {"version":3,"file":"2captchaServer.d.ts","sourceRoot":"","sources":["../../src/structs/2captchaServer.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAKhD,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,YAAY;IACzB,WAAW,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpD,UAAU,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,MAAM;IACnB,EAAE,CAAC,CAAC,SAAS,MAAM,YAAY,EAC3B,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GACpC,IAAI,CAAC;CACX;AAED;;;;GAIG;AACH,qBAAa,MAAO,SAAQ,YAAY;IACpC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAS;IAEhC,OAAO,CAAC,WAAW,CAAkB;gBAEzB,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,GAAE,OAAc;YAWxG,MAAM;IA8BpB,OAAO,KAAK,cAAc,GAIzB;IAED;;OAEG;IACI,SAAS;IAGhB,gBAAgB,CAAC,MAAM,EAAE,eAAe;CAO3C"}
1
+ {"version":3,"file":"2captchaServer.d.ts","sourceRoot":"","sources":["../../src/structs/2captchaServer.ts"],"names":[],"mappings":";AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AACtC,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAKhD,MAAM,WAAW,mBAAmB;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAA;CACb;AAED,MAAM,WAAW,YAAY;IACzB,WAAW,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;IACpD,UAAU,EAAE,CAAC,OAAO,EAAE,mBAAmB,KAAK,IAAI,CAAC;CACtD;AAED,MAAM,WAAW,MAAM;IACnB,EAAE,CAAC,CAAC,SAAS,MAAM,YAAY,EAC3B,KAAK,EAAE,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,CAAC,CAAC,GACpC,IAAI,CAAC;CACX;AAED;;;;GAIG;AACH,qBAAa,MAAO,SAAQ,YAAY;IACpC,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAS;IAE5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAS;IAEhC,OAAO,CAAC,WAAW,CAAkB;gBAEzB,MAAM,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,EAAE,UAAU,GAAE,OAAc;YAWxG,MAAM;IA8BpB,OAAO,KAAK,cAAc,GAIzB;IAED;;OAEG;IACI,SAAS;IAGhB,gBAAgB,CAAC,MAAM,EAAE,eAAe;CAO3C"}
@@ -1,3 +1,4 @@
1
- declare const _default: any;
1
+ import nodeFetch from 'node-fetch';
2
+ declare const _default: (((input: RequestInfo | URL, init?: RequestInit | undefined) => Promise<Response>) & typeof fetch) | typeof nodeFetch;
2
3
  export = _default;
3
4
  //# sourceMappingURL=fetch.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/utils/fetch.ts"],"names":[],"mappings":";AAEA,kBAA8E"}
1
+ {"version":3,"file":"fetch.d.ts","sourceRoot":"","sources":["../../src/utils/fetch.ts"],"names":[],"mappings":"AAAA,OAAO,SAAS,MAAM,YAAY,CAAC;;AAEnC,kBAA8E"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@2captcha/captcha-solver",
3
- "version": "1.0.1",
3
+ "version": "1.0.3",
4
4
  "description": "JavaScript library for easy integration with the API of 2captcha captcha solving service to bypass reCAPTCHA, hCaptcha, funcaptcha, geetest and solve any other captchas.",
5
5
  "main": "dist/index.js",
6
6
  "repository": {
package/README.ru.md DELETED
@@ -1,385 +0,0 @@
1
- [English](README.md) | [中国语文科](README.zh.md) | <b>[Русский](README.ru.md)</b>
2
-
3
- # JavaScript модуль для 2Captcha API
4
-
5
- ## Описание
6
- Оболочка вокруг API сервиса [2captcha](https://2captcha.com/). Эта оболочка поддерживает решение следующих типов капч: reCAPTCHA V2, reCAPTCHA V3, hCaptcha, Arkose Labs FunCaptcha, image captcha, Coordinates (Click Captcha), Geetest, Geetest V4, Yandex Smart Captcha, Lemin captcha, Amazon WAF, Cloudflare Turnstile, Capy Puzzle, DataDome CAPTCHA, CyberSiARA, MTCaptcha, Friendly Captcha.
7
-
8
- Также добавлена поддержка метода `bounding_box`. Метод ограничивающей рамки позволяет размечать данные на изображении. Этот метод можно использовать для разметки наборов данных или выделения любых объектов на изображении в соответствии с заданными инструкциями. Подробнее об использовании *Bounding Box Method* читайте в [документации](https://2captcha.com/2captcha-api#bounding_box).
9
-
10
- [2captcha](https://2captcha.com/) это сервис, который решает множество различных типов капч. Эта библиотека служит оболочкой для API 2captcha, чтобы предоставить NodeJS простую функциональность, основанную на `promise`.
11
-
12
- ## Поддерживаемые типы капч:
13
- - ✅ google-recaptcha (reCAPTCHA v2 / reCAPTCHA v3)
14
- - ✅ hCaptcha
15
- - ✅ Arkose Labs FunCaptcha
16
- - ✅ Image captchas. (`base64` format)
17
- - ✅ Geetest
18
- - ✅ Geetest v4
19
- - ✅ Yandex Smart Captcha
20
- - ✅ Lemin Cropped Captcha
21
- - ✅ Cloudflare Turnstile
22
- - ✅ Amazon WAF Captcha
23
- - ✅ Capy Puzzle
24
- - ✅ Coordinates (Click Captcha)
25
- - ⬜ Audio Recogntion
26
- - ✅ DataDome CAPTCHA
27
- - ✅ CyberSiARA
28
- - ✅ MTCaptcha
29
- - ✅ Friendly Captcha
30
- - ✅ Bounding Box Method
31
-
32
-
33
- ## Установка
34
-
35
- ```sh
36
- npm install @2captcha/captcha-solver
37
- ```
38
- ```sh
39
- yarn add @2captcha/captcha-solver
40
- ```
41
-
42
- ## Примеры использования
43
-
44
-
45
- ### reCAPTCHA:
46
- ```js
47
- const Captcha = require("@2captcha/captcha-solver")
48
- // Новый экземпляр "solver" со значением вашего ключа 2captcha API
49
- const solver = new Captcha.Solver("<Your 2captcha api key>")
50
-
51
- // Решение reCAPTCHA, на демо странице содержащей reCAPTCHA V2
52
- solver.recaptcha({
53
- pageurl: 'https://2captcha.com/demo/recaptcha-v2',
54
- googlekey: '6LfD3PIbAAAAAJs_eEHvoOl75_83eXSqpPSRFJ_u'
55
- })
56
- .then((res) => {
57
- console.log(res);
58
- })
59
- .catch((err) => {
60
- console.log(err);
61
- })
62
- ```
63
-
64
- ### hCaptcha:
65
- ```js
66
- const Captcha = require("@2captcha/captcha-solver")
67
- const solver = new Captcha.Solver("<Your 2captcha api key>")
68
-
69
- solver.hcaptcha({
70
- pageurl: "https://2captcha.com/demo/hcaptcha?difficulty=moderate",
71
- sitekey: "b76cd927-d266-4cfb-a328-3b03ae07ded6"
72
- })
73
- .then((res) => {
74
- console.log(res);
75
- })
76
- .catch((err) => {
77
- console.log(err);
78
- })
79
- ```
80
-
81
- ### Arkose Labs FunCaptcha:
82
- ```js
83
- const Captcha = require("@2captcha/captcha-solver")
84
- const solver = new Captcha.Solver("<Your 2captcha api key>")
85
-
86
- solver.funCaptcha({
87
- pageurl: "https://funcaptcha.com/tile-game-lite-mode/fc/api/nojs/?pkey=804380F4-6844-FFA1-ED4E-5877CA1F1EA4&lang=en",
88
- publickey: "804380F4-6844-FFA1-ED4E-5877CA1F1EA4"
89
- })
90
- .then((res) => {
91
- console.log(res);
92
- })
93
- .catch((err) => {
94
- console.log(err);
95
- })
96
- ```
97
-
98
- ### Image captcha:
99
- ```js
100
- const Captcha = require("@2captcha/captcha-solver")
101
- const fs = require("fs")
102
- const solver = new Captcha.Solver("<Your 2captcha api key>")
103
-
104
- // Получаем содержимое файла в формате base64
105
- const imageBase64 = fs.readFileSync("./tests/media/imageCaptcha_6e584.png", "base64")
106
-
107
- solver.imageCaptcha({
108
- body: imageBase64,
109
- numeric: 4,
110
- min_len: 5,
111
- max_len: 5
112
- })
113
- .then((res) => {
114
- console.log(res);
115
- })
116
- .catch((err) => {
117
- console.log(err);
118
- })
119
- ```
120
-
121
-
122
- ### GeeTest Captcha:
123
- ```js
124
- const Captcha = require("@2captcha/captcha-solver")
125
- const solver = new Captcha.Solver("<Your 2captcha api key>")
126
-
127
- // Значение `challenge` является динамическим
128
- // Читайте подробнее о `challenge` на странице https://2captcha.com/p/geetest
129
- solver.geetest({
130
- pageurl: 'https://2captcha.com/demo/geetest',
131
- gt: '81388ea1fc187e0c335c0a8907ff2625',
132
- challenge: '<you need to get a new challenge value each time>'
133
- })
134
- .then((res) => {
135
- console.log(res);
136
- })
137
- .catch((err) => {
138
- console.log(err);
139
- })
140
- ```
141
-
142
- ### GeeTest V4 Captcha:
143
- ```js
144
- const Captcha = require("@2captcha/captcha-solver")
145
- const solver = new Captcha.Solver("<Your 2captcha api key>")
146
-
147
- solver.geetestV4({
148
- pageurl: 'https://2captcha.com/demo/geetest-v4',
149
- captcha_id: 'e392e1d7fd421dc63325744d5a2b9c73'
150
- })
151
- .then((res) => {
152
- console.log(res);
153
- })
154
- .catch((err) => {
155
- console.log(err);
156
- })
157
- ```
158
-
159
- ### Yandex Smart Captcha:
160
- ```js
161
- const Captcha = require("@2captcha/captcha-solver")
162
- const solver = new Captcha.Solver("<Your 2captcha api key>")
163
-
164
- solver.yandexSmart({
165
- pageurl: "https://captcha-api.yandex.ru/demo",
166
- sitekey: "FEXfAbHQsToo97VidNVk3j4dC74nGW1DgdxjtNB9"
167
- })
168
- .then((res) => {
169
- console.log(res);
170
- })
171
- .catch((err) => {
172
- console.log(err);
173
- })
174
- ```
175
-
176
- ### Lemin captcha:
177
- ```js
178
- const Captcha = require("@2captcha/captcha-solver")
179
- const solver = new Captcha.Solver("<Your 2captcha api key>")
180
-
181
- solver.lemin({
182
- pageurl:'https://dashboard.leminnow.com/auth/login',
183
- captcha_id: 'CROPPED_099216d_34698cb7b8574265925f493cbcb3df4d',
184
- div_id: 'lemin-cropped-captcha',
185
- api_server: 'https://api.leminnow.com/captcha/v1/cropped'
186
- })
187
- .then((res) => {
188
- console.log(res);
189
- })
190
- .catch((err) => {
191
- console.log(err);
192
- })
193
- ```
194
-
195
- ### Cloudflare Turnstile:
196
- ```js
197
- const Captcha = require("@2captcha/captcha-solver")
198
- const solver = new Captcha.Solver("<Your 2captcha api key>")
199
-
200
- solver.cloudflareTurnstile({
201
- pageurl: "https://app.nodecraft.com/login",
202
- sitekey: "0x4AAAAAAAAkg0s3VIOD10y4"
203
- })
204
- .then((res) => {
205
- console.log(res);
206
- })
207
- .catch((err) => {
208
- console.log(err);
209
- })
210
- ```
211
-
212
- ### Amazon WAF Captcha (AWS WAF):
213
- ```js
214
- const Captcha = require("@2captcha/captcha-solver")
215
- const solver = new Captcha.Solver("<Your 2captcha api key>")
216
-
217
- // INFO: Значение `context` является динамическим, необходимо каждый раз брать фактическое значение со страницы с капчей.
218
- solver.amazonWaf({
219
- pageurl: "https://non-existent-example.execute-api.us-east-1.amazonaws.com/latest",
220
- sitekey: "AQIDAHjcYu/GjX+QlghicBgQ/7bFaQZ+m5FKCMDnO+vTbNg96AHMDLodoefdvyOnsHMRt...",
221
- context: "9BUgmlm48F92WUoqv97a49ZuEJJ50TCk9MVr3C7WMtQ0X6flVbufM4n8mjFLmbLVAPgaQ...",
222
- iv: "CgAHbCe2GgAAAAAj",
223
- })
224
- .then((res) => {
225
- console.log(res);
226
- })
227
- .catch((err) => {
228
- console.log(err);
229
- })
230
- ```
231
-
232
- ### Capy Puzzle
233
- ```js
234
- const Captcha = require("@2captcha/captcha-solver")
235
- const solver = new Captcha.Solver("<Your 2captcha api key>")
236
-
237
- solver.capyPuzzle({
238
- pageurl: "https://www.capy.me/account/register/",
239
- captchakey: "PUZZLE_Cme4hZLjuZRMYC3uh14C52D3uNms5w"
240
- })
241
- .then((res) => {
242
- console.log(res);
243
- })
244
- .catch((err) => {
245
- console.log(err);
246
- })
247
- ```
248
-
249
- ### DataDome CAPTCHA
250
- ```js
251
- const Captcha = require("@2captcha/captcha-solver")
252
- const solver = new Captcha.Solver("<Your 2captcha api key>")
253
-
254
-
255
- solver.dataDome({
256
- pageurl: "https://rendezvousparis.hermes.com/client/register",
257
- captcha_url: "https://geo.captcha-delivery.com/captcha/?initialCid=AHrlqAAAAAMAEuQtkf4k1c0ABZhYZA%3D%3D&hash=789361B674144528D0B7EE76B35826&cid=mY4z7GNmh7Nt1lAFwpbNHAOcWPhyPgjHD2K1Pm~Od1iEKYLUnK3t7N2ZGUj8OqDK65cnwJHtHwd~t902vlwpSBA5l4ZHbS1Qszv~jEuEUJNQ_jMAjar2Kj3kq20MRJYh&t=fe&referer=https%3A%2F%2Frendezvousparis.hermes.com%2Fclient%2Fregister&s=40119&e=67fef144ac1a54dbd7507776367d2f9d5e36ec3add17fa22f3cb881db8385838",
258
- userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36",
259
- proxy: "login:password@1.2.3.4:8888", // The (Username : Password @ Address : Port) of our chosen proxy
260
- proxytype: "http" // The 'Type' of proxy, http, https, socks, ect.
261
- })
262
- .then((res) => {
263
- console.log(res);
264
- })
265
- .catch((err) => {
266
- console.log(err);
267
- })
268
- ```
269
-
270
- ### CyberSiARA
271
- ```js
272
- const Captcha = require("@2captcha/captcha-solver")
273
- const solver = new Captcha.Solver("<Your 2captcha api key>")
274
-
275
-
276
- solver.cyberSiARA({
277
- pageurl: "https://www.cybersiara.com/book-a-demo",
278
- master_url_id: "OXR2LVNvCuXykkZbB8KZIfh162sNT8S2",
279
- userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"
280
- })
281
- .then((res) => {
282
- console.log(res);
283
- })
284
- .catch((err) => {
285
- console.log(err);
286
- })
287
- ```
288
-
289
- ### MTCaptcha
290
- ```js
291
- const Captcha = require("@2captcha/captcha-solver")
292
- const solver = new Captcha.Solver("<Your 2captcha api key>")
293
-
294
-
295
- solver.mtCaptcha({
296
- pageurl: "https://service.mtcaptcha.com/mtcv1/demo/index.html",
297
- sitekey: "MTPublic-DemoKey9M"
298
- })
299
- .then((res) => {
300
- console.log(res);
301
- })
302
- .catch((err) => {
303
- console.log(err);
304
- })
305
- ```
306
-
307
- ### Friendly Captcha
308
-
309
- Используйте этот метод, чтобы решить Friendly Captcha и получить токен для обхода защиты.
310
-
311
- > **Важно:**Для успешного использования полученного токена, на странице не должен быть загружен виджет капчи. Для этого вам нужно прервать запрос к `/friendcaptcha/...module.min.js` на странице. Когда виджет капчи уже загружен на страницу, велика вероятность, что полученный токен не сработает.
312
-
313
- ```js
314
- solver.friendlyCaptcha({
315
- pageurl: "https://geizhals.de/?liftban=1&from=/455973138?fsean=5901747021356",
316
- sitekey: "FCMST5VUMCBOCGQ9"
317
- })
318
- .then((res) => {
319
- console.log(res);
320
- })
321
- .catch((err) => {
322
- console.log(err);
323
- })
324
- ```
325
-
326
- ### Coordinates (Click Captcha):
327
- ```js
328
- const Captcha = require("@2captcha/captcha-solver")
329
- const solver = new Captcha.Solver("<Your 2captcha api key>")
330
- const imageBase64 = fs.readFileSync("./tests/media/hCaptchaImage.jpg", "base64")
331
-
332
- solver.coordinates({
333
- body: imageBase64,
334
- textinstructions: 'Select all photos containing the boat'
335
- })
336
- .then((res) => {
337
- console.log(res);
338
- })
339
- .catch((err) => {
340
- console.log(err);
341
- })
342
- ```
343
-
344
- ### Bounding Box Method:
345
- *Bounding Box Method* позволяет выбирать объекты, указанные на изображении. Для этого вам необходимо передать инструкции по разметке. Инструкции могут быть отправлены в виде текста или изображения, закодированного в формате `base64`. Обязательно необходимо передать хотя бы одну инструкцию `imginstructions` или `textinstructions`.
346
-
347
- ```js
348
- const Captcha = require("@2captcha/captcha-solver")
349
- const solver = new Captcha.Solver("<Your 2captcha api key>")
350
-
351
- solver.boundingBox({
352
- image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAR4AAACwCAIAAAB...",
353
- textinstructions: "Обведите все машины на изображении.",
354
- })
355
- .then((res) => {
356
- console.log(res);
357
- })
358
- .catch((err) => {
359
- console.log(err);
360
- })
361
- ```
362
-
363
- ### Proxy:
364
- ```js
365
- const Captcha = require("@2captcha/captcha-solver")
366
- const solver = new Captcha.Solver("<Your 2captcha api key>")
367
-
368
- solver.recaptcha({
369
- pageurl: 'https://2captcha.com/demo/recaptcha-v2',
370
- googlekey: '6LfD3PIbAAAAAJs_eEHvoOl75_83eXSqpPSRFJ_u',
371
- proxy: "login:password@1.2.3.4:8888", // Параметры используемого вами прокси сервера
372
- proxytype: "HTTP" // Тип используемого прокси: `HTTP`, `HTTPS`, `SOCKS4`, `SOCKS5`.
373
- })
374
- .then((res) => {
375
- console.log(res)
376
- })
377
- .catch((err) => {
378
- console.error(err.message)
379
- })
380
- ```
381
-
382
- ## Полезные статьи
383
- * [Как решать капчу Geetest v4](https://2captcha.com/ru/blog/geetest-v4-obkhod)
384
- * [Автоматическое решение reCAPTCHA V3 - инструкция для разработчиков и заказчиков](https://2captcha.com/ru/blog/avtomaticheskoe-reshenie-recaptcha-v3)
385
- * <a href="./docs/hcaptcha.md">Поиск значения `sitekey` для hCaptcha</a>
package/README.zh.md DELETED
@@ -1,361 +0,0 @@
1
- [English](README.md) | <b>[中国语文科](README.zh.md)</b> | [Русский](README.ru.md)
2
-
3
- # 2captcha API的JavaScript模块
4
-
5
- ## 资料描述
6
- 提供[2captcha](https://2captcha.com/)服务的API的包装器.
7
- 這個 npm 包包括對以下驗證碼類型的支持:reCAPTCHA V2, reCAPTCHA V3, hCaptcha, Arkose Labs FunCaptcha, image captcha, Coordinates (Click Captcha), Geetest, Geetest V4, Yandex Smart Captcha, Lemin captcha, Amazon WAF, Cloudflare Turnstile, Capy Puzzle, DataDome CAPTCHA, CyberSiARA, MTCaptcha.
8
-
9
- [2captcha](https://2captcha.com/)是一項服務,可讓您解決許多不同類型的驗證碼。這個 npm 包包裝了[2captcha](https://2captcha.com/)API 來為 NodeJS 提供簡單的基於`promise`的功能。
10
-
11
- ## 支持的驗證碼
12
- - ✅ google-recaptcha (reCAPTCHA v2 / reCAPTCHA v3)
13
- - ✅ hCaptcha
14
- - ✅ Arkose Labs FunCaptcha
15
- - ✅ Image captchas. (`base64` format)
16
- - ✅ Geetest
17
- - ✅ Geetest v4
18
- - ✅ Yandex Smart Captcha
19
- - ✅ Lemin Cropped Captcha
20
- - ✅ Cloudflare Turnstile
21
- - ✅ Amazon WAF Captcha
22
- - ✅ Capy Puzzle
23
- - ✅ Coordinates (Click Captcha)
24
- - ⬜ Audio Recogntion
25
- - ✅ DataDome CAPTCHA
26
- - ✅ CyberSiARA
27
- - ✅ MTCaptcha
28
- - ✅ Bounding Box Method
29
-
30
- ## 安装/安装
31
-
32
- ```sh
33
- npm install @2captcha/captcha-solver
34
- ```
35
- ```sh
36
- yarn add @2captcha/captcha-solver
37
- ```
38
-
39
- ## 使用示例
40
-
41
-
42
- ### reCAPTCHA:
43
- ```js
44
- const Captcha = require("@2captcha/captcha-solver")
45
- // 具有 2CAPTCHA API 密鑰值的新“求解器”實例。
46
- const solver = new Captcha.Solver("<Your 2captcha api key>")
47
-
48
- // reCAPTCHA 解決方案,在包含 reCAPTCHA V2 的演示頁面上
49
- solver.recaptcha({
50
- pageurl: 'https://2captcha.com/demo/recaptcha-v2',
51
- googlekey: '6LfD3PIbAAAAAJs_eEHvoOl75_83eXSqpPSRFJ_u'
52
- })
53
- .then((res) => {
54
- console.log(res);
55
- })
56
- .catch((err) => {
57
- console.log(err);
58
- })
59
- ```
60
-
61
- ### hCaptcha:
62
- ```js
63
- const Captcha = require("@2captcha/captcha-solver")
64
- const solver = new Captcha.Solver("<Your 2captcha api key>")
65
-
66
- solver.hcaptcha({
67
- pageurl: "https://2captcha.com/demo/hcaptcha?difficulty=moderate",
68
- sitekey: "b76cd927-d266-4cfb-a328-3b03ae07ded6"
69
- })
70
- .then((res) => {
71
- console.log(res);
72
- })
73
- .catch((err) => {
74
- console.log(err);
75
- })
76
- ```
77
-
78
- ### Arkose Labs FunCaptcha:
79
- ```js
80
- const Captcha = require("@2captcha/captcha-solver")
81
- const solver = new Captcha.Solver("<Your 2captcha api key>")
82
-
83
- solver.funCaptcha({
84
- pageurl: "https://funcaptcha.com/tile-game-lite-mode/fc/api/nojs/?pkey=804380F4-6844-FFA1-ED4E-5877CA1F1EA4&lang=en",
85
- publickey: "804380F4-6844-FFA1-ED4E-5877CA1F1EA4"
86
- })
87
- .then((res) => {
88
- console.log(res);
89
- })
90
- .catch((err) => {
91
- console.log(err);
92
- })
93
- ```
94
-
95
- ### Image captcha:
96
- ```js
97
- const Captcha = require("@2captcha/captcha-solver")
98
- const fs = require("fs")
99
- const solver = new Captcha.Solver("<Your 2captcha api key>")
100
-
101
- // 獲取base64格式的文件內容
102
- const imageBase64 = fs.readFileSync("./tests/media/imageCaptcha_6e584.png", "base64")
103
-
104
- solver.imageCaptcha({
105
- body: imageBase64,
106
- numeric: 4,
107
- min_len: 5,
108
- max_len: 5
109
- })
110
- .then((res) => {
111
- console.log(res);
112
- })
113
- .catch((err) => {
114
- console.log(err);
115
- })
116
- ```
117
-
118
-
119
- ### GeeTest Captcha:
120
- ```js
121
- const Captcha = require("@2captcha/captcha-solver")
122
- const solver = new Captcha.Solver("<Your 2captcha api key>")
123
-
124
- // `challenge` 值是動態的
125
- // 关于参数`challenge`的更多信息写在第https://2captcha.com/p/geetest页
126
- solver.geetest({
127
- pageurl: 'https://2captcha.com/demo/geetest',
128
- gt: '81388ea1fc187e0c335c0a8907ff2625',
129
- challenge: '<you need to get a new challenge value each time>'
130
- })
131
- .then((res) => {
132
- console.log(res);
133
- })
134
- .catch((err) => {
135
- console.log(err);
136
- })
137
- ```
138
-
139
- ### GeeTest V4 Captcha:
140
- ```js
141
- const Captcha = require("@2captcha/captcha-solver")
142
- const solver = new Captcha.Solver("<Your 2captcha api key>")
143
-
144
- solver.geetestV4({
145
- pageurl: 'https://2captcha.com/demo/geetest-v4',
146
- captcha_id: 'e392e1d7fd421dc63325744d5a2b9c73'
147
- })
148
- .then((res) => {
149
- console.log(res);
150
- })
151
- .catch((err) => {
152
- console.log(err);
153
- })
154
- ```
155
-
156
- ### Yandex Smart Captcha:
157
- ```js
158
- const Captcha = require("@2captcha/captcha-solver")
159
- const solver = new Captcha.Solver("<Your 2captcha api key>")
160
-
161
- solver.yandexSmart({
162
- pageurl: "https://captcha-api.yandex.ru/demo",
163
- sitekey: "FEXfAbHQsToo97VidNVk3j4dC74nGW1DgdxjtNB9"
164
- })
165
- .then((res) => {
166
- console.log(res);
167
- })
168
- .catch((err) => {
169
- console.log(err);
170
- })
171
- ```
172
-
173
- ### Lemin captcha:
174
- ```js
175
- const Captcha = require("@2captcha/captcha-solver")
176
- const solver = new Captcha.Solver("<Your 2captcha api key>")
177
-
178
- solver.lemin({
179
- pageurl:'https://dashboard.leminnow.com/auth/login',
180
- captcha_id: 'CROPPED_099216d_34698cb7b8574265925f493cbcb3df4d',
181
- div_id: 'lemin-cropped-captcha',
182
- api_server: 'https://api.leminnow.com/captcha/v1/cropped'
183
- })
184
- .then((res) => {
185
- console.log(res);
186
- })
187
- .catch((err) => {
188
- console.log(err);
189
- })
190
- ```
191
-
192
- ### Cloudflare Turnstile:
193
- ```js
194
- const Captcha = require("@2captcha/captcha-solver")
195
- const solver = new Captcha.Solver("<Your 2captcha api key>")
196
-
197
- solver.cloudflareTurnstile({
198
- pageurl: "https://app.nodecraft.com/login",
199
- sitekey: "0x4AAAAAAAAkg0s3VIOD10y4"
200
- })
201
- .then((res) => {
202
- console.log(res);
203
- })
204
- .catch((err) => {
205
- console.log(err);
206
- })
207
- ```
208
-
209
- ### Amazon WAF Captcha (AWS WAF):
210
- ```js
211
- const Captcha = require("@2captcha/captcha-solver")
212
- const solver = new Captcha.Solver("<Your 2captcha api key>")
213
-
214
- // INFO: 'Context'值是动态的,每次都需要从captcha页面获取新的`context`值。
215
- solver.amazonWaf({
216
- pageurl: "https://non-existent-example.execute-api.us-east-1.amazonaws.com/latest",
217
- sitekey: "AQIDAHjcYu/GjX+QlghicBgQ/7bFaQZ+m5FKCMDnO+vTbNg96AHMDLodoefdvyOnsHMRt...",
218
- context: "9BUgmlm48F92WUoqv97a49ZuEJJ50TCk9MVr3C7WMtQ0X6flVbufM4n8mjFLmbLVAPgaQ...",
219
- iv: "CgAHbCe2GgAAAAAj",
220
- })
221
- .then((res) => {
222
- console.log(res);
223
- })
224
- .catch((err) => {
225
- console.log(err);
226
- })
227
- ```
228
-
229
- ### Capy Puzzle
230
- ```js
231
- const Captcha = require("@2captcha/captcha-solver")
232
- const solver = new Captcha.Solver("<Your 2captcha api key>")
233
-
234
- solver.capyPuzzle({
235
- pageurl: "https://www.capy.me/account/register/",
236
- captchakey: "PUZZLE_Cme4hZLjuZRMYC3uh14C52D3uNms5w"
237
- })
238
- .then((res) => {
239
- console.log(res);
240
- })
241
- .catch((err) => {
242
- console.log(err);
243
- })
244
- ```
245
-
246
- ### DataDome CAPTCHA
247
- ```js
248
- const Captcha = require("@2captcha/captcha-solver")
249
- const solver = new Captcha.Solver("<Your 2captcha api key>")
250
-
251
-
252
- solver.dataDome({
253
- pageurl: "https://rendezvousparis.hermes.com/client/register",
254
- captcha_url: "https://geo.captcha-delivery.com/captcha/?initialCid=AHrlqAAAAAMAEuQtkf4k1c0ABZhYZA%3D%3D&hash=789361B674144528D0B7EE76B35826&cid=mY4z7GNmh7Nt1lAFwpbNHAOcWPhyPgjHD2K1Pm~Od1iEKYLUnK3t7N2ZGUj8OqDK65cnwJHtHwd~t902vlwpSBA5l4ZHbS1Qszv~jEuEUJNQ_jMAjar2Kj3kq20MRJYh&t=fe&referer=https%3A%2F%2Frendezvousparis.hermes.com%2Fclient%2Fregister&s=40119&e=67fef144ac1a54dbd7507776367d2f9d5e36ec3add17fa22f3cb881db8385838",
255
- userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36",
256
- proxy: "login:password@1.2.3.4:8888", // The (Username : Password @ Address : Port) of our chosen proxy
257
- proxytype: "http" // The 'Type' of proxy, http, https, socks, ect.
258
- })
259
- .then((res) => {
260
- console.log(res);
261
- })
262
- .catch((err) => {
263
- console.log(err);
264
- })
265
- ```
266
-
267
- ### CyberSiARA
268
- ```js
269
- const Captcha = require("@2captcha/captcha-solver")
270
- const solver = new Captcha.Solver("<Your 2captcha api key>")
271
-
272
-
273
- solver.cyberSiARA({
274
- pageurl: "https://www.cybersiara.com/book-a-demo",
275
- master_url_id: "OXR2LVNvCuXykkZbB8KZIfh162sNT8S2",
276
- userAgent: "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/118.0.0.0 Safari/537.36"
277
- })
278
- .then((res) => {
279
- console.log(res);
280
- })
281
- .catch((err) => {
282
- console.log(err);
283
- })
284
- ```
285
-
286
- ### MTCaptcha
287
- ```js
288
- const Captcha = require("@2captcha/captcha-solver")
289
- const solver = new Captcha.Solver("<Your 2captcha api key>")
290
-
291
-
292
- solver.mtCaptcha({
293
- pageurl: "https://service.mtcaptcha.com/mtcv1/demo/index.html",
294
- sitekey: "MTPublic-DemoKey9M"
295
- })
296
- .then((res) => {
297
- console.log(res);
298
- })
299
- .catch((err) => {
300
- console.log(err);
301
- })
302
- ```
303
-
304
- ### Coordinates (Click Captcha):
305
- ```js
306
- const Captcha = require("@2captcha/captcha-solver")
307
- const solver = new Captcha.Solver("<Your 2captcha api key>")
308
- const imageBase64 = fs.readFileSync("./tests/media/hCaptchaImage.jpg", "base64")
309
-
310
- solver.coordinates({
311
- body: imageBase64,
312
- textinstructions: 'Select all photos containing the boat'
313
- })
314
- .then((res) => {
315
- console.log(res);
316
- })
317
- .catch((err) => {
318
- console.log(err);
319
- })
320
- ```
321
-
322
- ### Bounding Box Method:
323
- ```js
324
- const Captcha = require("@2captcha/captcha-solver")
325
- const solver = new Captcha.Solver("<Your 2captcha api key>")
326
-
327
- solver.boundingBox({
328
- image: "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAR4AAACwCAIAAAB...",
329
- textinstructions: "Circle all the cars in the image.",
330
- })
331
- .then((res) => {
332
- console.log(res);
333
- })
334
- .catch((err) => {
335
- console.log(err);
336
- })
337
- ```
338
-
339
- ### Proxy:
340
- ```js
341
- const Captcha = require("@2captcha/captcha-solver")
342
- const solver = new Captcha.Solver("<Your 2captcha api key>")
343
-
344
- solver.recaptcha({
345
- pageurl: 'https://2captcha.com/demo/recaptcha-v2',
346
- googlekey: '6LfD3PIbAAAAAJs_eEHvoOl75_83eXSqpPSRFJ_u',
347
- proxy: "login:password@1.2.3.4:8888", // 您正在使用的代理服务器的参数
348
- proxytype: "HTTP" // 使用的代理服务器类型: `HTTP`, `HTTPS`, `SOCKS4`, `SOCKS5`.
349
- })
350
- .then((res) => {
351
- console.log(res)
352
- })
353
- .catch((err) => {
354
- console.error(err.message)
355
- })
356
- ```
357
-
358
- ## 有用的文章
359
- * [如何解决Geetest v4 captcha](https://2captcha.com/zh/blog/geetest-v4-support)
360
- * [自动reCAPTCHA V3解决方案-开发人员和客户的说明](https://2captcha.com/zh/blog/recaptcha-v3-automatic-resolution)
361
- * <a href="./docs/hcaptcha.md">搜索hCaptcha的`sitekey`值</a>