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.
- package/dist/browser-plugin.d.ts +1 -1
- package/dist/browser-plugin.d.ts.map +1 -1
- package/dist/browser-plugin.js +343 -4
- package/dist/browser-plugin.js.map +1 -1
- package/dist/browser-process/anti-detect-config.d.ts +9 -1
- package/dist/browser-process/anti-detect-config.d.ts.map +1 -1
- package/dist/browser-process/anti-detect-config.js +124 -32
- package/dist/browser-process/anti-detect-config.js.map +1 -1
- package/dist/browser-process/browser.d.ts +5 -4
- package/dist/browser-process/browser.d.ts.map +1 -1
- package/dist/browser-process/browser.js +64 -54
- package/dist/browser-process/browser.js.map +1 -1
- package/dist/crawler.d.ts.map +1 -1
- package/dist/crawler.js +43 -4
- package/dist/crawler.js.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/stealth-script.d.ts.map +1 -1
- package/dist/fingerprinting/fingerprint-overrides/stealth-script.js +72 -6
- package/dist/fingerprinting/fingerprint-overrides/stealth-script.js.map +1 -1
- package/dist/fingerprinting/locale-resolver.d.ts +7 -0
- package/dist/fingerprinting/locale-resolver.d.ts.map +1 -1
- package/dist/fingerprinting/locale-resolver.js +24 -1
- package/dist/fingerprinting/locale-resolver.js.map +1 -1
- package/dist/fingerprinting/non-apify-profiles.json +8909 -7990
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/package.json +1 -1
package/dist/browser-plugin.d.ts
CHANGED
|
@@ -104,7 +104,7 @@ export interface LaunchBrowserOptions {
|
|
|
104
104
|
useNonApifyFingerprints?: boolean;
|
|
105
105
|
};
|
|
106
106
|
/**
|
|
107
|
-
* Pre-generated
|
|
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":"AAGA,OAAO,EAAE,aAAa,EAAO,KAAK,aAAa,EAAE,MAAM,SAAS,CAAC;AAEjE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,yBAAyB,CAAC;AAC7D,OAAO,oBAAoB,MAAM,yBAAyB,CAAC;AAE3D,OAAO,EAA6B,KAAK,qBAAqB,EAAE,MAAM,yCAAyC,CAAC;
|
|
1
|
+
{"version":3,"file":"browser-plugin.d.ts","sourceRoot":"","sources":["../src/browser-plugin.ts"],"names":[],"mappings":"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"}
|
package/dist/browser-plugin.js
CHANGED
|
@@ -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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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 --
|
|
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;
|
|
1
|
+
{"version":3,"file":"anti-detect-config.d.ts","sourceRoot":"","sources":["../../src/browser-process/anti-detect-config.ts"],"names":[],"mappings":"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"}
|