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.
- package/README.md +594 -0
- package/dist/browser-controller.d.ts.map +1 -1
- package/dist/browser-controller.js +10 -7
- package/dist/browser-controller.js.map +1 -1
- package/dist/browser-plugin.d.ts +11 -0
- package/dist/browser-plugin.d.ts.map +1 -1
- package/dist/browser-plugin.js +6 -1
- package/dist/browser-plugin.js.map +1 -1
- package/dist/browser-process/browser.d.ts +24 -0
- package/dist/browser-process/browser.d.ts.map +1 -1
- package/dist/browser-process/browser.js +22 -6
- package/dist/browser-process/browser.js.map +1 -1
- package/dist/browser-process/get-chrome-executable.d.ts +1 -0
- package/dist/browser-process/get-chrome-executable.d.ts.map +1 -1
- package/dist/browser-process/get-chrome-executable.js +15 -0
- package/dist/browser-process/get-chrome-executable.js.map +1 -1
- package/dist/browser-process/process.d.ts +2 -1
- package/dist/browser-process/process.d.ts.map +1 -1
- package/dist/browser-process/process.js +12 -1
- package/dist/browser-process/process.js.map +1 -1
- package/dist/crawler.d.ts +6 -0
- package/dist/crawler.d.ts.map +1 -1
- package/dist/crawler.js.map +1 -1
- package/dist/fingerprinting/fingerprint-injector.d.ts +4 -0
- package/dist/fingerprinting/fingerprint-injector.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-injector.js +85 -21
- package/dist/fingerprinting/fingerprint-injector.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/audio-spoofing.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/audio-spoofing.js +16 -1
- package/dist/fingerprinting/fingerprint-overrides/audio-spoofing.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/canvas-protection.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/canvas-protection.js +18 -1
- package/dist/fingerprinting/fingerprint-overrides/canvas-protection.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/client-rect-spoofing.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/client-rect-spoofing.js +16 -1
- package/dist/fingerprinting/fingerprint-overrides/client-rect-spoofing.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/coalesced-events-spoofing.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/coalesced-events-spoofing.js +16 -1
- package/dist/fingerprinting/fingerprint-overrides/coalesced-events-spoofing.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.js +16 -1
- package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/font-spoofing.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/font-spoofing.js +13 -3
- package/dist/fingerprinting/fingerprint-overrides/font-spoofing.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/index.d.ts +1 -1
- package/dist/fingerprinting/fingerprint-overrides/index.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/index.js +1 -1
- package/dist/fingerprinting/fingerprint-overrides/index.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/mouse-humanization.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/mouse-humanization.js +16 -1
- package/dist/fingerprinting/fingerprint-overrides/mouse-humanization.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/performance-spoofing.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/performance-spoofing.js +16 -1
- package/dist/fingerprinting/fingerprint-overrides/performance-spoofing.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/ua-ch.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/ua-ch.js +27 -18
- package/dist/fingerprinting/fingerprint-overrides/ua-ch.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/webgl-spoofing.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/webgl-spoofing.js +16 -4
- package/dist/fingerprinting/fingerprint-overrides/webgl-spoofing.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/webgpu-spoofing.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/webgpu-spoofing.js +16 -2
- package/dist/fingerprinting/fingerprint-overrides/webgpu-spoofing.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.d.ts +1 -0
- package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.js +53 -9
- package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.js.map +1 -1
- package/dist/page.d.ts +8 -0
- package/dist/page.d.ts.map +1 -1
- package/dist/page.js +84 -7
- package/dist/page.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- 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:
|
|
114
|
-
keyboard:
|
|
115
|
-
scroll:
|
|
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
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
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
|
-
|
|
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
|
|
526
|
-
|
|
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
|
-
//
|
|
600
|
-
|
|
601
|
-
|
|
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,
|
|
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
|
-
|
|
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
|
|
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,
|
|
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
|
-
|
|
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
|
|
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,
|
|
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 =
|
|
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
|
|
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,
|
|
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
|
-
|
|
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
|
|
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,
|
|
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
|
-
|
|
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
|
|
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,
|
|
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
|
-
//
|
|
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
|
|
17
|
-
|
|
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
|
|
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;
|
|
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;
|
|
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,
|
|
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
|
-
|
|
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
|
|
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,
|
|
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"}
|