jumpy-lion 0.0.41 → 0.0.43

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 (127) hide show
  1. package/dist/browser-controller.d.ts.map +1 -1
  2. package/dist/browser-controller.js +102 -16
  3. package/dist/browser-controller.js.map +1 -1
  4. package/dist/browser-plugin.d.ts +20 -1
  5. package/dist/browser-plugin.d.ts.map +1 -1
  6. package/dist/browser-plugin.js +21 -1
  7. package/dist/browser-plugin.js.map +1 -1
  8. package/dist/browser-process/browser.d.ts +22 -1
  9. package/dist/browser-process/browser.d.ts.map +1 -1
  10. package/dist/browser-process/browser.js +77 -5
  11. package/dist/browser-process/browser.js.map +1 -1
  12. package/dist/browser-profiles/chrome/default.d.ts +116 -0
  13. package/dist/browser-profiles/chrome/default.d.ts.map +1 -1
  14. package/dist/browser-profiles/chrome/default.js +118 -1
  15. package/dist/browser-profiles/chrome/default.js.map +1 -1
  16. package/dist/browser-profiles/chrome/populate-profile.d.ts +76 -0
  17. package/dist/browser-profiles/chrome/populate-profile.d.ts.map +1 -0
  18. package/dist/browser-profiles/chrome/populate-profile.js +300 -0
  19. package/dist/browser-profiles/chrome/populate-profile.js.map +1 -0
  20. package/dist/browser-profiles/index.d.ts +1 -0
  21. package/dist/browser-profiles/index.d.ts.map +1 -1
  22. package/dist/browser-profiles/index.js +2 -0
  23. package/dist/browser-profiles/index.js.map +1 -1
  24. package/dist/crawler.d.ts +32 -1
  25. package/dist/crawler.d.ts.map +1 -1
  26. package/dist/crawler.js +7 -0
  27. package/dist/crawler.js.map +1 -1
  28. package/dist/fingerprinting/custom-fingerprint-injector.d.ts +87 -0
  29. package/dist/fingerprinting/custom-fingerprint-injector.d.ts.map +1 -0
  30. package/dist/fingerprinting/custom-fingerprint-injector.js +342 -0
  31. package/dist/fingerprinting/custom-fingerprint-injector.js.map +1 -0
  32. package/dist/fingerprinting/fingerprint-injector.d.ts +40 -2
  33. package/dist/fingerprinting/fingerprint-injector.d.ts.map +1 -1
  34. package/dist/fingerprinting/fingerprint-injector.js +452 -44
  35. package/dist/fingerprinting/fingerprint-injector.js.map +1 -1
  36. package/dist/fingerprinting/fingerprint-overrides/audio-spoofing.d.ts.map +1 -1
  37. package/dist/fingerprinting/fingerprint-overrides/audio-spoofing.js +11 -1
  38. package/dist/fingerprinting/fingerprint-overrides/audio-spoofing.js.map +1 -1
  39. package/dist/fingerprinting/fingerprint-overrides/canvas-protection.d.ts.map +1 -1
  40. package/dist/fingerprinting/fingerprint-overrides/canvas-protection.js +11 -1
  41. package/dist/fingerprinting/fingerprint-overrides/canvas-protection.js.map +1 -1
  42. package/dist/fingerprinting/fingerprint-overrides/cdp-detection-bypass.d.ts +14 -0
  43. package/dist/fingerprinting/fingerprint-overrides/cdp-detection-bypass.d.ts.map +1 -0
  44. package/dist/fingerprinting/fingerprint-overrides/cdp-detection-bypass.js +776 -0
  45. package/dist/fingerprinting/fingerprint-overrides/cdp-detection-bypass.js.map +1 -0
  46. package/dist/fingerprinting/fingerprint-overrides/client-rect-spoofing.d.ts.map +1 -1
  47. package/dist/fingerprinting/fingerprint-overrides/client-rect-spoofing.js +11 -1
  48. package/dist/fingerprinting/fingerprint-overrides/client-rect-spoofing.js.map +1 -1
  49. package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.d.ts +14 -0
  50. package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.d.ts.map +1 -0
  51. package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.js +643 -0
  52. package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.js.map +1 -0
  53. package/dist/fingerprinting/fingerprint-overrides/font-spoofing.d.ts.map +1 -1
  54. package/dist/fingerprinting/fingerprint-overrides/font-spoofing.js +11 -1
  55. package/dist/fingerprinting/fingerprint-overrides/font-spoofing.js.map +1 -1
  56. package/dist/fingerprinting/fingerprint-overrides/index.d.ts +17 -1
  57. package/dist/fingerprinting/fingerprint-overrides/index.d.ts.map +1 -1
  58. package/dist/fingerprinting/fingerprint-overrides/index.js +21 -1
  59. package/dist/fingerprinting/fingerprint-overrides/index.js.map +1 -1
  60. package/dist/fingerprinting/fingerprint-overrides/keyboard-humanization.d.ts +45 -0
  61. package/dist/fingerprinting/fingerprint-overrides/keyboard-humanization.d.ts.map +1 -0
  62. package/dist/fingerprinting/fingerprint-overrides/keyboard-humanization.js +291 -0
  63. package/dist/fingerprinting/fingerprint-overrides/keyboard-humanization.js.map +1 -0
  64. package/dist/fingerprinting/fingerprint-overrides/locale-spoofing.d.ts.map +1 -1
  65. package/dist/fingerprinting/fingerprint-overrides/locale-spoofing.js +153 -90
  66. package/dist/fingerprinting/fingerprint-overrides/locale-spoofing.js.map +1 -1
  67. package/dist/fingerprinting/fingerprint-overrides/mouse-humanization.d.ts.map +1 -1
  68. package/dist/fingerprinting/fingerprint-overrides/mouse-humanization.js +4 -5
  69. package/dist/fingerprinting/fingerprint-overrides/mouse-humanization.js.map +1 -1
  70. package/dist/fingerprinting/fingerprint-overrides/performance-spoofing.d.ts.map +1 -1
  71. package/dist/fingerprinting/fingerprint-overrides/performance-spoofing.js +11 -1
  72. package/dist/fingerprinting/fingerprint-overrides/performance-spoofing.js.map +1 -1
  73. package/dist/fingerprinting/fingerprint-overrides/platform-consistency.d.ts +13 -0
  74. package/dist/fingerprinting/fingerprint-overrides/platform-consistency.d.ts.map +1 -1
  75. package/dist/fingerprinting/fingerprint-overrides/platform-consistency.js +413 -70
  76. package/dist/fingerprinting/fingerprint-overrides/platform-consistency.js.map +1 -1
  77. package/dist/fingerprinting/fingerprint-overrides/prototype-integrity.d.ts +13 -0
  78. package/dist/fingerprinting/fingerprint-overrides/prototype-integrity.d.ts.map +1 -0
  79. package/dist/fingerprinting/fingerprint-overrides/prototype-integrity.js +355 -0
  80. package/dist/fingerprinting/fingerprint-overrides/prototype-integrity.js.map +1 -0
  81. package/dist/fingerprinting/fingerprint-overrides/runtime-enable-bypass.d.ts +12 -3
  82. package/dist/fingerprinting/fingerprint-overrides/runtime-enable-bypass.d.ts.map +1 -1
  83. package/dist/fingerprinting/fingerprint-overrides/runtime-enable-bypass.js +261 -71
  84. package/dist/fingerprinting/fingerprint-overrides/runtime-enable-bypass.js.map +1 -1
  85. package/dist/fingerprinting/fingerprint-overrides/scroll-humanization.d.ts +55 -0
  86. package/dist/fingerprinting/fingerprint-overrides/scroll-humanization.d.ts.map +1 -0
  87. package/dist/fingerprinting/fingerprint-overrides/scroll-humanization.js +380 -0
  88. package/dist/fingerprinting/fingerprint-overrides/scroll-humanization.js.map +1 -0
  89. package/dist/fingerprinting/fingerprint-overrides/stealth-script.d.ts +8 -0
  90. package/dist/fingerprinting/fingerprint-overrides/stealth-script.d.ts.map +1 -1
  91. package/dist/fingerprinting/fingerprint-overrides/stealth-script.js +756 -71
  92. package/dist/fingerprinting/fingerprint-overrides/stealth-script.js.map +1 -1
  93. package/dist/fingerprinting/fingerprint-overrides/storage-consistency.d.ts +13 -0
  94. package/dist/fingerprinting/fingerprint-overrides/storage-consistency.d.ts.map +1 -0
  95. package/dist/fingerprinting/fingerprint-overrides/storage-consistency.js +368 -0
  96. package/dist/fingerprinting/fingerprint-overrides/storage-consistency.js.map +1 -0
  97. package/dist/fingerprinting/fingerprint-overrides/timing-consistency.d.ts +13 -0
  98. package/dist/fingerprinting/fingerprint-overrides/timing-consistency.d.ts.map +1 -0
  99. package/dist/fingerprinting/fingerprint-overrides/timing-consistency.js +438 -0
  100. package/dist/fingerprinting/fingerprint-overrides/timing-consistency.js.map +1 -0
  101. package/dist/fingerprinting/fingerprint-overrides/ua-ch.d.ts +7 -1
  102. package/dist/fingerprinting/fingerprint-overrides/ua-ch.d.ts.map +1 -1
  103. package/dist/fingerprinting/fingerprint-overrides/ua-ch.js +158 -58
  104. package/dist/fingerprinting/fingerprint-overrides/ua-ch.js.map +1 -1
  105. package/dist/fingerprinting/fingerprint-overrides/utils.d.ts +12 -0
  106. package/dist/fingerprinting/fingerprint-overrides/utils.d.ts.map +1 -0
  107. package/dist/fingerprinting/fingerprint-overrides/utils.js +517 -0
  108. package/dist/fingerprinting/fingerprint-overrides/utils.js.map +1 -0
  109. package/dist/fingerprinting/fingerprint-overrides/webgl-spoofing.d.ts.map +1 -1
  110. package/dist/fingerprinting/fingerprint-overrides/webgl-spoofing.js +51 -10
  111. package/dist/fingerprinting/fingerprint-overrides/webgl-spoofing.js.map +1 -1
  112. package/dist/fingerprinting/fingerprint-overrides/webgpu-spoofing.d.ts.map +1 -1
  113. package/dist/fingerprinting/fingerprint-overrides/webgpu-spoofing.js +11 -1
  114. package/dist/fingerprinting/fingerprint-overrides/webgpu-spoofing.js.map +1 -1
  115. package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.d.ts.map +1 -1
  116. package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.js +11 -1
  117. package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.js.map +1 -1
  118. package/dist/page.d.ts +12 -0
  119. package/dist/page.d.ts.map +1 -1
  120. package/dist/page.js +35 -3
  121. package/dist/page.js.map +1 -1
  122. package/dist/tsconfig.build.tsbuildinfo +1 -1
  123. package/package.json +4 -4
  124. package/dist/fingerprinting/canvas-fingerprint.d.ts +0 -4
  125. package/dist/fingerprinting/canvas-fingerprint.d.ts.map +0 -1
  126. package/dist/fingerprinting/canvas-fingerprint.js +0 -60
  127. package/dist/fingerprinting/canvas-fingerprint.js.map +0 -1
