jumpy-lion 0.1.3 → 0.1.5

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 (74) hide show
  1. package/README.md +594 -0
  2. package/dist/browser-controller.d.ts.map +1 -1
  3. package/dist/browser-controller.js +10 -7
  4. package/dist/browser-controller.js.map +1 -1
  5. package/dist/browser-plugin.d.ts +11 -0
  6. package/dist/browser-plugin.d.ts.map +1 -1
  7. package/dist/browser-plugin.js +6 -1
  8. package/dist/browser-plugin.js.map +1 -1
  9. package/dist/browser-process/browser.d.ts +24 -0
  10. package/dist/browser-process/browser.d.ts.map +1 -1
  11. package/dist/browser-process/browser.js +22 -6
  12. package/dist/browser-process/browser.js.map +1 -1
  13. package/dist/browser-process/get-chrome-executable.d.ts +1 -0
  14. package/dist/browser-process/get-chrome-executable.d.ts.map +1 -1
  15. package/dist/browser-process/get-chrome-executable.js +15 -0
  16. package/dist/browser-process/get-chrome-executable.js.map +1 -1
  17. package/dist/browser-process/process.d.ts +2 -1
  18. package/dist/browser-process/process.d.ts.map +1 -1
  19. package/dist/browser-process/process.js +12 -1
  20. package/dist/browser-process/process.js.map +1 -1
  21. package/dist/crawler.d.ts +6 -0
  22. package/dist/crawler.d.ts.map +1 -1
  23. package/dist/crawler.js.map +1 -1
  24. package/dist/fingerprinting/fingerprint-injector.d.ts +4 -0
  25. package/dist/fingerprinting/fingerprint-injector.d.ts.map +1 -1
  26. package/dist/fingerprinting/fingerprint-injector.js +85 -21
  27. package/dist/fingerprinting/fingerprint-injector.js.map +1 -1
  28. package/dist/fingerprinting/fingerprint-overrides/audio-spoofing.d.ts.map +1 -1
  29. package/dist/fingerprinting/fingerprint-overrides/audio-spoofing.js +16 -1
  30. package/dist/fingerprinting/fingerprint-overrides/audio-spoofing.js.map +1 -1
  31. package/dist/fingerprinting/fingerprint-overrides/canvas-protection.d.ts.map +1 -1
  32. package/dist/fingerprinting/fingerprint-overrides/canvas-protection.js +18 -1
  33. package/dist/fingerprinting/fingerprint-overrides/canvas-protection.js.map +1 -1
  34. package/dist/fingerprinting/fingerprint-overrides/client-rect-spoofing.d.ts.map +1 -1
  35. package/dist/fingerprinting/fingerprint-overrides/client-rect-spoofing.js +16 -1
  36. package/dist/fingerprinting/fingerprint-overrides/client-rect-spoofing.js.map +1 -1
  37. package/dist/fingerprinting/fingerprint-overrides/coalesced-events-spoofing.d.ts.map +1 -1
  38. package/dist/fingerprinting/fingerprint-overrides/coalesced-events-spoofing.js +16 -1
  39. package/dist/fingerprinting/fingerprint-overrides/coalesced-events-spoofing.js.map +1 -1
  40. package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.d.ts.map +1 -1
  41. package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.js +16 -1
  42. package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.js.map +1 -1
  43. package/dist/fingerprinting/fingerprint-overrides/font-spoofing.d.ts.map +1 -1
  44. package/dist/fingerprinting/fingerprint-overrides/font-spoofing.js +13 -3
  45. package/dist/fingerprinting/fingerprint-overrides/font-spoofing.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/mouse-humanization.d.ts.map +1 -1
  51. package/dist/fingerprinting/fingerprint-overrides/mouse-humanization.js +16 -1
  52. package/dist/fingerprinting/fingerprint-overrides/mouse-humanization.js.map +1 -1
  53. package/dist/fingerprinting/fingerprint-overrides/performance-spoofing.d.ts.map +1 -1
  54. package/dist/fingerprinting/fingerprint-overrides/performance-spoofing.js +16 -1
  55. package/dist/fingerprinting/fingerprint-overrides/performance-spoofing.js.map +1 -1
  56. package/dist/fingerprinting/fingerprint-overrides/ua-ch.d.ts.map +1 -1
  57. package/dist/fingerprinting/fingerprint-overrides/ua-ch.js +27 -18
  58. package/dist/fingerprinting/fingerprint-overrides/ua-ch.js.map +1 -1
  59. package/dist/fingerprinting/fingerprint-overrides/webgl-spoofing.d.ts.map +1 -1
  60. package/dist/fingerprinting/fingerprint-overrides/webgl-spoofing.js +16 -4
  61. package/dist/fingerprinting/fingerprint-overrides/webgl-spoofing.js.map +1 -1
  62. package/dist/fingerprinting/fingerprint-overrides/webgpu-spoofing.d.ts.map +1 -1
  63. package/dist/fingerprinting/fingerprint-overrides/webgpu-spoofing.js +16 -2
  64. package/dist/fingerprinting/fingerprint-overrides/webgpu-spoofing.js.map +1 -1
  65. package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.d.ts +1 -0
  66. package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.d.ts.map +1 -1
  67. package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.js +53 -9
  68. package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.js.map +1 -1
  69. package/dist/page.d.ts +8 -0
  70. package/dist/page.d.ts.map +1 -1
  71. package/dist/page.js +84 -7
  72. package/dist/page.js.map +1 -1
  73. package/dist/tsconfig.build.tsbuildinfo +1 -1
  74. package/package.json +1 -1
