jumpy-lion 0.1.5 → 0.1.6-beta.1

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.
Files changed (88) hide show
  1. package/README.md +13 -0
  2. package/dist/browser-controller.d.ts.map +1 -1
  3. package/dist/browser-controller.js +52 -2
  4. package/dist/browser-controller.js.map +1 -1
  5. package/dist/browser-plugin.d.ts +31 -0
  6. package/dist/browser-plugin.d.ts.map +1 -1
  7. package/dist/browser-plugin.js +76 -1
  8. package/dist/browser-plugin.js.map +1 -1
  9. package/dist/browser-process/anti-detect-browser.d.ts +56 -0
  10. package/dist/browser-process/anti-detect-browser.d.ts.map +1 -0
  11. package/dist/browser-process/anti-detect-browser.js +134 -0
  12. package/dist/browser-process/anti-detect-browser.js.map +1 -0
  13. package/dist/browser-process/anti-detect-config.d.ts +84 -0
  14. package/dist/browser-process/anti-detect-config.d.ts.map +1 -0
  15. package/dist/browser-process/anti-detect-config.js +178 -0
  16. package/dist/browser-process/anti-detect-config.js.map +1 -0
  17. package/dist/browser-process/browser.d.ts +19 -0
  18. package/dist/browser-process/browser.d.ts.map +1 -1
  19. package/dist/browser-process/browser.js +83 -4
  20. package/dist/browser-process/browser.js.map +1 -1
  21. package/dist/browser-process/get-chrome-executable.d.ts +7 -0
  22. package/dist/browser-process/get-chrome-executable.d.ts.map +1 -1
  23. package/dist/browser-process/get-chrome-executable.js +42 -0
  24. package/dist/browser-process/get-chrome-executable.js.map +1 -1
  25. package/dist/browser-process/index.d.ts +4 -1
  26. package/dist/browser-process/index.d.ts.map +1 -1
  27. package/dist/browser-process/index.js +3 -1
  28. package/dist/browser-process/index.js.map +1 -1
  29. package/dist/crawler.d.ts +2 -0
  30. package/dist/crawler.d.ts.map +1 -1
  31. package/dist/crawler.js +5 -2
  32. package/dist/crawler.js.map +1 -1
  33. package/dist/fingerprinting/fingerprint-injector.d.ts +39 -0
  34. package/dist/fingerprinting/fingerprint-injector.d.ts.map +1 -1
  35. package/dist/fingerprinting/fingerprint-injector.js +141 -50
  36. package/dist/fingerprinting/fingerprint-injector.js.map +1 -1
  37. package/dist/fingerprinting/fingerprint-overrides/audio-spoofing.d.ts.map +1 -1
  38. package/dist/fingerprinting/fingerprint-overrides/audio-spoofing.js +16 -0
  39. package/dist/fingerprinting/fingerprint-overrides/audio-spoofing.js.map +1 -1
  40. package/dist/fingerprinting/fingerprint-overrides/cdp-detection-bypass.d.ts.map +1 -1
  41. package/dist/fingerprinting/fingerprint-overrides/cdp-detection-bypass.js +3 -2
  42. package/dist/fingerprinting/fingerprint-overrides/cdp-detection-bypass.js.map +1 -1
  43. package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.d.ts.map +1 -1
  44. package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.js +18 -10
  45. package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.js.map +1 -1
  46. package/dist/fingerprinting/fingerprint-overrides/index.d.ts +1 -1
  47. package/dist/fingerprinting/fingerprint-overrides/index.d.ts.map +1 -1
  48. package/dist/fingerprinting/fingerprint-overrides/index.js +1 -1
  49. package/dist/fingerprinting/fingerprint-overrides/index.js.map +1 -1
  50. package/dist/fingerprinting/fingerprint-overrides/locale-spoofing.d.ts.map +1 -1
  51. package/dist/fingerprinting/fingerprint-overrides/locale-spoofing.js +5 -8
  52. package/dist/fingerprinting/fingerprint-overrides/locale-spoofing.js.map +1 -1
  53. package/dist/fingerprinting/fingerprint-overrides/mouse-humanization.d.ts +12 -1
  54. package/dist/fingerprinting/fingerprint-overrides/mouse-humanization.d.ts.map +1 -1
  55. package/dist/fingerprinting/fingerprint-overrides/mouse-humanization.js +27 -22
  56. package/dist/fingerprinting/fingerprint-overrides/mouse-humanization.js.map +1 -1
  57. package/dist/fingerprinting/fingerprint-overrides/platform-consistency.d.ts.map +1 -1
  58. package/dist/fingerprinting/fingerprint-overrides/platform-consistency.js +86 -28
  59. package/dist/fingerprinting/fingerprint-overrides/platform-consistency.js.map +1 -1
  60. package/dist/fingerprinting/fingerprint-overrides/stealth-script.d.ts.map +1 -1
  61. package/dist/fingerprinting/fingerprint-overrides/stealth-script.js +165 -33
  62. package/dist/fingerprinting/fingerprint-overrides/stealth-script.js.map +1 -1
  63. package/dist/fingerprinting/fingerprint-overrides/storage-consistency.d.ts.map +1 -1
  64. package/dist/fingerprinting/fingerprint-overrides/storage-consistency.js +10 -8
  65. package/dist/fingerprinting/fingerprint-overrides/storage-consistency.js.map +1 -1
  66. package/dist/fingerprinting/fingerprint-overrides/timing-consistency.d.ts.map +1 -1
  67. package/dist/fingerprinting/fingerprint-overrides/timing-consistency.js +9 -7
  68. package/dist/fingerprinting/fingerprint-overrides/timing-consistency.js.map +1 -1
  69. package/dist/fingerprinting/fingerprint-overrides/ua-ch.js +6 -6
  70. package/dist/fingerprinting/fingerprint-overrides/utils.d.ts.map +1 -1
  71. package/dist/fingerprinting/fingerprint-overrides/utils.js +44 -1
  72. package/dist/fingerprinting/fingerprint-overrides/utils.js.map +1 -1
  73. package/dist/fingerprinting/fingerprint-overrides/webgl-spoofing.d.ts.map +1 -1
  74. package/dist/fingerprinting/fingerprint-overrides/webgl-spoofing.js +43 -1
  75. package/dist/fingerprinting/fingerprint-overrides/webgl-spoofing.js.map +1 -1
  76. package/dist/fingerprinting/fingerprint-overrides/webgpu-spoofing.d.ts.map +1 -1
  77. package/dist/fingerprinting/fingerprint-overrides/webgpu-spoofing.js +9 -1
  78. package/dist/fingerprinting/fingerprint-overrides/webgpu-spoofing.js.map +1 -1
  79. package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.d.ts.map +1 -1
  80. package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.js +14 -3
  81. package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.js.map +1 -1
  82. package/dist/fingerprinting/non-apify-fingerprint-generator.d.ts +32 -0
  83. package/dist/fingerprinting/non-apify-fingerprint-generator.d.ts.map +1 -0
  84. package/dist/fingerprinting/non-apify-fingerprint-generator.js +480 -0
  85. package/dist/fingerprinting/non-apify-fingerprint-generator.js.map +1 -0
  86. package/dist/tsconfig.build.tsbuildinfo +1 -1
  87. package/package.json +11 -2
  88. package/scripts/postinstall.cjs +242 -0
