cloakbrowser 0.3.19 → 0.3.20

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
@@ -11,7 +11,7 @@
11
11
 
12
12
  Drop-in Playwright/Puppeteer replacement. Same API, same code — just swap the import. **3 lines of code, 30 seconds to unblock.**
13
13
 
14
- - **33 source-level C++ patches** — canvas, WebGL, audio, fonts, GPU, screen, automation signals
14
+ - **48 source-level C++ patches** — canvas, WebGL, audio, fonts, GPU, screen, WebRTC, network timing, automation signals
15
15
  - **0.9 reCAPTCHA v3 score** — human-level, server-verified
16
16
  - **Passes Cloudflare Turnstile**, FingerprintJS, BrowserScan — tested against 30+ detection sites
17
17
  - **`npm install cloakbrowser`** — binary auto-downloads, auto-updates, zero config
package/dist/config.d.ts CHANGED
@@ -4,7 +4,7 @@
4
4
  */
5
5
  declare let WRAPPER_VERSION: string;
6
6
  export { WRAPPER_VERSION };
7
- export declare const CHROMIUM_VERSION = "145.0.7632.159.8";
7
+ export declare const CHROMIUM_VERSION = "145.0.7632.159.9";
8
8
  export declare const PLATFORM_CHROMIUM_VERSIONS: Record<string, string>;
9
9
  export declare function getChromiumVersion(): string;
10
10
  export declare function getPlatformTag(): string;
package/dist/config.js CHANGED
@@ -25,9 +25,9 @@ export { WRAPPER_VERSION };
25
25
  // CHROMIUM_VERSION is the latest across all platforms (for display/reference).
26
26
  // Use getChromiumVersion() for the current platform's actual version.
27
27
  // ---------------------------------------------------------------------------
