jumpy-lion 0.1.6-beta.7 → 1.0.0-beta.0

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 (232) hide show
  1. package/README.md +1 -607
  2. package/browser/fonts/macos-bundle/40-macos-aliases.conf +515 -0
  3. package/browser/fonts/macos-bundle/README.md +24 -0
  4. package/browser/fonts/macos-bundle/install.sh +83 -0
  5. package/dist/browser-controller.d.ts +47 -4
  6. package/dist/browser-controller.d.ts.map +1 -1
  7. package/dist/browser-controller.js +219 -278
  8. package/dist/browser-controller.js.map +1 -1
  9. package/dist/browser-plugin.d.ts +82 -110
  10. package/dist/browser-plugin.d.ts.map +1 -1
  11. package/dist/browser-plugin.js +376 -379
  12. package/dist/browser-plugin.js.map +1 -1
  13. package/dist/browser-process/align-fingerprint-config.d.ts +36 -0
  14. package/dist/browser-process/align-fingerprint-config.d.ts.map +1 -0
  15. package/dist/browser-process/align-fingerprint-config.js +74 -0
  16. package/dist/browser-process/align-fingerprint-config.js.map +1 -0
  17. package/dist/browser-process/anti-detect-browser.d.ts +2 -2
  18. package/dist/browser-process/anti-detect-browser.js +7 -7
  19. package/dist/browser-process/anti-detect-config.d.ts +131 -2
  20. package/dist/browser-process/anti-detect-config.d.ts.map +1 -1
  21. package/dist/browser-process/anti-detect-config.js +337 -127
  22. package/dist/browser-process/anti-detect-config.js.map +1 -1
  23. package/dist/browser-process/browser.d.ts +25 -92
  24. package/dist/browser-process/browser.d.ts.map +1 -1
  25. package/dist/browser-process/browser.js +429 -73
  26. package/dist/browser-process/browser.js.map +1 -1
  27. package/dist/browser-process/fingerprint-config.d.ts +146 -0
  28. package/dist/browser-process/fingerprint-config.d.ts.map +1 -0
  29. package/dist/browser-process/fingerprint-config.js +308 -0
  30. package/dist/browser-process/fingerprint-config.js.map +1 -0
  31. package/dist/browser-process/get-chrome-executable.d.ts +6 -0
  32. package/dist/browser-process/get-chrome-executable.d.ts.map +1 -1
  33. package/dist/browser-process/get-chrome-executable.js +79 -4
  34. package/dist/browser-process/get-chrome-executable.js.map +1 -1
  35. package/dist/browser-process/gpu-family-profiles.d.ts +58 -0
  36. package/dist/browser-process/gpu-family-profiles.d.ts.map +1 -0
  37. package/dist/browser-process/gpu-family-profiles.js +480 -0
  38. package/dist/browser-process/gpu-family-profiles.js.map +1 -0
  39. package/dist/browser-process/launch-options.d.ts +301 -0
  40. package/dist/browser-process/launch-options.d.ts.map +1 -0
  41. package/dist/browser-process/launch-options.js +2 -0
  42. package/dist/browser-process/launch-options.js.map +1 -0
  43. package/dist/browser-process/port-allocator.d.ts +64 -0
  44. package/dist/browser-process/port-allocator.d.ts.map +1 -0
  45. package/dist/browser-process/port-allocator.js +198 -0
  46. package/dist/browser-process/port-allocator.js.map +1 -0
  47. package/dist/browser-process/process.d.ts +85 -0
  48. package/dist/browser-process/process.d.ts.map +1 -1
  49. package/dist/browser-process/process.js +235 -19
  50. package/dist/browser-process/process.js.map +1 -1
  51. package/dist/browser-process/signal-cleanup.d.ts +40 -0
  52. package/dist/browser-process/signal-cleanup.d.ts.map +1 -0
  53. package/dist/browser-process/signal-cleanup.js +105 -0
  54. package/dist/browser-process/signal-cleanup.js.map +1 -0
  55. package/dist/browser-process/widevine-cdm.d.ts +144 -0
  56. package/dist/browser-process/widevine-cdm.d.ts.map +1 -0
  57. package/dist/browser-process/widevine-cdm.js +298 -0
  58. package/dist/browser-process/widevine-cdm.js.map +1 -0
  59. package/dist/browser-profiles/chrome/populate-profile.d.ts.map +1 -1
  60. package/dist/browser-profiles/chrome/populate-profile.js +21 -22
  61. package/dist/browser-profiles/chrome/populate-profile.js.map +1 -1
  62. package/dist/connection/cdp-reconnection.d.ts +50 -0
  63. package/dist/connection/cdp-reconnection.d.ts.map +1 -0
  64. package/dist/connection/cdp-reconnection.js +75 -0
  65. package/dist/connection/cdp-reconnection.js.map +1 -0
  66. package/dist/connection/page-session.d.ts +114 -0
  67. package/dist/connection/page-session.d.ts.map +1 -0
  68. package/dist/connection/page-session.js +237 -0
  69. package/dist/connection/page-session.js.map +1 -0
  70. package/dist/connection/session-client.d.ts +34 -0
  71. package/dist/connection/session-client.d.ts.map +1 -0
  72. package/dist/connection/session-client.js +129 -0
  73. package/dist/connection/session-client.js.map +1 -0
  74. package/dist/crawler.d.ts +9 -88
  75. package/dist/crawler.d.ts.map +1 -1
  76. package/dist/crawler.js +157 -8
  77. package/dist/crawler.js.map +1 -1
  78. package/dist/fingerprinting/fingerprint-injector.d.ts +24 -114
  79. package/dist/fingerprinting/fingerprint-injector.d.ts.map +1 -1
  80. package/dist/fingerprinting/fingerprint-injector.js +305 -611
  81. package/dist/fingerprinting/fingerprint-injector.js.map +1 -1
  82. package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.d.ts +1 -1
  83. package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.d.ts.map +1 -1
  84. package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.js +16 -14
  85. package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.js.map +1 -1
  86. package/dist/fingerprinting/fingerprint-overrides/index.d.ts +6 -2
  87. package/dist/fingerprinting/fingerprint-overrides/index.d.ts.map +1 -1
  88. package/dist/fingerprinting/fingerprint-overrides/index.js +6 -2
  89. package/dist/fingerprinting/fingerprint-overrides/index.js.map +1 -1
  90. package/dist/fingerprinting/fingerprint-overrides/keyboard-humanization.d.ts +1 -1
  91. package/dist/fingerprinting/fingerprint-overrides/keyboard-humanization.js +4 -4
  92. package/dist/fingerprinting/fingerprint-overrides/keyboard-humanization.js.map +1 -1
  93. package/dist/fingerprinting/fingerprint-overrides/locale-spoofing.js +4 -4
  94. package/dist/fingerprinting/fingerprint-overrides/navigator-override.d.ts +18 -0
  95. package/dist/fingerprinting/fingerprint-overrides/navigator-override.d.ts.map +1 -0
  96. package/dist/fingerprinting/fingerprint-overrides/navigator-override.js +136 -0
  97. package/dist/fingerprinting/fingerprint-overrides/navigator-override.js.map +1 -0
  98. package/dist/fingerprinting/fingerprint-overrides/override.d.ts +151 -0
  99. package/dist/fingerprinting/fingerprint-overrides/override.d.ts.map +1 -0
  100. package/dist/fingerprinting/fingerprint-overrides/override.js +14 -0
  101. package/dist/fingerprinting/fingerprint-overrides/override.js.map +1 -0
  102. package/dist/fingerprinting/fingerprint-overrides/platform-consistency.d.ts.map +1 -1
  103. package/dist/fingerprinting/fingerprint-overrides/platform-consistency.js +46 -15
  104. package/dist/fingerprinting/fingerprint-overrides/platform-consistency.js.map +1 -1
  105. package/dist/fingerprinting/fingerprint-overrides/registry.d.ts +43 -0
  106. package/dist/fingerprinting/fingerprint-overrides/registry.d.ts.map +1 -0
  107. package/dist/fingerprinting/fingerprint-overrides/registry.js +342 -0
  108. package/dist/fingerprinting/fingerprint-overrides/registry.js.map +1 -0
  109. package/dist/fingerprinting/fingerprint-overrides/screen-override.d.ts +16 -0
  110. package/dist/fingerprinting/fingerprint-overrides/screen-override.d.ts.map +1 -0
  111. package/dist/fingerprinting/fingerprint-overrides/screen-override.js +175 -0
  112. package/dist/fingerprinting/fingerprint-overrides/screen-override.js.map +1 -0
  113. package/dist/fingerprinting/fingerprint-overrides/scroll-humanization.d.ts +1 -1
  114. package/dist/fingerprinting/fingerprint-overrides/scroll-humanization.js +4 -4
  115. package/dist/fingerprinting/fingerprint-overrides/scroll-humanization.js.map +1 -1
  116. package/dist/fingerprinting/fingerprint-overrides/stealth-script.d.ts.map +1 -1
  117. package/dist/fingerprinting/fingerprint-overrides/stealth-script.js +75 -9
  118. package/dist/fingerprinting/fingerprint-overrides/stealth-script.js.map +1 -1
  119. package/dist/fingerprinting/fingerprint-overrides/ua-ch.d.ts +1 -1
  120. package/dist/fingerprinting/fingerprint-overrides/ua-ch.d.ts.map +1 -1
  121. package/dist/fingerprinting/fingerprint-overrides/ua-ch.js +34 -20
  122. package/dist/fingerprinting/fingerprint-overrides/ua-ch.js.map +1 -1
  123. package/dist/fingerprinting/fingerprint-overrides/webgl-spoofing.d.ts.map +1 -1
  124. package/dist/fingerprinting/fingerprint-overrides/webgl-spoofing.js +25 -6
  125. package/dist/fingerprinting/fingerprint-overrides/webgl-spoofing.js.map +1 -1
  126. package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.js +1 -1
  127. package/dist/fingerprinting/hardware-realism.d.ts +83 -0
  128. package/dist/fingerprinting/hardware-realism.d.ts.map +1 -0
  129. package/dist/fingerprinting/hardware-realism.js +156 -0
  130. package/dist/fingerprinting/hardware-realism.js.map +1 -0
  131. package/dist/fingerprinting/injection-planner.d.ts +133 -0
  132. package/dist/fingerprinting/injection-planner.d.ts.map +1 -0
  133. package/dist/fingerprinting/injection-planner.js +497 -0
  134. package/dist/fingerprinting/injection-planner.js.map +1 -0
  135. package/dist/fingerprinting/locale-resolver.d.ts +8 -1
  136. package/dist/fingerprinting/locale-resolver.d.ts.map +1 -1
  137. package/dist/fingerprinting/locale-resolver.js +26 -3
  138. package/dist/fingerprinting/locale-resolver.js.map +1 -1
  139. package/dist/fingerprinting/non-apify-fingerprint-generator.d.ts +4 -4
  140. package/dist/fingerprinting/non-apify-fingerprint-generator.d.ts.map +1 -1
  141. package/dist/fingerprinting/non-apify-fingerprint-generator.js +24 -58
  142. package/dist/fingerprinting/non-apify-fingerprint-generator.js.map +1 -1
  143. package/dist/fingerprinting/non-apify-profiles.json +10515 -8494
  144. package/dist/fingerprinting/os-consistency.d.ts +28 -0
  145. package/dist/fingerprinting/os-consistency.d.ts.map +1 -0
  146. package/dist/fingerprinting/os-consistency.js +45 -0
  147. package/dist/fingerprinting/os-consistency.js.map +1 -0
  148. package/dist/fingerprinting/profile-quality.d.ts +25 -0
  149. package/dist/fingerprinting/profile-quality.d.ts.map +1 -0
  150. package/dist/fingerprinting/profile-quality.js +310 -0
  151. package/dist/fingerprinting/profile-quality.js.map +1 -0
  152. package/dist/fingerprinting/profile-selector.d.ts +102 -0
  153. package/dist/fingerprinting/profile-selector.d.ts.map +1 -0
  154. package/dist/fingerprinting/profile-selector.js +168 -0
  155. package/dist/fingerprinting/profile-selector.js.map +1 -0
  156. package/dist/fingerprinting/ua-alignment.d.ts +83 -0
  157. package/dist/fingerprinting/ua-alignment.d.ts.map +1 -0
  158. package/dist/fingerprinting/ua-alignment.js +197 -0
  159. package/dist/fingerprinting/ua-alignment.js.map +1 -0
  160. package/dist/fingerprinting/ua-ch-brands.d.ts +88 -0
  161. package/dist/fingerprinting/ua-ch-brands.d.ts.map +1 -0
  162. package/dist/fingerprinting/ua-ch-brands.js +174 -0
  163. package/dist/fingerprinting/ua-ch-brands.js.map +1 -0
  164. package/dist/index.d.ts +5 -0
  165. package/dist/index.d.ts.map +1 -1
  166. package/dist/index.js +6 -0
  167. package/dist/index.js.map +1 -1
  168. package/dist/input/dropdown-selector.d.ts +90 -0
  169. package/dist/input/dropdown-selector.d.ts.map +1 -0
  170. package/dist/input/dropdown-selector.js +394 -0
  171. package/dist/input/dropdown-selector.js.map +1 -0
  172. package/dist/input/element-target.d.ts +152 -0
  173. package/dist/input/element-target.d.ts.map +1 -0
  174. package/dist/input/element-target.js +461 -0
  175. package/dist/input/element-target.js.map +1 -0
  176. package/dist/input/input-emulator.d.ts +85 -0
  177. package/dist/input/input-emulator.d.ts.map +1 -0
  178. package/dist/input/input-emulator.js +325 -0
  179. package/dist/input/input-emulator.js.map +1 -0
  180. package/dist/input/input-transport.d.ts +60 -0
  181. package/dist/input/input-transport.d.ts.map +1 -0
  182. package/dist/input/input-transport.js +28 -0
  183. package/dist/input/input-transport.js.map +1 -0
  184. package/dist/input/recording-transport.d.ts +32 -0
  185. package/dist/input/recording-transport.d.ts.map +1 -0
  186. package/dist/input/recording-transport.js +43 -0
  187. package/dist/input/recording-transport.js.map +1 -0
  188. package/dist/keyboard-layout.d.ts +2 -2
  189. package/dist/keyboard-layout.js +2 -2
  190. package/dist/navigation/page-navigation.d.ts +67 -0
  191. package/dist/navigation/page-navigation.d.ts.map +1 -0
  192. package/dist/navigation/page-navigation.js +122 -0
  193. package/dist/navigation/page-navigation.js.map +1 -0
  194. package/dist/network/network-watch.d.ts +110 -0
  195. package/dist/network/network-watch.d.ts.map +1 -0
  196. package/dist/network/network-watch.js +223 -0
  197. package/dist/network/network-watch.js.map +1 -0
  198. package/dist/page.d.ts +118 -104
  199. package/dist/page.d.ts.map +1 -1
  200. package/dist/page.js +311 -1130
  201. package/dist/page.js.map +1 -1
  202. package/dist/session/inject-hook.d.ts +24 -0
  203. package/dist/session/inject-hook.d.ts.map +1 -0
  204. package/dist/session/inject-hook.js +80 -0
  205. package/dist/session/inject-hook.js.map +1 -0
  206. package/dist/session/save.d.ts +21 -0
  207. package/dist/session/save.d.ts.map +1 -0
  208. package/dist/session/save.js +163 -0
  209. package/dist/session/save.js.map +1 -0
  210. package/dist/session/tar-data-dir.d.ts +18 -0
  211. package/dist/session/tar-data-dir.d.ts.map +1 -0
  212. package/dist/session/tar-data-dir.js +105 -0
  213. package/dist/session/tar-data-dir.js.map +1 -0
  214. package/dist/session/types.d.ts +80 -0
  215. package/dist/session/types.d.ts.map +1 -0
  216. package/dist/session/types.js +29 -0
  217. package/dist/session/types.js.map +1 -0
  218. package/dist/session-profile.d.ts +102 -0
  219. package/dist/session-profile.d.ts.map +1 -0
  220. package/dist/session-profile.js +163 -0
  221. package/dist/session-profile.js.map +1 -0
  222. package/dist/tsconfig.build.tsbuildinfo +1 -1
  223. package/package.json +17 -6
  224. package/scripts/postinstall.cjs +58 -0
  225. package/dist/fingerprinting/custom-fingerprint-injector.d.ts +0 -87
  226. package/dist/fingerprinting/custom-fingerprint-injector.d.ts.map +0 -1
  227. package/dist/fingerprinting/custom-fingerprint-injector.js +0 -342
  228. package/dist/fingerprinting/custom-fingerprint-injector.js.map +0 -1
  229. package/dist/launcher-wrap.d.ts +0 -10
  230. package/dist/launcher-wrap.d.ts.map +0 -1
  231. package/dist/launcher-wrap.js +0 -11
  232. package/dist/launcher-wrap.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/browser-process/browser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser.js","sourceRoot":"","sources":["../../src/browser-process/browser.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,146 @@
