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,6 +1,14 @@
1
1
  /**
2
2
  * Fingerprint Overrides Index
3
3
  * Exports all individual fingerprint override modules
4
+ *
5
+ * 2024-2025 Additions:
6
+ * - CDP Detection Bypass
7
+ * - Storage Consistency
8
+ * - Timing Consistency
9
+ * - Keyboard Humanization
10
+ * - Scroll Humanization
11
+ * - DataDome Bypass
4
12
  */
5
13
  export { createStealthScript } from './stealth-script.js';
6
14
  export { createWebGLSpoofingScript, type WebGLConfig } from './webgl-spoofing.js';
@@ -11,9 +19,17 @@ export { createWebRTCSpoofingScript } from './webrtc-spoofing.js';
11
19
  export { createWebGPUSpoofingScript } from './webgpu-spoofing.js';
12
20
  export { createPlatformConsistencyScript, type PlatformConfig } from './platform-consistency.js';
13
21
  export { setupMouseMovementHumanization } from './mouse-humanization.js';
14
- export { setupRuntimeEnableBypass } from './runtime-enable-bypass.js';
22
+ export { createRuntimeEnableBypassScript } from './runtime-enable-bypass.js';
15
23
  export { createFontSpoofingScript } from './font-spoofing.js';
16
24
  export { createPerformanceSpoofingScript } from './performance-spoofing.js';
17
25
  export { createLocaleSpoofingScript } from './locale-spoofing.js';
18
26
  export { createUAClientHintsSpoofingScript } from './ua-ch.js';
27
+ export { createStealthUtilsScript } from './utils.js';
28
+ export { createPrototypeIntegrityScript } from './prototype-integrity.js';
29
+ export { createCDPDetectionBypassScript } from './cdp-detection-bypass.js';
30
+ export { createStorageConsistencyScript } from './storage-consistency.js';
31
+ export { createTimingConsistencyScript } from './timing-consistency.js';
32
+ export { createKeyboardHumanizationScript, setupKeyboardHumanization, generateTypingDelays, createHumanTypingFunction } from './keyboard-humanization.js';
33
+ export { createScrollHumanizationScript, setupScrollHumanization, humanScroll, humanScrollToElement, generateScrollPath } from './scroll-humanization.js';
34
+ export { createDataDomeBypassScript } from './datadome-bypass.js';
19
35
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,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,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,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,MAAM,YAAY,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,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,MAAM,YAAY,CAAC;AAG/D,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"}
@@ -1,7 +1,16 @@
1
1
  /**
2
2
  * Fingerprint Overrides Index
3
3
  * Exports all individual fingerprint override modules
4
+ *
5
+ * 2024-2025 Additions:
6
+ * - CDP Detection Bypass
7
+ * - Storage Consistency
8
+ * - Timing Consistency
9
+ * - Keyboard Humanization
10
+ * - Scroll Humanization
11
+ * - DataDome Bypass
4
12
  */
13
+ // Base stealth and protection scripts
5
14
  export { createStealthScript } from './stealth-script.js';
6
15
  export { createWebGLSpoofingScript } from './webgl-spoofing.js';
7
16
  export { createAudioFingerprintSpoofingScript } from './audio-spoofing.js';
@@ -11,9 +20,20 @@ export { createWebRTCSpoofingScript } from './webrtc-spoofing.js';
11
20
  export { createWebGPUSpoofingScript } from './webgpu-spoofing.js';
12
21
  export { createPlatformConsistencyScript } from './platform-consistency.js';
13
22
  export { setupMouseMovementHumanization } from './mouse-humanization.js';
14
- export { setupRuntimeEnableBypass } from './runtime-enable-bypass.js';
23
+ export { createRuntimeEnableBypassScript } from './runtime-enable-bypass.js';
15
24
  export { createFontSpoofingScript } from './font-spoofing.js';
16
25
  export { createPerformanceSpoofingScript } from './performance-spoofing.js';
17
26
  export { createLocaleSpoofingScript } from './locale-spoofing.js';
18
27
  export { createUAClientHintsSpoofingScript } from './ua-ch.js';
