cloakbrowser 0.3.27 → 0.3.29
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 +8 -1
- package/dist/args.d.ts +0 -3
- package/dist/args.d.ts.map +1 -1
- package/dist/args.js +7 -0
- package/dist/args.js.map +1 -1
- package/dist/geoip.d.ts.map +1 -1
- package/dist/geoip.js +51 -10
- package/dist/geoip.js.map +1 -1
- package/dist/human/actionability.d.ts +45 -0
- package/dist/human/actionability.d.ts.map +1 -0
- package/dist/human/actionability.js +274 -0
- package/dist/human/actionability.js.map +1 -0
- package/dist/human/config.d.ts +5 -0
- package/dist/human/config.d.ts.map +1 -1
- package/dist/human/config.js.map +1 -1
- package/dist/human/elementhandle.d.ts.map +1 -1
- package/dist/human/elementhandle.js +66 -16
- package/dist/human/elementhandle.js.map +1 -1
- package/dist/human/index.d.ts.map +1 -1
- package/dist/human/index.js +234 -47
- package/dist/human/index.js.map +1 -1
- package/dist/human/mouse.d.ts +1 -0
- package/dist/human/mouse.d.ts.map +1 -1
- package/dist/human/mouse.js +8 -4
- package/dist/human/mouse.js.map +1 -1
- package/dist/human/scroll.d.ts +4 -0
- package/dist/human/scroll.d.ts.map +1 -1
- package/dist/human/scroll.js +5 -3
- package/dist/human/scroll.js.map +1 -1
- package/dist/human-puppeteer/index.d.ts.map +1 -1
- package/dist/human-puppeteer/index.js +10 -10
- package/dist/human-puppeteer/index.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +1 -1
- package/dist/index.js.map +1 -1
- package/dist/playwright.d.ts +12 -1
- package/dist/playwright.d.ts.map +1 -1
- package/dist/playwright.js +35 -21
- package/dist/playwright.js.map +1 -1
- package/dist/proxy.d.ts.map +1 -1
- package/dist/proxy.js +11 -1
- package/dist/proxy.js.map +1 -1
- package/dist/puppeteer.d.ts +23 -2
- package/dist/puppeteer.d.ts.map +1 -1
- package/dist/puppeteer.js +93 -58
- package/dist/puppeteer.js.map +1 -1
- package/dist/types.d.ts +2 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +3 -3
package/dist/puppeteer.js
CHANGED
|
@@ -8,68 +8,46 @@ import { buildArgs } from "./args.js";
|
|
|
8
8
|
import { ensureBinary } from "./download.js";
|
|
9
9
|
import { isSocksProxy, parseProxyUrl, resolveProxyConfig } from "./proxy.js";
|
|
10
10
|
import { maybeResolveGeoip, resolveWebrtcArgs } from "./geoip.js";
|
|
11
|
-
/**
|
|
12
|
-
|
|
13
|
-
*
|
|
14
|
-
* @example
|
|
15
|
-
* ```ts
|
|
16
|
-
* import { launch } from 'cloakbrowser/puppeteer';
|
|
17
|
-
* * // With humanize — human-like mouse, keyboard, scroll
|
|
18
|
-
* const browser = await launch({ humanize: true });
|
|
19
|
-
* const page = await browser.newPage();
|
|
20
|
-
* await page.goto('[https://example.com](https://example.com)');
|
|
21
|
-
* await page.click('#login'); // Bézier curve mouse movement
|
|
22
|
-
* await page.type('#email', 'user@example.com'); // Per-character timing
|
|
23
|
-
* ```
|
|
24
|
-
*/
|
|
25
|
-
export async function launch(options = {}) {
|
|
26
|
-
const puppeteer = await import("puppeteer-core");
|
|
11
|
+
/** Resolve binary path, geoip, webrtc, and build final Chrome args. */
|
|
12
|
+
async function resolveArgs(options) {
|
|
27
13
|
const binaryPath = process.env.CLOAKBROWSER_BINARY_PATH || (await ensureBinary());
|
|
28
14
|
const { exitIp, ...resolved } = (await maybeResolveGeoip(options)) ?? {};
|
|
29
15
|
let resolvedArgs = (await resolveWebrtcArgs(options)) ?? options.args;
|
|
30
16
|
if (exitIp && !(resolvedArgs ?? []).some(a => a.startsWith("--fingerprint-webrtc-ip"))) {
|
|
31
17
|
resolvedArgs = [...(resolvedArgs ?? []), `--fingerprint-webrtc-ip=${exitIp}`];
|
|
32
18
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
if (username) {
|
|
49
|
-
proxyAuth = { username, password: password ?? "" };
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
const parsed = parseProxyUrl(options.proxy.server);
|
|
54
|
-
args.push(`--proxy-server=${parsed.server}`);
|
|
55
|
-
if (options.proxy.bypass) {
|
|
56
|
-
args.push(`--proxy-bypass-list=${options.proxy.bypass}`);
|
|
57
|
-
}
|
|
58
|
-
const username = options.proxy.username ?? parsed.username;
|
|
59
|
-
const password = options.proxy.password ?? parsed.password;
|
|
60
|
-
if (username) {
|
|
61
|
-
proxyAuth = { username, password: password ?? "" };
|
|
62
|
-
}
|
|
63
|
-
}
|
|
19
|
+
return { binaryPath, args: buildArgs({ ...options, ...resolved, args: resolvedArgs }) };
|
|
20
|
+
}
|
|
21
|
+
/**
|
|
22
|
+
* Resolve proxy into Chrome CLI args and optional HTTP auth credentials.
|
|
23
|
+
* SOCKS5: Chrome supports inline credentials natively (RFC 1929 auth).
|
|
24
|
+
* HTTP: Chrome does NOT support inline credentials — strip them and
|
|
25
|
+
* use page.authenticate() for Proxy-Authorization headers instead.
|
|
26
|
+
*/
|
|
27
|
+
function resolveProxy(options, args) {
|
|
28
|
+
if (!options.proxy)
|
|
29
|
+
return undefined;
|
|
30
|
+
if (isSocksProxy(options.proxy)) {
|
|
31
|
+
const { proxyArgs } = resolveProxyConfig(options.proxy);
|
|
32
|
+
args.push(...proxyArgs);
|
|
33
|
+
return undefined;
|
|
64
34
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
});
|
|
72
|
-
|
|
35
|
+
if (typeof options.proxy === "string") {
|
|
36
|
+
const { server, username, password } = parseProxyUrl(options.proxy);
|
|
37
|
+
args.push(`--proxy-server=${server}`);
|
|
38
|
+
return username ? { username, password: password ?? "" } : undefined;
|
|
39
|
+
}
|
|
40
|
+
const parsed = parseProxyUrl(options.proxy.server);
|
|
41
|
+
args.push(`--proxy-server=${parsed.server}`);
|
|
42
|
+
if (options.proxy.bypass) {
|
|
43
|
+
args.push(`--proxy-bypass-list=${options.proxy.bypass}`);
|
|
44
|
+
}
|
|
45
|
+
const username = options.proxy.username ?? parsed.username;
|
|
46
|
+
const password = options.proxy.password ?? parsed.password;
|
|
47
|
+
return username ? { username, password: password ?? "" } : undefined;
|
|
48
|
+
}
|
|
49
|
+
/** Apply proxy auth monkey-patch and humanize behavioral patching. */
|
|
50
|
+
async function applyPostLaunch(browser, options, proxyAuth) {
|
|
73
51
|
if (proxyAuth) {
|
|
74
52
|
const origNewPage = browser.newPage.bind(browser);
|
|
75
53
|
const auth = proxyAuth;
|
|
@@ -79,15 +57,72 @@ export async function launch(options = {}) {
|
|
|
79
57
|
return page;
|
|
80
58
|
};
|
|
81
59
|
}
|
|
82
|
-
// Human-like behavioral patching — FULL coverage, same as Playwright.
|
|
83
|
-
// This enables Bézier mouse movements, organic typing rhythms, and
|
|
84
|
-
// natural scrolling to bypass advanced anti-bot detection.
|
|
85
60
|
if (options.humanize) {
|
|
86
61
|
const { patchBrowser } = await import('./human-puppeteer/index.js');
|
|
87
62
|
const { resolveConfig } = await import('./human/config.js');
|
|
88
63
|
const cfg = resolveConfig(options.humanPreset ?? 'default', options.humanConfig);
|
|
89
64
|
patchBrowser(browser, cfg);
|
|
90
65
|
}
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Launch stealth Chromium browser via Puppeteer.
|
|
69
|
+
*
|
|
70
|
+
* @example
|
|
71
|
+
* ```ts
|
|
72
|
+
* import { launch } from 'cloakbrowser/puppeteer';
|
|
73
|
+
* // With humanize — human-like mouse, keyboard, scroll
|
|
74
|
+
* const browser = await launch({ humanize: true });
|
|
75
|
+
* const page = await browser.newPage();
|
|
76
|
+
* await page.goto('https://example.com');
|
|
77
|
+
* await page.click('#login'); // Bézier curve mouse movement
|
|
78
|
+
* await page.type('#email', 'user@example.com'); // Per-character timing
|
|
79
|
+
* ```
|
|
80
|
+
*/
|
|
81
|
+
export async function launch(options = {}) {
|
|
82
|
+
const puppeteer = await import("puppeteer-core");
|
|
83
|
+
const { binaryPath, args } = await resolveArgs(options);
|
|
84
|
+
const proxyAuth = resolveProxy(options, args);
|
|
85
|
+
const browser = await puppeteer.default.launch({
|
|
86
|
+
...options.launchOptions,
|
|
87
|
+
executablePath: binaryPath,
|
|
88
|
+
headless: options.headless ?? true,
|
|
89
|
+
args,
|
|
90
|
+
ignoreDefaultArgs: IGNORE_DEFAULT_ARGS,
|
|
91
|
+
});
|
|
92
|
+
await applyPostLaunch(browser, options, proxyAuth);
|
|
93
|
+
return browser;
|
|
94
|
+
}
|
|
95
|
+
/**
|
|
96
|
+
* Launch stealth Chromium with a persistent user profile via Puppeteer.
|
|
97
|
+
* Passes `userDataDir` to Puppeteer's launch options so cookies,
|
|
98
|
+
* localStorage, and session data persist across launches.
|
|
99
|
+
*
|
|
100
|
+
* @example
|
|
101
|
+
* ```ts
|
|
102
|
+
* import { launchPersistentContext } from 'cloakbrowser/puppeteer';
|
|
103
|
+
* const browser = await launchPersistentContext({
|
|
104
|
+
* userDataDir: './chrome-profile',
|
|
105
|
+
* headless: false,
|
|
106
|
+
* proxy: 'http://user:pass@proxy:8080',
|
|
107
|
+
* });
|
|
108
|
+
* const page = await browser.newPage();
|
|
109
|
+
* await page.goto('https://example.com');
|
|
110
|
+
* await browser.close();
|
|
111
|
+
* ```
|
|
112
|
+
*/
|
|
113
|
+
export async function launchPersistentContext(options) {
|
|
114
|
+
const puppeteer = await import("puppeteer-core");
|
|
115
|
+
const { binaryPath, args } = await resolveArgs(options);
|
|
116
|
+
const proxyAuth = resolveProxy(options, args);
|
|
117
|
+
const browser = await puppeteer.default.launch({
|
|
118
|
+
...options.launchOptions,
|
|
119
|
+
executablePath: binaryPath,
|
|
120
|
+
headless: options.headless ?? true,
|
|
121
|
+
args,
|
|
122
|
+
ignoreDefaultArgs: IGNORE_DEFAULT_ARGS,
|
|
123
|
+
userDataDir: options.userDataDir,
|
|
124
|
+
});
|
|
125
|
+
await applyPostLaunch(browser, options, proxyAuth);
|
|
91
126
|
return browser;
|
|
92
127
|
}
|
|
93
128
|
//# sourceMappingURL=puppeteer.js.map
|
package/dist/puppeteer.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"puppeteer.js","sourceRoot":"","sources":["../src/puppeteer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAElE
|
|
1
|
+
{"version":3,"file":"puppeteer.js","sourceRoot":"","sources":["../src/puppeteer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAClD,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,eAAe,CAAC;AAC7C,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAElE,uEAAuE;AACvE,KAAK,UAAU,WAAW,CAAC,OAAsB;IAC/C,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,wBAAwB,IAAI,CAAC,MAAM,YAAY,EAAE,CAAC,CAAC;IAClF,MAAM,EAAE,MAAM,EAAE,GAAG,QAAQ,EAAE,GAAG,CAAC,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC;IACzE,IAAI,YAAY,GAAG,CAAC,MAAM,iBAAiB,CAAC,OAAO,CAAC,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAEtE,IAAI,MAAM,IAAI,CAAC,CAAC,YAAY,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC,EAAE,CAAC;QACvF,YAAY,GAAG,CAAC,GAAG,CAAC,YAAY,IAAI,EAAE,CAAC,EAAE,2BAA2B,MAAM,EAAE,CAAC,CAAC;IAChF,CAAC;IACD,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,SAAS,CAAC,EAAE,GAAG,OAAO,EAAE,GAAG,QAAQ,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC,EAAE,CAAC;AAC1F,CAAC;AAED;;;;;GAKG;AACH,SAAS,YAAY,CAAC,OAAsB,EAAE,IAAc;IAC1D,IAAI,CAAC,OAAO,CAAC,KAAK;QAAE,OAAO,SAAS,CAAC;IAErC,IAAI,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;QAChC,MAAM,EAAE,SAAS,EAAE,GAAG,kBAAkB,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,CAAC;QACxB,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,IAAI,OAAO,OAAO,CAAC,KAAK,KAAK,QAAQ,EAAE,CAAC;QACtC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;QACpE,IAAI,CAAC,IAAI,CAAC,kBAAkB,MAAM,EAAE,CAAC,CAAC;QACtC,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;IACvE,CAAC;IAED,MAAM,MAAM,GAAG,aAAa,CAAC,OAAO,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACnD,IAAI,CAAC,IAAI,CAAC,kBAAkB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;IAC7C,IAAI,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,uBAAuB,OAAO,CAAC,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3D,CAAC;IACD,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;IAC3D,MAAM,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,CAAC;IAC3D,OAAO,QAAQ,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,EAAE,QAAQ,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC;AACvE,CAAC;AAED,sEAAsE;AACtE,KAAK,UAAU,eAAe,CAC5B,OAAgB,EAChB,OAAsB,EACtB,SAAkD;IAElD,IAAI,SAAS,EAAE,CAAC;QACd,MAAM,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QAClD,MAAM,IAAI,GAAG,SAAS,CAAC;QACvB,OAAO,CAAC,OAAO,GAAG,KAAK,EAAE,GAAG,QAAwC,EAAE,EAAE;YACtE,MAAM,IAAI,GAAG,MAAM,WAAW,CAAC,GAAG,QAAQ,CAAC,CAAC;YAC5C,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;YAC9B,OAAO,IAAI,CAAC;QACd,CAAC,CAAC;IACJ,CAAC;IAED,IAAI,OAAO,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,EAAE,YAAY,EAAE,GAAG,MAAM,MAAM,CAAC,4BAA4B,CAAC,CAAC;QACpE,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAC;QAC5D,MAAM,GAAG,GAAG,aAAa,CACvB,OAAO,CAAC,WAAW,IAAI,SAAS,EAChC,OAAO,CAAC,WAAW,CACpB,CAAC;QACF,YAAY,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC;IAC7B,CAAC;AACH,CAAC;AAED;;;;;;;;;;;;;GAaG;AACH,MAAM,CAAC,KAAK,UAAU,MAAM,CAAC,UAAyB,EAAE;IACtD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACjD,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE9C,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;QAC7C,GAAG,OAAO,CAAC,aAAa;QACxB,cAAc,EAAE,UAAU;QAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;QAClC,IAAI;QACJ,iBAAiB,EAAE,mBAAmB;KACvC,CAAC,CAAC;IAEH,MAAM,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACnD,OAAO,OAAO,CAAC;AACjB,CAAC;AAED;;;;;;;;;;;;;;;;;GAiBG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,OAAgD;IAEhD,MAAM,SAAS,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,CAAC;IACjD,MAAM,EAAE,UAAU,EAAE,IAAI,EAAE,GAAG,MAAM,WAAW,CAAC,OAAO,CAAC,CAAC;IACxD,MAAM,SAAS,GAAG,YAAY,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;IAE9C,MAAM,OAAO,GAAG,MAAM,SAAS,CAAC,OAAO,CAAC,MAAM,CAAC;QAC7C,GAAG,OAAO,CAAC,aAAa;QACxB,cAAc,EAAE,UAAU;QAC1B,QAAQ,EAAE,OAAO,CAAC,QAAQ,IAAI,IAAI;QAClC,IAAI;QACJ,iBAAiB,EAAE,mBAAmB;QACtC,WAAW,EAAE,OAAO,CAAC,WAAW;KACjC,CAAC,CAAC;IAEH,MAAM,eAAe,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,CAAC,CAAC;IACnD,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -20,6 +20,8 @@ export interface LaunchOptions {
|
|
|
20
20
|
};
|
|
21
21
|
/** Additional Chromium CLI arguments. */
|
|
22
22
|
args?: string[];
|
|
23
|
+
/** Chrome extension paths to load. */
|
|
24
|
+
extensionPaths?: string[];
|
|
23
25
|
/** Include default stealth fingerprint args (default: true). Set false to use custom --fingerprint flags. */
|
|
24
26
|
stealthArgs?: boolean;
|
|
25
27
|
/** IANA timezone, e.g. "America/New_York". Sets --fingerprint-timezone binary flag. */
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAElE,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3F,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,6GAA6G;IAC7G,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qDAAqD;IACrD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,qDAAqD;IACrD,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACpD,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,eAAe,CAAC;IACjD;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAED,MAAM,WAAW,8BAA+B,SAAQ,oBAAoB;IAC1E,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB"}
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,iBAAiB,CAAC;AAC7D,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAElE,MAAM,WAAW,aAAa;IAC5B,4CAA4C;IAC5C,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB;;;;;OAKG;IACH,KAAK,CAAC,EAAE,MAAM,GAAG;QAAE,MAAM,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAC3F,yCAAyC;IACzC,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,sCAAsC;IACtC,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,6GAA6G;IAC7G,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,uFAAuF;IACvF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kFAAkF;IAClF,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,oEAAoE;IACpE,aAAa,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACxC,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,qDAAqD;IACrD,WAAW,CAAC,EAAE,WAAW,CAAC;IAC1B,qDAAqD;IACrD,WAAW,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;CACpC;AAED,MAAM,WAAW,oBAAqB,SAAQ,aAAa;IACzD,gCAAgC;IAChC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB;IACrB,QAAQ,CAAC,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI,CAAC;IACpD,oCAAoC;IACpC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,0DAA0D;IAC1D,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,qEAAqE;IACrE,WAAW,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,eAAe,CAAC;IACjD;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,qBAAqB,CAAC;CACxC;AAED,MAAM,WAAW,8BAA+B,SAAQ,oBAAoB;IAC1E,0DAA0D;IAC1D,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,UAAU;IACzB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;CACrB"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "cloakbrowser",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.29",
|
|
4
4
|
"description": "Stealth Chromium that passes every bot detection test. Drop-in Playwright/Puppeteer replacement with source-level fingerprint patches.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -59,7 +59,7 @@
|
|
|
59
59
|
},
|
|
60
60
|
"peerDependencies": {
|
|
61
61
|
"mmdb-lib": ">=2.0.0",
|
|
62
|
-
"playwright-core": ">=1.
|
|
62
|
+
"playwright-core": ">=1.53.0",
|
|
63
63
|
"puppeteer-core": ">=21.0.0",
|
|
64
64
|
"socks-proxy-agent": ">=10.0.0"
|
|
65
65
|
},
|
|
@@ -84,7 +84,7 @@
|
|
|
84
84
|
"@types/node": "^20.10.0",
|
|
85
85
|
"mmdb-lib": "^3.0.2",
|
|
86
86
|
"socks-proxy-agent": "^10.0.0",
|
|
87
|
-
"playwright-core": "^1.
|
|
87
|
+
"playwright-core": "^1.53.0",
|
|
88
88
|
"puppeteer-core": "^21.0.0",
|
|
89
89
|
"typescript": "^5.3.0",
|
|
90
90
|
"vitest": "^1.0.0"
|