package/README.md CHANGED
@@ -39,6 +39,19 @@ The `Crawler` class is a custom implementation of the `BrowserCrawler` from Craw
39
39
 
40
40
  The `jumpy-lion` is official cdp crawler package. See it [here](https://www.npmjs.com/package/jumpy-lion).
41
41
 
42
+ ### Installation
43
+
44
+ ```bash
45
+ npm install jumpy-lion
46
+ ```
47
+
48
+ A postinstall hook pulls the matching anti-detect Chromium build from a public
49
+ Apify key-value store — no GitHub token, no Apify token. Works the same on
50
+ your workstation, CI, and the Apify platform. If the download fails for any
51
+ reason (offline, proxy, etc.) the install still succeeds; the crawler falls
52
+ back to the system Chrome on `PATH`. See `browser/BUILD.md` for env-var
53
+ overrides and the maintainer release flow.
54
+
42
55
  ---
43
56
  ---
44
57
 
@@ -1 +1 @@
1
- {"version":3,"file":"browser-controller.d.ts","sourceRoot":"","sources":["../src/browser-controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAc,MAAM,SAAS,CAAC;AAGxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAGhE,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC;AAEpC,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,iBAAiB,CAC/D,WAAW,EAAE,6CAA6C;AAC1D,oBAAoB,EAAE,gBAAgB;AACtC,YAAY,EAAE,4BAA4B;AAC1C,EAAE,EAAE,0DAA0D;AAC9D,aAAa,CAChB;IACG,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,SAAS,CAAS;IAEpB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BjC;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAiBjC;;;OAGG;YACW,iBAAiB;IAqC/B;;;OAGG;cACa,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAiCvC;;;OAGG;cACa,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBtC;;;OAGG;cACa,QAAQ,CAAC,UAAU,SAAI,GAAG,OAAO,CAAC,aAAa,CAAC;YAqDlD,yBAAyB;IAkKvC;;;OAGG;cACa,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlF;;;OAGG;cACa,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAQ1D,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAI5G"}
1
+ {"version":3,"file":"browser-controller.d.ts","sourceRoot":"","sources":["../src/browser-controller.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAc,MAAM,SAAS,CAAC;AAGxD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAIhE,OAAO,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AACpE,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,MAAM,MAAM,aAAa,GAAG,OAAO,CAAC;AAEpC,MAAM,CAAC,OAAO,OAAO,oBAAqB,SAAQ,iBAAiB,CAC/D,WAAW,EAAE,6CAA6C;AAC1D,oBAAoB,EAAE,gBAAgB;AACtC,YAAY,EAAE,4BAA4B;AAC1C,EAAE,EAAE,0DAA0D;AAC9D,aAAa,CAChB;IACG,OAAO,CAAC,MAAM,CAAC,CAAa;IAC5B,OAAO,CAAC,iBAAiB,CAAK;IAC9B,OAAO,CAAC,qBAAqB,CAAS;IACtC,OAAO,CAAC,SAAS,CAAS;IAEpB,UAAU,IAAI,OAAO,CAAC,IAAI,CAAC;IA4BjC;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAiBjC;;;OAGG;YACW,iBAAiB;IAqC/B;;;OAGG;cACa,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAiCvC;;;OAGG;cACa,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAiBtC;;;OAGG;cACa,QAAQ,CAAC,UAAU,SAAI,GAAG,OAAO,CAAC,aAAa,CAAC;YAqDlD,yBAAyB;IAoNvC;;;OAGG;cACa,WAAW,CAAC,IAAI,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;IAQlF;;;OAGG;cACa,WAAW,CAAC,IAAI,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IAQ1D,qBAAqB,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,EAAE,YAAY,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;CAI5G"}
@@ -3,6 +3,7 @@ import { BrowserController, log, utils } from 'crawlee';
3
3
  import { FingerprintGenerator } from 'fingerprint-generator';
4
4
  import { PAGE_CLOSED } from './events.js';
5
5
  import { CdpFingerprintInjector } from './fingerprinting/fingerprint-injector.js';
6
+ import { generateNonApifyFingerprint } from './fingerprinting/non-apify-fingerprint-generator.js';
6
7
  import CdpPage from './page.js';
7
8
  export default class CDPBrowserController extends BrowserController {
8
9
  constructor() {
@@ -222,6 +223,37 @@ export default class CDPBrowserController extends BrowserController {
222
223
  const { fingerprint: launchFingerprint } = this.launchContext;
223
224
  let fingerprint = launchFingerprint;
224
225
  let fp = fingerprint.fingerprint;
226
+ // ── Non-Apify real-device fingerprint override ───────────────────────
227
+ // When useNonApifyFingerprints is set, replace the Crawlee-provided
228
+ // synthetic fingerprint with a real Chrome device profile. All fields
229
+ // (navigator, screen, GPU, UA-CH) come from the same physical device,
230
+ // guaranteeing cross-property consistency that synthetic generators miss.
231
+ const _fpOpts = this.launchContext.launchOptions?.fingerprintOptions;
232
+ if (_fpOpts?.useNonApifyFingerprints) {
233
+ const osHint = (() => {
234
+ const p = (fp?.navigator?.platform || '').toLowerCase();
235
+ if (p.includes('mac'))
236
+ return 'macos';
237
+ if (p.includes('linux'))
238
+ return 'linux';
239
+ return 'windows';
240
+ })();
241
+ const proxySeedKey = this.launchContext.proxyUrl
242
+ ? (this.launchContext.proxyUrl.match(/session-([^,&]+)/i)?.[1] ?? null)
243
+ : null;
244
+ fingerprint = await generateNonApifyFingerprint({
245
+ os: osHint,
246
+ proxySeedKey,
247
+ });
248
+ fp = fingerprint.fingerprint;
249
+ this.launchContext.fingerprint = fingerprint;
250
+ log.info('Using non-Apify real Chrome device fingerprint', {
251
+ os: osHint,
252
+ platform: fp?.navigator?.platform,
253
+ userAgent: `${(fp?.navigator?.userAgent || '').substring(0, 70)}...`,
254
+ webglRenderer: (fp?.videoCard?.renderer || '').substring(0, 70),
255
+ });
256
+ }
225
257
  if (fingerprintGeneratorOptions?.operatingSystems?.length > 0) {
226
258
  const requestedOS = fingerprintGeneratorOptions.operatingSystems[0]?.toLowerCase();
227
259
  const currentPlatform = fp?.navigator?.platform?.toLowerCase() || '';
@@ -311,18 +343,36 @@ export default class CDPBrowserController extends BrowserController {
311
343
  scroll: true,
312
344
  },
313
345
  };
314
- // Determine effective useFingerprintDefaults value
315
- const effectiveUseFingerprintDefaults = fingerprintOptions.useFingerprintDefaults ?? defaultOptions.useFingerprintDefaults ?? true;
346
+ // Determine effective useFingerprintDefaults value.
347
+ // Real device profiles (useNonApifyFingerprints=true) contain consistent cross-property
348
+ // data measured from a real device — default to using it (useFingerprintDefaults=false).
349
+ // Synthetic Apify-generated fingerprints need the hardcoded defaults to avoid
350
+ // injecting inconsistent generated values, so they keep useFingerprintDefaults=true.
351
+ const usingRealDeviceProfile = !!_fpOpts?.useNonApifyFingerprints;
352
+ const effectiveUseFingerprintDefaults = fingerprintOptions.useFingerprintDefaults
353
+ ?? (usingRealDeviceProfile ? false : (defaultOptions.useFingerprintDefaults ?? true));
316
354
  // Platform selection logic:
317
355
  // - When useFingerprintDefaults is false: prefer generated fingerprint platform
318
356
  // - When useFingerprintDefaults is true (default): prefer hardcoded fingerprintOptions.platform
319
357
  const effectivePlatform = effectiveUseFingerprintDefaults === false
320
358
  ? (platform || fingerprintOptions.platform || 'Win32') // Generated fingerprint first
321
359
  : (fingerprintOptions.platform || platform || 'Win32'); // Hardcoded option first
360
+ // Check useNativeStealth from all possible locations (in priority order):
361
+ // 1. Top-level launchOptions (e.g. CDPBrowserPlugin constructor arg)
362
+ // 2. Inside fingerprintOptions (e.g. datadome test / crawler launchOptions)
363
+ // 3. At launchContext root (some CDPCrawler launchContext configurations)
364
+ const useNativeStealth = !!this.launchContext.launchOptions?.useNativeStealth ||
365
+ !!this.launchContext.launchOptions?.fingerprintOptions?.useNativeStealth ||
366
+ !!this.launchContext?.useNativeStealth;
322
367
  // Merge humanization options properly
323
368
  const mergedOptions = {
324
369
  ...defaultOptions,
325
370
  ...fingerprintOptions,
371
+ useNativeStealth,
372
+ // Explicitly set the computed effective value — the spread above would resolve to
373
+ // defaultOptions.useFingerprintDefaults (always true) when fingerprintOptions
374
+ // does not include the key, so we must override it here.
375
+ useFingerprintDefaults: effectiveUseFingerprintDefaults,
326
376
  proxyUrl: this.launchContext.proxyUrl,
327
377
  platform: effectivePlatform,
328
378
  viewport: this.launchContext.launchOptions?.viewport,
@@ -1 +1 @@
1
- {"version":3,"file":"browser-controller.js","sourceRoot":"","sources":["../src/browser-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-controller.js","sourceRoot":"","sources":["../src/browser-controller.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { BrowserPlugin, type LaunchContext } from 'crawlee';
2
2
  import type { NewPageResult } from './browser-controller.js';
3
3
  import CDPBrowserController from './browser-controller.js';
4
+ import { type FingerprintConfigJson } from './browser-process/anti-detect-config.js';
4
5
  import type { LaunchReturn } from './launcher-wrap.js';
5
6
  import { CdpLauncher } from './launcher-wrap.js';
6
7
  type Library = CdpLauncher;
@@ -27,6 +28,13 @@ export interface LaunchBrowserOptions {
27
28
  headless?: boolean;
28
29
  executablePath?: string;
29
30
  useExperimentalFingerprints?: boolean;
31
+ /**
32
+ * Use the C++ anti-detect browser patches instead of the JS fingerprint
33
+ * override pipeline. Requires the custom Cromite-based binary (set via
34
+ * executablePath or ANTI_DETECT_CHROME_PATH). When true, the entire JS
35
+ * injection bundle is skipped — C++ patches handle all fingerprinting.
36
+ */
37
+ useNativeStealth?: boolean;
30
38
  /** Whether to start the browser maximized and fullscreen. Default: true */
31
39
  maximizeWindow?: boolean;
32
40
  /** Window width in pixels. Default: 1920 */
@@ -71,9 +79,32 @@ export interface LaunchBrowserOptions {
71
79
  humanization?: HumanizationOptions;
72
80
  /** Enable debug logging in browser console. Default: true for debugging */
73
81
  debug?: boolean;
82
+ /**
83
+ * Use real Chrome device profiles (Camoufox-inspired) instead of the
84
+ * Apify fingerprint-generator statistical model. Profiles are sampled from
85
+ * a bundled database of real devices where every property — navigator,
86
+ * screen, GPU, UA-CH — was measured on the same physical hardware,
87
+ * guaranteeing cross-property consistency. If the `camoufox` Python package
88
+ * is installed and `preferCamoufox` is true, Firefox device-level data is
89
+ * extracted and mapped to Chrome values.
90
+ * Default: false
91
+ */
92
+ useNonApifyFingerprints?: boolean;
74
93
  };
94
+ /**
95
+ * Pre-generated FingerprintConfig JSON for native stealth. Written to --fingerprint-config
96
+ * before the browser launches so C++ patches get per-session hardware fingerprints.
97
+ */
98
+ fingerprintConfig?: FingerprintConfigJson;
75
99
  }
76
100
  export default class CDPBrowserPlugin extends BrowserPlugin<Library, LaunchBrowserOptions, LaunchResult, NewPageOptions, NewPageResult> {
101
+ /**
102
+ * Accept flat LaunchBrowserOptions directly (not nested inside BrowserPluginOptions).
103
+ * Crawlee's BrowserPlugin expects `{ launchOptions: ... }` so we wrap here to ensure
104
+ * plugin-level options (executablePath, useNativeStealth, …) are stored in
105
+ * `this.launchOptions` and properly merged into every LaunchContext.
106
+ */
107
+ constructor(library: Library, launchOptions?: Partial<LaunchBrowserOptions>);
77
108
  private static readonly PORT_RANGE;
78
109
  private static usedPorts;
79
110
  private static lastAssignedPort;
@@ -1 +1 @@
1
- {"version":3,"file":"browser-plugin.d.ts","sourceRoot":"","sources":["../src/browser-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-plugin.d.ts","sourceRoot":"","sources":["../src/browser-plugin.ts"],"names":[],"mappings":"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"}
@@ -2,9 +2,21 @@ import net from 'net';
2
2
  import { BrowserPlugin, log } from 'crawlee';
3
3
  import CDPBrowserController from './browser-controller.js';
4
4
  import { launchChromeBrowserWithNewProfile } from './browser-process/browser.js';
5
+ import { generateFingerprintConfig } from './browser-process/anti-detect-config.js';
6
+ import { getChromeBinaryVersion, getAntiDetectBrowserPath } from './browser-process/get-chrome-executable.js';
7
+ import { generateNonApifyFingerprint } from './fingerprinting/non-apify-fingerprint-generator.js';
5
8
  import { CdpLauncher } from './launcher-wrap.js';
6
9
  import { anonymizeProxySugar } from './proxy/anonymize-proxy.js';
7
10
  class CDPBrowserPlugin extends BrowserPlugin {
11
+ /**
12
+ * Accept flat LaunchBrowserOptions directly (not nested inside BrowserPluginOptions).
13
+ * Crawlee's BrowserPlugin expects `{ launchOptions: ... }` so we wrap here to ensure
14
+ * plugin-level options (executablePath, useNativeStealth, …) are stored in
15
+ * `this.launchOptions` and properly merged into every LaunchContext.
16
+ */
17
+ constructor(library, launchOptions) {
18
+ super(library, { launchOptions: (launchOptions ?? {}) });
19
+ }
8
20
  async getNextAvailablePort() {
9
21
  const maxAttempts = CDPBrowserPlugin.PORT_RANGE.max - CDPBrowserPlugin.PORT_RANGE.min + 1; // Try all ports in range
10
22
  let attempts = 0;
@@ -169,6 +181,64 @@ class CDPBrowserPlugin extends BrowserPlugin {
169
181
  if (anonymizedProxyUrl) {
170
182
  launchOptions.proxyUrl = anonymizedProxyUrl;
171
183
  }
184
+ // Pre-generate a per-session C++ fingerprint config for the anti-detect browser.
185
+ // The static default_fingerprint.json always uses the same GPU/screen/CPU — every
186
+ // browser instance looks identical. By generating the config from the fingerprint
187
+ // profile before launch, each session gets unique hardware-level C++ patches.
188
+ if (launchOptions.useNativeStealth) {
189
+ const _fpOpts = launchOptions.fingerprintOptions;
190
+ const proxySeedKey = proxyUrl
191
+ ? (proxyUrl.match(/session-([^,&]+)/i)?.[1] ?? null)
192
+ : null;
193
+ // If non-Apify real-device profiles are requested, generate the profile now
194
+ // so C++ gets the same profile that the fingerprint injector will use.
195
+ let fpForConfig = fingerprint;
196
+ if (_fpOpts?.useNonApifyFingerprints) {
197
+ const osHint = (() => {
198
+ const p = (fingerprint?.fingerprint?.navigator?.platform || '').toLowerCase();
199
+ if (p.includes('mac'))
200
+ return 'macos';
201
+ if (p.includes('linux'))
202
+ return 'linux';
203
+ return 'windows';
204
+ })();
205
+ const nonApifyFp = await generateNonApifyFingerprint({ os: osHint, proxySeedKey });
206
+ fpForConfig = nonApifyFp;
207
+ // Store for browser-controller._newPage() — it will reuse this instead of
208
+ // generating a different profile (session consistency).
209
+ launchContext.fingerprint = fpForConfig;
210
+ }
211
+ if (fpForConfig) {
212
+ try {
213
+ const cfg = generateFingerprintConfig(fpForConfig, proxySeedKey ?? undefined);
214
+ // Align UA version with actual binary before writing the config.
215
+ const binaryPath = getAntiDetectBrowserPath() ?? launchOptions.executablePath;
216
+ if (binaryPath) {
217
+ const binaryVersion = getChromeBinaryVersion(binaryPath);
218
+ if (binaryVersion) {
219
+ const major = binaryVersion.split('.')[0];
220
+ if (cfg.navigator.userAgent) {
221
+ cfg.navigator.userAgent = cfg.navigator.userAgent.replace(/Chrome\/\d+\.\d+\.\d+\.\d+/, `Chrome/${major}.0.0.0`);
222
+ }
223
+ if (cfg.navigator.userAgentData) {
224
+ cfg.navigator.userAgentData.uaFullVersion = binaryVersion;
225
+ cfg.navigator.userAgentData.brands = cfg.navigator.userAgentData.brands.map(b => b.brand === 'Not_A Brand' ? b : { ...b, version: major, full_version: binaryVersion });
226
+ cfg.navigator.userAgentData.fullVersionList = cfg.navigator.userAgentData.brands;
227
+ }
228
+ }
229
+ }
230
+ launchOptions.fingerprintConfig = cfg;
231
+ log.debug('[AntiDetect] Pre-generated per-session fingerprint config', {
232
+ platform: cfg.navigator.platform,
233
+ gpu: cfg.webgl.renderer.substring(0, 60),
234
+ screen: `${cfg.screen.width}x${cfg.screen.height}`,
235
+ });
236
+ }
237
+ catch (cfgErr) {
238
+ log.debug('[AntiDetect] Could not pre-generate fingerprint config:', { error: cfgErr });
239
+ }
240
+ }
241
+ }
172
242
  browserProcess = await this._launchBrowser(debuggingPort, launchOptions);
173
243
  log.debug("Browser process started", { pid: browserProcess.pid, debuggingPort });
174
244
  try {
@@ -259,7 +329,10 @@ class CDPBrowserPlugin extends BrowserPlugin {
259
329
  * @private
260
330
  */
261
331
  async _launchBrowser(debuggingPort, launchOptions) {
262
- const { proxyUrl, browserType, ignoreHttpsErrors = true, headless, executablePath, useExperimentalFingerprints, fingerprintOptions, maximizeWindow, windowWidth, windowHeight, userDataDir, keepUserDataDir, dnsOverHttpsServer, secureDnsMode, webrtcIpHandlingPolicy, } = launchOptions;
332
+ const { proxyUrl, browserType, ignoreHttpsErrors = true, headless, executablePath, useNativeStealth, useExperimentalFingerprints, fingerprintOptions, fingerprintConfig, maximizeWindow, windowWidth, windowHeight, userDataDir, keepUserDataDir, dnsOverHttpsServer, secureDnsMode, webrtcIpHandlingPolicy, } = launchOptions;
333
+ if (executablePath) {
334
+ log.info(`[AntiDetect] Launching browser binary: ${executablePath}`);
335
+ }
263
336
  let browserProcess;
264
337
  switch (browserType) {
265
338
  case "chrome": {
@@ -269,8 +342,10 @@ class CDPBrowserPlugin extends BrowserPlugin {
269
342
  ignoreHttpsErrors,
270
343
  headless,
271
344
  executablePath,
345
+ useNativeStealth,
272
346
  useExperimentalFingerprints,
273
347
  fingerprintOptions,
348
+ fingerprintConfig,
274
349
  maximizeWindow,
275
350
  windowWidth,
276
351
  windowHeight,
@@ -1 +1 @@
1
- {"version":3,"file":"browser-plugin.js","sourceRoot":"","sources":["../src/browser-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-plugin.js","sourceRoot":"","sources":["../src/browser-plugin.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,56 @@
1
+ /**
2
+ * anti-detect-browser.ts — Detect whether the running browser is the custom anti-detect build
3
+ *
4
+ * Used by fingerprint-injector.ts to decide which JS override modules to skip
5
+ * (those already handled natively by C++ patches in the anti-detect browser).
6
+ */
7
+ /**
8
+ * Check if the given executable is the anti-detect browser build.
9
+ *
10
+ * Detection strategy:
11
+ * 1. Check for a .anti-detect-version marker file alongside the binary
12
+ * 2. Check the --version output for the "AntiDetect" build marker
13
+ * 3. Fall back to false (standard Chrome behavior)
14
+ *
15
+ * @param executablePath - Path to the Chrome/Chromium executable
16
+ */
17
+ export declare function isAntiDetectBrowser(executablePath: string): Promise<boolean>;
18
+ /**
19
+ * Synchronous version for use during browser launch (before async context).
20
+ */
21
+ export declare function isAntiDetectBrowserSync(executablePath: string): boolean;
22
+ /**
23
+ * When useNativeStealth=true, the fingerprint-injector skips the ENTIRE JS override
24
+ * pipeline — no fingerprint scripts are injected at all. This set exists for
25
+ * reference/documentation and for any external callers that check individual module
26
+ * names via shouldSkipJsOverride().
27
+ *
28
+ * Primary mechanism: fingerprint-injector.ts early-returns when nativeStealth=true,
29
+ * before any of these modules are built or injected.
30
+ *
31
+ * C++ patch coverage (browser/patches/):
32
+ * 0001 navigator.webdriver = false
33
+ * 0002 navigator.platform
34
+ * 0003 UA-CH (navigator.userAgentData + Sec-CH-UA-* headers)
35
+ * 0004 WebGL UNMASKED_VENDOR/RENDERER
36
+ * 0005 CDP automation artifact removal
37
+ * 0006 screen.width/height/availWidth/availHeight/colorDepth
38
+ * 0007 Page-level fingerprint seed (cross-process consistency)
39
+ * 0008 FingerprintConfig CLI ingestion
40
+ * 0009 Canvas document noise factors (seeded)
41
+ * 0010 AudioContext noise (seeded)
42
+ * 0011 getBoundingClientRect / getClientRects noise
43
+ * 0012 WebGPU adapter info
44
+ * 0013 queryLocalFonts() → empty
45
+ * 0015 Runtime.enable console side effects + sourceURL leaks
46
+ * cromite-override/0001 hardwareConcurrency / deviceMemory
47
+ * cromite-override/0002 canvas pixel shuffle (seeded)
48
+ * Cromite built-in font allowlist, performance.now() clamping
49
+ */
50
+ export declare const NATIVE_STEALTH_SKIPS: Set<string>;
51
+ /**
52
+ * Returns true if a given override module should be skipped when using the
53
+ * anti-detect browser (fully handled by C++ patches).
54
+ */
55
+ export declare function shouldSkipJsOverride(moduleName: string): boolean;
56
+ //# sourceMappingURL=anti-detect-browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anti-detect-browser.d.ts","sourceRoot":"","sources":["../../src/browser-process/anti-detect-browser.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAQH;;;;;;;;;GASG;AACH,wBAAsB,mBAAmB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAmClF;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAC,cAAc,EAAE,MAAM,GAAG,OAAO,CAuBvE;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AACH,eAAO,MAAM,oBAAoB,aAiB/B,CAAC;AAEH;;;GAGG;AACH,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAEhE"}
@@ -0,0 +1,134 @@
1
+ /**
2
+ * anti-detect-browser.ts — Detect whether the running browser is the custom anti-detect build
3
+ *
4
+ * Used by fingerprint-injector.ts to decide which JS override modules to skip
5
+ * (those already handled natively by C++ patches in the anti-detect browser).
6
+ */
7
+ import { spawnSync } from 'child_process';
8
+ import { existsSync } from 'fs';
9
+ import path from 'path';
10
+ // ─── Detection ────────────────────────────────────────────────────────────────
11
+ /**
12
+ * Check if the given executable is the anti-detect browser build.
13
+ *
14
+ * Detection strategy:
15
+ * 1. Check for a .anti-detect-version marker file alongside the binary
16
+ * 2. Check the --version output for the "AntiDetect" build marker
17
+ * 3. Fall back to false (standard Chrome behavior)
18
+ *
19
+ * @param executablePath - Path to the Chrome/Chromium executable
20
+ */
21
+ export async function isAntiDetectBrowser(executablePath) {
22
+ if (!executablePath || !existsSync(executablePath)) {
23
+ return false;
24
+ }
25
+ // Strategy 1: Check for marker file alongside the binary
26
+ // The build process writes a .anti-detect-version file next to the binary
27
+ const binaryDir = path.dirname(executablePath);
28
+ const markerFile = path.join(binaryDir, '.anti-detect-version');
29
+ if (existsSync(markerFile)) {
30
+ return true;
31
+ }
32
+ // Also check the .browser/ directory root
33
+ const browserDirMarker = path.join(binaryDir, '..', '.anti-detect-version');
34
+ if (existsSync(browserDirMarker)) {
35
+ return true;
36
+ }
37
+ // Strategy 2: Check --version output for build marker
38
+ // The anti-detect build adds "AntiDetect/X.Y" to the version string
39
+ try {
40
+ const result = spawnSync(executablePath, ['--version'], {
41
+ encoding: 'utf8',
42
+ timeout: 5000,
43
+ });
44
+ const output = `${result.stdout ?? ''} ${result.stderr ?? ''}`;
45
+ if (output.includes('AntiDetect')) {
46
+ return true;
47
+ }
48
+ }
49
+ catch {
50
+ // Ignore — binary may not support --version in this way
51
+ }
52
+ return false;
53
+ }
54
+ /**
55
+ * Synchronous version for use during browser launch (before async context).
56
+ */
57
+ export function isAntiDetectBrowserSync(executablePath) {
58
+ if (!executablePath || !existsSync(executablePath)) {
59
+ return false;
60
+ }
61
+ const binaryDir = path.dirname(executablePath);
62
+ if (existsSync(path.join(binaryDir, '.anti-detect-version'))) {
63
+ return true;
64
+ }
65
+ if (existsSync(path.join(binaryDir, '..', '.anti-detect-version'))) {
66
+ return true;
67
+ }
68
+ try {
69
+ const result = spawnSync(executablePath, ['--version'], {
70
+ encoding: 'utf8',
71
+ timeout: 5000,
72
+ });
73
+ const output = `${result.stdout ?? ''} ${result.stderr ?? ''}`;
74
+ return output.includes('AntiDetect');
75
+ }
76
+ catch {
77
+ return false;
78
+ }
79
+ }
80
+ // ─── Capability map ───────────────────────────────────────────────────────────
81
+ /**
82
+ * When useNativeStealth=true, the fingerprint-injector skips the ENTIRE JS override
83
+ * pipeline — no fingerprint scripts are injected at all. This set exists for
84
+ * reference/documentation and for any external callers that check individual module
85
+ * names via shouldSkipJsOverride().
86
+ *
87
+ * Primary mechanism: fingerprint-injector.ts early-returns when nativeStealth=true,
88
+ * before any of these modules are built or injected.
89
+ *
90
+ * C++ patch coverage (browser/patches/):
91
+ * 0001 navigator.webdriver = false
92
+ * 0002 navigator.platform
93
+ * 0003 UA-CH (navigator.userAgentData + Sec-CH-UA-* headers)
94
+ * 0004 WebGL UNMASKED_VENDOR/RENDERER
95
+ * 0005 CDP automation artifact removal
96
+ * 0006 screen.width/height/availWidth/availHeight/colorDepth
97
+ * 0007 Page-level fingerprint seed (cross-process consistency)
98
+ * 0008 FingerprintConfig CLI ingestion
99
+ * 0009 Canvas document noise factors (seeded)
100
+ * 0010 AudioContext noise (seeded)
101
+ * 0011 getBoundingClientRect / getClientRects noise
102
+ * 0012 WebGPU adapter info
103
+ * 0013 queryLocalFonts() → empty
104
+ * 0015 Runtime.enable console side effects + sourceURL leaks
105
+ * cromite-override/0001 hardwareConcurrency / deviceMemory
106
+ * cromite-override/0002 canvas pixel shuffle (seeded)
107
+ * Cromite built-in font allowlist, performance.now() clamping
108
+ */
109
+ export const NATIVE_STEALTH_SKIPS = new Set([
110
+ 'canvas-protection', // patches 0009, co/0002
111
+ 'webgl-spoofing', // patch 0004
112
+ 'audio-spoofing', // patch 0010
113
+ 'client-rect-spoofing', // patch 0011
114
+ 'font-spoofing', // Cromite built-in + patch 0013
115
+ 'performance-spoofing', // Cromite built-in (perf.now clamping)
116
+ 'ua-ch', // patch 0003
117
+ 'platform-consistency', // patches 0002, 0006
118
+ 'runtime-enable-bypass', // patches 0005, 0015
119
+ 'cdp-detection-bypass', // patches 0001, 0005, 0015
120
+ 'webgpu-spoofing', // patch 0012
121
+ 'storage-consistency', // no C++ equivalent — skipped for simplicity
122
+ 'timing-consistency', // Cromite perf.now clamping covers the main vector
123
+ 'locale-spoofing', // Cromite ICU config covers locale
124
+ 'stealth-utils', // no JS overrides needed — C++ handles at source
125
+ 'prototype-integrity', // no JS overrides needed — C++ patches are native
126
+ ]);
127
+ /**
128
+ * Returns true if a given override module should be skipped when using the
129
+ * anti-detect browser (fully handled by C++ patches).
130
+ */
131
+ export function shouldSkipJsOverride(moduleName) {
132
+ return NATIVE_STEALTH_SKIPS.has(moduleName);
133
+ }
134
+ //# sourceMappingURL=anti-detect-browser.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"anti-detect-browser.js","sourceRoot":"","sources":["../../src/browser-process/anti-detect-browser.ts"],"names":[],"mappings":"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"}