28
+ // Stealth utilities (must be injected first)
29
+ export { createStealthUtilsScript } from './utils.js';
30
+ // Prototype integrity (should be injected early)
31
+ export { createPrototypeIntegrityScript } from './prototype-integrity.js';
32
+ // 2024-2025 New modules
33
+ export { createCDPDetectionBypassScript } from './cdp-detection-bypass.js';
34
+ export { createStorageConsistencyScript } from './storage-consistency.js';
35
+ export { createTimingConsistencyScript } from './timing-consistency.js';
36
+ export { createKeyboardHumanizationScript, setupKeyboardHumanization, generateTypingDelays, createHumanTypingFunction } from './keyboard-humanization.js';
37
+ export { createScrollHumanizationScript, setupScrollHumanization, humanScroll, humanScrollToElement, generateScrollPath } from './scroll-humanization.js';
38
+ export { createDataDomeBypassScript } from './datadome-bypass.js';
19
39
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,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,wBAAwB,EAAE,MAAM,4BAA4B,CAAC;AACtE,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,MAAM,YAAY,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,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,EAAE,MAAM,YAAY,CAAC;AAE/D,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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * Keyboard Humanization Module
3
+ * Simulates realistic keyboard behavior for 2024-2025
4
+ *
5
+ * Features:
6
+ * - Variable keystroke timing (faster for common patterns)
7
+ * - Realistic key press/release timing gaps
8
+ * - Shift key timing consistency
9
+ * - Tab/Enter key natural delays
10
+ * - CDP-level typing enhancement
11
+ */
12
+ /**
13
+ * Keyboard timing configuration
14
+ */
15
+ interface KeyboardConfig {
16
+ /** Base delay between keystrokes in ms */
17
+ baseDelay: number;
18
+ /** Variance in delay (±ms) */
19
+ delayVariance: number;
20
+ /** Delay between key press and release in ms */
21
+ pressReleaseDelay: number;
22
+ /** Extra delay for special keys (Enter, Tab) */
23
+ specialKeyDelay: number;
24
+ /** Delay when using shift key */
25
+ shiftDelay: number;
26
+ }
27
+ /**
28
+ * Generate human-like typing delays for a string
29
+ */
30
+ export declare const generateTypingDelays: (text: string, config?: Partial<KeyboardConfig>) => number[];
31
+ /**
32
+ * Create a script that enhances keyboard events in the browser
33
+ */
34
+ export declare const createKeyboardHumanizationScript: () => string;
35
+ /**
36
+ * CDP-level keyboard typing helper
37
+ * Returns an async function that types text with human-like delays
38
+ */
39
+ export declare const createHumanTypingFunction: (client: unknown, config?: Partial<KeyboardConfig>) => Promise<(text: string) => Promise<void>>;
40
+ /**
41
+ * Setup keyboard humanization at CDP level
42
+ */
43
+ export declare const setupKeyboardHumanization: (client: unknown) => Promise<void>;
44
+ export {};
45
+ //# sourceMappingURL=keyboard-humanization.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyboard-humanization.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/keyboard-humanization.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH;;GAEG;AACH,UAAU,cAAc;IACpB,0CAA0C;IAC1C,SAAS,EAAE,MAAM,CAAC;IAClB,8BAA8B;IAC9B,aAAa,EAAE,MAAM,CAAC;IACtB,gDAAgD;IAChD,iBAAiB,EAAE,MAAM,CAAC;IAC1B,gDAAgD;IAChD,eAAe,EAAE,MAAM,CAAC;IACxB,iCAAiC;IACjC,UAAU,EAAE,MAAM,CAAC;CACtB;AAqBD;;GAEG;AACH,eAAO,MAAM,oBAAoB,SACvB,MAAM,WACJ,OAAO,CAAC,cAAc,CAAC,KAChC,MAAM,EAiDR,CAAC;AA2BF;;GAEG;AACH,eAAO,MAAM,gCAAgC,QAAO,MA+HnD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,yBAAyB,WAC1B,OAAO,WACP,OAAO,CAAC,cAAc,CAAC,KAChC,OAAO,CAAC,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CA+DzC,CAAC;AAOF;;GAEG;AACH,eAAO,MAAM,yBAAyB,WAAkB,OAAO,KAAG,OAAO,CAAC,IAAI,CAc7E,CAAC"}
@@ -0,0 +1,291 @@
1
+ /**
2
+ * Keyboard Humanization Module
3
+ * Simulates realistic keyboard behavior for 2024-2025
4
+ *
5
+ * Features:
6
+ * - Variable keystroke timing (faster for common patterns)
7
+ * - Realistic key press/release timing gaps
8
+ * - Shift key timing consistency
9
+ * - Tab/Enter key natural delays
10
+ * - CDP-level typing enhancement
11
+ */
12
+ const DEFAULT_CONFIG = {
13
+ baseDelay: 80,
14
+ delayVariance: 40,
15
+ pressReleaseDelay: 30,
16
+ specialKeyDelay: 150,
17
+ shiftDelay: 50,
18
+ };
19
+ /**
20
+ * Common word patterns that are typed faster
21
+ */
22
+ const COMMON_PATTERNS = [
23
+ 'the', 'and', 'ing', 'ion', 'tion', 'ent', 'ation', 'for',
24
+ 'her', 'ter', 'hat', 'tha', 'ere', 'ate', 'his', 'con', 'res',
25
+ 'ver', 'all', 'ess', 'not', 'ive', 'was', 'ect', 'rea', 'com',
26
+ 'eve', 'per', 'int', 'est', 'sta', 'cti', 'ica', 'ist', 'ear',
27
+ 'ain', 'one', 'our', 'iti', 'rat', 'ted', 'men', 'ome', 'man',
28
+ ];
29
+ /**
30
+ * Generate human-like typing delays for a string
31
+ */
32
+ export const generateTypingDelays = (text, config = {}) => {
33
+ const cfg = { ...DEFAULT_CONFIG, ...config };
34
+ const delays = [];
35
+ for (let i = 0; i < text.length; i++) {
36
+ const char = text[i];
37
+ const prevChar = i > 0 ? text[i - 1] : '';
38
+ const nextChars = text.substring(i, i + 3).toLowerCase();
39
+ // Base delay with variance
40
+ let delay = cfg.baseDelay + (Math.random() - 0.5) * cfg.delayVariance * 2;
41
+ // Faster for common patterns
42
+ if (COMMON_PATTERNS.some(pattern => nextChars.startsWith(pattern))) {
43
+ delay *= 0.7;
44
+ }
45
+ // Slower for uppercase (shift key)
46
+ if (char >= 'A' && char <= 'Z') {
47
+ delay += cfg.shiftDelay;
48
+ }
49
+ // Slower for special characters
50
+ if (/[!@#$%^&*()_+{}|:"<>?~`\-=\[\]\\;',./]/.test(char)) {
51
+ delay += cfg.specialKeyDelay * 0.5;
52
+ }
53
+ // Pause after punctuation
54
+ if (/[.!?]/.test(prevChar)) {
55
+ delay += cfg.specialKeyDelay;
56
+ }
57
+ // Slight pause after spaces (word boundary)
58
+ if (prevChar === ' ') {
59
+ delay += cfg.specialKeyDelay * 0.3;
60
+ }
61
+ // Faster when same hand (adjacent keys)
62
+ if (areAdjacentKeys(prevChar, char)) {
63
+ delay *= 0.8;
64
+ }
65
+ // Add minimum delay
66
+ delay = Math.max(20, delay);
67
+ delays.push(Math.round(delay));
68
+ }
69
+ return delays;
70
+ };
71
+ /**
72
+ * Check if two keys are adjacent on a QWERTY keyboard
73
+ */
74
+ const areAdjacentKeys = (char1, char2) => {
75
+ const rows = [
76
+ 'qwertyuiop',
77
+ 'asdfghjkl',
78
+ 'zxcvbnm',
79
+ ];
80
+ const c1 = char1.toLowerCase();
81
+ const c2 = char2.toLowerCase();
82
+ for (const row of rows) {
83
+ const idx1 = row.indexOf(c1);
84
+ const idx2 = row.indexOf(c2);
85
+ if (idx1 !== -1 && idx2 !== -1 && Math.abs(idx1 - idx2) === 1) {
86
+ return true;
87
+ }
88
+ }
89
+ return false;
90
+ };
91
+ /**
92
+ * Create a script that enhances keyboard events in the browser
93
+ */
94
+ export const createKeyboardHumanizationScript = () => {
95
+ return `
96
+ (() => {
97
+ 'use strict';
98
+
99
+ // Keyboard Humanization for 2024-2025
100
+ const humanizeKeyboard = () => {
101
+ // Store original event constructors
102
+ const OriginalKeyboardEvent = KeyboardEvent;
103
+
104
+ // Track key timing for consistency
105
+ let lastKeyTime = 0;
106
+ let lastKeyCode = '';
107
+
108
+ // Generate consistent timing based on key combination
109
+ const getKeyTiming = (key, isShift = false, isPunctuation = false) => {
110
+ const baseDelay = 80;
111
+ let timing = baseDelay + (Math.random() - 0.5) * 40;
112
+
113
+ // Slower for shift combinations
114
+ if (isShift) {
115
+ timing += 50;
116
+ }
117
+
118
+ // Slower for punctuation
119
+ if (isPunctuation) {
120
+ timing += 30;
121
+ }
122
+
123
+ // Ensure minimum gap between keys
124
+ const now = performance.now();
125
+ if (now - lastKeyTime < 30) {
126
+ timing += 30 - (now - lastKeyTime);
127
+ }
128
+
129
+ lastKeyTime = now;
130
+ lastKeyCode = key;
131
+
132
+ return Math.round(timing);
133
+ };
134
+
135
+ // Override KeyboardEvent to include realistic properties
136
+ window.KeyboardEvent = function(type, eventInitDict = {}) {
137
+ // Ensure realistic event properties
138
+ const enhancedInit = { ...eventInitDict };
139
+
140
+ // Add realistic timing properties if not set
141
+ if (!enhancedInit.repeat) {
142
+ enhancedInit.repeat = false;
143
+ }
144
+
145
+ // Ensure proper location for modifier keys
146
+ if (['Shift', 'Control', 'Alt', 'Meta'].includes(enhancedInit.key)) {
147
+ if (!enhancedInit.location) {
148
+ enhancedInit.location = Math.random() > 0.7 ? 2 : 1; // Right or Left
149
+ }
150
+ }
151
+
152
+ const event = new OriginalKeyboardEvent(type, enhancedInit);
153
+
154
+ return event;
155
+ };
156
+
157
+ // Note: Don't assign to prototype - it may be frozen in modern Chrome
158
+ // The Proxy wrapper handles prototype access if needed
159
+
160
+ // Override document.createEvent for legacy support
161
+ const originalCreateEvent = document.createEvent;
162
+ document.createEvent = function(eventType) {
163
+ const event = originalCreateEvent.call(this, eventType);
164
+
165
+ if (eventType.toLowerCase().includes('keyboard')) {
166
+ // Add realistic properties to keyboard events
167
+ const originalInitKeyboardEvent = event.initKeyboardEvent;
168
+ if (originalInitKeyboardEvent) {
169
+ event.initKeyboardEvent = function(...args) {
170
+ // Enhance the initialization
171
+ originalInitKeyboardEvent.apply(this, args);
172
+ };
173
+ }
174
+ }
175
+
176
+ return event;
177
+ };
178
+
179
+ // Track and normalize trusted key events
180
+ const originalAddEventListener = EventTarget.prototype.addEventListener;
181
+
182
+ EventTarget.prototype.addEventListener = function(type, listener, options) {
183
+ if (type === 'keydown' || type === 'keyup' || type === 'keypress') {
184
+ const wrappedListener = function(event) {
185
+ // Ensure event has realistic timing
186
+ if (event.timeStamp < lastKeyTime) {
187
+ Object.defineProperty(event, 'timeStamp', {
188
+ value: lastKeyTime + Math.random() * 5,
189
+ writable: false
190
+ });
191
+ }
192
+
193
+ return listener.call(this, event);
194
+ };
195
+
196
+ return originalAddEventListener.call(this, type, wrappedListener, options);
197
+ }
198
+
199
+ return originalAddEventListener.call(this, type, listener, options);
200
+ };
201
+
202
+ // Override InputEvent for modern input handling
203
+ if (typeof InputEvent !== 'undefined') {
204
+ const OriginalInputEvent = InputEvent;
205
+
206
+ window.InputEvent = function(type, eventInitDict = {}) {
207
+ // Ensure inputType is set properly
208
+ if (!eventInitDict.inputType && type === 'input') {
209
+ eventInitDict.inputType = 'insertText';
210
+ }
211
+
212
+ return new OriginalInputEvent(type, eventInitDict);
213
+ };
214
+
215
+ // Note: Don't assign to prototype - it may be frozen in modern Chrome
216
+ }
217
+ };
218
+
219
+ humanizeKeyboard();
220
+ })();`;
221
+ };
222
+ /**
223
+ * CDP-level keyboard typing helper
224
+ * Returns an async function that types text with human-like delays
225
+ */
226
+ export const createHumanTypingFunction = async (client, config = {}) => {
227
+ const cfg = { ...DEFAULT_CONFIG, ...config };
228
+ return async (text) => {
229
+ const delays = generateTypingDelays(text, cfg);
230
+ const inputClient = client.Input;
231
+ for (let i = 0; i < text.length; i++) {
232
+ const char = text[i];
233
+ const delay = delays[i];
234
+ const needsShift = char >= 'A' && char <= 'Z' || /[!@#$%^&*()_+{}|:"<>?~]/.test(char);
235
+ // Press shift if needed
236
+ if (needsShift) {
237
+ await inputClient.dispatchKeyEvent({
238
+ type: 'keyDown',
239
+ key: 'Shift',
240
+ code: 'ShiftLeft',
241
+ modifiers: 8,
242
+ });
243
+ await sleep(cfg.shiftDelay * (0.8 + Math.random() * 0.4));
244
+ }
245
+ // Press the key
246
+ await inputClient.dispatchKeyEvent({
247
+ type: 'keyDown',
248
+ key: char,
249
+ text: char,
250
+ });
251
+ // Wait for press-release delay
252
+ await sleep(cfg.pressReleaseDelay * (0.8 + Math.random() * 0.4));
253
+ // Release the key
254
+ await inputClient.dispatchKeyEvent({
255
+ type: 'keyUp',
256
+ key: char,
257
+ });
258
+ // Release shift if it was pressed
259
+ if (needsShift) {
260
+ await sleep(cfg.shiftDelay * 0.5 * (0.8 + Math.random() * 0.4));
261
+ await inputClient.dispatchKeyEvent({
262
+ type: 'keyUp',
263
+ key: 'Shift',
264
+ code: 'ShiftLeft',
265
+ });
266
+ }
267
+ // Wait before next key
268
+ if (i < text.length - 1) {
269
+ await sleep(delay);
270
+ }
271
+ }
272
+ };
273
+ };
274
+ /**
275
+ * Helper sleep function
276
+ */
277
+ const sleep = (ms) => new Promise(resolve => setTimeout(resolve, ms));
278
+ /**
279
+ * Setup keyboard humanization at CDP level
280
+ */
281
+ export const setupKeyboardHumanization = async (client) => {
282
+ // Inject the keyboard humanization script
283
+ // NOTE: Using Page.addScriptToEvaluateOnNewDocument instead of Runtime.evaluate to avoid CDP detection
284
+ const inputClient = client;
285
+ // NOTE: Using addScriptToEvaluateOnNewDocument instead of Runtime.evaluate
286
+ // Runtime.evaluate is a CDP detection vector
287
+ await inputClient.Page.addScriptToEvaluateOnNewDocument({
288
+ source: createKeyboardHumanizationScript()
289
+ });
290
+ };
291
+ //# sourceMappingURL=keyboard-humanization.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyboard-humanization.js","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/keyboard-humanization.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"locale-spoofing.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/locale-spoofing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,0BAA0B,QAAO,MAgQ7C,CAAC"}
1
+ {"version":3,"file":"locale-spoofing.d.ts","sourceRoot":"","sources":["../../../src/fingerprinting/fingerprint-overrides/locale-spoofing.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,eAAO,MAAM,0BAA0B,QAAO,MA+T7C,CAAC"}