1
+ /**
2
+ * fingerprint-config.ts - the single home for "what fingerprint config does the
3
+ * browser end up with?", the core question of this repo.
4
+ *
5
+ * Before this module the answer was reconstructed from three layers and two
6
+ * launch paths:
7
+ * - pre-launch (native stealth): the plugin selected a clean profile,
8
+ * generated the FingerprintConfigJson, aligned it with the binary, and
9
+ * stamped it onto launchContext;
10
+ * - launch: browser-process wrote the temp file + built stealth args;
11
+ * - post-launch (system-Chrome fallback): the controller re-ran profile
12
+ * selection ONLY when the pre-launch path hadn't, coordinated implicitly
13
+ * via a magic key on the launch context.
14
+ *
15
+ * FingerprintConfig owns the whole `generate → align → choose-pre-or-post-launch`
16
+ * protocol. The pre-vs-post decision is state on the returned value
17
+ * ({@link FingerprintConfigDecision.phase}), not an external comment about a
18
+ * magic key. The plugin's phase-4 prep and the controller's post-launch
19
+ * injection are thin delegates: each hands a context to this module and lets it
20
+ * decide.
21
+ *
22
+ * Profile selection happens exactly once per launch. {@link prepareForLaunch}
23
+ * (native pre-launch) stamps its {@link SelectedProfile} onto the launch context
24
+ * here; {@link applyToPage} (post-launch) reuses that stamp instead of
25
+ * re-drawing. Re-drawing post-launch would resurrect the exact contaminated
26
+ * profile the pre-launch re-roll escaped (the pool is deterministic per seed and
27
+ * the re-roll seed suffix is not replayed). The {@link PROFILE_SELECTION_KEY}
28
+ * handshake lives entirely inside this module - no caller touches it directly.
29
+ */
30
+ import { PROFILE_SELECTION_KEY, type FingerprintLike, type SelectedProfile } from '../fingerprinting/profile-selector.js';
31
+ import type CdpPage from '../page.js';
32
+ import { type FingerprintConfigJson } from './anti-detect-config.js';
33
+ /**
34
+ * The minimal slice of Crawlee's `LaunchContext` this module reads/writes.
35
+ * Kept structural so the plugin's and controller's real launch-context types
36
+ * both satisfy it without a cast at the call site.
37
+ */
38
+ export interface FingerprintLaunchContext {
39
+ fingerprint?: FingerprintLike;
40
+ proxyUrl?: string;
41
+ launchOptions?: {
42
+ executablePath?: string;
43
+ resolvedLocale?: import('../fingerprinting/locale-resolver.js').ResolvedLocale;
44
+ fingerprintConfig?: FingerprintConfigJson;
45
+ fingerprintOptions?: Record<string, unknown>;
46
+ /** Engine selector (issue #80); stealth.overrides win over fingerprintOptions on the js engine. */
47
+ stealth?: {
48
+ engine?: string;
49
+ overrides?: Record<string, unknown>;
50
+ };
51
+ fingerprintGeneratorOptions?: {
52
+ operatingSystems?: string[];
53
+ } & Record<string, unknown>;
54
+ viewport?: {
55
+ width: number;
56
+ height: number;
57
+ deviceScaleFactor: number;
58
+ mobile: boolean;
59
+ };
60
+ useNativeStealth?: unknown;
61
+ } & Record<string, unknown>;
62
+ /** Caller-threaded generator + root-level useNativeStealth live loose on the context. */
63
+ fingerprintGenerator?: {
64
+ getFingerprint: () => unknown | Promise<unknown>;
65
+ } | null;
66
+ useNativeStealth?: unknown;
67
+ /** Where the once-per-launch profile selection is stamped. */
68
+ [PROFILE_SELECTION_KEY]?: SelectedProfile;
69
+ }
70
+ /** Which launch path produced the active fingerprint decision. */
71
+ export type FingerprintPhase = 'pre-launch' | 'post-launch';
72
+ /**
73
+ * The value object the protocol produces. `phase` IS the pre-vs-post-launch
74
+ * decision - `pre-launch` means a C++ config was generated + aligned and stamped
75
+ * onto launchContext before Chrome started; `post-launch` means the C++ write
76
+ * was skipped (system Chrome) and the config is applied via JS injection on each
77
+ * new page instead.
78
+ */
79
+ export interface FingerprintConfigDecision {
80
+ phase: FingerprintPhase;
81
+ /** The profile selection this launch settled on (stamped once on the context). */
82
+ selection: SelectedProfile;
83
+ /** The generated + aligned C++ config (pre-launch only). */
84
+ config?: FingerprintConfigJson;
85
+ }
86
+ /**
87
+ * Pre-launch (native stealth): pick a clean, OS-matching profile, generate the
88
+ * FingerprintConfigJson, align it with the running binary, and stamp the config
89
+ * onto launchOptions so browser-process writes it to the temp file. Returns the
90
+ * decision with `phase: 'pre-launch'`.
91
+ *
92
+ * Selection happens BEFORE the C++ config is written - once the browser launches
93
+ * with a wrong-OS / contaminated profile baked into the config, nothing
94
+ * post-launch can undo it.
95
+ */
96
+ export declare function prepareForLaunch(ctx: FingerprintLaunchContext): Promise<FingerprintConfigDecision>;
97
+ /**
98
+ * Post-launch: apply the fingerprint to a freshly-created page via JS injection.
99
+ * Native-stealth launches already selected + baked the profile pre-launch, so
100
+ * this reuses the stamped selection; system-Chrome launches (where the C++ write
101
+ * was skipped) select here through the same selector, re-roll included.
102
+ *
103
+ * Returns the decision: `phase` is `pre-launch` when a config was already baked
104
+ * (selection was reused), `post-launch` when this call performed the selection.
105
+ * Returns `undefined` when there is no fingerprint to apply.
106
+ */
107
+ export declare function applyToPage(ctx: FingerprintLaunchContext, page: CdpPage): Promise<FingerprintConfigDecision | undefined>;
108
+ export declare function canonicalizeJsOverrides(overrides: Record<string, unknown>): Record<string, unknown>;
109
+ declare function buildInjectionOptions(ctx: FingerprintLaunchContext, fp: Record<string, unknown> | undefined): {
110
+ useNativeStealth: boolean;
111
+ useFingerprintDefaults: any;
112
+ proxyUrl: string | undefined;
113
+ platform: "Win32" | "MacIntel" | "Linux x86_64";
114
+ viewport: {
115
+ width: number;
116
+ height: number;
117
+ deviceScaleFactor: number;
118
+ mobile: boolean;
119
+ } | undefined;
120
+ resolvedLocale: any;
121
+ humanization: any;
122
+ humanizeInteractions?: boolean;
123
+ bypassDatadome?: boolean;
124
+ timezone?: string | undefined;
125
+ useExperimentalFingerprints?: boolean | undefined;
126
+ useNonApifyFingerprints?: boolean | undefined;
127
+ enableAdvancedStealth?: boolean | undefined;
128
+ bypassRuntimeEnable?: boolean | undefined;
129
+ spoofWebGL?: boolean | undefined;
130
+ spoofAudioContext?: boolean | undefined;
131
+ spoofClientRects?: boolean | undefined;
132
+ maskAutomationFlags?: boolean | undefined;
133
+ spoofFonts?: boolean | undefined;
134
+ spoofPerformance?: boolean | undefined;
135
+ spoofLocale?: boolean | undefined;
136
+ detectTimezone?: boolean | undefined;
137
+ bypassCDPDetection?: boolean | undefined;
138
+ spoofStorage?: boolean | undefined;
139
+ spoofTiming?: boolean | undefined;
140
+ enableDataDomeBypass?: boolean | undefined;
141
+ webRtcPolicy?: "spoof" | "disable" | undefined;
142
+ debug?: boolean | undefined;
143
+ };
144
+ export declare function buildInjectionOptionsOnce(ctx: FingerprintLaunchContext, fp: Record<string, unknown> | undefined): ReturnType<typeof buildInjectionOptions>;
145
+ export {};
146
+ //# sourceMappingURL=fingerprint-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fingerprint-config.d.ts","sourceRoot":"","sources":["../../src/browser-process/fingerprint-config.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,308 @@
1
+ /**
2
+ * fingerprint-config.ts - the single home for "what fingerprint config does the
3
+ * browser end up with?", the core question of this repo.
4
+ *
5
+ * Before this module the answer was reconstructed from three layers and two
6
+ * launch paths:
7
+ * - pre-launch (native stealth): the plugin selected a clean profile,
8
+ * generated the FingerprintConfigJson, aligned it with the binary, and
9
+ * stamped it onto launchContext;
10
+ * - launch: browser-process wrote the temp file + built stealth args;
11
+ * - post-launch (system-Chrome fallback): the controller re-ran profile
12
+ * selection ONLY when the pre-launch path hadn't, coordinated implicitly
13
+ * via a magic key on the launch context.
14
+ *
15
+ * FingerprintConfig owns the whole `generate → align → choose-pre-or-post-launch`
16
+ * protocol. The pre-vs-post decision is state on the returned value
17
+ * ({@link FingerprintConfigDecision.phase}), not an external comment about a
18
+ * magic key. The plugin's phase-4 prep and the controller's post-launch
19
+ * injection are thin delegates: each hands a context to this module and lets it
20
+ * decide.
21
+ *
22
+ * Profile selection happens exactly once per launch. {@link prepareForLaunch}
23
+ * (native pre-launch) stamps its {@link SelectedProfile} onto the launch context
24
+ * here; {@link applyToPage} (post-launch) reuses that stamp instead of
25
+ * re-drawing. Re-drawing post-launch would resurrect the exact contaminated
26
+ * profile the pre-launch re-roll escaped (the pool is deterministic per seed and
27
+ * the re-roll seed suffix is not replayed). The {@link PROFILE_SELECTION_KEY}
28
+ * handshake lives entirely inside this module - no caller touches it directly.
29
+ */
30
+ import { log } from 'crawlee';
31
+ import { CdpFingerprintInjector } from '../fingerprinting/fingerprint-injector.js';
32
+ import { PROFILE_SELECTION_KEY, selectFingerprintProfile, } from '../fingerprinting/profile-selector.js';
33
+ import { resolveUseNativeStealth } from '../session-profile.js';
34
+ import { alignFingerprintConfigWithBinary } from './align-fingerprint-config.js';
35
+ import { generateFingerprintConfig } from './anti-detect-config.js';
36
+ import { getChromeBinaryVersion, getAntiDetectBrowserPath } from './get-chrome-executable.js';
37
+ /**
38
+ * Read the once-per-launch profile selection from the context, or run it (and
39
+ * stamp it) when it hasn't happened yet. This is the single owner of the
40
+ * PROFILE_SELECTION_KEY handshake.
41
+ */
42
+ async function selectOnce(ctx) {
43
+ const existing = ctx[PROFILE_SELECTION_KEY];
44
+ if (existing)
45
+ return existing;
46
+ const fpOpts = ctx.launchOptions?.fingerprintOptions;
47
+ const selection = await selectFingerprintProfile({
48
+ currentFingerprint: ctx.fingerprint,
49
+ fingerprintOptions: fpOpts,
50
+ fingerprintGeneratorOptions: ctx.launchOptions?.fingerprintGeneratorOptions,
51
+ proxyUrl: ctx.proxyUrl,
52
+ externalGenerator: ctx.fingerprintGenerator
53
+ ?? ctx.launchOptions?.fingerprintGenerator,
54
+ });
55
+ ctx[PROFILE_SELECTION_KEY] = selection;
56
+ if (selection.replaced) {
57
+ // Keep launchContext in sync so the controller's _newPage() reuses this
58
+ // exact profile instead of generating a different one (session consistency).
59
+ ctx.fingerprint = selection.fingerprint;
60
+ }
61
+ return selection;
62
+ }
63
+ /**
64
+ * Pre-launch (native stealth): pick a clean, OS-matching profile, generate the
65
+ * FingerprintConfigJson, align it with the running binary, and stamp the config
66
+ * onto launchOptions so browser-process writes it to the temp file. Returns the
67
+ * decision with `phase: 'pre-launch'`.
68
+ *
69
+ * Selection happens BEFORE the C++ config is written - once the browser launches
70
+ * with a wrong-OS / contaminated profile baked into the config, nothing
71
+ * post-launch can undo it.
72
+ */
73
+ export async function prepareForLaunch(ctx) {
74
+ const selection = await selectOnce(ctx);
75
+ const fpForConfig = selection.fingerprint;
76
+ if (fpForConfig) {
77
+ try {
78
+ const cfg = generateFingerprintConfig(fpForConfig, selection.seedKey ?? undefined, ctx.launchOptions?.resolvedLocale);
79
+ // Align UA + UA-CH with the actual binary version before writing the
80
+ // config (see align-fingerprint-config.ts for the full why).
81
+ const binaryPath = getAntiDetectBrowserPath() ?? ctx.launchOptions?.executablePath;
82
+ if (binaryPath) {
83
+ const binaryVersion = getChromeBinaryVersion(binaryPath);
84
+ if (binaryVersion) {
85
+ alignFingerprintConfigWithBinary(cfg, binaryVersion);
86
+ }
87
+ }
88
+ if (ctx.launchOptions)
89
+ ctx.launchOptions.fingerprintConfig = cfg;
90
+ log.debug('[AntiDetect] Pre-generated per-session fingerprint config', {
91
+ platform: cfg.navigator.platform,
92
+ gpu: cfg.webgl.renderer.substring(0, 60),
93
+ screen: `${cfg.screen.width}x${cfg.screen.height}`,
94
+ });
95
+ return { phase: 'pre-launch', selection, config: cfg };
96
+ }
97
+ catch (cfgErr) {
98
+ log.debug('[AntiDetect] Could not pre-generate fingerprint config:', { error: cfgErr });
99
+ }
100
+ }
101
+ return { phase: 'pre-launch', selection };
102
+ }
103
+ /**
104
+ * Post-launch: apply the fingerprint to a freshly-created page via JS injection.
105
+ * Native-stealth launches already selected + baked the profile pre-launch, so
106
+ * this reuses the stamped selection; system-Chrome launches (where the C++ write
107
+ * was skipped) select here through the same selector, re-roll included.
108
+ *
109
+ * Returns the decision: `phase` is `pre-launch` when a config was already baked
110
+ * (selection was reused), `post-launch` when this call performed the selection.
111
+ * Returns `undefined` when there is no fingerprint to apply.
112
+ */
113
+ export async function applyToPage(ctx, page) {
114
+ if (!ctx.fingerprint) {
115
+ log.debug('No fingerprint provided in launchContext, skipping fingerprint injection');
116
+ return undefined;
117
+ }
118
+ const hadPreLaunchSelection = !!ctx[PROFILE_SELECTION_KEY];
119
+ try {
120
+ const selection = await selectOnce(ctx);
121
+ const { fingerprint } = ctx;
122
+ const fp = fingerprint.fingerprint;
123
+ if (!hadPreLaunchSelection && selection.usedNonApifyPool) {
124
+ log.info('Using non-Apify real Chrome device fingerprint', {
125
+ os: selection.expectedOs ?? 'windows',
126
+ platform: fp?.navigator?.platform,
127
+ userAgent: `${(fp?.navigator?.userAgent || '').substring(0, 70)}...`,
128
+ webglRenderer: (fp?.videoCard?.renderer || '').substring(0, 70),
129
+ });
130
+ }
131
+ // Per-page fingerprint surface at debug level - the primary tool for
132
+ // diagnosing fingerprint mismatches in production. Restored after the
133
+ // controller→fingerprint-config move dropped it.
134
+ const navForLog = fp?.navigator;
135
+ const screenForLog = fp?.screen;
136
+ const videoCardForLog = fp?.videoCard;
137
+ log.debug('Fingerprint data for page', {
138
+ platform: navForLog?.platform,
139
+ userAgent: navForLog?.userAgent,
140
+ screen: screenForLog
141
+ ? `${screenForLog.width}x${screenForLog.height}`
142
+ : undefined,
143
+ webglVendor: videoCardForLog?.vendor,
144
+ webglRenderer: videoCardForLog?.renderer,
145
+ });
146
+ const mergedOptions = buildInjectionOptionsOnce(ctx, fp);
147
+ await CdpFingerprintInjector.injectFingerprint(page, fingerprint, mergedOptions);
148
+ page.setHumanizationOptions(mergedOptions.humanization);
149
+ log.debug('Fingerprint injected successfully', {
150
+ platform: mergedOptions.platform,
151
+ isApify: process.env.APIFY_IS_AT_HOME === 'true',
152
+ hasProxy: !!ctx.proxyUrl,
153
+ useFingerprintDefaults: mergedOptions.useFingerprintDefaults,
154
+ enableDataDomeBypass: mergedOptions.enableDataDomeBypass,
155
+ humanization: mergedOptions.humanization,
156
+ });
157
+ return {
158
+ phase: hadPreLaunchSelection ? 'pre-launch' : 'post-launch',
159
+ selection,
160
+ config: ctx.launchOptions?.fingerprintConfig,
161
+ };
162
+ }
163
+ catch (error) {
164
+ log.error('Error attaching fingerprint', { error });
165
+ return undefined;
166
+ }
167
+ }
168
+ /**
169
+ * Resolve the option bag the JS injector consumes for a new page: environment
170
+ * recommended defaults, the effective `useFingerprintDefaults` / platform
171
+ * decision, the resolved locale, native-stealth flag, and merged humanization.
172
+ * Pure given the launch context + fingerprint.
173
+ */
174
+ /**
175
+ * Map the public, canonical `stealth.overrides` surface names (issue #80) onto
176
+ * the injector's internal AttachOptions field names. Unlisted keys pass through
177
+ * unchanged (e.g. `humanization`, `useFingerprintDefaults`, `debug`). This is
178
+ * the single boundary where the canonical vocabulary meets the legacy internal
179
+ * option names, so the override registry / injector need no changes.
180
+ */
181
+ const JS_OVERRIDE_TO_INJECTOR = {
182
+ webgl: 'spoofWebGL',
183
+ audio: 'spoofAudioContext',
184
+ clientRects: 'spoofClientRects',
185
+ fonts: 'spoofFonts',
186
+ performance: 'spoofPerformance',
187
+ locale: 'spoofLocale',
188
+ storage: 'spoofStorage',
189
+ timing: 'spoofTiming',
190
+ cdpDetection: 'bypassCDPDetection',
191
+ automation: 'maskAutomationFlags',
192
+ advancedStealth: 'enableAdvancedStealth',
193
+ dataDomeBypass: 'enableDataDomeBypass',
194
+ webrtc: 'webRtcPolicy',
195
+ };
196
+ export function canonicalizeJsOverrides(overrides) {
197
+ const out = {};
198
+ for (const [key, value] of Object.entries(overrides)) {
199
+ out[JS_OVERRIDE_TO_INJECTOR[key] ?? key] = value;
200
+ }
201
+ return out;
202
+ }
203
+ function buildInjectionOptions(ctx, fp) {
204
+ const fingerprintOptions = (ctx.launchOptions?.fingerprintOptions ?? {});
205
+ // Advanced JS-override options - the dedicated home for the spoof/humanization
206
+ // toggles is `stealth.overrides` on the `js` engine (issue #80). Merged over
207
+ // the (deprecated) same-named keys on fingerprintOptions so stealth wins.
208
+ // Identity/routing knobs (platform, useNonApifyFingerprints, useNativeStealth)
209
+ // are read from fingerprintOptions only and are not part of this group.
210
+ const stealth = ctx.launchOptions?.stealth;
211
+ const stealthOverrides = stealth?.engine === 'js' ? (stealth.overrides ?? {}) : {};
212
+ // Canonical surface names (webgl/audio/webrtc/…) → the injector's internal
213
+ // AttachOptions field names (spoofWebGL/webRtcPolicy/…). Keeps the override
214
+ // registry untouched while the public API uses the community-canonical vocab.
215
+ const overrides = { ...fingerprintOptions, ...canonicalizeJsOverrides(stealthOverrides) };
216
+ // Detect platform from fingerprint or default to Windows for better evasion
217
+ const fingerprintPlatform = fp?.navigator?.platform;
218
+ const platform = fingerprintPlatform || 'Win32'; // Default to Windows instead of Linux
219
+ const isApify = process.env.APIFY_IS_AT_HOME === 'true';
220
+ const defaultOptions = isApify
221
+ ? CdpFingerprintInjector.getApifyRecommendedSettings()
222
+ : {
223
+ debug: false, // Disable debug logging - anti-bot services detect debug prefixes
224
+ enableAdvancedStealth: true,
225
+ bypassRuntimeEnable: true,
226
+ spoofWebGL: true,
227
+ spoofAudioContext: true,
228
+ spoofClientRects: true,
229
+ spoofFonts: true,
230
+ spoofPerformance: true,
231
+ spoofLocale: true,
232
+ detectTimezone: !!ctx.proxyUrl,
233
+ useFingerprintDefaults: true, // Use hardcoded defaults (set to false to use generated fingerprint data)
234
+ // 2024-2025 new defaults
235
+ bypassCDPDetection: true,
236
+ spoofStorage: true,
237
+ spoofTiming: true,
238
+ enableDataDomeBypass: false,
239
+ webRtcPolicy: 'spoof',
240
+ // Safe defaults for humanized interaction patterns
241
+ humanization: {
242
+ mouse: true,
243
+ keyboard: true,
244
+ scroll: true,
245
+ },
246
+ };
247
+ // Determine effective useFingerprintDefaults value.
248
+ // Real device profiles (useNonApifyFingerprints=true) contain consistent cross-property
249
+ // data measured from a real device - default to using it (useFingerprintDefaults=false).
250
+ // Synthetic Apify-generated fingerprints need the hardcoded defaults to avoid
251
+ // injecting inconsistent generated values, so they keep useFingerprintDefaults=true.
252
+ const usingRealDeviceProfile = !!fingerprintOptions.useNonApifyFingerprints;
253
+ const effectiveUseFingerprintDefaults = overrides.useFingerprintDefaults
254
+ ?? (usingRealDeviceProfile ? false : (defaultOptions.useFingerprintDefaults ?? true));
255
+ // Platform selection logic:
256
+ // - When useFingerprintDefaults is false: prefer generated fingerprint platform
257
+ // - When useFingerprintDefaults is true (default): prefer hardcoded fingerprintOptions.platform
258
+ const effectivePlatform = effectiveUseFingerprintDefaults === false
259
+ ? (platform || fingerprintOptions.platform || 'Win32') // Generated fingerprint first
260
+ : (fingerprintOptions.platform || platform || 'Win32'); // Hardcoded option first
261
+ const useNativeStealth = resolveUseNativeStealth(ctx.launchOptions, ctx);
262
+ // Resolved locale triple is populated in browser-plugin before launch. Pass the
263
+ // whole thing through so the injector sets navigator.language, Accept-Language,
264
+ // Intl defaults, and timezone from one coherent source of truth.
265
+ const resolvedLocale = ctx.launchOptions?.resolvedLocale;
266
+ return {
267
+ ...defaultOptions,
268
+ ...overrides,
269
+ useNativeStealth,
270
+ // Explicitly set the computed effective value - the spread above would resolve to
271
+ // defaultOptions.useFingerprintDefaults (always true) when neither fingerprintOptions
272
+ // nor jsOverrides includes the key, so we must override it here.
273
+ useFingerprintDefaults: effectiveUseFingerprintDefaults,
274
+ proxyUrl: ctx.proxyUrl,
275
+ platform: effectivePlatform,
276
+ viewport: ctx.launchOptions?.viewport,
277
+ resolvedLocale,
278
+ // Ensure humanization options are properly merged (jsOverrides wins over fingerprintOptions)
279
+ humanization: {
280
+ ...defaultOptions.humanization,
281
+ ...overrides.humanization,
282
+ },
283
+ };
284
+ }
285
+ /**
286
+ * Per-launch memoization of {@link buildInjectionOptions}. The merged option bag
287
+ * and effectivePlatform are derived entirely from per-launch constants - the
288
+ * launch context's fingerprintOptions/stealth/proxyUrl/resolvedLocale and the
289
+ * once-selected fingerprint (profile selection runs once per launch, so `fp` is
290
+ * stable) - so they are identical for every page of one launch. Deriving them
291
+ * again on each new page is pure overhead.
292
+ *
293
+ * Keyed on the launch-context object itself via a WeakMap: one browser launch =
294
+ * one ctx = one proxy session = one cached bag, collected with the context. A
295
+ * different launch (different session/proxy) is a different ctx and never shares
296
+ * the entry, so no proxy session's platform/locale/proxyUrl can bleed into
297
+ * another.
298
+ */
299
+ const injectionOptionsByContext = new WeakMap();
300
+ export function buildInjectionOptionsOnce(ctx, fp) {
301
+ const cached = injectionOptionsByContext.get(ctx);
302
+ if (cached)
303
+ return cached;
304
+ const built = buildInjectionOptions(ctx, fp);
305
+ injectionOptionsByContext.set(ctx, built);
306
+ return built;
307
+ }
308
+ //# sourceMappingURL=fingerprint-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"fingerprint-config.js","sourceRoot":"","sources":["../../src/browser-process/fingerprint-config.ts"],"names":[],"mappings":"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"}
@@ -11,6 +11,12 @@ export declare const getAntiDetectBrowserPath: () => string | null;
11
11
  * consumers don't need to resolve the path manually.
