jumpy-lion 1.0.0-beta.5 → 1.0.0-beta.7

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 (50) hide show
  1. package/dist/browser-plugin.d.ts.map +1 -1
  2. package/dist/browser-plugin.js +15 -5
  3. package/dist/browser-plugin.js.map +1 -1
  4. package/dist/browser-process/anti-detect-config.d.ts +7 -0
  5. package/dist/browser-process/anti-detect-config.d.ts.map +1 -1
  6. package/dist/browser-process/anti-detect-config.js +68 -18
  7. package/dist/browser-process/anti-detect-config.js.map +1 -1
  8. package/dist/browser-process/apple-silicon-devices.d.ts +96 -0
  9. package/dist/browser-process/apple-silicon-devices.d.ts.map +1 -0
  10. package/dist/browser-process/apple-silicon-devices.js +185 -0
  11. package/dist/browser-process/apple-silicon-devices.js.map +1 -0
  12. package/dist/browser-process/browser.d.ts.map +1 -1
  13. package/dist/browser-process/browser.js +58 -21
  14. package/dist/browser-process/browser.js.map +1 -1
  15. package/dist/browser-process/gpu-family-profiles.d.ts +3 -0
  16. package/dist/browser-process/gpu-family-profiles.d.ts.map +1 -1
  17. package/dist/browser-process/gpu-family-profiles.js +170 -88
  18. package/dist/browser-process/gpu-family-profiles.js.map +1 -1
  19. package/dist/browser-process/integrity-headers.d.ts +33 -15
  20. package/dist/browser-process/integrity-headers.d.ts.map +1 -1
  21. package/dist/browser-process/integrity-headers.js +79 -19
  22. package/dist/browser-process/integrity-headers.js.map +1 -1
  23. package/dist/browser-profiles/chrome/create.d.ts +2 -1
  24. package/dist/browser-profiles/chrome/create.d.ts.map +1 -1
  25. package/dist/browser-profiles/chrome/create.js +2 -2
  26. package/dist/browser-profiles/chrome/create.js.map +1 -1
  27. package/dist/browser-profiles/chrome/default.d.ts +7 -0
  28. package/dist/browser-profiles/chrome/default.d.ts.map +1 -1
  29. package/dist/browser-profiles/chrome/default.js +16 -0
  30. package/dist/browser-profiles/chrome/default.js.map +1 -1
  31. package/dist/browser-profiles/chrome/populate-profile.d.ts +2 -0
  32. package/dist/browser-profiles/chrome/populate-profile.d.ts.map +1 -1
  33. package/dist/browser-profiles/chrome/populate-profile.js +2 -2
  34. package/dist/browser-profiles/chrome/populate-profile.js.map +1 -1
  35. package/dist/fingerprinting/hardware-realism.js +53 -1
  36. package/dist/fingerprinting/hardware-realism.js.map +1 -1
  37. package/dist/fingerprinting/locale-resolver.d.ts +21 -0
  38. package/dist/fingerprinting/locale-resolver.d.ts.map +1 -1
  39. package/dist/fingerprinting/locale-resolver.js +43 -6
  40. package/dist/fingerprinting/locale-resolver.js.map +1 -1
  41. package/dist/index.d.ts +5 -0
  42. package/dist/index.d.ts.map +1 -1
  43. package/dist/index.js +16 -0
  44. package/dist/index.js.map +1 -1
  45. package/dist/launch-stealth-browser.d.ts +143 -0
  46. package/dist/launch-stealth-browser.d.ts.map +1 -0
  47. package/dist/launch-stealth-browser.js +133 -0
  48. package/dist/launch-stealth-browser.js.map +1 -0
  49. package/dist/tsconfig.build.tsbuildinfo +1 -1
  50. package/package.json +2 -1