@@ -63,7 +63,7 @@
63
63
  import { log } from 'crawlee';
64
64
  import { gotScraping } from 'got-scraping';
65
65
  import { createCustomFingerprintInjection } from './custom-fingerprint-injector.js';
66
- import { createStealthScript, createWebGLSpoofingScript, createAudioFingerprintSpoofingScript, createAdvancedCanvasProtectionScript, createClientRectSpoofingScript, createWebRTCSpoofingScript, createWebGPUSpoofingScript, createPlatformConsistencyScript, setupMouseMovementHumanization, createRuntimeEnableBypassScript, createFontSpoofingScript, createPerformanceSpoofingScript, createLocaleSpoofingScript, createUAClientHintsSpoofingScript,
66
+ import { createStealthScript, createWebGLSpoofingScript, createAudioFingerprintSpoofingScript, createAdvancedCanvasProtectionScript, createClientRectSpoofingScript, createWebRTCSpoofingScript, createWebRTCDisableScript, createWebGPUSpoofingScript, createPlatformConsistencyScript, setupMouseMovementHumanization, createRuntimeEnableBypassScript, createFontSpoofingScript, createPerformanceSpoofingScript, createLocaleSpoofingScript, createUAClientHintsSpoofingScript,
67
67
  // Stealth utilities (must be injected first)
68
68
  createStealthUtilsScript,
69
69
  // Prototype integrity (must be injected early)
@@ -110,9 +110,9 @@ export class CdpFingerprintInjector {
110
110
  enableDataDomeBypass: false, // Enable only when needed
111
111
  // Humanization disabled by default for performance
112
112
  humanization: {
113
- mouse: false,
114
- keyboard: false,
115
- scroll: false,
113
+ mouse: true,
114
+ keyboard: true,
115
+ scroll: true,
116
116
  },
117
117
  viewport: {
118
118
  width: 1920,
@@ -221,10 +221,11 @@ export class CdpFingerprintInjector {
221
221
  const platformName = platformMap[platform] || 'Windows';
222
222
  // Determine Chrome version from UA string
223
223
  const chromeVersionMatch = userAgent.match(/Chrome\/(\d+)\.(\d+)\.(\d+)\.(\d+)/);
224
- const majorVersion = chromeVersionMatch?.[1] || '134';
225
- const fullVersion = chromeVersionMatch
226
- ? `${chromeVersionMatch[1]}.${chromeVersionMatch[2]}.${chromeVersionMatch[3]}.${chromeVersionMatch[4]}`
227
- : '134.0.6998.88';
224
+ if (!chromeVersionMatch) {
225
+ throw new Error(`Cannot derive Chrome version from user agent: ${userAgent}`);
226
+ }
227
+ const majorVersion = chromeVersionMatch[1];
228
+ const fullVersion = `${chromeVersionMatch[1]}.${chromeVersionMatch[2]}.${chromeVersionMatch[3]}.${chromeVersionMatch[4]}`;
228
229
  const brands = uaClientHints?.brands || [
229
230
  { brand: 'Google Chrome', version: majorVersion },
230
231
  { brand: 'Chromium', version: majorVersion },
@@ -446,6 +447,35 @@ export class CdpFingerprintInjector {
446
447
  }
447
448
  return { webglConfig, platformConfig, uaClientHints };
448
449
  }
450
+ async getActualChromeVersion() {
451
+ try {
452
+ const versionInfo = await this.page.client.Browser.getVersion();
453
+ const product = versionInfo.product || '';
454
+ const match = product.match(/(?:Chrome|HeadlessChrome)\/(\d+\.\d+\.\d+\.\d+)/);
455
+ return match ? match[1] : null;
456
+ }
457
+ catch {
458
+ return null;
459
+ }
460
+ }
461
+ alignUserAgentWithBrowserVersion(userAgent, browserVersion) {
462
+ if (!browserVersion || !userAgent) {
463
+ return userAgent;
464
+ }
465
+ const uaMatch = userAgent.match(/Chrome\/(\d+\.\d+\.\d+\.\d+)/);
466
+ if (!uaMatch) {
467
+ return userAgent;
468
+ }
469
+ if (uaMatch[1] === browserVersion) {
470
+ return userAgent;
471
+ }
472
+ const alignedUA = userAgent.replace(/Chrome\/\d+\.\d+\.\d+\.\d+/, `Chrome/${browserVersion}`);
473
+ log.warning('User-Agent version mismatch detected. Aligning UA with running Chrome binary.', {
474
+ previousVersion: uaMatch[1],
475
+ browserVersion,
476
+ });
477
+ return alignedUA;
478
+ }
449
479
  async attachToPage(browserFingerprintWithHeaders, options) {
450
480
  const { fingerprint, headers } = browserFingerprintWithHeaders;
451
481
  const shouldFetchTimezone = options?.timezone || options?.detectTimezone;
@@ -466,6 +496,16 @@ export class CdpFingerprintInjector {
466
496
  filteredHeaders[key] = value;
467
497
  }
468
498
  }
499
+ const originalUserAgent = fingerprint?.navigator?.userAgent
500
+ || filteredHeaders['user-agent']
501
+ || filteredHeaders['User-Agent']
502
+ || '';
503
+ const actualChromeVersion = await this.getActualChromeVersion();
504
+ const userAgent = this.alignUserAgentWithBrowserVersion(originalUserAgent, actualChromeVersion);
505
+ if (userAgent) {
506
+ filteredHeaders['user-agent'] = userAgent;
507
+ delete filteredHeaders['User-Agent'];
508
+ }
469
509
  // Create custom fingerprint injection scripts
470
510
  log.info('Creating custom fingerprint injection scripts');
471
511
  const customFingerprintScripts = createCustomFingerprintInjection(fingerprint, {
@@ -476,11 +516,14 @@ export class CdpFingerprintInjector {
476
516
  // These scripts set up protections BEFORE page JavaScript runs
477
517
  // Check if DataDome bypass is enabled (via either option name)
478
518
  const isDataDomeBypassEnabled = options?.enableDataDomeBypass || options?.bypassDatadome;
519
+ const shouldMaskAutomation = options?.maskAutomationFlags !== false;
479
520
  const scriptsToInject = [
480
521
  createStealthUtilsScript(), // Must be first - provides guards and toString spoofing
481
522
  createPrototypeIntegrityScript(), // Second - provides native-like property descriptor masking
482
- createRuntimeEnableBypassScript(), // Third - protects against CDP detection via Error stack analysis
483
523
  ];
524
+ if (shouldMaskAutomation) {
525
+ scriptsToInject.push(createRuntimeEnableBypassScript()); // Protects against CDP detection via Error stack analysis
526
+ }
484
527
  // CRITICAL: DataDome bypass must be injected early for stack trace sanitization
485
528
  // and performance.memory spoofing to work before other scripts run
486
529
  if (isDataDomeBypassEnabled) {
@@ -491,7 +534,9 @@ export class CdpFingerprintInjector {
491
534
  scriptsToInject.push(...customFingerprintScripts);
492
535
  // Bundle stealth protections into the main script instead of separate injection
493
536
  // Having multiple addScriptToEvaluateOnNewDocument calls is a detection vector
494
- scriptsToInject.push(createStealthScript());
537
+ if (shouldMaskAutomation) {
538
+ scriptsToInject.push(createStealthScript());
539
+ }
495
540
  // Extract fingerprint data if we should use it
496
541
  // When useFingerprintDefaults is true (or undefined), use hardcoded defaults
497
542
  // When useFingerprintDefaults is false, use the generated fingerprint data
@@ -522,8 +567,13 @@ export class CdpFingerprintInjector {
522
567
  scriptsToInject.push(createCoalescedEventsSpoofingScript());
523
568
  // Media codec spoofing - ensures canPlayType()/isTypeSupported() match real Chrome
524
569
  scriptsToInject.push(createMediaCodecsSpoofingScript());
525
- // WebRTC spoofing
526
- scriptsToInject.push(createWebRTCSpoofingScript());
570
+ // WebRTC handling policy
571
+ if (options?.webRtcPolicy === 'disable') {
572
+ scriptsToInject.push(createWebRTCDisableScript());
573
+ }
574
+ else {
575
+ scriptsToInject.push(createWebRTCSpoofingScript());
576
+ }
527
577
  // WebGPU spoofing (more aggressive when experimental fingerprints enabled)
528
578
  scriptsToInject.push(createWebGPUSpoofingScript(options?.useExperimentalFingerprints));
529
579
  // Font spoofing (2025)
@@ -596,13 +646,29 @@ export class CdpFingerprintInjector {
596
646
  }
597
647
  // BUNDLE ALL SCRIPTS INTO ONE to minimize CDP interactions
598
648
  log.info(`Bundling ${scriptsToInject.length} fingerprint scripts into single injection`);
599
- // Preamble: create shared stealth store accessible by all module IIFEs via closure
600
- const preamble = `var __stealth = { debug: ${isDebug} };`;
601
- const bundledScript = preamble + '\n\n' + scriptsToInject
649
+ // Extract proxy seed key for deterministic fingerprint seeding.
650
+ // Priority: session ID from Apify proxy URL > full proxy URL > null.
651
+ // Apify proxy URLs look like: http://groups-RESIDENTIAL,session-abc123:pw@proxy.apify.com:8000
652
+ let proxySeedKey = null;
653
+ if (options?.proxyUrl) {
654
+ try {
655
+ const proxyUsername = new URL(options.proxyUrl).username;
656
+ const sessionMatch = proxyUsername.match(/session-([^,&]+)/i);
657
+ proxySeedKey = sessionMatch ? sessionMatch[1] : options.proxyUrl;
658
+ }
659
+ catch {
660
+ proxySeedKey = options.proxyUrl;
661
+ }
662
+ }
663
+ // Preamble: create shared stealth store accessible by all module IIFEs via closure.
664
+ // seedKey: proxy session ID or proxy URL - used by _stableHash for deterministic fingerprints.
665
+ const preamble = `var __stealth = { debug: ${isDebug}, seedKey: ${proxySeedKey ? JSON.stringify(proxySeedKey) : 'null'} };`;
666
+ const bundledScript = `${preamble}\n\n${scriptsToInject
602
667
  .map(script => cleanScript(script))
603
- .join('\n\n');
668
+ .join('\n\n')}`;
604
669
  // Validate bundled script for syntax errors
605
670
  try {
671
+ // eslint-disable-next-line no-new-func, no-new
606
672
  new Function(bundledScript);
607
673
  log.info('✓ Bundled script passed syntax validation');
608
674
  }
@@ -611,6 +677,7 @@ export class CdpFingerprintInjector {
611
677
  // Fall back to individual script validation to find the culprit
612
678
  scriptsToInject.forEach((script, index) => {
613
679
  try {
680
+ // eslint-disable-next-line no-new-func, no-new
614
681
  new Function(script);
615
682
  }
616
683
  catch (e) {
@@ -623,11 +690,6 @@ export class CdpFingerprintInjector {
623
690
  // Inject SINGLE bundled script - reduces CDP detection surface
624
691
  try {
625
692
  log.info('Injecting single bundled fingerprint script (minimizes CDP detection)');
626
- // Extract UA string for HTTP-level client hints
627
- const userAgent = fingerprint?.navigator?.userAgent
628
- || filteredHeaders['user-agent']
629
- || filteredHeaders['User-Agent']
630
- || '';
631
693
  await Promise.all([
632
694
  this.setViewport(options?.viewport, fingerprint),
633
695
  this.setExtraHTTPHeaders(filteredHeaders),
@@ -683,9 +745,11 @@ export class CdpFingerprintInjector {
683
745
  platform: options?.platform,
684
746
  useFingerprintDefaults: options?.useFingerprintDefaults,
685
747
  bypassCDPDetection: options?.bypassCDPDetection !== false,
748
+ maskAutomationFlags: options?.maskAutomationFlags !== false,
686
749
  spoofStorage: options?.spoofStorage !== false,
687
750
  spoofTiming: options?.spoofTiming !== false,
688
751
  enableDataDomeBypass: options?.enableDataDomeBypass,
752
+ webRtcPolicy: options?.webRtcPolicy || 'spoof',
689
753
  humanization: {
690
754
  mouse: enableMouseHumanization || false,
691
755
  keyboard: options?.humanization?.keyboard || false,
@@ -1 +1 @@
1
- {"version":3,"file":"fingerprint-injector.js","sourceRoot":"","sources":["../../src/fingerprinting/fingerprint-injector.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fingerprint-injector.js","sourceRoot":"","sources":["../../src/fingerprinting/fingerprint-injector.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"audio-spoofing.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/audio-spoofing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,oCAAoC,QAAO,MAiHvD,CAAC"}
1
+ {"version":3,"file":"audio-spoofing.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/audio-spoofing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,oCAAoC,QAAO,MAgIvD,CAAC"}
@@ -25,7 +25,22 @@ export const createAudioFingerprintSpoofingScript = () => {
25
25
  return ((t ^ t >>> 14) >>> 0) / 4294967296;
26
26
  };
27
27
  };
28
- const sessionSeed = Date.now() ^ 0xB7E15162;
28
+ // Stable seed: must NOT use Date.now() because this script re-executes on
29
+ // every reload via addScriptToEvaluateOnNewDocument.
30
+ const _stableHash = (salt) => {
31
+ const _s = typeof __stealth !== 'undefined' ? __stealth : {};
32
+ const key = _s.seedKey || '';
33
+ const ua = navigator.userAgent || '';
34
+ const s = screen;
35
+ let h = salt | 0;
36
+ for (let i = 0; i < key.length; i++) h = (h << 5) - h + key.charCodeAt(i) | 0;
37
+ for (let i = 0; i < ua.length; i++) h = (h << 5) - h + ua.charCodeAt(i) | 0;
38
+ h = (h << 5) - h + (s.width || 0) | 0;
39
+ h = (h << 5) - h + (s.height || 0) | 0;
40
+ h = (h << 5) - h + (s.colorDepth || 0) | 0;
41
+ return h >>> 0;
42
+ };
43
+ const sessionSeed = _stableHash(0xCAFE1003);
29
44
  const seededRandom = createSeededRNG(sessionSeed);
30
45
 
31
46
  // Add controlled per-sample noise to audio processing
@@ -1 +1 @@
1
- {"version":3,"file":"audio-spoofing.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/audio-spoofing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,oCAAoC,GAAG,GAAW,EAAE;IAC7D,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA+GL,CAAC;AACP,CAAC,CAAC"}
1
+ {"version":3,"file":"audio-spoofing.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/audio-spoofing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,oCAAoC,GAAG,GAAW,EAAE;IAC7D,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA8HL,CAAC;AACP,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"canvas-protection.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/canvas-protection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,oCAAoC,QAAO,MA+IvD,CAAC"}
1
+ {"version":3,"file":"canvas-protection.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/canvas-protection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,oCAAoC,QAAO,MAgKvD,CAAC"}
@@ -21,7 +21,24 @@ export const createAdvancedCanvasProtectionScript = () => {
21
21
  return ((t ^ t >>> 14) >>> 0) / 4294967296;
22
22
  };
23
23
  };
24
- const sessionSeed = Date.now() ^ (Math.random() * 0xFFFFFFFF >>> 0);
24
+ // Stable seed: must NOT use Date.now() or Math.random() because this script
25
+ // re-executes on every reload via addScriptToEvaluateOnNewDocument.
26
+ // Changing fingerprint mid-session triggers anti-bot session invalidation.
27
+ // Uses proxy session ID (__stealth.seedKey) when available, otherwise site origin.
28
+ const _stableHash = (salt) => {
29
+ const _s = typeof __stealth !== 'undefined' ? __stealth : {};
30
+ const key = _s.seedKey || '';
31
+ const ua = navigator.userAgent || '';
32
+ const s = screen;
33
+ let h = salt | 0;
34
+ for (let i = 0; i < key.length; i++) h = (h << 5) - h + key.charCodeAt(i) | 0;
35
+ for (let i = 0; i < ua.length; i++) h = (h << 5) - h + ua.charCodeAt(i) | 0;
36
+ h = (h << 5) - h + (s.width || 0) | 0;
37
+ h = (h << 5) - h + (s.height || 0) | 0;
38
+ h = (h << 5) - h + (s.colorDepth || 0) | 0;
39
+ return h >>> 0;
40
+ };
41
+ const sessionSeed = _stableHash(0xCAFE1001);
25
42
  const seededRandom = createSeededRNG(sessionSeed);
26
43
 
27
44
  // Helper to add deterministic noise to a cloned image data
@@ -1 +1 @@
1
- {"version":3,"file":"canvas-protection.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/canvas-protection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,oCAAoC,GAAG,GAAW,EAAE;IAC7D,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA6IL,CAAC;AACP,CAAC,CAAC"}
1
+ {"version":3,"file":"canvas-protection.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/canvas-protection.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,oCAAoC,GAAG,GAAW,EAAE;IAC7D,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA8JL,CAAC;AACP,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"client-rect-spoofing.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/client-rect-spoofing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,8BAA8B,QAAO,MA6LjD,CAAC"}
1
+ {"version":3,"file":"client-rect-spoofing.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/client-rect-spoofing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,8BAA8B,QAAO,MA4MjD,CAAC"}
@@ -21,8 +21,23 @@ export const createClientRectSpoofingScript = () => {
21
21
  };
22
22
 
23
23
  // Generate a stable seed for an element based on its identity
24
+ // Stable base: must NOT use Date.now() because this script re-executes on
25
+ // every reload via addScriptToEvaluateOnNewDocument.
26
+ const _stableHash = (salt) => {
27
+ const _s = typeof __stealth !== 'undefined' ? __stealth : {};
28
+ const key = _s.seedKey || '';
29
+ const ua = navigator.userAgent || '';
30
+ const s = screen;
31
+ let h = salt | 0;
32
+ for (let i = 0; i < key.length; i++) h = (h << 5) - h + key.charCodeAt(i) | 0;
33
+ for (let i = 0; i < ua.length; i++) h = (h << 5) - h + ua.charCodeAt(i) | 0;
34
+ h = (h << 5) - h + (s.width || 0) | 0;
35
+ h = (h << 5) - h + (s.height || 0) | 0;
36
+ h = (h << 5) - h + (s.colorDepth || 0) | 0;
37
+ return h >>> 0;
38
+ };
24
39
  const elementSeeds = new WeakMap();
25
- let nextSeed = Date.now();
40
+ let nextSeed = _stableHash(0xCAFE1008);
26
41
  const getElementSeed = (element) => {
27
42
  if (!elementSeeds.has(element)) {
28
43
  elementSeeds.set(element, nextSeed++);
@@ -1 +1 @@
1
- {"version":3,"file":"client-rect-spoofing.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/client-rect-spoofing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAW,EAAE;IACvD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2LL,CAAC;AACP,CAAC,CAAC"}
1
+ {"version":3,"file":"client-rect-spoofing.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/client-rect-spoofing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,GAAW,EAAE;IACvD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA0ML,CAAC;AACP,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"coalesced-events-spoofing.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/coalesced-events-spoofing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,mCAAmC,QAAO,MAyLtD,CAAC"}
1
+ {"version":3,"file":"coalesced-events-spoofing.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/coalesced-events-spoofing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,eAAO,MAAM,mCAAmC,QAAO,MAwMtD,CAAC"}
@@ -27,7 +27,22 @@ export const createCoalescedEventsSpoofingScript = () => {
27
27
  };
28
28
  };
29
29
 
30
- const sessionSeed = Date.now() ^ 0xA5F3C291;
30
+ // Stable seed: must NOT use Date.now() because this script re-executes on
31
+ // every reload via addScriptToEvaluateOnNewDocument.
32
+ const _stableHash = (salt) => {
33
+ const _s = typeof __stealth !== 'undefined' ? __stealth : {};
34
+ const key = _s.seedKey || '';
35
+ const ua = navigator.userAgent || '';
36
+ const s = screen;
37
+ let h = salt | 0;
38
+ for (let i = 0; i < key.length; i++) h = (h << 5) - h + key.charCodeAt(i) | 0;
39
+ for (let i = 0; i < ua.length; i++) h = (h << 5) - h + ua.charCodeAt(i) | 0;
40
+ h = (h << 5) - h + (s.width || 0) | 0;
41
+ h = (h << 5) - h + (s.height || 0) | 0;
42
+ h = (h << 5) - h + (s.colorDepth || 0) | 0;
43
+ return h >>> 0;
44
+ };
45
+ const sessionSeed = _stableHash(0xCAFE1007);
31
46
  let callCount = 0;
32
47
 
33
48
  // Store original method
@@ -1 +1 @@
1
- {"version":3,"file":"coalesced-events-spoofing.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/coalesced-events-spoofing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAW,EAAE;IAC5D,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAuLL,CAAC;AACP,CAAC,CAAC"}
1
+ {"version":3,"file":"coalesced-events-spoofing.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/coalesced-events-spoofing.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH,MAAM,CAAC,MAAM,mCAAmC,GAAG,GAAW,EAAE;IAC5D,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MAsML,CAAC;AACP,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"datadome-bypass.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/datadome-bypass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,eAAO,MAAM,0BAA0B,QAAO,MAioC7C,CAAC"}
1
+ {"version":3,"file":"datadome-bypass.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/datadome-bypass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,eAAO,MAAM,0BAA0B,QAAO,MAgpC7C,CAAC"}
@@ -40,7 +40,22 @@ export const createDataDomeBypassScript = () => {
40
40
  // ================================================================
41
41
  // FINGERPRINT CONFIGURATION - Consistent across all properties
42
42
  // ================================================================
43
- const seed = Date.now() % 1000000;
43
+ // Stable seed: must NOT use Date.now() because this script re-executes on
44
+ // every reload via addScriptToEvaluateOnNewDocument.
45
+ const _stableHash = (salt) => {
46
+ const _s = typeof __stealth !== 'undefined' ? __stealth : {};
47
+ const key = _s.seedKey || '';
48
+ const ua = navigator.userAgent || '';
49
+ const s = screen;
50
+ let h = salt | 0;
51
+ for (let i = 0; i < key.length; i++) h = (h << 5) - h + key.charCodeAt(i) | 0;
52
+ for (let i = 0; i < ua.length; i++) h = (h << 5) - h + ua.charCodeAt(i) | 0;
53
+ h = (h << 5) - h + (s.width || 0) | 0;
54
+ h = (h << 5) - h + (s.height || 0) | 0;
55
+ h = (h << 5) - h + (s.colorDepth || 0) | 0;
56
+ return h >>> 0;
57
+ };
58
+ const seed = _stableHash(0xCAFE100B);
44
59
  // Seeded PRNG (mulberry32) for consistent values
45
60
  let _rngs = seed | 0;
46
61
  const stableRand = (min, max) => {
@@ -1 +1 @@
1
- {"version":3,"file":"datadome-bypass.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/datadome-bypass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAW,EAAE;IACnD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA+nCL,CAAC;AACP,CAAC,CAAC"}
1
+ {"version":3,"file":"datadome-bypass.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/datadome-bypass.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;GAyBG;AAEH,MAAM,CAAC,MAAM,0BAA0B,GAAG,GAAW,EAAE;IACnD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA8oCL,CAAC;AACP,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"font-spoofing.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/font-spoofing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,wBAAwB,QAAO,MAoK3C,CAAC"}
1
+ {"version":3,"file":"font-spoofing.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/font-spoofing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,wBAAwB,QAAO,MA8K3C,CAAC"}
@@ -10,11 +10,21 @@ export const createFontSpoofingScript = () => {
10
10
 
11
11
  // Font Spoofing for 2025 - Platform-aware font availability with randomization
12
12
  const spoofFonts = () => {
13
- // Generate a session-stable seed from current time and user agent
13
+ // Stable seed: must NOT use Date.now() because this script re-executes on
14
+ // every reload via addScriptToEvaluateOnNewDocument. A real browser doesn't
15
+ // change its installed fonts between reloads.
14
16
  const generateSeed = () => {
17
+ const _s = typeof __stealth !== 'undefined' ? __stealth : {};
18
+ const key = _s.seedKey || '';
15
19
  const ua = navigator.userAgent || '';
16
- const timeStamp = Math.floor(Date.now() / (1000 * 60 * 60 * 24)); // Changes daily
17
- return ua.split('').reduce((a, b) => a + b.charCodeAt(0), 0) + timeStamp;
20
+ const s = screen;
21
+ let h = 0xCAFE100A | 0;
22
+ for (let i = 0; i < key.length; i++) h = (h << 5) - h + key.charCodeAt(i) | 0;
23
+ for (let i = 0; i < ua.length; i++) h = (h << 5) - h + ua.charCodeAt(i) | 0;
24
+ h = (h << 5) - h + (s.width || 0) | 0;
25
+ h = (h << 5) - h + (s.height || 0) | 0;
26
+ h = (h << 5) - h + (s.colorDepth || 0) | 0;
27
+ return h >>> 0;
18
28
  };
19
29
 
20
30
  // Seeded PRNG (mulberry32) for consistent values
@@ -1 +1 @@
1
- {"version":3,"file":"font-spoofing.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/font-spoofing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAW,EAAE;IACjD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAkKV,CAAC;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"font-spoofing.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/font-spoofing.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,wBAAwB,GAAG,GAAW,EAAE;IACjD,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA4KV,CAAC;AACF,CAAC,CAAC"}
@@ -15,7 +15,7 @@ export { createWebGLSpoofingScript, type WebGLConfig } from './webgl-spoofing.js
15
15
  export { createAudioFingerprintSpoofingScript } from './audio-spoofing.js';
16
16
  export { createAdvancedCanvasProtectionScript } from './canvas-protection.js';
17
17
  export { createClientRectSpoofingScript } from './client-rect-spoofing.js';
18
- export { createWebRTCSpoofingScript } from './webrtc-spoofing.js';
18
+ export { createWebRTCSpoofingScript, createWebRTCDisableScript } from './webrtc-spoofing.js';
19
19
  export { createWebGPUSpoofingScript } from './webgpu-spoofing.js';
20
20
  export { createPlatformConsistencyScript, type PlatformConfig } from './platform-consistency.js';
21
21
  export { setupMouseMovementHumanization } from './mouse-humanization.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,oCAAoC,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,+BAA+B,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACjG,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,iCAAiC,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAGtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAG1E,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EACH,gCAAgC,EAChC,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACH,8BAA8B,EAC9B,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,mCAAmC,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAE,KAAK,WAAW,EAAE,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,oCAAoC,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,+BAA+B,EAAE,KAAK,cAAc,EAAE,MAAM,2BAA2B,CAAC;AACjG,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,iCAAiC,EAAE,KAAK,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAGvF,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAGtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAG1E,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EACH,gCAAgC,EAChC,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACH,8BAA8B,EAC9B,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,mCAAmC,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC"}
@@ -16,7 +16,7 @@ export { createWebGLSpoofingScript } from './webgl-spoofing.js';
16
16
  export { createAudioFingerprintSpoofingScript } from './audio-spoofing.js';
17
17
  export { createAdvancedCanvasProtectionScript } from './canvas-protection.js';
18
18
  export { createClientRectSpoofingScript } from './client-rect-spoofing.js';
19
- export { createWebRTCSpoofingScript } from './webrtc-spoofing.js';
19
+ export { createWebRTCSpoofingScript, createWebRTCDisableScript } from './webrtc-spoofing.js';
20
20
  export { createWebGPUSpoofingScript } from './webgpu-spoofing.js';
21
21
  export { createPlatformConsistencyScript } from './platform-consistency.js';
22
22
  export { setupMouseMovementHumanization } from './mouse-humanization.js';
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,sCAAsC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAoB,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,oCAAoC,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,+BAA+B,EAAuB,MAAM,2BAA2B,CAAC;AACjG,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,iCAAiC,EAA0B,MAAM,YAAY,CAAC;AAEvF,6CAA6C;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtD,iDAAiD;AACjD,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAE1E,wBAAwB;AACxB,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EACH,gCAAgC,EAChC,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACH,8BAA8B,EAC9B,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,mCAAmC,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;GAWG;AAEH,sCAAsC;AACtC,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,yBAAyB,EAAoB,MAAM,qBAAqB,CAAC;AAClF,OAAO,EAAE,oCAAoC,EAAE,MAAM,qBAAqB,CAAC;AAC3E,OAAO,EAAE,oCAAoC,EAAE,MAAM,wBAAwB,CAAC;AAC9E,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,0BAA0B,EAAE,yBAAyB,EAAE,MAAM,sBAAsB,CAAC;AAC7F,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,+BAA+B,EAAuB,MAAM,2BAA2B,CAAC;AACjG,OAAO,EAAE,8BAA8B,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC;AAC7E,OAAO,EAAE,wBAAwB,EAAE,MAAM,oBAAoB,CAAC;AAC9D,OAAO,EAAE,+BAA+B,EAAE,MAAM,2BAA2B,CAAC;AAC5E,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,iCAAiC,EAA0B,MAAM,YAAY,CAAC;AAEvF,6CAA6C;AAC7C,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEtD,iDAAiD;AACjD,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAE1E,wBAAwB;AACxB,OAAO,EAAE,8BAA8B,EAAE,MAAM,2BAA2B,CAAC;AAC3E,OAAO,EAAE,8BAA8B,EAAE,MAAM,0BAA0B,CAAC;AAC1E,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EACH,gCAAgC,EAChC,yBAAyB,EACzB,oBAAoB,EACpB,yBAAyB,EAC5B,MAAM,4BAA4B,CAAC;AACpC,OAAO,EACH,8BAA8B,EAC9B,uBAAuB,EACvB,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EACrB,MAAM,0BAA0B,CAAC;AAClC,OAAO,EAAE,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAClE,OAAO,EAAE,mCAAmC,EAAE,MAAM,gCAAgC,CAAC;AACrF,OAAO,EAAE,+BAA+B,EAAE,MAAM,4BAA4B,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mouse-humanization.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/mouse-humanization.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,8BAA8B,WAAkB,GAAG,KAAG,OAAO,CAAC,IAAI,CAmD9E,CAAC"}
1
+ {"version":3,"file":"mouse-humanization.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/mouse-humanization.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,eAAO,MAAM,8BAA8B,WAAkB,GAAG,KAAG,OAAO,CAAC,IAAI,CAkE9E,CAAC"}
@@ -22,7 +22,22 @@ export const setupMouseMovementHumanization = async (client) => {
22
22
  return ((t ^ t >>> 14) >>> 0) / 4294967296;
23
23
  };
24
24
  };
25
- const sessionSeed = Date.now() ^ (Math.random() * 0xFFFFFFFF >>> 0);
25
+ // Stable seed: must NOT use Date.now() or Math.random() because this script
26
+ // re-executes on every reload via addScriptToEvaluateOnNewDocument.
27
+ const _stableHash = (salt) => {
28
+ const _s = typeof __stealth !== 'undefined' ? __stealth : {};
29
+ const key = _s.seedKey || '';
30
+ const ua = navigator.userAgent || '';
31
+ const s = screen;
32
+ let h = salt | 0;
33
+ for (let i = 0; i < key.length; i++) h = (h << 5) - h + key.charCodeAt(i) | 0;
34
+ for (let i = 0; i < ua.length; i++) h = (h << 5) - h + ua.charCodeAt(i) | 0;
35
+ h = (h << 5) - h + (s.width || 0) | 0;
36
+ h = (h << 5) - h + (s.height || 0) | 0;
37
+ h = (h << 5) - h + (s.colorDepth || 0) | 0;
38
+ return h >>> 0;
39
+ };
40
+ const sessionSeed = _stableHash(0xCAFE1009);
26
41
  const seededRandom = createSeededRNG(sessionSeed);
27
42
 
28
43
  // Bezier curve movement generator
@@ -1 +1 @@
1
- {"version":3,"file":"mouse-humanization.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/mouse-humanization.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,KAAK,EAAE,MAAW,EAAiB,EAAE;IAC/E,2EAA2E;IAC3E,6FAA6F;IAC7F,MAAM,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,EAAE,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA+C3D,EAAE,CAAC,CAAC;AACV,CAAC,CAAC"}
1
+ {"version":3,"file":"mouse-humanization.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/mouse-humanization.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,CAAC,MAAM,8BAA8B,GAAG,KAAK,EAAE,MAAW,EAAiB,EAAE;IAC/E,2EAA2E;IAC3E,6FAA6F;IAC7F,MAAM,MAAM,CAAC,IAAI,CAAC,gCAAgC,CAAC,EAAE,MAAM,EAAE;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;MA8D3D,EAAE,CAAC,CAAC;AACV,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"performance-spoofing.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/performance-spoofing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,+BAA+B,QAAO,MAmPlD,CAAC"}
1
+ {"version":3,"file":"performance-spoofing.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/performance-spoofing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,+BAA+B,QAAO,MAkQlD,CAAC"}