28
- export const CHROMIUM_VERSION = "145.0.7632.159.8";
28
+ export const CHROMIUM_VERSION = "145.0.7632.159.9";
29
29
  export const PLATFORM_CHROMIUM_VERSIONS = {
30
- "linux-x64": "145.0.7632.159.8",
30
+ "linux-x64": "145.0.7632.159.9",
31
31
  "linux-arm64": "145.0.7632.159.7",
32
32
  "darwin-arm64": "145.0.7632.109.2",
33
33
  "darwin-x64": "145.0.7632.109.2",
package/dist/geoip.d.ts CHANGED
@@ -13,6 +13,7 @@ export declare const COUNTRY_LOCALE_MAP: Record<string, string>;
13
13
  export interface GeoResult {
14
14
  timezone: string | null;
15
15
  locale: string | null;
16
+ exitIp: string | null;
16
17
  }
17
18
  /**
18
19
  * Resolve timezone and locale from a proxy's IP address.
@@ -24,10 +25,16 @@ export declare function resolveProxyGeo(proxyUrl: string): Promise<GeoResult>;
24
25
  export declare function resolveProxyIp(proxyUrl: string): Promise<string | null>;
25
26
  /**
26
27
  * Auto-fill timezone/locale from proxy IP when geoip is enabled.
27
- * Shared by the Playwright and Puppeteer wrappers.
28
+ * Also returns exitIp as a free bonus (reused for WebRTC spoofing).
28
29
  */
29
30
  export declare function maybeResolveGeoip(options: LaunchOptions): Promise<{
30
31
  timezone?: string;
31
32
  locale?: string;
33
+ exitIp?: string;
32
34
  }>;
35
+ /**
36
+ * Replace --fingerprint-webrtc-ip=auto with the resolved proxy exit IP.
37
+ * Returns args unchanged if no ``auto`` value is present.
38
+ */
39
+ export declare function resolveWebrtcArgs(options: LaunchOptions): Promise<string[] | undefined>;
33
40
  //# sourceMappingURL=geoip.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"geoip.d.ts","sourceRoot":"","sources":["../src/geoip.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAShD,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAerD,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,SAAS,CAAC,CA+BpB;AAMD,sCAAsC;AACtC,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAexB;AA2JD;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAYjD"}
1
+ {"version":3,"file":"geoip.d.ts","sourceRoot":"","sources":["../src/geoip.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAQH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAShD,uEAAuE;AACvE,eAAO,MAAM,kBAAkB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAerD,CAAC;AAEF,MAAM,WAAW,SAAS;IACxB,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;CACvB;AAED;;;;GAIG;AACH,wBAAsB,eAAe,CACnC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,SAAS,CAAC,CA+BpB;AAMD,sCAAsC;AACtC,wBAAsB,cAAc,CAClC,QAAQ,EAAE,MAAM,GACf,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAexB;AA2JD;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAC;IAAC,MAAM,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC,CAoBlE;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,MAAM,EAAE,GAAG,SAAS,CAAC,CA4B/B"}
package/dist/geoip.js CHANGED
@@ -51,13 +51,13 @@ export async function resolveProxyGeo(proxyUrl) {
51
51
  }
52
52
  const dbPath = await ensureGeoipDb();
53
53
  if (!dbPath)
54
- return { timezone: null, locale: null };
54
+ return { timezone: null, locale: null, exitIp: null };
55
55
  // Exit IP (through proxy) is most accurate — gateway DNS may differ from exit
56
56
  let ip = await resolveExitIp(proxyUrl);
57
57
  if (!ip)
58
58
  ip = await resolveProxyIp(proxyUrl);
59
59
  if (!ip)
60
- return { timezone: null, locale: null };
60
+ return { timezone: null, locale: null, exitIp: null };
61
61
  try {
62
62
  const buf = fs.readFileSync(dbPath);
63
63
  const reader = new Reader(buf);
@@ -65,10 +65,10 @@ export async function resolveProxyGeo(proxyUrl) {
65
65
  const timezone = result?.location?.time_zone ?? null;
66
66
  const countryCode = result?.country?.iso_code ?? null;
67
67
  const locale = countryCode ? (COUNTRY_LOCALE_MAP[countryCode] ?? null) : null;
68
- return { timezone, locale };
68
+ return { timezone, locale, exitIp: ip };
69
69
  }
70
70
  catch {
71
- return { timezone: null, locale: null };
71
+ return { timezone: null, locale: null, exitIp: ip };
72
72
  }
73
73
  }
74
74
  // ---------------------------------------------------------------------------
@@ -233,21 +233,61 @@ function maybeTriggerUpdate(dbPath) {
233
233
  }
234
234
  /**
235
235
  * Auto-fill timezone/locale from proxy IP when geoip is enabled.
236
- * Shared by the Playwright and Puppeteer wrappers.
236
+ * Also returns exitIp as a free bonus (reused for WebRTC spoofing).
237
237
  */
238
238
  export async function maybeResolveGeoip(options) {
239
239
  if (!options.geoip || !options.proxy)
240
240
  return { timezone: options.timezone, locale: options.locale };
241
- if (options.timezone && options.locale)
242
- return { timezone: options.timezone, locale: options.locale };
243
241
  let proxyUrl = typeof options.proxy === "string" ? options.proxy : options.proxy.server;
244
242
  if (!proxyUrl)
245
243
  return { timezone: options.timezone, locale: options.locale };
246
244
  proxyUrl = ensureProxyScheme(proxyUrl);
247
- const { timezone: geoTz, locale: geoLocale } = await resolveProxyGeo(proxyUrl);
245
+ // When both tz/locale are explicit, still resolve exit IP for WebRTC
246
+ if (options.timezone && options.locale) {
247
+ const exitIp = await resolveExitIp(proxyUrl) ?? undefined;
248
+ return { timezone: options.timezone, locale: options.locale, exitIp };
249
+ }
250
+ const { timezone: geoTz, locale: geoLocale, exitIp: geoExitIp } = await resolveProxyGeo(proxyUrl);
251
+ const exitIp = geoExitIp ?? undefined;
248
252
  return {
249
253
  timezone: options.timezone ?? geoTz ?? undefined,
250
254
  locale: options.locale ?? geoLocale ?? undefined,
255
+ exitIp,
251
256
  };
252
257
  }
258
+ /**
259
+ * Replace --fingerprint-webrtc-ip=auto with the resolved proxy exit IP.
260
+ * Returns args unchanged if no ``auto`` value is present.
261
+ */
262
+ export async function resolveWebrtcArgs(options) {
263
+ const args = options.args;
264
+ if (!args)
265
+ return args;
266
+ const idx = args.findIndex(a => a === "--fingerprint-webrtc-ip=auto");
267
+ if (idx === -1)
268
+ return args;
269
+ let proxyUrl = typeof options.proxy === "string" ? options.proxy : options.proxy?.server;
270
+ if (!proxyUrl) {
271
+ const result = [...args];
272
+ result.splice(idx, 1);
273
+ return result;
274
+ }
275
+ proxyUrl = ensureProxyScheme(proxyUrl);
276
+ try {
277
+ const ip = await resolveExitIp(proxyUrl);
278
+ const result = [...args];
279
+ if (ip) {
280
+ result[idx] = `--fingerprint-webrtc-ip=${ip}`;
281
+ }
282
+ else {
283
+ result.splice(idx, 1);
284
+ }
285
+ return result;
286
+ }
287
+ catch {
288
+ const result = [...args];
289
+ result.splice(idx, 1);
290
+ return result;
291
+ }
292
+ }
253
293
  //# sourceMappingURL=geoip.js.map
package/dist/geoip.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"geoip.js","sourceRoot":"","sources":["../src/geoip.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"geoip.js","sourceRoot":"","sources":["../src/geoip.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,11 @@
4
4
  * Activated via humanize: true in launch() / launchContext().
5
5
  * Patches page methods to use Bezier mouse curves, realistic typing, and smooth scrolling.
6
6
  *
7
+ * Stealth-aware (fixes #110):
8
+ * - isInputElement / isSelectorFocused use CDP Isolated Worlds instead of page.evaluate
9
+ * - Shift symbol typing uses CDP Input.dispatchKeyEvent for isTrusted=true events
10
+ * - Falls back to page.evaluate only when CDP session is unavailable
11
+ *
7
12
  * Patches all interaction methods:
8
13
  * click, dblclick, hover, type, fill, check, uncheck, selectOption,
9
14
  * press, pressSequentially, tap, dragTo, clear + Frame-level equivalents.
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/human/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAS,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAyC,MAAM,aAAa,CAAC;AAKjF,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAK9C,cAAM,WAAW;IACf,CAAC,SAAK;IACN,CAAC,SAAK;IACN,WAAW,UAAS;CACrB;AAuBD;;GAEG;AACH,iBAAS,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CAyP1E;AAwHD,iBAAS,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAmBrE;AAOD,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAyBrE;AAED,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/human/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,IAAI,EAAqB,MAAM,iBAAiB,CAAC;AACxF,OAAO,EAAE,WAAW,EAAyC,MAAM,aAAa,CAAC;AAKjF,OAAO,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACzD,OAAO,EAAE,SAAS,EAAE,UAAU,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAC3E,OAAO,EAAE,SAAS,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AA4G9C,cAAM,WAAW;IACf,CAAC,SAAK;IACN,CAAC,SAAK;IACN,WAAW,UAAS;CACrB;AA+ED;;GAEG;AACH,iBAAS,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,WAAW,EAAE,MAAM,EAAE,WAAW,GAAG,IAAI,CA4Q1E;AA+HD,iBAAS,YAAY,CAAC,OAAO,EAAE,cAAc,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAmBrE;AAOD,wBAAgB,YAAY,CAAC,OAAO,EAAE,OAAO,EAAE,GAAG,EAAE,WAAW,GAAG,IAAI,CAyBrE;AAED,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,CAAC"}
@@ -4,6 +4,11 @@
4
4
  * Activated via humanize: true in launch() / launchContext().
5
5
  * Patches page methods to use Bezier mouse curves, realistic typing, and smooth scrolling.
6
6
  *
7
+ * Stealth-aware (fixes #110):
8
+ * - isInputElement / isSelectorFocused use CDP Isolated Worlds instead of page.evaluate
9
+ * - Shift symbol typing uses CDP Input.dispatchKeyEvent for isTrusted=true events
10
+ * - Falls back to page.evaluate only when CDP session is unavailable
11
+ *
7
12
  * Patches all interaction methods:
8
13
  * click, dblclick, hover, type, fill, check, uncheck, selectOption,
9
14
  * press, pressSequentially, tap, dragTo, clear + Frame-level equivalents.
@@ -18,12 +23,129 @@ export { humanType } from './keyboard.js';
18
23
  export { scrollToElement } from './scroll.js';
19
24
  // --- Platform-aware select-all shortcut (macOS uses Meta, others use Control) ---
20
25
  const SELECT_ALL = process.platform === 'darwin' ? 'Meta+a' : 'Control+a';
26
+ // ============================================================================
27
+ // CDP Isolated World — stealth DOM evaluation
28
+ // ============================================================================
29
+ /**
30
+ * Manages a CDP isolated execution context for DOM reads.
31
+ * Produces clean Error.stack traces (no 'eval at evaluate :302:')
32
+ * and is invisible to querySelector monkey-patches in the main world.
33
+ *
34
+ * Context ID is invalidated on navigation and auto-recreated on next call.
35
+ */
36
+ class StealthEval {
37
+ cdp = null;
38
+ contextId = null;
39
+ page;
40
+ constructor(page) {
41
+ this.page = page;
42
+ }
43
+ async ensureCdp() {
44
+ if (!this.cdp) {
45
+ this.cdp = await this.page.context().newCDPSession(this.page);
46
+ }
47
+ return this.cdp;
48
+ }
49
+ async createWorld() {
50
+ const cdp = await this.ensureCdp();
51
+ const tree = await cdp.send('Page.getFrameTree');
52
+ const frameId = tree.frameTree.frame.id;
53
+ const result = await cdp.send('Page.createIsolatedWorld', {
54
+ frameId,
55
+ worldName: '',
56
+ grantUniveralAccess: true,
57
+ });
58
+ const ctxId = result.executionContextId;
59
+ this.contextId = ctxId;
60
+ return ctxId;
61
+ }
62
+ /**
63
+ * Evaluate a JS expression in the isolated world.
64
+ * Auto-recreates the world if the context was invalidated (navigation).
65
+ * Returns the result value, or undefined on failure.
66
+ */
67
+ async evaluate(expression) {
68
+ if (this.contextId === null) {
69
+ await this.createWorld();
70
+ }
71
+ for (let attempt = 0; attempt < 2; attempt++) {
72
+ try {
73
+ const cdp = await this.ensureCdp();
74
+ const result = await cdp.send('Runtime.evaluate', {
75
+ expression,
76
+ contextId: this.contextId,
77
+ returnByValue: true,
78
+ });
79
+ if (result.exceptionDetails) {
80
+ // Context was likely invalidated by navigation
81
+ if (attempt === 0) {
82
+ await this.createWorld();
83
+ continue;
84
+ }
85
+ return undefined;
86
+ }
87
+ return result.result?.value;
88
+ }
89
+ catch {
90
+ if (attempt === 0) {
91
+ this.contextId = null;
92
+ try {
93
+ await this.createWorld();
94
+ }
95
+ catch {
96
+ return undefined;
97
+ }
98
+ continue;
99
+ }
100
+ return undefined;
101
+ }
102
+ }
103
+ return undefined;
104
+ }
105
+ /** Mark context as stale — call after navigation. */
106
+ invalidate() {
107
+ this.contextId = null;
108
+ }
109
+ /** Get the underlying CDP session (reused for Input.dispatchKeyEvent etc.). */
110
+ async getCdpSession() {
111
+ return this.ensureCdp();
112
+ }
113
+ }
114
+ // ============================================================================
115
+ // Cursor state
116
+ // ============================================================================
21
117
  class CursorState {
22
118
  x = 0;
23
119
  y = 0;
24
120
  initialized = false;
25
121
  }
26
- async function isInputElement(page, selector) {
122
+ // ============================================================================
123
+ // Stealth DOM queries — isolated world with evaluate fallback
124
+ // ============================================================================
125
+ /**
126
+ * Check if selector matches an input/textarea/contenteditable element.
127
+ * Uses CDP Isolated World when available — invisible to main world.
128
+ */
129
+ async function isInputElement(stealth, page, selector) {
130
+ if (stealth) {
131
+ try {
132
+ const escaped = JSON.stringify(selector);
133
+ const result = await stealth.evaluate(`
134
+ (() => {
135
+ const el = document.querySelector(${escaped});
136
+ if (!el) return false;
137
+ const tag = el.tagName.toLowerCase();
138
+ return tag === 'input' || tag === 'textarea'
139
+ || el.getAttribute('contenteditable') === 'true';
140
+ })()
141
+ `);
142
+ return !!result;
143
+ }
144
+ catch {
145
+ // Fall through to page.evaluate
146
+ }
147
+ }
148
+ // Fallback: page.evaluate (detectable — should only happen if CDP fails)
27
149
  return page.evaluate((sel) => {
28
150
  const el = document.querySelector(sel);
29
151
  if (!el)
@@ -33,7 +155,26 @@ async function isInputElement(page, selector) {
33
155
  || el.getAttribute('contenteditable') === 'true';
34
156
  }, selector).catch(() => false);
35
157
  }
36
- async function isSelectorFocused(page, selector) {
158
+ /**
159
+ * Check if the element matching selector is currently focused.
160
+ * Uses CDP Isolated World when available — invisible to main world.
161
+ */
162
+ async function isSelectorFocused(stealth, page, selector) {
163
+ if (stealth) {
164
+ try {
165
+ const escaped = JSON.stringify(selector);
166
+ const result = await stealth.evaluate(`
167
+ (() => {
168
+ const el = document.querySelector(${escaped});
169
+ return el === document.activeElement;
170
+ })()
171
+ `);
172
+ return !!result;
173
+ }
174
+ catch {
175
+ // Fall through to page.evaluate
176
+ }
177
+ }
37
178
  return page.evaluate((sel) => {
38
179
  const el = document.querySelector(sel);
39
180
  return el === document.activeElement;
@@ -72,6 +213,20 @@ function patchPage(page, cfg, cursor) {
72
213
  };
73
214
  page._original = originals;
74
215
  page._humanCfg = cfg;
216
+ // --- Stealth infrastructure ---
217
+ const stealth = new StealthEval(page);
218
+ page._stealth = stealth;
219
+ // CDP session for shift symbol typing (lazy-initialized, reuses stealth's session)
220
+ let cdpSession = null;
221
+ const ensureCdp = async () => {
222
+ if (!cdpSession) {
223
+ try {
224
+ cdpSession = await stealth.getCdpSession();
225
+ }
226
+ catch { }
227
+ }
228
+ return cdpSession;
229
+ };
75
230
  const raw = {
76
231
  move: originals.mouseMove,
77
232
  down: originals.mouseDown,
@@ -92,11 +247,11 @@ function patchPage(page, cfg, cursor) {
92
247
  cursor.initialized = true;
93
248
  }
94
249
  }
95
- // --- goto ---
250
+ // --- goto (invalidate isolated world on navigation) ---
96
251
  const humanGoto = async (url, options) => {
97
252
  const response = await originals.goto(url, options);
98
- // Patch any new frames after navigation
99
- patchFrames(page, cfg, cursor, raw, rawKb, originals);
253
+ stealth.invalidate();
254
+ patchFrames(page, cfg, cursor, raw, rawKb, originals, stealth);
100
255
  return response;
101
256
  };
102
257
  // --- click ---
@@ -108,7 +263,7 @@ function patchPage(page, cfg, cursor) {
108
263
  const { box, cursorX, cursorY } = await scrollToElement(page, raw, selector, cursor.x, cursor.y, cfg);
109
264
  cursor.x = cursorX;
110
265
  cursor.y = cursorY;
111
- const isInput = await isInputElement(page, selector);
266
+ const isInput = await isInputElement(stealth, page, selector);
112
267
  const target = clickTarget(box, isInput, cfg);
113
268
  await humanMove(raw, cursor.x, cursor.y, target.x, target.y, cfg);
114
269
  cursor.x = target.x;
@@ -124,7 +279,7 @@ function patchPage(page, cfg, cursor) {
124
279
  const { box, cursorX, cursorY } = await scrollToElement(page, raw, selector, cursor.x, cursor.y, cfg);
125
280
  cursor.x = cursorX;
126
281
  cursor.y = cursorY;
127
- const isInput = await isInputElement(page, selector);
282
+ const isInput = await isInputElement(stealth, page, selector);
128
283
  const target = clickTarget(box, isInput, cfg);
129
284
  await humanMove(raw, cursor.x, cursor.y, target.x, target.y, cfg);
130
285
  cursor.x = target.x;
@@ -152,7 +307,8 @@ function patchPage(page, cfg, cursor) {
152
307
  await sleep(randRange(cfg.field_switch_delay));
153
308
  await humanClickFn(selector);
154
309
  await sleep(rand(100, 250));
155
- await humanType(page, rawKb, text, cfg);
310
+ const cdp = await ensureCdp();
311
+ await humanType(page, rawKb, text, cfg, cdp);
156
312
  };
157
313
  // --- fill (clears existing content first) ---
158
314
  const humanFillFn = async (selector, value, options) => {
@@ -163,11 +319,12 @@ function patchPage(page, cfg, cursor) {
163
319
  await sleep(rand(30, 80));
164
320
  await originals.keyboardPress('Backspace');
165
321
  await sleep(rand(50, 150));
166
- await humanType(page, rawKb, value, cfg);
322
+ const cdp = await ensureCdp();
323
+ await humanType(page, rawKb, value, cfg, cdp);
167
324
  };
168
325
  // --- clear ---
169
326
  const humanClearFn = async (selector, options) => {
170
- if (!await isSelectorFocused(page, selector)) {
327
+ if (!await isSelectorFocused(stealth, page, selector)) {
171
328
  await humanClickFn(selector);
172
329
  }
173
330
  await sleep(rand(50, 150));
@@ -203,7 +360,7 @@ function patchPage(page, cfg, cursor) {
203
360
  };
204
361
  // --- press (checks focus first — avoids redundant mouse moves) ---
205
362
  const humanPressFn = async (selector, key, options) => {
206
- if (!await isSelectorFocused(page, selector)) {
363
+ if (!await isSelectorFocused(stealth, page, selector)) {
207
364
  await humanClickFn(selector);
208
365
  }
209
366
  await sleep(rand(50, 150));
@@ -211,11 +368,12 @@ function patchPage(page, cfg, cursor) {
211
368
  };
212
369
  // --- pressSequentially ---
213
370
  const humanPressSequentiallyFn = async (selector, text, options) => {
214
- if (!await isSelectorFocused(page, selector)) {
371
+ if (!await isSelectorFocused(stealth, page, selector)) {
215
372
  await humanClickFn(selector);
216
373
  }
217
374
  await sleep(rand(100, 250));
218
- await humanType(page, rawKb, text, cfg);
375
+ const cdp = await ensureCdp();
376
+ await humanType(page, rawKb, text, cfg, cdp);
219
377
  };
220
378
  // --- tap ---
221
379
  const humanTapFn = async (selector, options) => {
@@ -248,7 +406,8 @@ function patchPage(page, cfg, cursor) {
248
406
  };
249
407
  // --- keyboard patches ---
250
408
  page.keyboard.type = async (text, options) => {
251
- await humanType(page, rawKb, text, cfg);
409
+ const cdp = await ensureCdp();
410
+ await humanType(page, rawKb, text, cfg, cdp);
252
411
  };
253
412
  // Store helpers for frame patching
254
413
  page._humanCursor = cursor;
@@ -269,7 +428,7 @@ function patchPage(page, cfg, cursor) {
269
428
  cursor.initialized = true;
270
429
  }).catch(() => { });
271
430
  // --- Patch Frame-level methods (for sub-frames) ---
272
- patchFrames(page, cfg, cursor, raw, rawKb, originals);
431
+ patchFrames(page, cfg, cursor, raw, rawKb, originals, stealth);
273
432
  }
274
433
  // ============================================================================
275
434
  // Frame-level patching
@@ -279,12 +438,12 @@ function patchPage(page, cfg, cursor) {
279
438
  * All 11 methods patched: click, dblclick, hover, type, fill, check, uncheck,
280
439
  * selectOption, press, clear, dragAndDrop.
281
440
  */
282
- function patchFrames(page, cfg, cursor, raw, rawKb, originals) {
441
+ function patchFrames(page, cfg, cursor, raw, rawKb, originals, stealth) {
283
442
  for (const frame of iterFrames(page)) {
284
- patchSingleFrame(frame, page, cfg, originals);
443
+ patchSingleFrame(frame, page, cfg, originals, stealth);
285
444
  }
286
445
  }
287
- function patchSingleFrame(frame, page, cfg, originals) {
446
+ function patchSingleFrame(frame, page, cfg, originals, stealth) {
288
447
  if (frame._humanPatched)
289
448
  return;
290
449
  frame._humanPatched = true;
@@ -321,7 +480,7 @@ function patchSingleFrame(frame, page, cfg, originals) {
321
480
  await page.press(selector, key, options);
322
481
  };
323
482
  frame.clear = async (selector, options) => {
324
- if (!await isSelectorFocused(page, selector)) {
483
+ if (!await isSelectorFocused(stealth, page, selector)) {
325
484
  await page.click(selector);
326
485
  }
327
486
  await sleep(rand(50, 150));
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/human/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/human/index.ts"],"names":[],"mappings":"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"}
@@ -1,8 +1,20 @@
1
1
  /**
2
2
  * cloakbrowser-human — Human-like keyboard input.
3
+ *
4
+ * Stealth-aware: when a CDPSession is provided, shift symbols are typed
5
+ * via CDP Input.dispatchKeyEvent (isTrusted=true, no evaluate stack trace).
6
+ * Falls back to page.evaluate when no CDPSession is available.
3
7
  */
4
- import type { Page } from 'playwright-core';
8
+ import type { Page, CDPSession } from 'playwright-core';
5
9
  import { RawKeyboard } from './mouse.js';
6
10
  import { HumanConfig } from './config.js';
7
- export declare function humanType(page: Page, raw: RawKeyboard, text: string, cfg: HumanConfig): Promise<void>;
11
+ /**
12
+ * Type text with human-like per-character timing, mistype simulation,
13
+ * and realistic shift handling.
14
+ *
15
+ * @param cdpSession - If provided, shift symbols use CDP Input.dispatchKeyEvent
16
+ * producing isTrusted=true events with no evaluate stack trace.
17
+ * If null/undefined, falls back to page.evaluate (detectable).
18
+ */
19
+ export declare function humanType(page: Page, raw: RawKeyboard, text: string, cfg: HumanConfig, cdpSession?: CDPSession | null): Promise<void>;
8
20
  //# sourceMappingURL=keyboard.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../../src/human/keyboard.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAA0B,MAAM,aAAa,CAAC;AAiClE,wBAAsB,SAAS,CAC7B,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,WAAW,GACf,OAAO,CAAC,IAAI,CAAC,CAuCf"}
1
+ {"version":3,"file":"keyboard.d.ts","sourceRoot":"","sources":["../../src/human/keyboard.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AACzC,OAAO,EAAE,WAAW,EAA0B,MAAM,aAAa,CAAC;AA8DlE;;;;;;;GAOG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,WAAW,EAChB,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,WAAW,EAChB,UAAU,CAAC,EAAE,UAAU,GAAG,IAAI,GAC7B,OAAO,CAAC,IAAI,CAAC,CAuCf"}
@@ -1,5 +1,9 @@
1
1
  /**
2
2
  * cloakbrowser-human — Human-like keyboard input.
3
+ *
4
+ * Stealth-aware: when a CDPSession is provided, shift symbols are typed
5
+ * via CDP Input.dispatchKeyEvent (isTrusted=true, no evaluate stack trace).
6
+ * Falls back to page.evaluate when no CDPSession is available.
3
7
  */
4
8
  import { randRange, sleep } from './config.js';
5
9
  const SHIFT_SYMBOLS = new Set([
@@ -16,6 +20,29 @@ const NEARBY_KEYS = {
16
20
  '1': '2q', '2': '13qw', '3': '24we', '4': '35er', '5': '46rt',
17
21
  '6': '57ty', '7': '68yu', '8': '79ui', '9': '80io', '0': '9p',
18
22
  };
23
+ /**
24
+ * CDP key code for each shift symbol's physical key.
25
+ * Used by Input.dispatchKeyEvent to produce isTrusted=true events.
26
+ */
27
+ const SHIFT_SYMBOL_CODES = {
28
+ '!': 'Digit1', '@': 'Digit2', '#': 'Digit3', '$': 'Digit4',
29
+ '%': 'Digit5', '^': 'Digit6', '&': 'Digit7', '*': 'Digit8',
30
+ '(': 'Digit9', ')': 'Digit0', '_': 'Minus', '+': 'Equal',
31
+ '{': 'BracketLeft', '}': 'BracketRight', '|': 'Backslash',
32
+ ':': 'Semicolon', '"': 'Quote', '<': 'Comma', '>': 'Period',
33
+ '?': 'Slash', '~': 'Backquote',
34
+ };
35
+ /**
36
+ * Windows virtual key codes for shift symbols.
37
+ * Input.dispatchKeyEvent uses these to match real keyboard behavior.
38
+ */
39
+ const SHIFT_SYMBOL_KEYCODES = {
40
+ '!': 49, '@': 50, '#': 51, '$': 52, '%': 53,
41
+ '^': 54, '&': 55, '*': 56, '(': 57, ')': 48,
42
+ '_': 189, '+': 187, '{': 219, '}': 221, '|': 220,
43
+ ':': 186, '"': 222, '<': 188, '>': 190, '?': 191,
44
+ '~': 192,
45
+ };
19
46
  function isAscii(ch) {
20
47
  const code = ch.codePointAt(0);
21
48
  return code !== undefined && code < 128;
@@ -29,7 +56,18 @@ function getNearbyKey(ch) {
29
56
  }
30
57
  return ch;
31
58
  }
32
- export async function humanType(page, raw, text, cfg) {
59
+ function isUpperCase(ch) {
60
+ return ch.length === 1 && ch >= 'A' && ch <= 'Z';
61
+ }
62
+ /**
63
+ * Type text with human-like per-character timing, mistype simulation,
64
+ * and realistic shift handling.
65
+ *
66
+ * @param cdpSession - If provided, shift symbols use CDP Input.dispatchKeyEvent
67
+ * producing isTrusted=true events with no evaluate stack trace.
68
+ * If null/undefined, falls back to page.evaluate (detectable).
69
+ */
70
+ export async function humanType(page, raw, text, cfg, cdpSession) {
33
71
  const chars = [...text]; // Handle emoji surrogate pairs correctly
34
72
  for (let i = 0; i < chars.length; i++) {
35
73
  const ch = chars[i];
@@ -56,7 +94,7 @@ export async function humanType(page, raw, text, cfg) {
56
94
  await typeShiftedChar(raw, ch, cfg);
57
95
  }
58
96
  else if (SHIFT_SYMBOLS.has(ch)) {
59
- await typeShiftSymbol(page, raw, ch, cfg);
97
+ await typeShiftSymbol(page, raw, ch, cfg, cdpSession);
60
98
  }
61
99
  else {
62
100
  await typeNormalChar(raw, ch, cfg);
@@ -80,22 +118,58 @@ async function typeShiftedChar(raw, ch, cfg) {
80
118
  await sleep(randRange(cfg.shift_up_delay));
81
119
  await raw.up('Shift');
82
120
  }
83
- async function typeShiftSymbol(page, raw, ch, cfg) {
84
- await raw.down('Shift');
85
- await sleep(randRange(cfg.shift_down_delay));
86
- await raw.insertText(ch);
87
- await page.evaluate((key) => {
88
- const el = document.activeElement;
89
- if (el) {
90
- el.dispatchEvent(new KeyboardEvent('keydown', { key, bubbles: true }));
91
- el.dispatchEvent(new KeyboardEvent('keyup', { key, bubbles: true }));
92
- }
93
- }, ch);
94
- await sleep(randRange(cfg.shift_up_delay));
95
- await raw.up('Shift');
96
- }
97
- function isUpperCase(ch) {
98
- return ch.length === 1 && ch >= 'A' && ch <= 'Z';
121
+ /**
122
+ * Type a shift symbol character.
123
+ *
124
+ * Stealth path (cdpSession provided):
125
+ * Uses CDP Input.dispatchKeyEvent isTrusted=true, clean stack.
126
+ *
127
+ * Fallback path (no cdpSession):
128
+ * Uses raw.insertText + page.evaluate to dispatch synthetic KeyboardEvent.
129
+ * Detectable via isTrusted=false and evaluate stack frame.
130
+ */
131
+ async function typeShiftSymbol(page, raw, ch, cfg, cdpSession) {
132
+ if (cdpSession) {
133
+ // --- Stealth path: CDP Input.dispatchKeyEvent ---
134
+ const code = SHIFT_SYMBOL_CODES[ch] || '';
135
+ const keyCode = SHIFT_SYMBOL_KEYCODES[ch] || 0;
136
+ await raw.down('Shift');
137
+ await sleep(randRange(cfg.shift_down_delay));
138
+ await cdpSession.send('Input.dispatchKeyEvent', {
139
+ type: 'keyDown',
140
+ modifiers: 8, // Shift modifier flag
141
+ key: ch,
142
+ code,
143
+ windowsVirtualKeyCode: keyCode,
144
+ text: ch,
145
+ unmodifiedText: ch,
146
+ });
147
+ await sleep(randRange(cfg.key_hold));
148
+ await cdpSession.send('Input.dispatchKeyEvent', {
149
+ type: 'keyUp',
150
+ modifiers: 8,
151
+ key: ch,
152
+ code,
153
+ windowsVirtualKeyCode: keyCode,
154
+ });
155
+ await sleep(randRange(cfg.shift_up_delay));
156
+ await raw.up('Shift');
157
+ }
158
+ else {
159
+ // --- Fallback path: page.evaluate (detectable) ---
160
+ await raw.down('Shift');
161
+ await sleep(randRange(cfg.shift_down_delay));
162
+ await raw.insertText(ch);
163
+ await page.evaluate((key) => {
164
+ const el = document.activeElement;
165
+ if (el) {
166
+ el.dispatchEvent(new KeyboardEvent('keydown', { key, bubbles: true }));
167
+ el.dispatchEvent(new KeyboardEvent('keyup', { key, bubbles: true }));
168
+ }
169
+ }, ch);
170
+ await sleep(randRange(cfg.shift_up_delay));
171
+ await raw.up('Shift');
172
+ }
99
173
  }
100
174
  async function interCharDelay(cfg) {
101
175
  if (Math.random() < cfg.typing_pause_chance) {
@@ -1 +1 @@
1
- {"version":3,"file":"keyboard.js","sourceRoot":"","sources":["../../src/human/keyboard.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"keyboard.js","sourceRoot":"","sources":["../../src/human/keyboard.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"playwright.d.ts","sourceRoot":"","sources":["../src/playwright.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAOtG,sGAAsG;AACtG,wBAAgB,eAAe,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAOnG;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CA8B1E;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,aAAa,CACjC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,cAAc,CAAC,CAwCzB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,cAAc,CAAC,CAoCzB;AAMD,6CAA6C;AAC7C,OAAO,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,WAAW,CAAC"}
1
+ {"version":3,"file":"playwright.d.ts","sourceRoot":"","sources":["../src/playwright.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;AAC/D,OAAO,KAAK,EAAE,aAAa,EAAE,oBAAoB,EAAE,8BAA8B,EAAE,MAAM,YAAY,CAAC;AAOtG,sGAAsG;AACtG,wBAAgB,eAAe,CAAC,CAAC,SAAS;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,EAAE,OAAO,EAAE,CAAC,GAAG,CAAC,CAOnG;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAkC1E;AAED;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,aAAa,CACjC,OAAO,GAAE,oBAAyB,GACjC,OAAO,CAAC,cAAc,CAAC,CA6CzB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAsB,uBAAuB,CAC3C,OAAO,EAAE,8BAA8B,GACtC,OAAO,CAAC,cAAc,CAAC,CAwCzB;AAMD,6CAA6C;AAC7C,OAAO,EAAE,SAAS,IAAI,iBAAiB,EAAE,MAAM,WAAW,CAAC"}
@@ -6,7 +6,7 @@ import { DEFAULT_VIEWPORT, IGNORE_DEFAULT_ARGS } from "./config.js";
6
6
  import { buildArgs } from "./args.js";
7
7
  import { ensureBinary } from "./download.js";
8
8
  import { parseProxyUrl } from "./proxy.js";
9
- import { maybeResolveGeoip } from "./geoip.js";
9
+ import { maybeResolveGeoip, resolveWebrtcArgs } from "./geoip.js";
10
10
  /** @internal Accept both timezone and timezoneId — either works, no warning. Exported for testing. */
11
11
  export function resolveTimezone(options) {
12
12
  if (options.timezoneId != null) {
@@ -32,8 +32,12 @@ export function resolveTimezone(options) {
32
32
  export async function launch(options = {}) {
33
33
  const { chromium } = await import("playwright-core");
34
34
  const binaryPath = process.env.CLOAKBROWSER_BINARY_PATH || (await ensureBinary());
35
- const resolved = await maybeResolveGeoip(options);
36
- const args = buildArgs({ ...options, ...resolved });
35
+ const { exitIp, ...resolved } = await maybeResolveGeoip(options);
36
+ let resolvedArgs = await resolveWebrtcArgs(options);
37
+ if (exitIp && !(resolvedArgs ?? []).some(a => a.startsWith("--fingerprint-webrtc-ip"))) {
38
+ resolvedArgs = [...(resolvedArgs ?? []), `--fingerprint-webrtc-ip=${exitIp}`];
39
+ }
40
+ const args = buildArgs({ ...options, ...resolved, args: resolvedArgs });
37
41
  const browser = await chromium.launch({
38
42
  executablePath: binaryPath,
39
43
  headless: options.headless ?? true,
@@ -72,11 +76,16 @@ export async function launch(options = {}) {
72
76
  export async function launchContext(options = {}) {
73
77
  options = resolveTimezone(options);
74
78
  // Resolve geoip BEFORE launch() to avoid double-resolution
75
- const resolved = await maybeResolveGeoip(options);
79
+ const { exitIp, ...resolved } = await maybeResolveGeoip(options);
80
+ let launchArgs = await resolveWebrtcArgs(options);
81
+ // Inject geoip exit IP for WebRTC spoofing (free — no extra HTTP call)
82
+ if (exitIp && !(launchArgs ?? []).some(a => a.startsWith("--fingerprint-webrtc-ip"))) {
83
+ launchArgs = [...(launchArgs ?? []), `--fingerprint-webrtc-ip=${exitIp}`];
84
+ }
76
85
  // --fingerprint-timezone is process-wide (reads CommandLine in renderer),
77
86
  // so it applies to ALL contexts, not just the default one.
78
87
  // locale and timezone are set via binary flags only — no CDP emulation.
79
- const browser = await launch({ ...options, ...resolved, geoip: false });
88
+ const browser = await launch({ ...options, ...resolved, args: launchArgs, geoip: false });
80
89
  let context;
81
90
  try {
82
91
  context = await browser.newContext({
@@ -129,8 +138,12 @@ export async function launchPersistentContext(options) {
129
138
  options = resolveTimezone(options);
130
139
  const { chromium } = await import("playwright-core");
131
140
  const binaryPath = process.env.CLOAKBROWSER_BINARY_PATH || (await ensureBinary());
132
- const resolved = await maybeResolveGeoip(options);
133
- const args = buildArgs({ ...options, ...resolved });
141
+ const { exitIp, ...resolved } = await maybeResolveGeoip(options);
142
+ let resolvedArgs = await resolveWebrtcArgs(options);
143
+ if (exitIp && !(resolvedArgs ?? []).some(a => a.startsWith("--fingerprint-webrtc-ip"))) {
144
+ resolvedArgs = [...(resolvedArgs ?? []), `--fingerprint-webrtc-ip=${exitIp}`];
145
+ }
146
+ const args = buildArgs({ ...options, ...resolved, args: resolvedArgs });
134
147
  // locale and timezone are set via binary flags (--lang, --fingerprint-timezone)
135
148
  // — NOT via Playwright context kwargs which use detectable CDP emulation.
136
149
  const context = await chromium.launchPersistentContext(options.userDataDir, {
@@ -1 +1 @@
1
- {"version":3,"file":"playwright.js","sourceRoot":"","sources":["../src/playwright.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"playwright.js","sourceRoot":"","sources":["../src/playwright.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"puppeteer.d.ts","sourceRoot":"","sources":["../src/puppeteer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAOhD;;;;;;;;;;;;GAYG;AACH,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CAuD1E"}
1
+ {"version":3,"file":"puppeteer.d.ts","sourceRoot":"","sources":["../src/puppeteer.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,gBAAgB,CAAC;AAC9C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAOhD;;;;;;;;;;;;GAYG;AACH,wBAAsB,MAAM,CAAC,OAAO,GAAE,aAAkB,GAAG,OAAO,CAAC,OAAO,CAAC,CA2D1E"}
package/dist/puppeteer.js CHANGED
@@ -6,7 +6,7 @@ import { IGNORE_DEFAULT_ARGS } from "./config.js";
6
6
  import { buildArgs } from "./args.js";
7
7
  import { ensureBinary } from "./download.js";
8
8
  import { parseProxyUrl } from "./proxy.js";
9
- import { maybeResolveGeoip } from "./geoip.js";
9
+ import { maybeResolveGeoip, resolveWebrtcArgs } from "./geoip.js";
10
10
  /**
11
11
  * Launch stealth Chromium browser via Puppeteer.
12
12
  *
@@ -23,8 +23,12 @@ import { maybeResolveGeoip } from "./geoip.js";
23
23
  export async function launch(options = {}) {
24
24
  const puppeteer = await import("puppeteer-core");
25
25
  const binaryPath = process.env.CLOAKBROWSER_BINARY_PATH || (await ensureBinary());
26
- const resolved = await maybeResolveGeoip(options);
27
- const args = buildArgs({ ...options, ...resolved });
26
+ const { exitIp, ...resolved } = (await maybeResolveGeoip(options)) ?? {};
27
+ let resolvedArgs = (await resolveWebrtcArgs(options)) ?? options.args;
28
+ if (exitIp && !(resolvedArgs ?? []).some(a => a.startsWith("--fingerprint-webrtc-ip"))) {
29
+ resolvedArgs = [...(resolvedArgs ?? []), `--fingerprint-webrtc-ip=${exitIp}`];
30
+ }
31
+ const args = buildArgs({ ...options, ...resolved, args: resolvedArgs });
28
32
  // Puppeteer handles proxy via CLI args, not a separate option.
29
33
  // Chromium's --proxy-server does NOT support inline credentials,
30
34
  // so we strip them and use page.authenticate() instead.
@@ -1 +1 @@
1
- {"version":3,"file":"puppeteer.js","sourceRoot":"","sources":["../src/puppeteer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"puppeteer.js","sourceRoot":"","sources":["../src/puppeteer.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "cloakbrowser",
3
- "version": "0.3.19",
3
+ "version": "0.3.20",
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",