@@ -1 +1 @@
1
- {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/browser-profiles/chrome/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,iEAAiE;AACjE,mBAAmB;AACnB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAY,EAAE,iBAAsB,EAAE,EAAE,EAAE;IAC1E,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,OAAO,CAAA;IAClB,CAAC;IACD,OAAO,OAAO,CAAA;AAElB,CAAC,CAAA;AACD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,WAAmB,EAAE,cAAmC;IAC9F,IAAG,CAAC,WAAW,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACpD,CAAC;IACD,8BAA8B;IAC9B,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACzE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEnE,MAAM,WAAW,GAAG,cAAc,CAAA,CAAC,CAAC,mBAAmB,CAAC,eAAe,EAAE,cAAc,CAAC,CAAA,CAAC,CAAC,eAAe,CAAC;IAE1G,MAAM,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAE9E,CAAC"}
1
+ {"version":3,"file":"create.js","sourceRoot":"","sources":["../../../src/browser-profiles/chrome/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAC;AAGnD,iEAAiE;AACjE,mBAAmB;AACnB,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAAY,EAAE,iBAAsB,EAAE,EAAE,EAAE;IAC1E,IAAI,cAAc,CAAC,MAAM,EAAE,CAAC;QACxB,OAAO,OAAO,CAAA;IAClB,CAAC;IACD,OAAO,OAAO,CAAA;AAElB,CAAC,CAAA;AACD,MAAM,CAAC,KAAK,UAAU,mBAAmB,CAAC,WAAmB,EAAE,cAA8D;IACzH,IAAG,CAAC,WAAW,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CAAC,8BAA8B,CAAC,CAAC;IACpD,CAAC;IACD,8BAA8B;IAC9B,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,SAAS,EAAE,aAAa,CAAC,CAAC;IACzE,MAAM,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IAEnE,MAAM,WAAW,GAAG,mBAAmB,CAAC,mBAAmB,CAAC,cAAc,EAAE,eAAe,CAAC,EAAE,cAAc,IAAI,EAAE,CAAC,CAAC;IAEpH,MAAM,EAAE,CAAC,SAAS,CAAC,eAAe,EAAE,IAAI,CAAC,SAAS,CAAC,WAAW,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;AAE9E,CAAC"}
@@ -288,4 +288,11 @@ export declare const DEFAULT_PROFILE: {
288
288
  url_keyed_anonymized_data_collection_enabled: boolean;
289
289
  };
290
290
  };
291
+ /**
292
+ * A copy of the default profile whose intl.accept_languages carries `acceptLanguages`
293
+ * (a q-less comma list such as "it-IT,it,en-US,en"). Chrome sends this pref as the
294
+ * Accept-Language header; --lang only seeds it when unset. Returns the shared default
295
+ * untouched (as a deep copy) when no list is given.
296
+ */
297
+ export declare const withAcceptLanguages: (acceptLanguages?: string) => typeof DEFAULT_PROFILE;
291
298
  //# sourceMappingURL=default.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../src/browser-profiles/chrome/default.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuR3B,CAAA"}
1
+ {"version":3,"file":"default.d.ts","sourceRoot":"","sources":["../../../src/browser-profiles/chrome/default.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAEH,eAAO,MAAM,eAAe;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAuR3B,CAAA;AAGD;;;;;GAKG;AACH,eAAO,MAAM,mBAAmB,qBAAsB,MAAM,KAAG,OAAO,eAQrE,CAAC"}
@@ -289,4 +289,20 @@ export const DEFAULT_PROFILE = {
289
289
  "url_keyed_anonymized_data_collection_enabled": false,
290
290
  },
291
291
  };
292
+ /**
293
+ * A copy of the default profile whose intl.accept_languages carries `acceptLanguages`
294
+ * (a q-less comma list such as "it-IT,it,en-US,en"). Chrome sends this pref as the
295
+ * Accept-Language header; --lang only seeds it when unset. Returns the shared default
296
+ * untouched (as a deep copy) when no list is given.
297
+ */
298
+ export const withAcceptLanguages = (acceptLanguages) => {
299
+ const profile = JSON.parse(JSON.stringify(DEFAULT_PROFILE));
300
+ if (acceptLanguages) {
301
+ profile.intl = { ...profile.intl, accept_languages: acceptLanguages };
302
+ // intl.selected_languages is absent from the default profile, so there is nothing to keep in sync.
303
+ if ('selected_languages' in profile.intl)
304
+ profile.intl.selected_languages = acceptLanguages;
305
+ }
306
+ return profile;
307
+ };
292
308
  //# sourceMappingURL=default.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../src/browser-profiles/chrome/default.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"default.js","sourceRoot":"","sources":["../../../src/browser-profiles/chrome/default.ts"],"names":[],"mappings":"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"}
@@ -41,6 +41,8 @@ export interface PopulateProfileOptions {
41
41
  addMediaEngagement?: boolean;
42
42
  /** Custom sites for history/engagement */
43
43
  customSites?: typeof COMMON_SITES;
44
+ /** q-less Accept-Language list written to intl.accept_languages (e.g. "it-IT,it,en-US,en") */
45
+ acceptLanguages?: string;
44
46
  /** Days of history to simulate */
45
47
  historyDays?: number;
46
48
  }
@@ -1 +1 @@
1
- {"version":3,"file":"populate-profile.d.ts","sourceRoot":"","sources":["../../../src/browser-profiles/chrome/populate-profile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH;;GAEG;AACH,QAAA,MAAM,YAAY;;;;GAWjB,CAAC;AAoBF;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAAO,MAqDrC,CAAC;AAiBF;;GAEG;AACH,eAAO,MAAM,sBAAsB,WAAW,OAAO,YAAY,KAAkB,MAmBlF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,QAAO,MAiB1C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,sCAAsC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+BAA+B;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gCAAgC;IAChC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,0CAA0C;IAC1C,WAAW,CAAC,EAAE,OAAO,YAAY,CAAC;IAClC,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,gBACjB,MAAM,YACV,sBAAsB,KAChC,OAAO,CAAC,IAAI,CAkDd,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,WAAY,MAAM,EAAE,KAAG,MAkC7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,QAAO,MA0B/C,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,+BAA+B,WAAY,MAAM,KAAG,aAAa,EAoC7E,CAAC"}
1
+ {"version":3,"file":"populate-profile.d.ts","sourceRoot":"","sources":["../../../src/browser-profiles/chrome/populate-profile.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAOH;;GAEG;AACH,QAAA,MAAM,YAAY;;;;GAWjB,CAAC;AAoBF;;GAEG;AACH,eAAO,MAAM,kBAAkB,QAAO,MAqDrC,CAAC;AAiBF;;GAEG;AACH,eAAO,MAAM,sBAAsB,WAAW,OAAO,YAAY,KAAkB,MAmBlF,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,uBAAuB,QAAO,MAiB1C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACnC,sCAAsC;IACtC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,+BAA+B;IAC/B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gCAAgC;IAChC,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,0CAA0C;IAC1C,WAAW,CAAC,EAAE,OAAO,YAAY,CAAC;IAClC,8FAA8F;IAC9F,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,kCAAkC;IAClC,WAAW,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;GAEG;AACH,eAAO,MAAM,qBAAqB,gBACjB,MAAM,YACV,sBAAsB,KAChC,OAAO,CAAC,IAAI,CAkDd,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,0BAA0B,WAAY,MAAM,EAAE,KAAG,MAkC7D,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,4BAA4B,QAAO,MA0B/C,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,CAAC;IAClB,QAAQ,EAAE,QAAQ,GAAG,KAAK,GAAG,MAAM,CAAC;IACpC,OAAO,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,+BAA+B,WAAY,MAAM,KAAG,aAAa,EAoC7E,CAAC"}
@@ -11,7 +11,7 @@
11
11
  */
12
12
  import fs from 'fs/promises';
13
13
  import path from 'path';
14
- import { DEFAULT_PROFILE } from './default.js';
14
+ import { withAcceptLanguages } from './default.js';
15
15
  /**
16
16
  * Popular sites for realistic browsing history
17
17
  */
@@ -172,7 +172,7 @@ export const populateChromeProfile = async (profilePath, options = {}) => {
172
172
  // same keys DEFAULT_PROFILE already declares preserves key order, so the
173
173
  // emitted bytes are identical to the historical two-write path.
174
174
  const localState = generateLocalState();
175
- const preferences = JSON.parse(JSON.stringify(DEFAULT_PROFILE));
175
+ const preferences = withAcceptLanguages(options.acceptLanguages);
176
176
  // Add site engagement data
177
177
  if (addEngagement) {
178
178
  preferences.site_engagement = generateSiteEngagement(customSites);
@@ -1 +1 @@
1
- {"version":3,"file":"populate-profile.js","sourceRoot":"","sources":["../../../src/browser-profiles/chrome/populate-profile.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"populate-profile.js","sourceRoot":"","sources":["../../../src/browser-profiles/chrome/populate-profile.ts"],"names":[],"mappings":"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"}
@@ -199,8 +199,60 @@ export function normalizePlatformVersion(platform, profileValue, seed) {
199
199
  if (platform === 'Linux x86_64') {
200
200
  return '';
201
201
  }
202
- return profileValue && profileValue.length > 0
202
+ return isCurrentPlatformVersion(platform, profileValue)
203
203
  ? profileValue
204
204
  : resolvePlatformVersion(platform, seed);
205
205
  }
206
+ /** `[major, minor]` of a dotted version, or null when it does not parse. */
207
+ function parseVersionPair(value) {
208
+ const parts = value.split('.');
209
+ const major = Number(parts[0]);
210
+ const minor = parts.length > 1 ? Number(parts[1]) : 0;
211
+ if (!Number.isFinite(major) || !Number.isFinite(minor))
212
+ return null;
213
+ return [major, minor];
214
+ }
215
+ /**
216
+ * Whether a profile's own `platformVersion` is still one a currently-shipping OS
217
+ * would report, judged against the oldest entry in that platform's candidate
218
+ * pool.
219
+ *
220
+ * WHY THE PROFILE VALUE IS NOT TRUSTED VERBATIM. It used to be, and the pool
221
+ * data is old enough that this made the population of identities
222
+ * distinguishable even though no single member was impossible. Measured across
223
+ * six sessions on the Apify platform under a constant Chrome 151 claim:
224
+ * 26.1.0, 15.1.0, 13.3.0, 13.4.0, 15.3.1, 26.3.0 - four of six advertising
225
+ * macOS 13 or an early 15 while running a browser released in 2026. Each value
226
+ * is a real macOS version, so there is nothing to detect one request at a time;
227
+ * the distribution is the tell.
228
+ *
229
+ * The floor is DERIVED FROM THE CANDIDATE POOL rather than written down
230
+ * separately, so refreshing the pool for a new macOS release also moves the
231
+ * floor and the two cannot drift apart. A profile value at or above the pool's
232
+ * oldest entry is kept - that preserves genuine variety, including versions the
233
+ * pool itself does not list - and anything older is resampled from the pool.
234
+ */
235
+ function isCurrentPlatformVersion(platform, profileValue) {
236
+ if (!profileValue || profileValue.length === 0)
237
+ return false;
238
+ const candidates = PLATFORM_VERSION_CANDIDATES[platform ?? '']
239
+ ?? PLATFORM_VERSION_CANDIDATES[PLATFORM_VERSION_FALLBACK_KEY];
240
+ const parsed = parseVersionPair(profileValue);
241
+ if (!parsed)
242
+ return false;
243
+ let floor = null;
244
+ for (const candidate of candidates) {
245
+ const pair = parseVersionPair(candidate);
246
+ if (!pair)
247
+ continue;
248
+ if (!floor || pair[0] < floor[0] || (pair[0] === floor[0] && pair[1] < floor[1])) {
249
+ floor = pair;
250
+ }
251
+ }
252
+ // No usable floor means the pool cannot judge the value, so leave it alone
253
+ // rather than resampling from a pool we could not read.
254
+ if (!floor)
255
+ return true;
256
+ return parsed[0] > floor[0] || (parsed[0] === floor[0] && parsed[1] >= floor[1]);
257
+ }
206
258
  //# sourceMappingURL=hardware-realism.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"hardware-realism.js","sourceRoot":"","sources":["../../src/fingerprinting/hardware-realism.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hardware-realism.js","sourceRoot":"","sources":["../../src/fingerprinting/hardware-realism.ts"],"names":[],"mappings":"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"}
@@ -15,6 +15,12 @@ export interface ResolveLocaleInput {
15
15
  timezone?: string;
16
16
  /** Explicit Accept-Language header value (e.g. 'ko-KR,ko;q=0.9'). Overrides derived list. */
17
17
  languages?: string;
18
+ /**
19
+ * The caller's requested fingerprint-generator locales (e.g. ['it-IT', 'it']).
20
+ * This is explicit caller intent, unlike the generator's host-biased Accept-Language
21
+ * output, so the first valid tag ranks above the proxy country lookup.
22
+ */
23
+ generatorLocales?: string[];
18
24
  /** ISO 3166-1 alpha-2 country code from proxy IP lookup (e.g. 'KR'). */
19
25
  proxyCountry?: string;
20
26
  /** Fingerprint-generator language, used as a fallback when nothing else is available. */
@@ -32,6 +38,21 @@ export interface ResolvedLocale {
32
38
  }
33
39
  /** Resolve every locale surface from whatever signals are available. */
34
40
  export declare function resolveLocale(input?: ResolveLocaleInput): ResolvedLocale;
41
+ /**
42
+ * Turn an Accept-Language style list ('it-IT,it;q=0.9,en;q=0.8') into the q-less
43
+ * comma list that Chromium's --lang switch and the config's navigator.languages expect.
44
+ */
45
+ export declare function toLangList(languages: string | undefined): string;
46
+ /**
47
+ * The value for Chromium's --lang switch, which sets ICU's default locale and so drives
48
+ * Intl.*().resolvedOptions().locale. Reads the one resolved locale; when none exists it
49
+ * derives the list from the fingerprint config's navigator languages (so --lang can never
50
+ * disagree with navigator.languages) and only then uses the historical en-US default.
51
+ */
52
+ export declare function resolveLangSwitch(resolvedLocale: Pick<ResolvedLocale, 'locale' | 'languages'> | undefined, configNavigator?: {
53
+ language?: string;
54
+ languages?: string;
55
+ }): string;
35
56
  /**
36
57
  * Look up the proxy IP's country (ISO 3166-1 alpha-2) via ipinfo.io.
37
58
  * Best-effort: returns undefined on any failure so callers can fall through
@@ -1 +1 @@
1
- {"version":3,"file":"locale-resolver.d.ts","sourceRoot":"","sources":["../../src/fingerprinting/locale-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,kBAAkB;IAC/B,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6FAA6F;IAC7F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yFAAyF;IACzF,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC3B,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;CACjB;AA0DD,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,KAAK,GAAE,kBAAuB,GAAG,cAAc,CAO5E;AA6ED;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAetF"}
1
+ {"version":3,"file":"locale-resolver.d.ts","sourceRoot":"","sources":["../../src/fingerprinting/locale-resolver.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,MAAM,WAAW,kBAAkB;IAC/B,4DAA4D;IAC5D,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iFAAiF;IACjF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6FAA6F;IAC7F,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB;;;;OAIG;IACH,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAC;IAC5B,wEAAwE;IACxE,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,yFAAyF;IACzF,mBAAmB,CAAC,EAAE,MAAM,CAAC;CAChC;AAED,MAAM,WAAW,cAAc;IAC3B,sEAAsE;IACtE,MAAM,EAAE,MAAM,CAAC;IACf,mFAAmF;IACnF,SAAS,EAAE,MAAM,CAAC;IAClB,oDAAoD;IACpD,QAAQ,EAAE,MAAM,CAAC;IACjB,6DAA6D;IAC7D,KAAK,EAAE,MAAM,CAAC;CACjB;AA0DD,wEAAwE;AACxE,wBAAgB,aAAa,CAAC,KAAK,GAAE,kBAAuB,GAAG,cAAc,CAO5E;AAoED;;;GAGG;AACH,wBAAgB,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,MAAM,CAMhE;AAED;;;;;GAKG;AACH,wBAAgB,iBAAiB,CAC7B,cAAc,EAAE,IAAI,CAAC,cAAc,EAAE,QAAQ,GAAG,WAAW,CAAC,GAAG,SAAS,EACxE,eAAe,CAAC,EAAE;IAAE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAAC,SAAS,CAAC,EAAE,MAAM,CAAA;CAAE,GAC5D,MAAM,CAQR;AAmBD;;;;;;;;;;;GAWG;AACH,wBAAsB,iBAAiB,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAetF"}
@@ -70,9 +70,15 @@ export function resolveLocale(input = {}) {
70
70
  const posix = toPosix(locale);
71
71
  return { locale, languages, timezone, posix };
72
72
  }
73
- function pickLocale({ locale, proxyCountry, fingerprintLanguage }) {
73
+ function pickLocale({ locale, generatorLocales, proxyCountry, fingerprintLanguage }) {
74
74
  if (locale && isValidBcp47(locale))
75
75
  return locale;
76
+ // A lookup over the network can fail (a residential proxy often times out against
77
+ // ipinfo.io), and a failed lookup used to silently demote an Italian run to en-US while
78
+ // the fingerprint config still claimed it-IT. The caller's own locales never fail.
79
+ const fromGenerator = generatorLocales?.find(isValidBcp47);
80
+ if (fromGenerator)
81
+ return fromGenerator;
76
82
  if (proxyCountry) {
77
83
  const fromCountry = COUNTRY_TO_LOCALE[proxyCountry.toUpperCase()];
78
84
  if (fromCountry)
@@ -96,19 +102,22 @@ function pickLocale({ locale, proxyCountry, fingerprintLanguage }) {
96
102
  }
97
103
  return DEFAULT_LOCALE;
98
104
  }
105
+ // Timezone priority: explicit tz > proxy country (the exit IP's own zone) > locale region > UTC.
106
+ // The proxy outranks the locale region because a page can compare the timezone with the IP geo,
107
+ // while a locale such as en-US legitimately appears on a German exit.
99
108
  function pickTimezone({ timezone, proxyCountry }, region) {
100
109
  if (timezone)
101
110
  return timezone;
102
- if (region) {
103
- const fromRegion = REGION_TO_TIMEZONE[region];
104
- if (fromRegion)
105
- return fromRegion;
106
- }
107
111
  if (proxyCountry) {
108
112
  const fromProxy = REGION_TO_TIMEZONE[proxyCountry.toUpperCase()];
109
113
  if (fromProxy)
110
114
  return fromProxy;
111
115
  }
116
+ if (region) {
117
+ const fromRegion = REGION_TO_TIMEZONE[region];
118
+ if (fromRegion)
119
+ return fromRegion;
120
+ }
112
121
  return DEFAULT_TIMEZONE;
113
122
  }
114
123
  /**
@@ -131,6 +140,34 @@ function buildLanguages(locale) {
131
140
  }
132
141
  return parts.join(',');
133
142
  }
143
+ /**
144
+ * Turn an Accept-Language style list ('it-IT,it;q=0.9,en;q=0.8') into the q-less
145
+ * comma list that Chromium's --lang switch and the config's navigator.languages expect.
146
+ */
147
+ export function toLangList(languages) {
148
+ return (languages ?? '')
149
+ .split(',')
150
+ .map(l => l.split(';')[0].trim())
151
+ .filter(Boolean)
152
+ .join(',');
153
+ }
154
+ /**
155
+ * The value for Chromium's --lang switch, which sets ICU's default locale and so drives
156
+ * Intl.*().resolvedOptions().locale. Reads the one resolved locale; when none exists it
157
+ * derives the list from the fingerprint config's navigator languages (so --lang can never
158
+ * disagree with navigator.languages) and only then uses the historical en-US default.
159
+ */
160
+ export function resolveLangSwitch(resolvedLocale, configNavigator) {
161
+ if (resolvedLocale?.locale) {
162
+ return toLangList(resolvedLocale.languages) || resolvedLocale.locale;
163
+ }
164
+ const fromConfig = toLangList(configNavigator?.languages);
165
+ if (fromConfig)
166
+ return fromConfig;
167
+ if (configNavigator?.language)
168
+ return configNavigator.language;
169
+ return `${DEFAULT_LOCALE},en`;
170
+ }
134
171
  /** Extract the region subtag (uppercase) from a BCP-47 tag. 'ko-KR' → 'KR'. */
135
172
  function extractRegion(locale) {
136
173
  const [, region] = locale.split('-');
@@ -1 +1 @@
1
- {"version":3,"file":"locale-resolver.js","sourceRoot":"","sources":["../../src/fingerprinting/locale-resolver.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"locale-resolver.js","sourceRoot":"","sources":["../../src/fingerprinting/locale-resolver.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -10,4 +10,9 @@ export { restoreSession, installSessionInjectionHook, buildStorageInjectionScrip
10
10
  export { assertValidBundle, SCHEMA_VERSION } from "./session/types.js";
11
11
  export type { SessionBundle, SessionBundleBrowserProfile, SessionBundleFingerprintInput, SessionBundleProxyMeta, SessionBundleUserDataDir, SerializedCookie, StorageMap, LaunchSnapshot, } from "./session/types.js";
12
12
  export type { SaveSessionOptions } from "./session/save.js";
13
+ export { launchStealthBrowser, getStealthBrowserPath } from "./launch-stealth-browser.js";
14
+ export type { LaunchStealthBrowserOptions, StealthBrowserLaunch } from "./launch-stealth-browser.js";
15
+ export type { FingerprintConfigJson } from "./browser-process/anti-detect-config.js";
16
+ export { applyIntegrityToConfig, buildIntegrityHeaderArgs, VERIFIED_INTEGRITY_PROFILES, INTEGRITY_CLAIMED_VERSION, CHROME_API_KEYS, } from "./browser-process/integrity-headers.js";
17
+ export type { IntegrityProfile, ClaimedIntegrityPlatform } from "./browser-process/integrity-headers.js";
13
18
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,eAAe,UAAU,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,YAAY,EAAE,SAAS,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC1H,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,CAAC;AAKnB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACpH,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACvE,YAAY,EACR,aAAa,EACb,2BAA2B,EAC3B,6BAA6B,EAC7B,sBAAsB,EACtB,wBAAwB,EACxB,gBAAgB,EAChB,UAAU,EACV,cAAc,GACjB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,eAAe,UAAU,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC/C,YAAY,EAAE,SAAS,EAAE,kBAAkB,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAC;AAC1H,YAAY,EAAE,WAAW,EAAE,mBAAmB,EAAE,MAAM,WAAW,CAAC;AAClE,OAAO,EAAE,OAAO,EAAE,CAAC;AAKnB,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACpH,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACvE,YAAY,EACR,aAAa,EACb,2BAA2B,EAC3B,6BAA6B,EAC7B,sBAAsB,EACtB,wBAAwB,EACxB,gBAAgB,EAChB,UAAU,EACV,cAAc,GACjB,MAAM,oBAAoB,CAAC;AAC5B,YAAY,EAAE,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AAO5D,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAC1F,YAAY,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AACrG,YAAY,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAWrF,OAAO,EACH,sBAAsB,EACtB,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,eAAe,GAClB,MAAM,wCAAwC,CAAC;AAChD,YAAY,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,MAAM,wCAAwC,CAAC"}
package/dist/index.js CHANGED
@@ -9,4 +9,20 @@ export { CdpPage };
9
9
  export { saveSession } from "./session/save.js";
10
10
  export { restoreSession, installSessionInjectionHook, buildStorageInjectionScript } from "./session/inject-hook.js";
11
11
  export { assertValidBundle, SCHEMA_VERSION } from "./session/types.js";
12
+ // Standalone launcher - the crawler's own stealth setup, without the crawler.
13
+ // Composes profile selection, C++ fingerprint config generation, binary-version
14
+ // alignment and the Google integrity headers in the order that matters, then
15
+ // launches the anti-detect binary. See launch-stealth-browser.ts for why the
16
+ // order is load-bearing.
17
+ export { launchStealthBrowser, getStealthBrowserPath } from "./launch-stealth-browser.js";
18
+ // Google-only request-header integrity. Exported so a consumer can see which
19
+ // Chrome builds we hold a VERIFIED seed for, and align the claimed version with
20
+ // it. Previously this module had no reachable caller at all: it was neither
21
+ // re-exported here nor deep-importable through the `exports` map, so the version
22
+ // the digest is computed for could not be chosen from outside the package.
23
+ //
24
+ // Only verified seeds are usable. A missing header set leaves us
25
+ // indistinguishable from every other Chromium build; a header carrying a wrong
26
+ // digest is impossible-valued and therefore unique.
27
+ export { applyIntegrityToConfig, buildIntegrityHeaderArgs, VERIFIED_INTEGRITY_PROFILES, INTEGRITY_CLAIMED_VERSION, CHROME_API_KEYS, } from "./browser-process/integrity-headers.js";
12
28
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,eAAe,UAAU,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB,6EAA6E;AAC7E,6EAA6E;AAC7E,yEAAyE;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACpH,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,UAAU,MAAM,cAAc,CAAC;AACtC,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,eAAe,UAAU,CAAC;AAC1B,OAAO,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAG/C,OAAO,EAAE,OAAO,EAAE,CAAC;AAEnB,6EAA6E;AAC7E,6EAA6E;AAC7E,yEAAyE;AACzE,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,cAAc,EAAE,2BAA2B,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACpH,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAavE,8EAA8E;AAC9E,gFAAgF;AAChF,6EAA6E;AAC7E,6EAA6E;AAC7E,yBAAyB;AACzB,OAAO,EAAE,oBAAoB,EAAE,qBAAqB,EAAE,MAAM,6BAA6B,CAAC;AAI1F,6EAA6E;AAC7E,gFAAgF;AAChF,4EAA4E;AAC5E,iFAAiF;AACjF,2EAA2E;AAC3E,EAAE;AACF,iEAAiE;AACjE,+EAA+E;AAC/E,oDAAoD;AACpD,OAAO,EACH,sBAAsB,EACtB,wBAAwB,EACxB,2BAA2B,EAC3B,yBAAyB,EACzB,eAAe,GAClB,MAAM,wCAAwC,CAAC"}
@@ -0,0 +1,143 @@
1
+ /**
2
+ * `launchStealthBrowser()` - launch the anti-detect browser with the same stealth
3
+ * setup the crawler uses internally, without going through the crawler.
4
+ *
5
+ * WHY THIS EXISTS. Everything needed to launch a properly-spoofed session was
6
+ * already in the package and none of it was reachable from outside it. The
7
+ * `exports` map allows only `.` and `./package.json`, so a consumer cannot deep
8
+ * import `browser-process/*`, and `index.ts` exported the crawler, the router,
9
+ * `CdpPage` and the session-bundle helpers - no launcher. A consumer who wanted a
10
+ * browser rather than a crawl had to re-implement the composition, and the parts
11
+ * are not obvious: miss one and the launch still succeeds while advertising a
12
+ * contradiction.
13
+ *
14
+ * That gap had a measurable cost. The Google-only integrity header module shipped
15
+ * with no reachable caller, so `sec-ch-ua-full-version` could not be aligned with
16
+ * the digest's build from outside the package at all.
17
+ *
18
+ * WHAT THE ORDER BUYS YOU. These steps are sequenced, not a bag of options:
19
+ *
20
+ * 1. `prepareForLaunch` picks an OS-matching, uncontaminated profile and
21
+ * generates the C++ `FingerprintConfigJson` from it. Selection must happen
22
+ * before the config is written - once the browser starts with a wrong-OS
23
+ * profile baked in, nothing afterwards can undo it.
24
+ * 2. The same call aligns UA and UA-CH with the real binary version, so the
25
+ * profile's own Chrome vintage never contradicts the binary.
26
+ * 3. `launchBrowserWithNewProfile` applies the integrity headers - which also
27
+ * re-aligns the advertised full version onto the seed's build - then writes
28
+ * the config and composes the command line.
29
+ *
30
+ * Per ADR 0004 the identity a session claims is the reference, never the host. On
31
+ * Linux with a macOS profile every surface has to present the macOS shape, so the
32
+ * profile's OS is what drives the config, and `fingerprintGeneratorOptions.
33
+ * operatingSystems` is how you choose it.
34
+ */
35
+ import type { FingerprintConfigJson } from './browser-process/anti-detect-config.js';
36
+ import type { BrowserProcess } from './browser-process/process.js';
37
+ export interface LaunchStealthBrowserOptions {
38
+ /**
39
+ * Path to the browser binary. Defaults to the installed anti-detect build.
40
+ *
41
+ * Point this at stock Chrome only deliberately: the C++ overrides are what
42
+ * most of the stealth surface is, and a stock binary silently ignores the
43
+ * config file, leaving the host's own fingerprint on every surface the JS
44
+ * layer does not cover.
45
+ */
46
+ executablePath?: string;
47
+ /**
48
+ * Remote-debugging port. Omit for no CDP endpoint at all.
49
+ *
50
+ * A FIXED port is safe; `0` is not. Chromium sets `navigator.webdriver` when
51
+ * it is started with `--remote-debugging-port=0` (as it does for
52
+ * `--enable-automation`, `--headless` and `--remote-debugging-pipe`), so
53
+ * asking for an ephemeral port advertises automation on a surface every
54
+ * detector reads. Pass a real port number or nothing.
55
+ */
56
+ debuggingPort?: number;
57
+ /** Upstream proxy URL. Prefer SOCKS5 - see the note on TLS below. */
58
+ proxyUrl?: string;
59
+ /**
60
+ * Stable identity key. Two launches with the same value get the same
61
+ * fingerprint, because seeds are derived from it rather than from
62
+ * `Date.now()` / `Math.random()`.
63
+ *
64
+ * Omitting it falls back to seeding from the proxy URL, so distinct sessions
65
+ * sharing one proxy would claim the same machine. Pass it whenever you want
66
+ * one identity per session.
67
+ */
68
+ sessionId?: string;
69
+ /**
70
+ * Use real captured Chrome device profiles instead of generated ones.
71
+ * Defaults to `true`.
72
+ */
73
+ useNonApifyFingerprints?: boolean;
74
+ /**
75
+ * Which OS the session should CLAIM, e.g. `{ operatingSystems: ['macos'] }`.
76
+ * This is the claimed identity, not the host's.
77
+ */
78
+ fingerprintGeneratorOptions?: {
79
+ operatingSystems?: string[];
80
+ } & Record<string, unknown>;
81
+ /** BCP-47 locale driving navigator, Intl, Accept-Language and timezone together. */
82
+ locale?: string;
83
+ /** Window size. Defaults to a desktop-typical 1920x1080. */
84
+ windowWidth?: number;
85
+ windowHeight?: number;
86
+ /** Reuse an existing profile directory instead of a fresh temp one. */
87
+ userDataDir?: string;
88
+ /** Keep the profile directory on exit. Defaults to true only when you supplied one. */
89
+ keepUserDataDir?: boolean;
90
+ /**
91
+ * A captured `FingerprintConfigJson` to use verbatim, skipping generation.
92
+ * This is how session continuity works: feed back the config a previous
93
+ * launch used and the second browser is byte-for-byte the first one.
94
+ */
95
+ fingerprintConfig?: FingerprintConfigJson;
96
+ /** Extra command-line switches, appended last. */
97
+ extraArgs?: string[];
98
+ }
99
+ export interface StealthBrowserLaunch {
100
+ /** The live process. `await wsEndpoint()` for the CDP URL, `kill()` to stop it. */
101
+ browserProcess: BrowserProcess;
102
+ /**
103
+ * The config this launch actually used - after profile selection, binary
104
+ * alignment and integrity-version alignment.
105
+ *
106
+ * Keep it to reproduce the session later via `fingerprintConfig`, and read it
107
+ * to know what the session is claiming rather than inferring it.
108
+ */
109
+ fingerprintConfig?: FingerprintConfigJson;
110
+ /** Whether the resolved binary is the anti-detect build (native C++ stealth). */
111
+ usingNativeStealth: boolean;
112
+ }
113
+ /**
114
+ * Launch a fully-spoofed browser and return the process plus the config it used.
115
+ *
116
+ * ```ts
117
+ * import { launchStealthBrowser } from 'jumpy-lion';
118
+ *
119
+ * const { browserProcess, fingerprintConfig } = await launchStealthBrowser({
120
+ * debuggingPort: 9222,
121
+ * sessionId: 'session-1',
122
+ * fingerprintGeneratorOptions: { operatingSystems: ['macos'] },
123
+ * });
124
+ *
125
+ * const wsUrl = await browserProcess.wsEndpoint();
126
+ * // … drive it over CDP …
127
+ * await browserProcess.kill();
128
+ * ```
129
+ *
130
+ * On proxies: `proxyUrl` is passed to Chromium directly. Prefer SOCKS5 over an
131
+ * HTTP proxy that terminates TLS - a MITM proxy replaces Chromium's own TLS
132
+ * ClientHello with its runtime's, which changes the JA4 fingerprint and undoes
133
+ * work no JS or C++ override can reach.
134
+ */
135
+ export declare function launchStealthBrowser(options?: LaunchStealthBrowserOptions): Promise<StealthBrowserLaunch>;
136
+ /**
137
+ * Where the anti-detect binary was found, or `null` if it is not installed.
138
+ *
139
+ * Exported so a consumer can check for the native build before launching rather
140
+ * than discovering from a warning that it ran unspoofed.
141
+ */
142
+ export declare function getStealthBrowserPath(): string | null;
143
+ //# sourceMappingURL=launch-stealth-browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"launch-stealth-browser.d.ts","sourceRoot":"","sources":["../src/launch-stealth-browser.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAiCG;AAKH,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;AAIrF,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,8BAA8B,CAAC;AAEnE,MAAM,WAAW,2BAA2B;IACxC;;;;;;;OAOG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB;;;;;;;;OAQG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,qEAAqE;IACrE,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB;;;;;;;;OAQG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAElC;;;OAGG;IACH,2BAA2B,CAAC,EAAE;QAAE,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAExF,oFAAoF;IACpF,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,uEAAuE;IACvE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uFAAuF;IACvF,eAAe,CAAC,EAAE,OAAO,CAAC;IAE1B;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;IAE1C,kDAAkD;IAClD,SAAS,CAAC,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,oBAAoB;IACjC,mFAAmF;IACnF,cAAc,EAAE,cAAc,CAAC;IAC/B;;;;;;OAMG;IACH,iBAAiB,CAAC,EAAE,qBAAqB,CAAC;IAC1C,iFAAiF;IACjF,kBAAkB,EAAE,OAAO,CAAC;CAC/B;AAED;;;;;;;;;;;;;;;;;;;;;GAqBG;AACH,wBAAsB,oBAAoB,CACtC,OAAO,GAAE,2BAAgC,GAC1C,OAAO,CAAC,oBAAoB,CAAC,CAuE/B;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,GAAG,IAAI,CAErD"}