12
12
  */
13
13
  export declare const resolveAntiDetectBrowserPath: () => string;
14
+ /**
15
+ * Test-only: clear the per-process path-resolution memo tables so a suite that
16
+ * mocks the filesystem differently across cases sees each mock afresh. Not part
17
+ * of the runtime contract - production code never needs to invalidate these.
18
+ */
19
+ export declare const __resetExecutablePathCachesForTests: () => void;
14
20
  export declare const getChromeExecutablePath: () => string;
15
21
  export declare const getChromeBinaryVersion: (executablePath: string) => string | null;
16
22
  //# sourceMappingURL=get-chrome-executable.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"get-chrome-executable.d.ts","sourceRoot":"","sources":["../../src/browser-process/get-chrome-executable.ts"],"names":[],"mappings":"AAmCA;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,QAAO,MAAM,GAAG,IAepD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,QAAO,MAsB/C,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAAO,MAsC1C,CAAC;AAEF,eAAO,MAAM,sBAAsB,mBAAoB,MAAM,KAAG,MAAM,GAAG,IAaxE,CAAC"}
1
+ {"version":3,"file":"get-chrome-executable.d.ts","sourceRoot":"","sources":["../../src/browser-process/get-chrome-executable.ts"],"names":[],"mappings":"AA6CA;;;;;GAKG;AACH,eAAO,MAAM,wBAAwB,QAAO,MAAM,GAAG,IAqBpD,CAAC;AAEF;;;;GAIG;AACH,eAAO,MAAM,4BAA4B,QAAO,MAsB/C,CAAC;AASF;;;;GAIG;AACH,eAAO,MAAM,mCAAmC,QAAO,IAGtD,CAAC;AAEF,eAAO,MAAM,uBAAuB,QAAO,MAS1C,CAAC;AAmDF,eAAO,MAAM,sBAAsB,mBAAoB,MAAM,KAAG,MAAM,GAAG,IAWxE,CAAC"}