jumpy-lion 0.1.6-beta.16 → 0.1.6-beta.18

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.
@@ -104,7 +104,7 @@ export interface LaunchBrowserOptions {
104
104
  useNonApifyFingerprints?: boolean;
105
105
  };
106
106
  /**
107
- * Pre-generated FingerprintConfig JSON for native stealth. Written to --fingerprint-config
107
+ * Pre-generated platform-overrides JSON for native stealth. Written to --blink-platform-overrides-file
108
108
  * before the browser launches so C++ patches get per-session hardware fingerprints.
109
109
  */
110
110
  fingerprintConfig?: FingerprintConfigJson;
@@ -1 +1 @@
1
- {"version":3,"file":"browser-plugin.d.ts","sourceRoot":"","sources":["../src/browser-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-plugin.d.ts","sourceRoot":"","sources":["../src/browser-plugin.ts"],"names":[],"mappings":"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"}
@@ -4,6 +4,7 @@ import CDPBrowserController from './browser-controller.js';
4
4
  import { launchChromeBrowserWithNewProfile } from './browser-process/browser.js';
5
5
  import { generateFingerprintConfig } from './browser-process/anti-detect-config.js';
6
6
  import { getChromeBinaryVersion, getAntiDetectBrowserPath, resolveAntiDetectBrowserPath } from './browser-process/get-chrome-executable.js';
7
+ import { FingerprintGenerator } from 'fingerprint-generator';
7
8
  import { generateNonApifyFingerprint } from './fingerprinting/non-apify-fingerprint-generator.js';
8
9
  import { fetchProxyCountry, resolveLocale } from './fingerprinting/locale-resolver.js';
9
10
  import { CdpLauncher } from './launcher-wrap.js';
@@ -241,31 +242,311 @@ class CDPBrowserPlugin extends BrowserPlugin {
241
242
  const proxySeedKey = proxyUrl
242
243
  ? (proxyUrl.match(/session-([^,&]+)/i)?.[1] ?? null)
243
244
  : (typeof _fpOpts?.seedKey === 'string' ? _fpOpts.seedKey : null);
245
+ // Pool-contamination filter. The upstream fingerprint-generator dataset
246
+ // contains a small but recurring fraction (~30-40%) of profiles that come
247
+ // from Lark/Feishu (ByteDance) modified Chrome installs and similar
248
+ // third-party browser modifications. Telltales:
249
+ // - userAgent suffix " LarkUrl" or mid-UA " newsai/X.Y.Z" injection
250
+ // - navigator.platform = "Linux x86_64" while UA claims Macintosh
251
+ // - hardwareConcurrency > 32 (server CPU; consumer Macs are 4-16)
252
+ // - "10_15_6" frozen UA stamp instead of canonical Chrome 147 "10_15_7"
253
+ // A contaminated profile flows verbatim into FingerprintConfig and the
254
+ // C++ patches dutifully spoof to it — every CreepJS/DataDome/Naver run
255
+ // sees a bot. We re-roll until clean, capped at 8 attempts.
256
+ // Host-OS expectation: when the caller (or our crawler.ts default-OS
257
+ // policy) pinned operatingSystems, the picked fingerprint must match.
258
+ // Without this guard in the rejection loop, the C++ JSON gets written
259
+ // from a wrong-OS profile and the browser launches with mismatched
260
+ // platform/UA/GPU before browser-controller's later OS-mismatch regen
261
+ // can correct anything — too late to undo the C++ config write.
262
+ const fpGenOpts = launchOptions?.fingerprintGeneratorOptions;
263
+ const explicitPlatform = _fpOpts?.platform;
264
+ const HOST_OS_TO_PLATFORM = {
265
+ macos: 'MacIntel',
266
+ windows: 'Win32',
267
+ linux: 'Linux x86_64',
268
+ };
269
+ const PROCESS_HOST_OS = process.platform === 'darwin' ? 'macos'
270
+ : process.platform === 'linux' ? 'linux'
271
+ : process.platform === 'win32' ? 'windows'
272
+ : null;
273
+ // Priority: explicit fingerprintOptions.platform → pinned
274
+ // operatingSystems[0] from crawler.ts default → host OS as last resort.
275
+ const expectedOs = explicitPlatform === 'MacIntel'
276
+ ? 'macos'
277
+ : explicitPlatform === 'Win32'
278
+ ? 'windows'
279
+ : explicitPlatform === 'Linux x86_64'
280
+ ? 'linux'
281
+ : fpGenOpts?.operatingSystems?.[0]?.toLowerCase()
282
+ ?? PROCESS_HOST_OS;
283
+ const expectedPlatform = expectedOs ? HOST_OS_TO_PLATFORM[expectedOs] : null;
284
+ const isContaminatedProfile = (fp) => {
285
+ const nav = fp?.fingerprint?.navigator ?? {};
286
+ const ua = nav.userAgent ?? '';
287
+ const platform = nav.platform ?? '';
288
+ const hwc = nav.hardwareConcurrency ?? 0;
289
+ const uaData = nav.userAgentData ?? {};
290
+ const arch = uaData.architecture ?? '';
291
+ const platformVersion = uaData.platformVersion ?? '';
292
+ const brands = uaData.brands ?? [];
293
+ const videoCard = fp?.fingerprint?.videoCard ?? {};
294
+ const gpuRenderer = videoCard.renderer ?? '';
295
+ // Reject host-OS mismatches first — even a "clean" profile of the
296
+ // wrong OS is a non-starter when we're targeting a specific host.
297
+ if (expectedPlatform && platform && platform !== expectedPlatform) {
298
+ return `platform=${platform} != expected ${expectedPlatform} (host-OS pin)`;
299
+ }
300
+ if (/\b(LarkUrl|Lark\/|Feishu|newsai\/|toutiao|bytedance)\b/i.test(ua)) {
301
+ return `UA contains modified-Chrome marker: …${ua.slice(-60)}`;
302
+ }
303
+ if (hwc > 32) {
304
+ return `hardwareConcurrency=${hwc} exceeds consumer cap (server-class CPU)`;
305
+ }
306
+ // Pool occasionally returns ancient Chrome majors (108 from 2022,
307
+ // 128, 136…). For 2026 traffic this is implausibly old: real Chrome
308
+ // auto-updates and the share of >2-year-old majors is <1% in the
309
+ // wild. The launcher already re-stamps UA + UA-CH to the running
310
+ // binary version, but several profile-derived fields (Chromium
311
+ // version-gated feature exposure in fingerprint metadata) still
312
+ // reflect the source profile's vintage. Reject anything pre-140
313
+ // (Chrome 140 shipped 2025-08, conservative floor for "current"
314
+ // traffic in May 2026).
315
+ const chromeMajorMatch = ua.match(/Chrome\/(\d+)/);
316
+ const chromeMajor = chromeMajorMatch ? Number(chromeMajorMatch[1]) : 0;
317
+ if (chromeMajor > 0 && chromeMajor < 140) {
318
+ return `Chrome major ${chromeMajor} is stale (pre-140); current cutoff is 140+ for 2026 traffic`;
319
+ }
320
+ const claimsMac = /Macintosh|Mac OS X/i.test(ua);
321
+ if (claimsMac && platform && platform !== 'MacIntel') {
322
+ return `UA claims Mac but platform=${platform}`;
323
+ }
324
+ if (claimsMac && hwc > 0 && hwc < 8) {
325
+ // Real Apple Silicon Mac cores: M1=8, M1 Pro=8/10, M1 Max=10,
326
+ // M2=8, M2 Pro=10/12, M3+=8/10/12/14/16. Anything <8 is either
327
+ // a pre-2020 MacBook Air dual-core (Chrome dropped support long
328
+ // ago) or a VM/sandbox-capped profile — neither is plausible
329
+ // for 2026 Mac traffic claiming an Apple Silicon GPU.
330
+ return `hardwareConcurrency=${hwc} too low for Apple Silicon Mac (real range 8-16)`;
331
+ }
332
+ if (claimsMac && /Mac OS X 10_15_[0-6][^0-9]/i.test(ua)) {
333
+ // Canonical frozen Chrome 147+ macOS UA carries "10_15_7"; any other
334
+ // _N value is the Lark cluster's stale stamp.
335
+ return `Mac UA carries non-canonical 10_15_<6 stamp (Lark cluster signature)`;
336
+ }
337
+ // UA tail: after "Safari/537.36" real Chrome is bare. Any trailing
338
+ // token is a third-party UA-modifier brand (LarkUrl / Edg / OPR / etc).
339
+ const tailMatch = ua.match(/Safari\/537\.36(.*)$/);
340
+ if (tailMatch && tailMatch[1].trim().length > 0) {
341
+ return `UA has unexpected tail after Safari/537.36: "${tailMatch[1].trim()}"`;
342
+ }
343
+ // ─── Hardware / architecture / OS-version consistency ──────────
344
+ // CreepJS and modern anti-bot vendors cross-check
345
+ // navigator.userAgentData.architecture (x86 | arm)
346
+ // navigator.userAgentData.platformVersion (e.g. "15.7.1")
347
+ // WEBGL_RENDERER ("ANGLE (Apple, Apple Mn…)" vs "ANGLE (Intel,…)")
348
+ // against each other. Apify pool routinely ships profiles that
349
+ // violate every one of these — Intel iGPU + ARM arch, Apple M4 +
350
+ // x86 arch, Intel Mac claiming Sequoia (15.x, Apple-Silicon-only),
351
+ // etc. Each is an instant detection signal.
352
+ if (claimsMac) {
353
+ const rendererIsApple = /\bAngle \(Apple|Apple M\d|Apple GPU/i.test(gpuRenderer);
354
+ // Match any non-Apple desktop-Mac GPU vendor string. Includes:
355
+ // - Modern ANGLE form: "ANGLE (Intel, …)" / "ANGLE (AMD, …)"
356
+ // - Parenthesised form: "Intel(R) Iris" / "Intel(R) UHD"
357
+ // - Bare AMD form: "AMD Radeon Pro 560"
358
+ // - Bare NVIDIA form: "NVIDIA GeForce GT 750M" (old Mac Pro)
359
+ // - Old OpenGL form: "Intel Iris OpenGL Engine" /
360
+ // "Intel HD Graphics OpenGL Engine"
361
+ // (pre-ANGLE Mac drivers; common in older
362
+ // pool profiles, was the regex hole that
363
+ // let arm-arch + Intel-GPU through)
364
+ const rendererIsIntelOrAMD = (/\bAngle \((Intel|AMD|NVIDIA)\b/i.test(gpuRenderer)
365
+ || /\bIntel\(R\)/i.test(gpuRenderer)
366
+ || /\bAMD Radeon\b/i.test(gpuRenderer)
367
+ || /\bNVIDIA\b/i.test(gpuRenderer)
368
+ || /\bIntel (Iris|HD|UHD|OpenGL)\b/i.test(gpuRenderer));
369
+ if (arch === 'arm' && rendererIsIntelOrAMD) {
370
+ return `arch=arm contradicts Intel/AMD GPU renderer "${gpuRenderer.slice(0, 60)}"`;
371
+ }
372
+ if (arch === 'x86' && rendererIsApple) {
373
+ return `arch=x86 contradicts Apple Silicon GPU renderer "${gpuRenderer.slice(0, 60)}"`;
374
+ }
375
+ // platformVersion major sanity vs architecture:
376
+ // 15.x (Sequoia) + 26.x (Tahoe) are Apple-Silicon-only —
377
+ // Intel/AMD Macs cannot run them (Apple dropped Intel after Sonoma).
378
+ // <11.x (pre-Big-Sur) is Intel-only — Apple Silicon launched on 11.0.
379
+ const pvMajor = parseInt(platformVersion.split('.')[0] ?? '0', 10);
380
+ if (pvMajor >= 15 && arch === 'x86') {
381
+ return `platformVersion=${platformVersion} (Sequoia+) requires Apple Silicon but arch=x86`;
382
+ }
383
+ if (pvMajor >= 1 && pvMajor < 11 && arch === 'arm') {
384
+ return `platformVersion=${platformVersion} (pre-Big-Sur) is Intel-only but arch=arm`;
385
+ }
386
+ // Same check via GPU class (defense-in-depth when arch is missing):
387
+ if (pvMajor >= 15 && rendererIsIntelOrAMD) {
388
+ return `platformVersion=${platformVersion} (Sequoia+) requires Apple Silicon but GPU is Intel/AMD`;
389
+ }
390
+ }
391
+ // ─── Brand cohort consistency ──────────────────────────────────
392
+ // userAgentData.brands should carry only Chrome / Chromium / GREASE
393
+ // when we are launching a Chrome binary. Apify pool mixes in Brave/
394
+ // Edge/Opera/Yandex profiles whose brand entries advertise those
395
+ // browsers directly — CreepJS reads them via getHighEntropyValues
396
+ // and a Chrome UA paired with a Brave brand entry is an instant
397
+ // contradiction.
398
+ const isGreaseBrand = (n) => /^Not.A.Brand$/i.test(n);
399
+ const ALLOWED_BRANDS = /^(Google Chrome|Chromium)$/;
400
+ const offending = brands.find(b => b?.brand && !isGreaseBrand(b.brand) && !ALLOWED_BRANDS.test(b.brand));
401
+ if (offending) {
402
+ return `userAgentData.brands includes non-Chrome derivative "${offending.brand}"`;
403
+ }
404
+ // Prefer profiles whose brands include "Google Chrome" — pool also
405
+ // returns Chromium-only profiles (no Google Chrome entry) which a
406
+ // CreepJS / FingerprintJS check via getHighEntropyValues against the
407
+ // canonical Chrome brand list would flag as "Chromium-based but not
408
+ // Chrome". Real Chrome's brand list always contains "Google Chrome".
409
+ const hasGoogleChrome = brands.some(b => b?.brand === 'Google Chrome');
410
+ if (brands.length > 0 && !hasGoogleChrome) {
411
+ return `userAgentData.brands lacks "Google Chrome" entry (Chromium-branded profile)`;
412
+ }
413
+ // ─── GPU renderer must be the detailed-ANGLE form, not SwiftShader ──
414
+ // 29% of upstream Mac/Chrome profiles carry the SwiftShader software-
415
+ // renderer signature:
416
+ // "ANGLE (Google, Vulkan 1.3.0 (SwiftShader Device (Subzero) …))"
417
+ // No real Mac running real Chrome reports this — SwiftShader is
418
+ // Chrome's last-resort software fallback used only when no GPU is
419
+ // available, e.g. inside Docker containers with no /dev/dri or on
420
+ // headless test runners. Shipping a SwiftShader renderer with a Mac
421
+ // UA is an instant "this is a sandboxed browser" signal.
422
+ if (claimsMac && /SwiftShader|llvmpipe|Mesa Offscreen/i.test(gpuRenderer)) {
423
+ return `videoCard.renderer is SwiftShader/software (real Mac never reports this)`;
424
+ }
425
+ return null;
426
+ };
244
427
  // If non-Apify real-device profiles are requested, generate the profile now
245
428
  // so C++ gets the same profile that the fingerprint injector will use.
246
429
  let fpForConfig = fingerprint;
247
430
  if (_fpOpts?.useNonApifyFingerprints) {
248
431
  // User-supplied fingerprintOptions.platform wins; falls back to
249
- // whatever the existing Crawlee-generated fingerprint says.
432
+ // whatever the existing Crawlee-generated fingerprint says; if
433
+ // neither is available, default to the host OS we're running on
434
+ // (so a Mac dev box ships Mac profiles, Linux ships Linux, etc.).
250
435
  const userPlatform = _fpOpts?.platform;
436
+ const HOST_OS_FALLBACK = (() => {
437
+ if (process.platform === 'darwin')
438
+ return 'macos';
439
+ if (process.platform === 'linux')
440
+ return 'linux';
441
+ return 'windows';
442
+ })();
251
443
  const osHint = (() => {
444
+ // 1. Explicit user platform pin (fingerprintOptions.platform) — highest priority
445
+ if (userPlatform === 'MacIntel')
446
+ return 'macos';
447
+ if (userPlatform === 'Linux x86_64')
448
+ return 'linux';
449
+ if (userPlatform === 'Win32')
450
+ return 'windows';
451
+ // 2. Existing fingerprint's platform string (when Crawlee already
452
+ // picked one — e.g. via browserPoolOptions.fingerprintOptions.
453
+ // fingerprintGeneratorOptions.operatingSystems)
252
454
  const p = (fingerprint?.fingerprint?.navigator?.platform || '').toLowerCase();
253
455
  if (p.includes('mac'))
254
456
  return 'macos';
255
457
  if (p.includes('linux'))
256
458
  return 'linux';
257
- return 'windows';
459
+ if (p.includes('win'))
460
+ return 'windows';
461
+ // 3. Host OS fallback — matches the crawler.ts default-OS policy
462
+ return HOST_OS_FALLBACK;
258
463
  })();
259
- const nonApifyFp = await generateNonApifyFingerprint({
464
+ let nonApifyFp = await generateNonApifyFingerprint({
260
465
  platform: userPlatform,
261
466
  os: osHint,
262
467
  proxySeedKey,
263
468
  });
469
+ let rejection = isContaminatedProfile(nonApifyFp);
470
+ let attempts = 1;
471
+ while (rejection && attempts < 8) {
472
+ log.debug(`[AntiDetect] Rejected non-Apify profile (attempt ${attempts}): ${rejection}`);
473
+ nonApifyFp = await generateNonApifyFingerprint({
474
+ platform: userPlatform,
475
+ os: osHint,
476
+ proxySeedKey: proxySeedKey ? `${proxySeedKey}-r${attempts}` : null,
477
+ });
478
+ rejection = isContaminatedProfile(nonApifyFp);
479
+ attempts++;
480
+ }
481
+ if (rejection) {
482
+ log.warning(`[AntiDetect] non-Apify profile pool returned contaminated entries for 8 attempts; using last: ${rejection}`);
483
+ }
264
484
  fpForConfig = nonApifyFp;
265
485
  // Store for browser-controller._newPage() — it will reuse this instead of
266
486
  // generating a different profile (session consistency).
267
487
  launchContext.fingerprint = fpForConfig;
268
488
  }
489
+ else {
490
+ // Default Apify fingerprint pool — also contains contaminated profiles
491
+ // (LarkUrl / Rambox / newsai / 184-cores / Linux-platform-with-Mac-UA).
492
+ // Re-roll up to 8 times; the previous version only re-rolled when the
493
+ // caller threaded its generator onto launchContext (a path
494
+ // browser-controller.ts often skips), which silently no-op'd in harvest
495
+ // and direct CDPCrawler usage. Always instantiate a generator here as
496
+ // a fallback so re-rolls actually fire and contamination is escaped.
497
+ let rejection = isContaminatedProfile(fpForConfig);
498
+ let attempts = 1;
499
+ const externalGen = launchContext?.fingerprintGenerator
500
+ ?? launchContext.launchOptions?.fingerprintGenerator;
501
+ // Use external generator if the caller threaded one through (preserves
502
+ // any caller-side generator options). Otherwise instantiate a fresh
503
+ // FingerprintGenerator with the SAME OS / browser / device constraints
504
+ // that crawler.ts pinned via launchOptions.fingerprintGeneratorOptions
505
+ // (host-OS default). Without these constraints the reroller pulls from
506
+ // the union of macos/linux/windows profiles, so on a Mac box rejecting
507
+ // the initial wrong-OS profile leads the reroller to ~33% Mac samples
508
+ // and ~67% wrong-OS — every Win32/Linux re-roll is immediately rejected
509
+ // by the platform!=expected check, exhausting attempts without finding
510
+ // a clean candidate. Carry the constraints forward.
511
+ const rerollGenOpts = {
512
+ ...(fpGenOpts ?? {}),
513
+ browsers: ['chrome'],
514
+ devices: ['desktop'],
515
+ };
516
+ const reroller = externalGen?.getFingerprint
517
+ ? externalGen
518
+ : new FingerprintGenerator(rerollGenOpts);
519
+ // Bump attempts to 32 — the upstream Apify pool's contamination rate
520
+ // for macOS-arm is ~55-60%, so 8 attempts has a ~0.6^8 = 1.7% miss
521
+ // rate but a clean profile may take 15-20 tries when the rejection
522
+ // is hardware-coherence-strict.
523
+ const MAX_REROLL_ATTEMPTS = 32;
524
+ while (rejection && attempts < MAX_REROLL_ATTEMPTS) {
525
+ log.debug(`[AntiDetect] Rejected Apify profile (attempt ${attempts}): ${rejection}`);
526
+ try {
527
+ const next = await reroller.getFingerprint();
528
+ if (!next)
529
+ break;
530
+ fpForConfig = next;
531
+ }
532
+ catch (e) {
533
+ log.debug(`[AntiDetect] Re-roll attempt ${attempts} failed: ${e?.message}`);
534
+ break;
535
+ }
536
+ rejection = isContaminatedProfile(fpForConfig);
537
+ attempts++;
538
+ }
539
+ if (rejection) {
540
+ log.warning(`[AntiDetect] Apify fingerprint pool kept returning contaminated entries after ${attempts - 1} re-rolls; using last: ${rejection}`);
541
+ }
542
+ else if (attempts > 1) {
543
+ log.debug(`[AntiDetect] Escaped contaminated pool entry after ${attempts - 1} re-rolls`);
544
+ }
545
+ if (attempts > 1 && fpForConfig) {
546
+ // Keep launchContext in sync so newPage() doesn't pick a different profile.
547
+ launchContext.fingerprint = fpForConfig;
548
+ }
549
+ }
269
550
  if (fpForConfig) {
270
551
  try {
271
552
  const cfg = generateFingerprintConfig(fpForConfig, proxySeedKey ?? undefined, launchOptions.resolvedLocale);
@@ -276,11 +557,69 @@ class CDPBrowserPlugin extends BrowserPlugin {
276
557
  if (binaryVersion) {
277
558
  const major = binaryVersion.split('.')[0];
278
559
  if (cfg.navigator.userAgent) {
560
+ // 1. Replace Chrome version with the binary's MAJOR.0.0.0 (UA Reduction).
279
561
  cfg.navigator.userAgent = cfg.navigator.userAgent.replace(/Chrome\/\d+\.\d+\.\d+\.\d+/, `Chrome/${major}.0.0.0`);
562
+ // 2. Sanitize: real Chrome's UA ends exactly with "Safari/537.36"
563
+ // (or " Mobile Safari/537.36" / " Edg/…" for Edge). Anything else
564
+ // after Safari/537.36 is a third-party UA modifier. Pool-contaminated
565
+ // profiles carry app-embedded tokens (Electron-style: Rambox, Slack,
566
+ // Discord, Postman, etc.) that sit BEFORE "Chrome/" — the previous
567
+ // tail-strip missed them. Strip both: known mid-UA tokens (between
568
+ // AppleWebKit and Chrome) and any post-Safari junk.
569
+ //
570
+ // Confirmed pool contaminants observed in harvests:
571
+ // Rambox/2.5.2, LarkUrl, Feishu, newsai, toutiao, bytedance.
572
+ // Defensive entries: SamsungBrowser/Edg/OPR/YaBrowser are valid
573
+ // Chrome-derivative tokens AFTER Safari/537.36 but never BEFORE
574
+ // Chrome/ in real UAs — included here to strip mid-UA misplacements.
575
+ cfg.navigator.userAgent = cfg.navigator.userAgent
576
+ .replace(/\s+(Rambox\/[^\s]+|Slack\/[^\s]+|Discord\/[^\s]+|Postman[^\s]*|Whale\/[^\s]+|Electron\/[^\s]+|Atom\/[^\s]+|LarkUrl|Lark\/[^\s]+|Feishu[^\s]*|newsai\/[^\s]+|toutiao[^\s]*|bytedance[^\s]*)/gi, '')
577
+ .replace(/(Safari\/537\.36)\s+\S.*$/i, '$1');
578
+ // 3. Validator: after sanitization the UA must match the canonical
579
+ // Chrome shape. If it doesn't (unknown contaminant slipped through),
580
+ // rebuild from parts so a single bad pool entry can't ship.
581
+ const CHROME_UA_CANONICAL = new RegExp('^Mozilla/5\\.0 \\([^)]+\\) '
582
+ + 'AppleWebKit/537\\.36 \\(KHTML, like Gecko\\) '
583
+ + 'Chrome/\\d+\\.\\d+\\.\\d+\\.\\d+ '
584
+ + 'Safari/537\\.36'
585
+ + '(?: (?:Mobile )?(?:Edg|SamsungBrowser|OPR|YaBrowser)/[\\d.]+)?$');
586
+ if (!CHROME_UA_CANONICAL.test(cfg.navigator.userAgent)) {
587
+ const platformPart = cfg.navigator.platform === 'MacIntel'
588
+ ? 'Macintosh; Intel Mac OS X 10_15_7'
589
+ : cfg.navigator.platform === 'Win32'
590
+ ? 'Windows NT 10.0; Win64; x64'
591
+ : 'X11; Linux x86_64';
592
+ const rebuilt = `Mozilla/5.0 (${platformPart}) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/${major}.0.0.0 Safari/537.36`;
593
+ log.warning(`[AntiDetect] UA failed canonical-shape check after sanitization; rebuilding from parts. before=${cfg.navigator.userAgent} after=${rebuilt}`);
594
+ cfg.navigator.userAgent = rebuilt;
595
+ }
280
596
  }
281
597
  if (cfg.navigator.userAgentData) {
282
598
  cfg.navigator.userAgentData.uaFullVersion = binaryVersion;
283
- cfg.navigator.userAgentData.brands = cfg.navigator.userAgentData.brands.map(b => b.brand === 'Not_A Brand' ? b : { ...b, version: major, full_version: binaryVersion });
599
+ // GREASE-brand detector: per Chromium's GenerateBrandVersionList
600
+ // (components/embedder_support/user_agent_utils.cc) the GREASE entry
601
+ // has the form "Not<sep1>A<sep2>Brand" where seps come from
602
+ // {" ", "(", ":", "-", ".", "/", ")", ";", "=", "?", "_"}
603
+ // and the version is one of {"8","99","24"} (synthetic, never the real
604
+ // Chrome build number). The previous literal check `b.brand === 'Not_A Brand'`
605
+ // only matched the underscore variant, leaving every other separator's
606
+ // GREASE entry to be re-stamped with the real binary version (e.g.
607
+ // "Not:A-Brand v147.0.7727.56") — instantly CreepJS-detectable as a
608
+ // version-leak. Fix: detect via regex over all valid separators and
609
+ // assign a deterministic synthetic version keyed on the seed source.
610
+ const isGreaseBrand = (name) => /^Not.A.Brand$/.test(name);
611
+ const greasePool = ['8', '99', '24'];
612
+ const greaseFullPool = ['8.0.0.0', '99.0.0.0', '24.0.0.0'];
613
+ // Stable seed for the GREASE version pick: prefer proxySeedKey, else
614
+ // hash the brand list to keep choice deterministic per session.
615
+ const seedSource = proxySeedKey ?? cfg.navigator.userAgentData.brands.map(b => b.brand).join('|');
616
+ let h = 0;
617
+ for (let i = 0; i < seedSource.length; i++)
618
+ h = (h * 31 + seedSource.charCodeAt(i)) >>> 0;
619
+ const greaseIdx = h % 3;
620
+ cfg.navigator.userAgentData.brands = cfg.navigator.userAgentData.brands.map(b => isGreaseBrand(b.brand)
621
+ ? { ...b, version: greasePool[greaseIdx], full_version: greaseFullPool[greaseIdx] }
622
+ : { ...b, version: major, full_version: binaryVersion });
284
623
  cfg.navigator.userAgentData.fullVersionList = cfg.navigator.userAgentData.brands;
285
624
  }
286
625
  }
@@ -1 +1 @@
1
- {"version":3,"file":"browser-plugin.js","sourceRoot":"","sources":["../src/browser-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"browser-plugin.js","sourceRoot":"","sources":["../src/browser-plugin.ts"],"names":[],"mappings":"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"}
@@ -3,7 +3,7 @@
3
3
  *
4
4
  * Called by browser.ts before launching the browser when useNativeStealth is enabled.
5
5
  * Translates the fingerprint-generator BrowserFingerprintWithHeaders output into
6
- * the --fingerprint-config JSON schema consumed by the C++ FingerprintConfig class.
6
+ * the --blink-platform-overrides-file JSON schema consumed by the C++ override singleton.
7
7
  */
8
8
  import type { BrowserFingerprintWithHeaders } from 'fingerprint-generator';
9
9
  import type { ResolvedLocale } from '../fingerprinting/locale-resolver.js';
@@ -59,6 +59,14 @@ export interface FingerprintConfigJson {
59
59
  webgl: {
60
60
  vendor: string;
61
61
  renderer: string;
62
+ /**
63
+ * GL_MAX_TEXTURE_SIZE override. Real Apple Silicon (Metal) reports 16384;
64
+ * SwiftShader reports 8192. Claiming an Apple/NVIDIA/AMD renderer string
65
+ * with the underlying SwiftShader 8192 is an instant cross-pname
66
+ * inconsistency CreepJS exploits. Populated based on the renderer string
67
+ * in generateFingerprintConfig(); 0/undefined = "fall through to driver".
68
+ */
69
+ maxTextureSize?: number;
62
70
  };
63
71
  screen: {
64
72
  width: number;
@@ -1 +1 @@
1
- {"version":3,"file":"anti-detect-config.d.ts","sourceRoot":"","sources":["../../src/browser-process/anti-detect-config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAOH,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAE3E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sCAAsC,CAAC;AAI3E,MAAM,WAAW,wBAAwB;IACrC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,wBAAwB;IACrC,QAAQ,EAAE,OAAO,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,YAAY,EAAE,MAAM,CAAC;IACrB,eAAe,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,qBAAqB;IAClC,OAAO,EAAE,CAAC,CAAC;IACX,2DAA2D;IAC3D,IAAI,EAAE,MAAM,CAAC;IACb,uEAAuE;IACvE,SAAS,EAAE,MAAM,CAAC;IAClB,mFAAmF;IACnF,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,oFAAoF;QACpF,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,8DAA8D;QAC9D,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,mBAAmB,EAAE,MAAM,CAAC;QAC5B,YAAY,EAAE,MAAM,CAAC;QACrB,SAAS,EAAE,MAAM,CAAC;QAClB;;;;;;;WAOG;QACH,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,aAAa,CAAC,EAAE;YACZ,MAAM,EAAE,wBAAwB,EAAE,CAAC;YACnC,MAAM,EAAE,OAAO,CAAC;YAChB,QAAQ,EAAE,MAAM,CAAC;YACjB,eAAe,EAAE,MAAM,CAAC;YACxB,YAAY,EAAE,MAAM,CAAC;YACrB,OAAO,EAAE,MAAM,CAAC;YAChB,KAAK,EAAE,MAAM,CAAC;YACd,aAAa,EAAE,MAAM,CAAC;YACtB,eAAe,EAAE,wBAAwB,EAAE,CAAC;SAC/C,CAAC;KACL,CAAC;IACF,KAAK,EAAE;QACH,MAAM,EAAE,MAAM,CAAC;QACf,QAAQ,EAAE,MAAM,CAAC;KACpB,CAAC;IACF,MAAM,EAAE;QACJ,KAAK,EAAE,MAAM,CAAC;QACd,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,WAAW,EAAE,MAAM,CAAC;QACpB,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,KAAK,CAAC,EAAE;QACJ,SAAS,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,OAAO,EAAE,wBAAwB,CAAC;IAClC,KAAK,EAAE;QACH,MAAM,EAAE,OAAO,CAAC;QAChB,KAAK,EAAE,OAAO,CAAC;QACf,KAAK,EAAE,OAAO,CAAC;QACf,WAAW,EAAE,OAAO,CAAC;KACxB,CAAC;IACF,MAAM,EAAE;QACJ,0BAA0B,EAAE,MAAM,CAAC;KACtC,CAAC;IACF,MAAM,CAAC,EAAE;QACL,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,EAAE,MAAM,CAAC;QACrB,MAAM,EAAE,MAAM,CAAC;QACf,WAAW,EAAE,MAAM,CAAC;KACvB,CAAC;IACF;;;;;OAKG;IACH,OAAO,CAAC,EAAE;QACN,mEAAmE;QACnE,GAAG,EAAE,MAAM,CAAC;QACZ,uBAAuB;QACvB,QAAQ,EAAE,MAAM,CAAC;QACjB,0EAA0E;QAC1E,aAAa,EAAE,SAAS,GAAG,IAAI,GAAG,IAAI,GAAG,IAAI,CAAC;QAC9C,QAAQ,EAAE,OAAO,CAAC;KACrB,CAAC;IACF;;;OAGG;IACH,KAAK,CAAC,EAAE;QACJ,UAAU,EAAE,MAAM,CAAC;KACtB,CAAC;CACL;AA0DD;;;;;;;;;GASG;AACH,wBAAgB,yBAAyB,CACrC,WAAW,EAAE,6BAA6B,EAC1C,SAAS,CAAC,EAAE,MAAM,EAClB,cAAc,CAAC,EAAE,cAAc,GAChC,qBAAqB,CAiMvB;AAED;;;GAGG;AACH,wBAAsB,0BAA0B,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAM/F;AAED;;GAEG;AACH,wBAAsB,4BAA4B,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAMlF"}
1
+ {"version":3,"file":"anti-detect-config.d.ts","sourceRoot":"","sources":["../../src/browser-process/anti-detect-config.ts"],"names":[],"mappings":"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"}