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.
- package/README.md +1 -607
- package/browser/fonts/macos-bundle/40-macos-aliases.conf +515 -0
- package/browser/fonts/macos-bundle/README.md +24 -0
- package/browser/fonts/macos-bundle/install.sh +83 -0
- package/dist/browser-controller.d.ts +47 -4
- package/dist/browser-controller.d.ts.map +1 -1
- package/dist/browser-controller.js +219 -278
- package/dist/browser-controller.js.map +1 -1
- package/dist/browser-plugin.d.ts +82 -110
- package/dist/browser-plugin.d.ts.map +1 -1
- package/dist/browser-plugin.js +376 -379
- package/dist/browser-plugin.js.map +1 -1
- package/dist/browser-process/align-fingerprint-config.d.ts +36 -0
- package/dist/browser-process/align-fingerprint-config.d.ts.map +1 -0
- package/dist/browser-process/align-fingerprint-config.js +74 -0
- package/dist/browser-process/align-fingerprint-config.js.map +1 -0
- package/dist/browser-process/anti-detect-browser.d.ts +2 -2
- package/dist/browser-process/anti-detect-browser.js +7 -7
- package/dist/browser-process/anti-detect-config.d.ts +131 -2
- package/dist/browser-process/anti-detect-config.d.ts.map +1 -1
- package/dist/browser-process/anti-detect-config.js +337 -127
- package/dist/browser-process/anti-detect-config.js.map +1 -1
- package/dist/browser-process/browser.d.ts +25 -92
- package/dist/browser-process/browser.d.ts.map +1 -1
- package/dist/browser-process/browser.js +429 -73
- package/dist/browser-process/browser.js.map +1 -1
- package/dist/browser-process/fingerprint-config.d.ts +146 -0
- package/dist/browser-process/fingerprint-config.d.ts.map +1 -0
- package/dist/browser-process/fingerprint-config.js +308 -0
- package/dist/browser-process/fingerprint-config.js.map +1 -0
- package/dist/browser-process/get-chrome-executable.d.ts +6 -0
- package/dist/browser-process/get-chrome-executable.d.ts.map +1 -1
- package/dist/browser-process/get-chrome-executable.js +79 -4
- package/dist/browser-process/get-chrome-executable.js.map +1 -1
- package/dist/browser-process/gpu-family-profiles.d.ts +58 -0
- package/dist/browser-process/gpu-family-profiles.d.ts.map +1 -0
- package/dist/browser-process/gpu-family-profiles.js +480 -0
- package/dist/browser-process/gpu-family-profiles.js.map +1 -0
- package/dist/browser-process/launch-options.d.ts +301 -0
- package/dist/browser-process/launch-options.d.ts.map +1 -0
- package/dist/browser-process/launch-options.js +2 -0
- package/dist/browser-process/launch-options.js.map +1 -0
- package/dist/browser-process/port-allocator.d.ts +64 -0
- package/dist/browser-process/port-allocator.d.ts.map +1 -0
- package/dist/browser-process/port-allocator.js +198 -0
- package/dist/browser-process/port-allocator.js.map +1 -0
- package/dist/browser-process/process.d.ts +85 -0
- package/dist/browser-process/process.d.ts.map +1 -1
- package/dist/browser-process/process.js +235 -19
- package/dist/browser-process/process.js.map +1 -1
- package/dist/browser-process/signal-cleanup.d.ts +40 -0
- package/dist/browser-process/signal-cleanup.d.ts.map +1 -0
- package/dist/browser-process/signal-cleanup.js +105 -0
- package/dist/browser-process/signal-cleanup.js.map +1 -0
- package/dist/browser-process/widevine-cdm.d.ts +144 -0
- package/dist/browser-process/widevine-cdm.d.ts.map +1 -0
- package/dist/browser-process/widevine-cdm.js +298 -0
- package/dist/browser-process/widevine-cdm.js.map +1 -0
- package/dist/browser-profiles/chrome/populate-profile.d.ts.map +1 -1
- package/dist/browser-profiles/chrome/populate-profile.js +21 -22
- package/dist/browser-profiles/chrome/populate-profile.js.map +1 -1
- package/dist/connection/cdp-reconnection.d.ts +50 -0
- package/dist/connection/cdp-reconnection.d.ts.map +1 -0
- package/dist/connection/cdp-reconnection.js +75 -0
- package/dist/connection/cdp-reconnection.js.map +1 -0
- package/dist/connection/page-session.d.ts +114 -0
- package/dist/connection/page-session.d.ts.map +1 -0
- package/dist/connection/page-session.js +237 -0
- package/dist/connection/page-session.js.map +1 -0
- package/dist/connection/session-client.d.ts +34 -0
- package/dist/connection/session-client.d.ts.map +1 -0
- package/dist/connection/session-client.js +129 -0
- package/dist/connection/session-client.js.map +1 -0
- package/dist/crawler.d.ts +9 -88
- package/dist/crawler.d.ts.map +1 -1
- package/dist/crawler.js +157 -8
- package/dist/crawler.js.map +1 -1
- package/dist/fingerprinting/fingerprint-injector.d.ts +24 -114
- package/dist/fingerprinting/fingerprint-injector.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-injector.js +305 -611
- package/dist/fingerprinting/fingerprint-injector.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.d.ts +1 -1
- package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.js +16 -14
- package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/index.d.ts +6 -2
- package/dist/fingerprinting/fingerprint-overrides/index.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/index.js +6 -2
- package/dist/fingerprinting/fingerprint-overrides/index.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/keyboard-humanization.d.ts +1 -1
- package/dist/fingerprinting/fingerprint-overrides/keyboard-humanization.js +4 -4
- package/dist/fingerprinting/fingerprint-overrides/keyboard-humanization.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/locale-spoofing.js +4 -4
- package/dist/fingerprinting/fingerprint-overrides/navigator-override.d.ts +18 -0
- package/dist/fingerprinting/fingerprint-overrides/navigator-override.d.ts.map +1 -0
- package/dist/fingerprinting/fingerprint-overrides/navigator-override.js +136 -0
- package/dist/fingerprinting/fingerprint-overrides/navigator-override.js.map +1 -0
- package/dist/fingerprinting/fingerprint-overrides/override.d.ts +151 -0
- package/dist/fingerprinting/fingerprint-overrides/override.d.ts.map +1 -0
- package/dist/fingerprinting/fingerprint-overrides/override.js +14 -0
- package/dist/fingerprinting/fingerprint-overrides/override.js.map +1 -0
- package/dist/fingerprinting/fingerprint-overrides/platform-consistency.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/platform-consistency.js +46 -15
- package/dist/fingerprinting/fingerprint-overrides/platform-consistency.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/registry.d.ts +43 -0
- package/dist/fingerprinting/fingerprint-overrides/registry.d.ts.map +1 -0
- package/dist/fingerprinting/fingerprint-overrides/registry.js +342 -0
- package/dist/fingerprinting/fingerprint-overrides/registry.js.map +1 -0
- package/dist/fingerprinting/fingerprint-overrides/screen-override.d.ts +16 -0
- package/dist/fingerprinting/fingerprint-overrides/screen-override.d.ts.map +1 -0
- package/dist/fingerprinting/fingerprint-overrides/screen-override.js +175 -0
- package/dist/fingerprinting/fingerprint-overrides/screen-override.js.map +1 -0
- package/dist/fingerprinting/fingerprint-overrides/scroll-humanization.d.ts +1 -1
- package/dist/fingerprinting/fingerprint-overrides/scroll-humanization.js +4 -4
- package/dist/fingerprinting/fingerprint-overrides/scroll-humanization.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/stealth-script.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/stealth-script.js +75 -9
- package/dist/fingerprinting/fingerprint-overrides/stealth-script.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/ua-ch.d.ts +1 -1
- package/dist/fingerprinting/fingerprint-overrides/ua-ch.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/ua-ch.js +34 -20
- 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 +25 -6
- package/dist/fingerprinting/fingerprint-overrides/webgl-spoofing.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.js +1 -1
- package/dist/fingerprinting/hardware-realism.d.ts +83 -0
- package/dist/fingerprinting/hardware-realism.d.ts.map +1 -0
- package/dist/fingerprinting/hardware-realism.js +156 -0
- package/dist/fingerprinting/hardware-realism.js.map +1 -0
- package/dist/fingerprinting/injection-planner.d.ts +133 -0
- package/dist/fingerprinting/injection-planner.d.ts.map +1 -0
- package/dist/fingerprinting/injection-planner.js +497 -0
- package/dist/fingerprinting/injection-planner.js.map +1 -0
- package/dist/fingerprinting/locale-resolver.d.ts +8 -1
- package/dist/fingerprinting/locale-resolver.d.ts.map +1 -1
- package/dist/fingerprinting/locale-resolver.js +26 -3
- package/dist/fingerprinting/locale-resolver.js.map +1 -1
- package/dist/fingerprinting/non-apify-fingerprint-generator.d.ts +4 -4
- package/dist/fingerprinting/non-apify-fingerprint-generator.d.ts.map +1 -1
- package/dist/fingerprinting/non-apify-fingerprint-generator.js +24 -58
- package/dist/fingerprinting/non-apify-fingerprint-generator.js.map +1 -1
- package/dist/fingerprinting/non-apify-profiles.json +10515 -8494
- package/dist/fingerprinting/os-consistency.d.ts +28 -0
- package/dist/fingerprinting/os-consistency.d.ts.map +1 -0
- package/dist/fingerprinting/os-consistency.js +45 -0
- package/dist/fingerprinting/os-consistency.js.map +1 -0
- package/dist/fingerprinting/profile-quality.d.ts +25 -0
- package/dist/fingerprinting/profile-quality.d.ts.map +1 -0
- package/dist/fingerprinting/profile-quality.js +310 -0
- package/dist/fingerprinting/profile-quality.js.map +1 -0
- package/dist/fingerprinting/profile-selector.d.ts +102 -0
- package/dist/fingerprinting/profile-selector.d.ts.map +1 -0
- package/dist/fingerprinting/profile-selector.js +168 -0
- package/dist/fingerprinting/profile-selector.js.map +1 -0
- package/dist/fingerprinting/ua-alignment.d.ts +83 -0
- package/dist/fingerprinting/ua-alignment.d.ts.map +1 -0
- package/dist/fingerprinting/ua-alignment.js +197 -0
- package/dist/fingerprinting/ua-alignment.js.map +1 -0
- package/dist/fingerprinting/ua-ch-brands.d.ts +88 -0
- package/dist/fingerprinting/ua-ch-brands.d.ts.map +1 -0
- package/dist/fingerprinting/ua-ch-brands.js +174 -0
- package/dist/fingerprinting/ua-ch-brands.js.map +1 -0
- package/dist/index.d.ts +5 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +6 -0
- package/dist/index.js.map +1 -1
- package/dist/input/dropdown-selector.d.ts +90 -0
- package/dist/input/dropdown-selector.d.ts.map +1 -0
- package/dist/input/dropdown-selector.js +394 -0
- package/dist/input/dropdown-selector.js.map +1 -0
- package/dist/input/element-target.d.ts +152 -0
- package/dist/input/element-target.d.ts.map +1 -0
- package/dist/input/element-target.js +461 -0
- package/dist/input/element-target.js.map +1 -0
- package/dist/input/input-emulator.d.ts +85 -0
- package/dist/input/input-emulator.d.ts.map +1 -0
- package/dist/input/input-emulator.js +325 -0
- package/dist/input/input-emulator.js.map +1 -0
- package/dist/input/input-transport.d.ts +60 -0
- package/dist/input/input-transport.d.ts.map +1 -0
- package/dist/input/input-transport.js +28 -0
- package/dist/input/input-transport.js.map +1 -0
- package/dist/input/recording-transport.d.ts +32 -0
- package/dist/input/recording-transport.d.ts.map +1 -0
- package/dist/input/recording-transport.js +43 -0
- package/dist/input/recording-transport.js.map +1 -0
- package/dist/keyboard-layout.d.ts +2 -2
- package/dist/keyboard-layout.js +2 -2
- package/dist/navigation/page-navigation.d.ts +67 -0
- package/dist/navigation/page-navigation.d.ts.map +1 -0
- package/dist/navigation/page-navigation.js +122 -0
- package/dist/navigation/page-navigation.js.map +1 -0
- package/dist/network/network-watch.d.ts +110 -0
- package/dist/network/network-watch.d.ts.map +1 -0
- package/dist/network/network-watch.js +223 -0
- package/dist/network/network-watch.js.map +1 -0
- package/dist/page.d.ts +118 -104
- package/dist/page.d.ts.map +1 -1
- package/dist/page.js +311 -1130
- package/dist/page.js.map +1 -1
- package/dist/session/inject-hook.d.ts +24 -0
- package/dist/session/inject-hook.d.ts.map +1 -0
- package/dist/session/inject-hook.js +80 -0
- package/dist/session/inject-hook.js.map +1 -0
- package/dist/session/save.d.ts +21 -0
- package/dist/session/save.d.ts.map +1 -0
- package/dist/session/save.js +163 -0
- package/dist/session/save.js.map +1 -0
- package/dist/session/tar-data-dir.d.ts +18 -0
- package/dist/session/tar-data-dir.d.ts.map +1 -0
- package/dist/session/tar-data-dir.js +105 -0
- package/dist/session/tar-data-dir.js.map +1 -0
- package/dist/session/types.d.ts +80 -0
- package/dist/session/types.d.ts.map +1 -0
- package/dist/session/types.js +29 -0
- package/dist/session/types.js.map +1 -0
- package/dist/session-profile.d.ts +102 -0
- package/dist/session-profile.d.ts.map +1 -0
- package/dist/session-profile.js +163 -0
- package/dist/session-profile.js.map +1 -0
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +17 -6
- package/scripts/postinstall.cjs +58 -0
- package/dist/fingerprinting/custom-fingerprint-injector.d.ts +0 -87
- package/dist/fingerprinting/custom-fingerprint-injector.d.ts.map +0 -1
- package/dist/fingerprinting/custom-fingerprint-injector.js +0 -342
- package/dist/fingerprinting/custom-fingerprint-injector.js.map +0 -1
- package/dist/launcher-wrap.d.ts +0 -10
- package/dist/launcher-wrap.d.ts.map +0 -1
- package/dist/launcher-wrap.js +0 -11
- 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":"
|
|
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"}
|