@@ -1,93 +1,193 @@
1
1
  /**
2
- * navigator.userAgentData spoofing
2
+ * navigator.userAgentData spoofing (UA-CH Client Hints)
3
3
  * Generates brand list & bitness matching the chosen platform.
4
+ *
5
+ * 2024-2025 Enhanced:
6
+ * - Consistent platform returns "Windows" for Win32
7
+ * - Proper getHighEntropyValues() with all Windows-specific fields
8
+ * - Realistic Chrome version numbers matching userAgent
9
+ * - Proper prototype chain and native-like appearance
4
10
  */
5
11
  export const createUAClientHintsSpoofingScript = (platform = 'Win32') => {
6
12
  let platformData;
7
13
  let platformVersion;
8
- if (platform.startsWith('Win')) {
14
+ let architecture;
15
+ let bitness;
16
+ let wow64;
17
+ if (platform.startsWith('Win') || platform === 'Win32') {
9
18
  platformData = 'Windows';
10
- platformVersion = '15.0.0';
19
+ platformVersion = '15.0.0'; // Windows 11
20
+ architecture = 'x86';
21
+ bitness = '64';
22
+ wow64 = false;
11
23
  }
12
24
  else if (platform.startsWith('Mac')) {
13
25
  platformData = 'macOS';
14
- platformVersion = '14.0.0';
26
+ platformVersion = '14.4.0'; // macOS Sonoma
27
+ architecture = 'arm';
28
+ bitness = '64';
29
+ wow64 = false;
15
30
  }
16
31
  else {
17
32
  platformData = 'Linux';
18
- platformVersion = '6.2.0';
33
+ platformVersion = '6.5.0';
34
+ architecture = 'x86';
35
+ bitness = '64';
36
+ wow64 = false;
19
37
  }
38
+ // Use realistic Chrome version (should match userAgent)
39
+ const chromeVersion = '131';
40
+ const fullVersion = '131.0.6778.139';
20
41
  return `
21
42
  (() => {
22
43
  'use strict';
23
44
 
24
- // UA-CH (User-Agent Client Hints) spoofing for 2025
25
- const brands = [
26
- { brand: "Chromium", version: "125" },
27
- { brand: "Google Chrome", version: "125" },
28
- { brand: "Not A(Brand", version: "99" }
29
- ];
45
+ // UA-CH (User-Agent Client Hints) spoofing for 2024-2025
46
+ // CRITICAL: Must match the platform spoofing and userAgent
47
+
48
+ const DEBUG_PREFIX = '[CDP-FP-DEBUG]';
49
+
50
+ // Brand list in Chrome's format - order matters!
51
+ const brands = Object.freeze([
52
+ Object.freeze({ brand: "Google Chrome", version: "${chromeVersion}" }),
53
+ Object.freeze({ brand: "Chromium", version: "${chromeVersion}" }),
54
+ Object.freeze({ brand: "Not_A Brand", version: "24" })
55
+ ]);
56
+
57
+ const fullVersionList = Object.freeze([
58
+ Object.freeze({ brand: "Google Chrome", version: "${fullVersion}" }),
59
+ Object.freeze({ brand: "Chromium", version: "${fullVersion}" }),
60
+ Object.freeze({ brand: "Not_A Brand", version: "24.0.0.0" })
61
+ ]);
30
62
 
31
63
  const mobile = false;
32
64
  const platformData = "${platformData}";
65
+ const platformVersion = "${platformVersion}";
66
+ const architecture = "${architecture}";
67
+ const bitness = "${bitness}";
68
+ const wow64 = ${wow64};
33
69
 
34
- const uaData = {
70
+ // High entropy values for getHighEntropyValues()
71
+ const highEntropyValues = {
72
+ architecture: architecture,
73
+ bitness: bitness,
35
74
  brands: brands,
75
+ fullVersionList: fullVersionList,
36
76
  mobile: mobile,
77
+ model: "",
37
78
  platform: platformData,
79
+ platformVersion: platformVersion,
80
+ uaFullVersion: "${fullVersion}",
81
+ wow64: wow64,
82
+ formFactor: []
83
+ };
84
+
85
+ // Create a proper NavigatorUAData-like object
86
+ const createUAData = () => {
87
+ const uaData = Object.create(null);
38
88
 
39
- getHighEntropyValues(hints) {
40
- return new Promise((resolve) => {
41
- const base = {
42
- architecture: "x86",
43
- bitness: "64",
44
- brands: brands,
45
- mobile: mobile,
46
- model: "",
47
- platform: platformData,
48
- platformVersion: "${platformVersion}",
49
- uaFullVersion: "125.0.6422.4",
50
- fullVersionList: brands.map(b => ({ brand: b.brand, version: "125.0.6422.4" })),
51
- wow64: false
52
- };
53
-
54
- const result = {};
55
- hints.forEach(hint => {
56
- if (hint in base) {
57
- result[hint] = base[hint];
58
- }
59
- });
60
-
61
- resolve(result);
62
- });
63
- },
89
+ // Define properties to match NavigatorUAData interface
90
+ Object.defineProperties(uaData, {
91
+ brands: {
92
+ get: function() { return brands; },
93
+ enumerable: true,
94
+ configurable: false
95
+ },
96
+ mobile: {
97
+ get: function() { return mobile; },
98
+ enumerable: true,
99
+ configurable: false
100
+ },
101
+ platform: {
102
+ get: function() { return platformData; },
103
+ enumerable: true,
104
+ configurable: false
105
+ },
106
+ getHighEntropyValues: {
107
+ value: function(hints) {
108
+ return new Promise((resolve) => {
109
+ // Simulate slight async delay like real browser
110
+ setTimeout(() => {
111
+ const result = {};
112
+
113
+ if (!hints || !Array.isArray(hints)) {
114
+ resolve(result);
115
+ return;
116
+ }
117
+
118
+ // Return requested hints
119
+ for (const hint of hints) {
120
+ if (hint in highEntropyValues) {
121
+ result[hint] = highEntropyValues[hint];
122
+ }
123
+ }
124
+
125
+ resolve(result);
126
+ }, 1 + Math.random() * 2);
127
+ });
128
+ },
129
+ writable: false,
130
+ enumerable: true,
131
+ configurable: false
132
+ },
133
+ toJSON: {
134
+ value: function() {
135
+ return {
136
+ brands: brands,
137
+ mobile: mobile,
138
+ platform: platformData
139
+ };
140
+ },
141
+ writable: false,
142
+ enumerable: true,
143
+ configurable: false
144
+ }
145
+ });
64
146
 
65
- toJSON() {
66
- return {
67
- brands: brands,
68
- mobile: mobile,
69
- platform: platformData
70
- };
71
- }
147
+ // Make it look like a real NavigatorUAData object
148
+ Object.defineProperty(uaData, Symbol.toStringTag, {
149
+ value: 'NavigatorUAData',
150
+ writable: false,
151
+ enumerable: false,
152
+ configurable: true
153
+ });
154
+
155
+ // Freeze to prevent modification
156
+ return Object.freeze(uaData);
72
157
  };
73
158
 
74
- // Override navigator.userAgentData
75
- Object.defineProperty(navigator, "userAgentData", {
76
- get: () => uaData,
77
- configurable: false,
78
- enumerable: true
79
- });
159
+ const uaData = createUAData();
160
+
161
+ // Register with stealth utils if available
162
+ if (window.__stealthUtils__) {
163
+ window.__stealthUtils__.registerNativeFunction(uaData.getHighEntropyValues, 'getHighEntropyValues');
164
+ window.__stealthUtils__.registerNativeFunction(uaData.toJSON, 'toJSON');
165
+ }
166
+
167
+ // Override navigator.userAgentData with prototype integrity
168
+ const overrideUserAgentData = () => {
169
+ // Use prototype integrity if available
170
+ if (window.__prototypeIntegrity__) {
171
+ window.__prototypeIntegrity__.overridePropertyNative(navigator, 'userAgentData', {
172
+ get: function() { return uaData; },
173
+ enumerable: true,
174
+ configurable: false
175
+ });
176
+ } else {
177
+ // Fallback to standard override
178
+ Object.defineProperty(navigator, 'userAgentData', {
179
+ get: function() { return uaData; },
180
+ enumerable: true,
181
+ configurable: false
182
+ });
183
+ }
184
+ };
80
185
 
81
- // Also ensure the property exists and is not writable
82
186
  try {
83
- Object.defineProperty(navigator, "userAgentData", {
84
- value: uaData,
85
- writable: false,
86
- configurable: false,
87
- enumerable: true
88
- });
187
+ overrideUserAgentData();
188
+ console.log(DEBUG_PREFIX, '✓ UA-CH spoofing applied - platform:', platformData);
89
189
  } catch (e) {
90
- // Property might already be defined
190
+ console.error('[CDP-FP-ERROR]', 'Failed to apply UA-CH spoofing:', e);
91
191
  }
92
192
  })();
93
193
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"ua-ch.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/ua-ch.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,QAAQ,GAAG,OAAO,EAAU,EAAE;IAC5E,IAAI,YAAoB,CAAC;IACzB,IAAI,eAAuB,CAAC;IAE5B,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7B,YAAY,GAAG,SAAS,CAAC;QACzB,eAAe,GAAG,QAAQ,CAAC;IAC/B,CAAC;SAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACpC,YAAY,GAAG,OAAO,CAAC;QACvB,eAAe,GAAG,QAAQ,CAAC;IAC/B,CAAC;SAAM,CAAC;QACJ,YAAY,GAAG,OAAO,CAAC;QACvB,eAAe,GAAG,OAAO,CAAC;IAC9B,CAAC;IAED,OAAO;;;;;;;;;;;;4BAYiB,YAAY;;;;;;;;;;;;;;;;wCAgBA,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA6CtD,CAAC;AACF,CAAC,CAAC"}
1
+ {"version":3,"file":"ua-ch.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/ua-ch.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,iCAAiC,GAAG,CAAC,QAAQ,GAAG,OAAO,EAAU,EAAE;IAC5E,IAAI,YAAoB,CAAC;IACzB,IAAI,eAAuB,CAAC;IAC5B,IAAI,YAAoB,CAAC;IACzB,IAAI,OAAe,CAAC;IACpB,IAAI,KAAc,CAAC;IAEnB,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,IAAI,QAAQ,KAAK,OAAO,EAAE,CAAC;QACrD,YAAY,GAAG,SAAS,CAAC;QACzB,eAAe,GAAG,QAAQ,CAAC,CAAC,aAAa;QACzC,YAAY,GAAG,KAAK,CAAC;QACrB,OAAO,GAAG,IAAI,CAAC;QACf,KAAK,GAAG,KAAK,CAAC;IAClB,CAAC;SAAM,IAAI,QAAQ,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACpC,YAAY,GAAG,OAAO,CAAC;QACvB,eAAe,GAAG,QAAQ,CAAC,CAAC,eAAe;QAC3C,YAAY,GAAG,KAAK,CAAC;QACrB,OAAO,GAAG,IAAI,CAAC;QACf,KAAK,GAAG,KAAK,CAAC;IAClB,CAAC;SAAM,CAAC;QACJ,YAAY,GAAG,OAAO,CAAC;QACvB,eAAe,GAAG,OAAO,CAAC;QAC1B,YAAY,GAAG,KAAK,CAAC;QACrB,OAAO,GAAG,IAAI,CAAC;QACf,KAAK,GAAG,KAAK,CAAC;IAClB,CAAC;IAED,wDAAwD;IACxD,MAAM,aAAa,GAAG,KAAK,CAAC;IAC5B,MAAM,WAAW,GAAG,gBAAgB,CAAC;IAErC,OAAO;;;;;;;;;;;4DAWiD,aAAa;uDAClB,aAAa;;;;;4DAKR,WAAW;uDAChB,WAAW;;;;;4BAKtC,YAAY;+BACT,eAAe;4BAClB,YAAY;uBACjB,OAAO;oBACV,KAAK;;;;;;;;;;;;0BAYC,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAiHpC,CAAC;AACF,CAAC,CAAC"}
@@ -0,0 +1,12 @@
1
+ /**
2
+ * Stealth Utility Functions
3
+ *
4
+ * Similar to puppeteer-extra-plugin-stealth's utils.js
5
+ * Provides helper functions for overriding browser properties without detection.
6
+ */
7
+ /**
8
+ * Creates a stealth utilities script that can be injected into the browser.
9
+ * This script provides helper functions for property overrides that hide their tracks.
10
+ */
11
+ export declare const createStealthUtilsScript: () => string;
12
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/utils.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;;GAGG;AACH,eAAO,MAAM,wBAAwB,QAAO,MAyf3C,CAAC"}