puppeteer-pro 1.5.2 → 1.5.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/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "puppeteer-pro",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.3",
|
|
4
4
|
"description": "A simple puppeteer wrapper to enable useful plugins with ease",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -35,21 +35,21 @@
|
|
|
35
35
|
"node": ">=10.0.0"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"axios": "^0.
|
|
38
|
+
"axios": "^0.27.2",
|
|
39
39
|
"ghost-cursor": "^1.1.6",
|
|
40
|
-
"user-agents": "^1.0.
|
|
40
|
+
"user-agents": "^1.0.1029"
|
|
41
41
|
},
|
|
42
42
|
"devDependencies": {
|
|
43
|
-
"@types/node": "^17.0.
|
|
43
|
+
"@types/node": "^17.0.35",
|
|
44
44
|
"@types/user-agents": "^1.0.2",
|
|
45
|
-
"chai": "^4.3.
|
|
45
|
+
"chai": "^4.3.6",
|
|
46
46
|
"copyfiles": "^2.4.1",
|
|
47
47
|
"dotenv-safe": "^8.2.0",
|
|
48
|
-
"eslint": "^8.
|
|
49
|
-
"mocha": "^
|
|
50
|
-
"puppeteer": "^
|
|
48
|
+
"eslint": "^8.16.0",
|
|
49
|
+
"mocha": "^10.0.0",
|
|
50
|
+
"puppeteer": "^14.1.1",
|
|
51
51
|
"rimraf": "^3.0.2",
|
|
52
52
|
"tslint": "^6.1.3",
|
|
53
|
-
"typescript": "^4.
|
|
53
|
+
"typescript": "^4.7.2"
|
|
54
54
|
}
|
|
55
|
-
}
|
|
55
|
+
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/solve.recaptcha/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,SAAS,MAAM,WAAW,CAAC;AAGvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAKlE,qBAAa,oBAAqB,SAAQ,MAAM;IAC9C,YAAY,yBAAgC;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;gBAEd,gBAAgB,EAAE,MAAM;IAK9B,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI;IAI/B,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/plugins/solve.recaptcha/index.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,SAAS,MAAM,WAAW,CAAC;AAGvC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAKlE,qBAAa,oBAAqB,SAAQ,MAAM;IAC9C,YAAY,yBAAgC;IAC5C,gBAAgB,CAAC,EAAE,MAAM,CAAC;gBAEd,gBAAgB,EAAE,MAAM;IAK9B,UAAU,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI;IAI/B,cAAc,CAAC,IAAI,EAAE,SAAS,CAAC,IAAI;CAkE1C"}
|
|
@@ -57,15 +57,16 @@ class SolveRecaptchaPlugin extends index_1.Plugin {
|
|
|
57
57
|
if (!audioArray)
|
|
58
58
|
return;
|
|
59
59
|
const audioBuffer = Buffer.from(new Int8Array(audioArray));
|
|
60
|
-
const response = await axios_1.default.post('https://api.wit.ai/speech?v=
|
|
60
|
+
const response = await axios_1.default.post('https://api.wit.ai/speech?v=20220527', audioBuffer, {
|
|
61
61
|
headers: {
|
|
62
62
|
'Authorization': `Bearer ${this.witAiAccessToken}`,
|
|
63
63
|
'Content-Type': 'audio/wav'
|
|
64
64
|
}
|
|
65
65
|
});
|
|
66
|
-
|
|
66
|
+
const data = typeof response.data === 'string' ? JSON.parse(response.data.split('\r\n').slice(-1)[0] || '{}') : response.data;
|
|
67
|
+
if (data === null || data === void 0 ? void 0 : data.text) {
|
|
67
68
|
const responseInput = await ((_a = page.frames().find(frame => frame.url().includes('api2/bframe'))) === null || _a === void 0 ? void 0 : _a.$('#audio-response'));
|
|
68
|
-
responseInput === null || responseInput === void 0 ? void 0 : responseInput.type(
|
|
69
|
+
responseInput === null || responseInput === void 0 ? void 0 : responseInput.type(data.text);
|
|
69
70
|
await findAndClick('api2/bframe', '#recaptcha-verify-button');
|
|
70
71
|
await sleep(1000);
|
|
71
72
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/solve.recaptcha/index.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/plugins/solve.recaptcha/index.ts"],"names":[],"mappings":"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","sourcesContent":["import axios from 'axios';\nimport * as path from 'path';\nimport * as Puppeteer from 'puppeteer';\nimport { createCursor } from 'ghost-cursor';\n\nimport { Plugin } from '../../index';\nimport { AvoidDetectionPlugin } from './../avoid.detection/index';\n\nconst injection = require(path.resolve(`${__dirname}/injections`) + '/utils.js');// tslint:disable-line: no-var-requires\nconst randomBetween = (min: number, max: number) => Math.floor(Math.random() * (max - min)) + min;\n\nexport class SolveRecaptchaPlugin extends Plugin {\n dependencies = [new AvoidDetectionPlugin()];\n witAiAccessToken?: string;\n\n constructor(witAiAccessToken: string) {\n super();\n this.witAiAccessToken = witAiAccessToken;\n }\n\n async hasCaptcha(page: Puppeteer.Page) {\n return page.evaluate(() => !!document.querySelector<HTMLIFrameElement>('iframe[src*=\"api2/anchor\"]')?.contentDocument?.querySelector('#recaptcha-anchor'));\n }\n\n async solveRecaptcha(page: Puppeteer.Page) {\n if (this.isStopped) return;\n if (!this.witAiAccessToken) return;\n if (!(await this.hasCaptcha(page))) return;\n\n const cursor = createCursor(page);\n\n async function waitForSelector(iframeUrlIncludes: string, selector: string) {\n await page.waitForFunction((_iframeUrlIncludes: string, _selector: string) => document.querySelector<HTMLIFrameElement>(`iframe[src*=\"${_iframeUrlIncludes}\"]`)?.contentDocument?.querySelector(_selector), {}, iframeUrlIncludes, selector);\n }\n\n async function findAndClick(iframeUrlIncludes: string, selector: string) {\n await waitForSelector(iframeUrlIncludes, selector);\n\n const element = await page.frames().find(frame => frame.url().includes(iframeUrlIncludes))?.$(selector);\n if (!element) return;\n\n await sleep(randomBetween(1 * 1000, 3 * 1000));\n await cursor.click(element);\n }\n\n let numTriesLeft = 5;\n async function isFinished() {\n if (--numTriesLeft === 0) return true;\n return page.evaluate(() => !!document.querySelector<HTMLIFrameElement>('iframe[src*=\"api2/anchor\"]')?.contentDocument?.querySelector('.recaptcha-checkbox-checked'));\n }\n\n await findAndClick('api2/anchor', '#recaptcha-anchor');\n await findAndClick('api2/bframe', '.rc-button-audio');\n\n while (!(await isFinished())) {\n await waitForSelector('api2/bframe', '.rc-audiochallenge-tdownload-link');\n\n const audioUrl = await page.evaluate(async () => {\n return document.querySelector<HTMLIFrameElement>('iframe[src*=\"api2/bframe\"]')?.contentDocument?.querySelector<HTMLLinkElement>('.rc-audiochallenge-tdownload-link')?.href;\n });\n\n if (!audioUrl) return;\n\n const audioArray = await page.evaluate(injection, audioUrl);\n\n if (!audioArray) return;\n\n const audioBuffer = Buffer.from(new Int8Array(audioArray));\n\n const response = await axios.post<any>('https://api.wit.ai/speech?v=20220527', audioBuffer, {\n headers: {\n 'Authorization': `Bearer ${this.witAiAccessToken}`,\n 'Content-Type': 'audio/wav'\n }\n });\n\n const data = typeof response.data === 'string' ? JSON.parse(response.data.split('\\r\\n').slice(-1)[0] || '{}') : response.data;\n\n if (data?.text) {\n const responseInput = await page.frames().find(frame => frame.url().includes('api2/bframe'))?.$('#audio-response');\n responseInput?.type(data.text);\n\n await findAndClick('api2/bframe', '#recaptcha-verify-button');\n\n await sleep(1000);\n } else {\n await findAndClick('api2/bframe', '#recaptcha-reload-button');\n }\n }\n }\n}\n\nfunction sleep(timeout: number) {\n return new Promise(resolve => setTimeout(resolve, timeout));\n}"]}
|