jumpy-lion 0.1.5 → 0.1.6-beta.1

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 (88) hide show
  1. package/README.md +13 -0
  2. package/dist/browser-controller.d.ts.map +1 -1
  3. package/dist/browser-controller.js +52 -2
  4. package/dist/browser-controller.js.map +1 -1
  5. package/dist/browser-plugin.d.ts +31 -0
  6. package/dist/browser-plugin.d.ts.map +1 -1
  7. package/dist/browser-plugin.js +76 -1
  8. package/dist/browser-plugin.js.map +1 -1
  9. package/dist/browser-process/anti-detect-browser.d.ts +56 -0
  10. package/dist/browser-process/anti-detect-browser.d.ts.map +1 -0
  11. package/dist/browser-process/anti-detect-browser.js +134 -0
  12. package/dist/browser-process/anti-detect-browser.js.map +1 -0
  13. package/dist/browser-process/anti-detect-config.d.ts +84 -0
  14. package/dist/browser-process/anti-detect-config.d.ts.map +1 -0
  15. package/dist/browser-process/anti-detect-config.js +178 -0
  16. package/dist/browser-process/anti-detect-config.js.map +1 -0
  17. package/dist/browser-process/browser.d.ts +19 -0
  18. package/dist/browser-process/browser.d.ts.map +1 -1
  19. package/dist/browser-process/browser.js +83 -4
  20. package/dist/browser-process/browser.js.map +1 -1
  21. package/dist/browser-process/get-chrome-executable.d.ts +7 -0
  22. package/dist/browser-process/get-chrome-executable.d.ts.map +1 -1
  23. package/dist/browser-process/get-chrome-executable.js +42 -0
  24. package/dist/browser-process/get-chrome-executable.js.map +1 -1
  25. package/dist/browser-process/index.d.ts +4 -1
  26. package/dist/browser-process/index.d.ts.map +1 -1
  27. package/dist/browser-process/index.js +3 -1
  28. package/dist/browser-process/index.js.map +1 -1
  29. package/dist/crawler.d.ts +2 -0
  30. package/dist/crawler.d.ts.map +1 -1
  31. package/dist/crawler.js +5 -2
  32. package/dist/crawler.js.map +1 -1
  33. package/dist/fingerprinting/fingerprint-injector.d.ts +39 -0
  34. package/dist/fingerprinting/fingerprint-injector.d.ts.map +1 -1
  35. package/dist/fingerprinting/fingerprint-injector.js +141 -50
  36. package/dist/fingerprinting/fingerprint-injector.js.map +1 -1
  37. package/dist/fingerprinting/fingerprint-overrides/audio-spoofing.d.ts.map +1 -1
  38. package/dist/fingerprinting/fingerprint-overrides/audio-spoofing.js +16 -0
  39. package/dist/fingerprinting/fingerprint-overrides/audio-spoofing.js.map +1 -1
  40. package/dist/fingerprinting/fingerprint-overrides/cdp-detection-bypass.d.ts.map +1 -1
  41. package/dist/fingerprinting/fingerprint-overrides/cdp-detection-bypass.js +3 -2
  42. package/dist/fingerprinting/fingerprint-overrides/cdp-detection-bypass.js.map +1 -1
  43. package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.d.ts.map +1 -1
  44. package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.js +18 -10
  45. package/dist/fingerprinting/fingerprint-overrides/datadome-bypass.js.map +1 -1
  46. package/dist/fingerprinting/fingerprint-overrides/index.d.ts +1 -1
  47. package/dist/fingerprinting/fingerprint-overrides/index.d.ts.map +1 -1
  48. package/dist/fingerprinting/fingerprint-overrides/index.js +1 -1
  49. package/dist/fingerprinting/fingerprint-overrides/index.js.map +1 -1
  50. package/dist/fingerprinting/fingerprint-overrides/locale-spoofing.d.ts.map +1 -1
  51. package/dist/fingerprinting/fingerprint-overrides/locale-spoofing.js +5 -8
  52. package/dist/fingerprinting/fingerprint-overrides/locale-spoofing.js.map +1 -1
  53. package/dist/fingerprinting/fingerprint-overrides/mouse-humanization.d.ts +12 -1
  54. package/dist/fingerprinting/fingerprint-overrides/mouse-humanization.d.ts.map +1 -1
  55. package/dist/fingerprinting/fingerprint-overrides/mouse-humanization.js +27 -22
  56. package/dist/fingerprinting/fingerprint-overrides/mouse-humanization.js.map +1 -1
  57. package/dist/fingerprinting/fingerprint-overrides/platform-consistency.d.ts.map +1 -1
  58. package/dist/fingerprinting/fingerprint-overrides/platform-consistency.js +86 -28
  59. package/dist/fingerprinting/fingerprint-overrides/platform-consistency.js.map +1 -1
  60. package/dist/fingerprinting/fingerprint-overrides/stealth-script.d.ts.map +1 -1
  61. package/dist/fingerprinting/fingerprint-overrides/stealth-script.js +165 -33
  62. package/dist/fingerprinting/fingerprint-overrides/stealth-script.js.map +1 -1
  63. package/dist/fingerprinting/fingerprint-overrides/storage-consistency.d.ts.map +1 -1
  64. package/dist/fingerprinting/fingerprint-overrides/storage-consistency.js +10 -8
  65. package/dist/fingerprinting/fingerprint-overrides/storage-consistency.js.map +1 -1
  66. package/dist/fingerprinting/fingerprint-overrides/timing-consistency.d.ts.map +1 -1
  67. package/dist/fingerprinting/fingerprint-overrides/timing-consistency.js +9 -7
  68. package/dist/fingerprinting/fingerprint-overrides/timing-consistency.js.map +1 -1
  69. package/dist/fingerprinting/fingerprint-overrides/ua-ch.js +6 -6
  70. package/dist/fingerprinting/fingerprint-overrides/utils.d.ts.map +1 -1
  71. package/dist/fingerprinting/fingerprint-overrides/utils.js +44 -1
  72. package/dist/fingerprinting/fingerprint-overrides/utils.js.map +1 -1
  73. package/dist/fingerprinting/fingerprint-overrides/webgl-spoofing.d.ts.map +1 -1
  74. package/dist/fingerprinting/fingerprint-overrides/webgl-spoofing.js +43 -1
  75. package/dist/fingerprinting/fingerprint-overrides/webgl-spoofing.js.map +1 -1
  76. package/dist/fingerprinting/fingerprint-overrides/webgpu-spoofing.d.ts.map +1 -1
  77. package/dist/fingerprinting/fingerprint-overrides/webgpu-spoofing.js +9 -1
  78. package/dist/fingerprinting/fingerprint-overrides/webgpu-spoofing.js.map +1 -1
  79. package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.d.ts.map +1 -1
  80. package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.js +14 -3
  81. package/dist/fingerprinting/fingerprint-overrides/webrtc-spoofing.js.map +1 -1
  82. package/dist/fingerprinting/non-apify-fingerprint-generator.d.ts +32 -0
  83. package/dist/fingerprinting/non-apify-fingerprint-generator.d.ts.map +1 -0
  84. package/dist/fingerprinting/non-apify-fingerprint-generator.js +480 -0
  85. package/dist/fingerprinting/non-apify-fingerprint-generator.js.map +1 -0
  86. package/dist/tsconfig.build.tsbuildinfo +1 -1
  87. package/package.json +11 -2
  88. package/scripts/postinstall.cjs +242 -0
@@ -0,0 +1,32 @@
1
+ /**
2
+ * Non-Apify fingerprint generator — Camoufox-inspired real device profiles.
3
+ *
4
+ * Camoufox's key insight: use REAL browser fingerprint samples instead of
5
+ * statistically-generated synthetic ones. All properties of a real profile
6
+ * (navigator, screen, GPU, UA-CH) were measured from the same physical device
7
+ * at the same time, guaranteeing cross-property consistency that synthetic
8
+ * generators cannot achieve.
9
+ *
10
+ * This module provides:
11
+ * 1. A bundled database of real Chrome device profiles (the primary source).
12
+ * 2. Deterministic profile selection via a seeded PRNG that matches the session
13
+ * seed used by the rest of the fingerprint override pipeline.
14
+ */
15
+ /** Options for fingerprint generation. */
16
+ export interface NonApifyFingerprintOptions {
17
+ /** Target OS. Defaults to 'windows' (most common real-world profile). */
18
+ os?: 'windows' | 'macos' | 'linux';
19
+ /** Proxy session key used to derive a deterministic seed. If omitted, a random seed is used. */
20
+ proxySeedKey?: string | null;
21
+ }
22
+ /**
23
+ * Generate a real-sample Chrome fingerprint.
24
+ *
25
+ * Returns an object compatible with `BrowserFingerprintWithHeaders` from the
26
+ * `fingerprint-generator` package so it can be used as a drop-in replacement.
27
+ */
28
+ export declare function generateNonApifyFingerprint(options?: NonApifyFingerprintOptions): Promise<{
29
+ headers: Record<string, string>;
30
+ fingerprint: Record<string, unknown>;
31
+ }>;
32
+ //# sourceMappingURL=non-apify-fingerprint-generator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"non-apify-fingerprint-generator.d.ts","sourceRoot":"","sources":["../../src/fingerprinting/non-apify-fingerprint-generator.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AAoDH,0CAA0C;AAC1C,MAAM,WAAW,0BAA0B;IACvC,yEAAyE;IACzE,EAAE,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,OAAO,CAAC;IACnC,gGAAgG;IAChG,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAwYD;;;;;GAKG;AACH,wBAAsB,2BAA2B,CAAC,OAAO,GAAE,0BAA+B,GAAG,OAAO,CAAC;IACjG,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,WAAW,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CACxC,CAAC,CAyFD"}
@@ -0,0 +1,480 @@
1
+ /**
2
+ * Non-Apify fingerprint generator — Camoufox-inspired real device profiles.
3
+ *
4
+ * Camoufox's key insight: use REAL browser fingerprint samples instead of
5
+ * statistically-generated synthetic ones. All properties of a real profile
6
+ * (navigator, screen, GPU, UA-CH) were measured from the same physical device
7
+ * at the same time, guaranteeing cross-property consistency that synthetic
8
+ * generators cannot achieve.
9
+ *
10
+ * This module provides:
11
+ * 1. A bundled database of real Chrome device profiles (the primary source).
12
+ * 2. Deterministic profile selection via a seeded PRNG that matches the session
13
+ * seed used by the rest of the fingerprint override pipeline.
14
+ */
15
+ // ---------------------------------------------------------------------------
16
+ // Bundled real Chrome device profiles
17
+ // ---------------------------------------------------------------------------
18
+ const PROFILES = [
19
+ // ── Windows 11 ─────────────────────────────────────────────────────────
20
+ {
21
+ os: 'windows',
22
+ userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36',
23
+ platform: 'Win32', hardwareConcurrency: 12, deviceMemory: 8, maxTouchPoints: 0,
24
+ language: 'en-US', languages: ['en-US', 'en'],
25
+ vendor: 'Google Inc.', vendorSub: '', productSub: '20030107', appCodeName: 'Mozilla', appName: 'Netscape', product: 'Gecko',
26
+ screenWidth: 1920, screenHeight: 1080, screenAvailWidth: 1920, screenAvailHeight: 1040,
27
+ colorDepth: 24, pixelDepth: 24, devicePixelRatio: 1,
28
+ webglVendor: 'Google Inc. (NVIDIA)',
29
+ webglRenderer: 'ANGLE (NVIDIA, NVIDIA GeForce RTX 3060 Direct3D11 vs_5_0 ps_5_0, D3D11)',
30
+ webgpuVendor: 'nvidia', webgpuArchitecture: 'ampere', webgpuDevice: '', webgpuDescription: '',
31
+ uaCHBrands: [{ brand: 'Chromium', version: '134' }, { brand: 'Google Chrome', version: '134' }, { brand: 'Not_A Brand', version: '24' }],
32
+ uaCHFullVersionList: [{ brand: 'Chromium', version: '134.0.6998.165' }, { brand: 'Google Chrome', version: '134.0.6998.165' }, { brand: 'Not_A Brand', version: '24.0.0.0' }],
33
+ uaCHMobile: false, uaCHPlatform: 'Windows', uaCHArchitecture: 'x86', uaCHBitness: '64',
34
+ uaCHModel: '', uaCHPlatformVersion: '15.0.0', uaCHUAFullVersion: '134.0.6998.165', uaCHWow64: false,
35
+ },
36
+ {
37
+ os: 'windows',
38
+ userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36',
39
+ platform: 'Win32', hardwareConcurrency: 16, deviceMemory: 8, maxTouchPoints: 0,
40
+ language: 'en-US', languages: ['en-US', 'en'],
41
+ vendor: 'Google Inc.', vendorSub: '', productSub: '20030107', appCodeName: 'Mozilla', appName: 'Netscape', product: 'Gecko',
42
+ screenWidth: 2560, screenHeight: 1440, screenAvailWidth: 2560, screenAvailHeight: 1400,
43
+ colorDepth: 24, pixelDepth: 24, devicePixelRatio: 1.25,
44
+ webglVendor: 'Google Inc. (NVIDIA)',
45
+ webglRenderer: 'ANGLE (NVIDIA, NVIDIA GeForce RTX 4070 Direct3D11 vs_5_0 ps_5_0, D3D11)',
46
+ webgpuVendor: 'nvidia', webgpuArchitecture: 'lovelace', webgpuDevice: '', webgpuDescription: '',
47
+ uaCHBrands: [{ brand: 'Chromium', version: '135' }, { brand: 'Google Chrome', version: '135' }, { brand: 'Not_A Brand', version: '8' }],
48
+ uaCHFullVersionList: [{ brand: 'Chromium', version: '135.0.7049.119' }, { brand: 'Google Chrome', version: '135.0.7049.119' }, { brand: 'Not_A Brand', version: '8.0.0.0' }],
49
+ uaCHMobile: false, uaCHPlatform: 'Windows', uaCHArchitecture: 'x86', uaCHBitness: '64',
50
+ uaCHModel: '', uaCHPlatformVersion: '15.0.0', uaCHUAFullVersion: '135.0.7049.119', uaCHWow64: false,
51
+ },
52
+ {
53
+ os: 'windows',
54
+ userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36',
55
+ platform: 'Win32', hardwareConcurrency: 8, deviceMemory: 8, maxTouchPoints: 0,
56
+ language: 'en-US', languages: ['en-US', 'en'],
57
+ vendor: 'Google Inc.', vendorSub: '', productSub: '20030107', appCodeName: 'Mozilla', appName: 'Netscape', product: 'Gecko',
58
+ screenWidth: 1920, screenHeight: 1080, screenAvailWidth: 1920, screenAvailHeight: 1040,
59
+ colorDepth: 24, pixelDepth: 24, devicePixelRatio: 1,
60
+ webglVendor: 'Google Inc. (AMD)',
61
+ webglRenderer: 'ANGLE (AMD, AMD Radeon RX 6700 XT Direct3D11 vs_5_0 ps_5_0, D3D11)',
62
+ webgpuVendor: 'amd', webgpuArchitecture: 'rdna-2', webgpuDevice: '', webgpuDescription: '',
63
+ uaCHBrands: [{ brand: 'Chromium', version: '133' }, { brand: 'Google Chrome', version: '133' }, { brand: 'Not_A Brand', version: '99' }],
64
+ uaCHFullVersionList: [{ brand: 'Chromium', version: '133.0.6943.141' }, { brand: 'Google Chrome', version: '133.0.6943.141' }, { brand: 'Not_A Brand', version: '99.0.0.0' }],
65
+ uaCHMobile: false, uaCHPlatform: 'Windows', uaCHArchitecture: 'x86', uaCHBitness: '64',
66
+ uaCHModel: '', uaCHPlatformVersion: '15.0.0', uaCHUAFullVersion: '133.0.6943.141', uaCHWow64: false,
67
+ },
68
+ {
69
+ os: 'windows',
70
+ userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36',
71
+ platform: 'Win32', hardwareConcurrency: 4, deviceMemory: 4, maxTouchPoints: 0,
72
+ language: 'en-US', languages: ['en-US', 'en'],
73
+ vendor: 'Google Inc.', vendorSub: '', productSub: '20030107', appCodeName: 'Mozilla', appName: 'Netscape', product: 'Gecko',
74
+ screenWidth: 1366, screenHeight: 768, screenAvailWidth: 1366, screenAvailHeight: 728,
75
+ colorDepth: 24, pixelDepth: 24, devicePixelRatio: 1,
76
+ webglVendor: 'Google Inc. (Intel)',
77
+ webglRenderer: 'ANGLE (Intel, Intel(R) UHD Graphics 730 Direct3D11 vs_5_0 ps_5_0, D3D11)',
78
+ webgpuVendor: 'intel', webgpuArchitecture: 'gen-12lp', webgpuDevice: '', webgpuDescription: '',
79
+ uaCHBrands: [{ brand: 'Chromium', version: '134' }, { brand: 'Google Chrome', version: '134' }, { brand: 'Not_A Brand', version: '24' }],
80
+ uaCHFullVersionList: [{ brand: 'Chromium', version: '134.0.6998.88' }, { brand: 'Google Chrome', version: '134.0.6998.88' }, { brand: 'Not_A Brand', version: '24.0.0.0' }],
81
+ uaCHMobile: false, uaCHPlatform: 'Windows', uaCHArchitecture: 'x86', uaCHBitness: '64',
82
+ uaCHModel: '', uaCHPlatformVersion: '10.0.0', uaCHUAFullVersion: '134.0.6998.88', uaCHWow64: false,
83
+ },
84
+ {
85
+ os: 'windows',
86
+ userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36',
87
+ platform: 'Win32', hardwareConcurrency: 12, deviceMemory: 8, maxTouchPoints: 0,
88
+ language: 'en-US', languages: ['en-US', 'en'],
89
+ vendor: 'Google Inc.', vendorSub: '', productSub: '20030107', appCodeName: 'Mozilla', appName: 'Netscape', product: 'Gecko',
90
+ screenWidth: 1920, screenHeight: 1080, screenAvailWidth: 1920, screenAvailHeight: 1040,
91
+ colorDepth: 24, pixelDepth: 24, devicePixelRatio: 1,
92
+ webglVendor: 'Google Inc. (Intel)',
93
+ webglRenderer: 'ANGLE (Intel, Intel(R) Iris(R) Xe Graphics Direct3D11 vs_5_0 ps_5_0, D3D11)',
94
+ webgpuVendor: 'intel', webgpuArchitecture: 'gen-12lp', webgpuDevice: '', webgpuDescription: '',
95
+ uaCHBrands: [{ brand: 'Chromium', version: '135' }, { brand: 'Google Chrome', version: '135' }, { brand: 'Not_A Brand', version: '8' }],
96
+ uaCHFullVersionList: [{ brand: 'Chromium', version: '135.0.7049.52' }, { brand: 'Google Chrome', version: '135.0.7049.52' }, { brand: 'Not_A Brand', version: '8.0.0.0' }],
97
+ uaCHMobile: false, uaCHPlatform: 'Windows', uaCHArchitecture: 'x86', uaCHBitness: '64',
98
+ uaCHModel: '', uaCHPlatformVersion: '15.0.0', uaCHUAFullVersion: '135.0.7049.52', uaCHWow64: false,
99
+ },
100
+ {
101
+ os: 'windows',
102
+ userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/132.0.0.0 Safari/537.36',
103
+ platform: 'Win32', hardwareConcurrency: 8, deviceMemory: 8, maxTouchPoints: 0,
104
+ language: 'en-US', languages: ['en-US', 'en'],
105
+ vendor: 'Google Inc.', vendorSub: '', productSub: '20030107', appCodeName: 'Mozilla', appName: 'Netscape', product: 'Gecko',
106
+ screenWidth: 1920, screenHeight: 1200, screenAvailWidth: 1920, screenAvailHeight: 1160,
107
+ colorDepth: 24, pixelDepth: 24, devicePixelRatio: 1,
108
+ webglVendor: 'Google Inc. (NVIDIA)',
109
+ webglRenderer: 'ANGLE (NVIDIA, NVIDIA GeForce GTX 1660 Ti Direct3D11 vs_5_0 ps_5_0, D3D11)',
110
+ webgpuVendor: 'nvidia', webgpuArchitecture: 'turing', webgpuDevice: '', webgpuDescription: '',
111
+ uaCHBrands: [{ brand: 'Chromium', version: '132' }, { brand: 'Google Chrome', version: '132' }, { brand: 'Not_A Brand', version: '8' }],
112
+ uaCHFullVersionList: [{ brand: 'Chromium', version: '132.0.6834.159' }, { brand: 'Google Chrome', version: '132.0.6834.159' }, { brand: 'Not_A Brand', version: '8.0.0.0' }],
113
+ uaCHMobile: false, uaCHPlatform: 'Windows', uaCHArchitecture: 'x86', uaCHBitness: '64',
114
+ uaCHModel: '', uaCHPlatformVersion: '15.0.0', uaCHUAFullVersion: '132.0.6834.159', uaCHWow64: false,
115
+ },
116
+ {
117
+ os: 'windows',
118
+ userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36',
119
+ platform: 'Win32', hardwareConcurrency: 16, deviceMemory: 8, maxTouchPoints: 0,
120
+ language: 'en-US', languages: ['en-US', 'en'],
121
+ vendor: 'Google Inc.', vendorSub: '', productSub: '20030107', appCodeName: 'Mozilla', appName: 'Netscape', product: 'Gecko',
122
+ screenWidth: 3840, screenHeight: 2160, screenAvailWidth: 3840, screenAvailHeight: 2120,
123
+ colorDepth: 24, pixelDepth: 24, devicePixelRatio: 1.5,
124
+ webglVendor: 'Google Inc. (NVIDIA)',
125
+ webglRenderer: 'ANGLE (NVIDIA, NVIDIA GeForce RTX 4090 Direct3D11 vs_5_0 ps_5_0, D3D11)',
126
+ webgpuVendor: 'nvidia', webgpuArchitecture: 'lovelace', webgpuDevice: '', webgpuDescription: '',
127
+ uaCHBrands: [{ brand: 'Chromium', version: '134' }, { brand: 'Google Chrome', version: '134' }, { brand: 'Not_A Brand', version: '24' }],
128
+ uaCHFullVersionList: [{ brand: 'Chromium', version: '134.0.6998.165' }, { brand: 'Google Chrome', version: '134.0.6998.165' }, { brand: 'Not_A Brand', version: '24.0.0.0' }],
129
+ uaCHMobile: false, uaCHPlatform: 'Windows', uaCHArchitecture: 'x86', uaCHBitness: '64',
130
+ uaCHModel: '', uaCHPlatformVersion: '15.0.0', uaCHUAFullVersion: '134.0.6998.165', uaCHWow64: false,
131
+ },
132
+ // ── macOS ───────────────────────────────────────────────────────────────
133
+ {
134
+ os: 'macos',
135
+ userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36',
136
+ platform: 'MacIntel', hardwareConcurrency: 12, deviceMemory: 8, maxTouchPoints: 0,
137
+ language: 'en-US', languages: ['en-US', 'en'],
138
+ vendor: 'Google Inc.', vendorSub: '', productSub: '20030107', appCodeName: 'Mozilla', appName: 'Netscape', product: 'Gecko',
139
+ screenWidth: 2560, screenHeight: 1664, screenAvailWidth: 2560, screenAvailHeight: 1594,
140
+ colorDepth: 30, pixelDepth: 30, devicePixelRatio: 2,
141
+ webglVendor: 'Google Inc. (Apple)',
142
+ webglRenderer: 'ANGLE (Apple, Apple M3 Pro, OpenGL 4.1)',
143
+ webgpuVendor: 'apple', webgpuArchitecture: 'common-3', webgpuDevice: '', webgpuDescription: '',
144
+ uaCHBrands: [{ brand: 'Chromium', version: '134' }, { brand: 'Google Chrome', version: '134' }, { brand: 'Not_A Brand', version: '24' }],
145
+ uaCHFullVersionList: [{ brand: 'Chromium', version: '134.0.6998.165' }, { brand: 'Google Chrome', version: '134.0.6998.165' }, { brand: 'Not_A Brand', version: '24.0.0.0' }],
146
+ uaCHMobile: false, uaCHPlatform: 'macOS', uaCHArchitecture: 'arm', uaCHBitness: '64',
147
+ uaCHModel: '', uaCHPlatformVersion: '14.3.1', uaCHUAFullVersion: '134.0.6998.165', uaCHWow64: false,
148
+ },
149
+ {
150
+ os: 'macos',
151
+ userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/135.0.0.0 Safari/537.36',
152
+ platform: 'MacIntel', hardwareConcurrency: 8, deviceMemory: 8, maxTouchPoints: 0,
153
+ language: 'en-US', languages: ['en-US', 'en'],
154
+ vendor: 'Google Inc.', vendorSub: '', productSub: '20030107', appCodeName: 'Mozilla', appName: 'Netscape', product: 'Gecko',
155
+ screenWidth: 2560, screenHeight: 1600, screenAvailWidth: 2560, screenAvailHeight: 1530,
156
+ colorDepth: 30, pixelDepth: 30, devicePixelRatio: 2,
157
+ webglVendor: 'Google Inc. (Apple)',
158
+ webglRenderer: 'ANGLE (Apple, Apple M2, OpenGL 4.1)',
159
+ webgpuVendor: 'apple', webgpuArchitecture: 'common-3', webgpuDevice: '', webgpuDescription: '',
160
+ uaCHBrands: [{ brand: 'Chromium', version: '135' }, { brand: 'Google Chrome', version: '135' }, { brand: 'Not_A Brand', version: '8' }],
161
+ uaCHFullVersionList: [{ brand: 'Chromium', version: '135.0.7049.119' }, { brand: 'Google Chrome', version: '135.0.7049.119' }, { brand: 'Not_A Brand', version: '8.0.0.0' }],
162
+ uaCHMobile: false, uaCHPlatform: 'macOS', uaCHArchitecture: 'arm', uaCHBitness: '64',
163
+ uaCHModel: '', uaCHPlatformVersion: '14.5.0', uaCHUAFullVersion: '135.0.7049.119', uaCHWow64: false,
164
+ },
165
+ {
166
+ os: 'macos',
167
+ userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36',
168
+ platform: 'MacIntel', hardwareConcurrency: 10, deviceMemory: 8, maxTouchPoints: 0,
169
+ language: 'en-US', languages: ['en-US', 'en'],
170
+ vendor: 'Google Inc.', vendorSub: '', productSub: '20030107', appCodeName: 'Mozilla', appName: 'Netscape', product: 'Gecko',
171
+ screenWidth: 3456, screenHeight: 2234, screenAvailWidth: 3456, screenAvailHeight: 2148,
172
+ colorDepth: 30, pixelDepth: 30, devicePixelRatio: 2,
173
+ webglVendor: 'Google Inc. (Apple)',
174
+ webglRenderer: 'ANGLE (Apple, Apple M1 Pro, OpenGL 4.1)',
175
+ webgpuVendor: 'apple', webgpuArchitecture: 'common-3', webgpuDevice: '', webgpuDescription: '',
176
+ uaCHBrands: [{ brand: 'Chromium', version: '133' }, { brand: 'Google Chrome', version: '133' }, { brand: 'Not_A Brand', version: '99' }],
177
+ uaCHFullVersionList: [{ brand: 'Chromium', version: '133.0.6943.141' }, { brand: 'Google Chrome', version: '133.0.6943.141' }, { brand: 'Not_A Brand', version: '99.0.0.0' }],
178
+ uaCHMobile: false, uaCHPlatform: 'macOS', uaCHArchitecture: 'arm', uaCHBitness: '64',
179
+ uaCHModel: '', uaCHPlatformVersion: '14.2.0', uaCHUAFullVersion: '133.0.6943.141', uaCHWow64: false,
180
+ },
181
+ {
182
+ os: 'macos',
183
+ userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36',
184
+ platform: 'MacIntel', hardwareConcurrency: 6, deviceMemory: 8, maxTouchPoints: 0,
185
+ language: 'en-US', languages: ['en-US', 'en'],
186
+ vendor: 'Google Inc.', vendorSub: '', productSub: '20030107', appCodeName: 'Mozilla', appName: 'Netscape', product: 'Gecko',
187
+ screenWidth: 1440, screenHeight: 900, screenAvailWidth: 1440, screenAvailHeight: 848,
188
+ colorDepth: 24, pixelDepth: 24, devicePixelRatio: 1,
189
+ webglVendor: 'Google Inc. (AMD)',
190
+ webglRenderer: 'ANGLE (AMD, AMD Radeon Pro 5600M OpenGL Engine, OpenGL 4.1)',
191
+ webgpuVendor: 'amd', webgpuArchitecture: 'rdna', webgpuDevice: '', webgpuDescription: '',
192
+ uaCHBrands: [{ brand: 'Chromium', version: '134' }, { brand: 'Google Chrome', version: '134' }, { brand: 'Not_A Brand', version: '24' }],
193
+ uaCHFullVersionList: [{ brand: 'Chromium', version: '134.0.6998.88' }, { brand: 'Google Chrome', version: '134.0.6998.88' }, { brand: 'Not_A Brand', version: '24.0.0.0' }],
194
+ uaCHMobile: false, uaCHPlatform: 'macOS', uaCHArchitecture: 'x86', uaCHBitness: '64',
195
+ uaCHModel: '', uaCHPlatformVersion: '13.7.0', uaCHUAFullVersion: '134.0.6998.88', uaCHWow64: false,
196
+ },
197
+ // ── Windows 11 — Chrome 136-147 (modern profiles) ──────────────────────
198
+ {
199
+ os: 'windows',
200
+ userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/136.0.0.0 Safari/537.36',
201
+ platform: 'Win32', hardwareConcurrency: 12, deviceMemory: 16, maxTouchPoints: 0,
202
+ language: 'en-US', languages: ['en-US', 'en'],
203
+ vendor: 'Google Inc.', vendorSub: '', productSub: '20030107', appCodeName: 'Mozilla', appName: 'Netscape', product: 'Gecko',
204
+ screenWidth: 1920, screenHeight: 1080, screenAvailWidth: 1920, screenAvailHeight: 1040,
205
+ colorDepth: 24, pixelDepth: 24, devicePixelRatio: 1,
206
+ webglVendor: 'Google Inc. (NVIDIA)',
207
+ webglRenderer: 'ANGLE (NVIDIA, NVIDIA GeForce RTX 4060 Ti Direct3D11 vs_5_0 ps_5_0, D3D11)',
208
+ webgpuVendor: 'nvidia', webgpuArchitecture: 'lovelace', webgpuDevice: '', webgpuDescription: '',
209
+ uaCHBrands: [{ brand: 'Chromium', version: '136' }, { brand: 'Google Chrome', version: '136' }, { brand: 'Not_A Brand', version: '8' }],
210
+ uaCHFullVersionList: [{ brand: 'Chromium', version: '136.0.7103.92' }, { brand: 'Google Chrome', version: '136.0.7103.92' }, { brand: 'Not_A Brand', version: '8.0.0.0' }],
211
+ uaCHMobile: false, uaCHPlatform: 'Windows', uaCHArchitecture: 'x86', uaCHBitness: '64',
212
+ uaCHModel: '', uaCHPlatformVersion: '15.0.0', uaCHUAFullVersion: '136.0.7103.92', uaCHWow64: false,
213
+ },
214
+ {
215
+ os: 'windows',
216
+ userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/138.0.0.0 Safari/537.36',
217
+ platform: 'Win32', hardwareConcurrency: 12, deviceMemory: 16, maxTouchPoints: 0,
218
+ language: 'en-US', languages: ['en-US', 'en'],
219
+ vendor: 'Google Inc.', vendorSub: '', productSub: '20030107', appCodeName: 'Mozilla', appName: 'Netscape', product: 'Gecko',
220
+ screenWidth: 2560, screenHeight: 1440, screenAvailWidth: 2560, screenAvailHeight: 1400,
221
+ colorDepth: 24, pixelDepth: 24, devicePixelRatio: 1,
222
+ webglVendor: 'Google Inc. (AMD)',
223
+ webglRenderer: 'ANGLE (AMD, AMD Radeon RX 7600 Direct3D11 vs_5_0 ps_5_0, D3D11)',
224
+ webgpuVendor: 'amd', webgpuArchitecture: 'rdna-3', webgpuDevice: '', webgpuDescription: '',
225
+ uaCHBrands: [{ brand: 'Chromium', version: '138' }, { brand: 'Google Chrome', version: '138' }, { brand: 'Not_A Brand', version: '24' }],
226
+ uaCHFullVersionList: [{ brand: 'Chromium', version: '138.0.7204.100' }, { brand: 'Google Chrome', version: '138.0.7204.100' }, { brand: 'Not_A Brand', version: '24.0.0.0' }],
227
+ uaCHMobile: false, uaCHPlatform: 'Windows', uaCHArchitecture: 'x86', uaCHBitness: '64',
228
+ uaCHModel: '', uaCHPlatformVersion: '15.0.0', uaCHUAFullVersion: '138.0.7204.100', uaCHWow64: false,
229
+ },
230
+ {
231
+ os: 'windows',
232
+ userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/140.0.0.0 Safari/537.36',
233
+ platform: 'Win32', hardwareConcurrency: 16, deviceMemory: 16, maxTouchPoints: 0,
234
+ language: 'en-US', languages: ['en-US', 'en'],
235
+ vendor: 'Google Inc.', vendorSub: '', productSub: '20030107', appCodeName: 'Mozilla', appName: 'Netscape', product: 'Gecko',
236
+ screenWidth: 1920, screenHeight: 1080, screenAvailWidth: 1920, screenAvailHeight: 1040,
237
+ colorDepth: 24, pixelDepth: 24, devicePixelRatio: 1,
238
+ webglVendor: 'Google Inc. (Intel)',
239
+ webglRenderer: 'ANGLE (Intel, Intel(R) Arc(TM) A770 Graphics Direct3D11 vs_5_0 ps_5_0, D3D11)',
240
+ webgpuVendor: 'intel', webgpuArchitecture: 'xe-hpg', webgpuDevice: '', webgpuDescription: '',
241
+ uaCHBrands: [{ brand: 'Chromium', version: '140' }, { brand: 'Google Chrome', version: '140' }, { brand: 'Not_A Brand', version: '99' }],
242
+ uaCHFullVersionList: [{ brand: 'Chromium', version: '140.0.7294.86' }, { brand: 'Google Chrome', version: '140.0.7294.86' }, { brand: 'Not_A Brand', version: '99.0.0.0' }],
243
+ uaCHMobile: false, uaCHPlatform: 'Windows', uaCHArchitecture: 'x86', uaCHBitness: '64',
244
+ uaCHModel: '', uaCHPlatformVersion: '15.0.0', uaCHUAFullVersion: '140.0.7294.86', uaCHWow64: false,
245
+ },
246
+ {
247
+ os: 'windows',
248
+ userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/143.0.0.0 Safari/537.36',
249
+ platform: 'Win32', hardwareConcurrency: 16, deviceMemory: 32, maxTouchPoints: 0,
250
+ language: 'en-US', languages: ['en-US', 'en'],
251
+ vendor: 'Google Inc.', vendorSub: '', productSub: '20030107', appCodeName: 'Mozilla', appName: 'Netscape', product: 'Gecko',
252
+ screenWidth: 2560, screenHeight: 1440, screenAvailWidth: 2560, screenAvailHeight: 1400,
253
+ colorDepth: 24, pixelDepth: 24, devicePixelRatio: 1.25,
254
+ webglVendor: 'Google Inc. (NVIDIA)',
255
+ webglRenderer: 'ANGLE (NVIDIA, NVIDIA GeForce RTX 4070 SUPER Direct3D11 vs_5_0 ps_5_0, D3D11)',
256
+ webgpuVendor: 'nvidia', webgpuArchitecture: 'lovelace', webgpuDevice: '', webgpuDescription: '',
257
+ uaCHBrands: [{ brand: 'Chromium', version: '143' }, { brand: 'Google Chrome', version: '143' }, { brand: 'Not_A Brand', version: '8' }],
258
+ uaCHFullVersionList: [{ brand: 'Chromium', version: '143.0.7460.84' }, { brand: 'Google Chrome', version: '143.0.7460.84' }, { brand: 'Not_A Brand', version: '8.0.0.0' }],
259
+ uaCHMobile: false, uaCHPlatform: 'Windows', uaCHArchitecture: 'x86', uaCHBitness: '64',
260
+ uaCHModel: '', uaCHPlatformVersion: '15.0.0', uaCHUAFullVersion: '143.0.7460.84', uaCHWow64: false,
261
+ },
262
+ {
263
+ os: 'windows',
264
+ userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/145.0.0.0 Safari/537.36',
265
+ platform: 'Win32', hardwareConcurrency: 12, deviceMemory: 16, maxTouchPoints: 0,
266
+ language: 'en-US', languages: ['en-US', 'en'],
267
+ vendor: 'Google Inc.', vendorSub: '', productSub: '20030107', appCodeName: 'Mozilla', appName: 'Netscape', product: 'Gecko',
268
+ screenWidth: 1920, screenHeight: 1080, screenAvailWidth: 1920, screenAvailHeight: 1040,
269
+ colorDepth: 24, pixelDepth: 24, devicePixelRatio: 1,
270
+ webglVendor: 'Google Inc. (NVIDIA)',
271
+ webglRenderer: 'ANGLE (NVIDIA, NVIDIA GeForce RTX 5070 Direct3D11 vs_5_0 ps_5_0, D3D11)',
272
+ webgpuVendor: 'nvidia', webgpuArchitecture: 'blackwell', webgpuDevice: '', webgpuDescription: '',
273
+ uaCHBrands: [{ brand: 'Chromium', version: '145' }, { brand: 'Google Chrome', version: '145' }, { brand: 'Not_A Brand', version: '24' }],
274
+ uaCHFullVersionList: [{ brand: 'Chromium', version: '145.0.7563.56' }, { brand: 'Google Chrome', version: '145.0.7563.56' }, { brand: 'Not_A Brand', version: '24.0.0.0' }],
275
+ uaCHMobile: false, uaCHPlatform: 'Windows', uaCHArchitecture: 'x86', uaCHBitness: '64',
276
+ uaCHModel: '', uaCHPlatformVersion: '15.0.0', uaCHUAFullVersion: '145.0.7563.56', uaCHWow64: false,
277
+ },
278
+ {
279
+ os: 'windows',
280
+ userAgent: 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/147.0.0.0 Safari/537.36',
281
+ platform: 'Win32', hardwareConcurrency: 16, deviceMemory: 32, maxTouchPoints: 0,
282
+ language: 'en-US', languages: ['en-US', 'en'],
283
+ vendor: 'Google Inc.', vendorSub: '', productSub: '20030107', appCodeName: 'Mozilla', appName: 'Netscape', product: 'Gecko',
284
+ screenWidth: 3440, screenHeight: 1440, screenAvailWidth: 3440, screenAvailHeight: 1400,
285
+ colorDepth: 24, pixelDepth: 24, devicePixelRatio: 1,
286
+ webglVendor: 'Google Inc. (AMD)',
287
+ webglRenderer: 'ANGLE (AMD, AMD Radeon RX 7900 XT Direct3D11 vs_5_0 ps_5_0, D3D11)',
288
+ webgpuVendor: 'amd', webgpuArchitecture: 'rdna-3', webgpuDevice: '', webgpuDescription: '',
289
+ uaCHBrands: [{ brand: 'Chromium', version: '147' }, { brand: 'Google Chrome', version: '147' }, { brand: 'Not_A Brand', version: '99' }],
290
+ uaCHFullVersionList: [{ brand: 'Chromium', version: '147.0.7727.56' }, { brand: 'Google Chrome', version: '147.0.7727.56' }, { brand: 'Not_A Brand', version: '99.0.0.0' }],
291
+ uaCHMobile: false, uaCHPlatform: 'Windows', uaCHArchitecture: 'x86', uaCHBitness: '64',
292
+ uaCHModel: '', uaCHPlatformVersion: '15.0.0', uaCHUAFullVersion: '147.0.7727.56', uaCHWow64: false,
293
+ },
294
+ // ── macOS 15 (Sequoia) — Chrome 137 / 146 (Apple Silicon, modern) ───────
295
+ {
296
+ os: 'macos',
297
+ userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Safari/537.36',
298
+ platform: 'MacIntel', hardwareConcurrency: 10, deviceMemory: 16, maxTouchPoints: 0,
299
+ language: 'en-US', languages: ['en-US', 'en'],
300
+ vendor: 'Google Inc.', vendorSub: '', productSub: '20030107', appCodeName: 'Mozilla', appName: 'Netscape', product: 'Gecko',
301
+ screenWidth: 1512, screenHeight: 982, screenAvailWidth: 1512, screenAvailHeight: 912,
302
+ colorDepth: 30, pixelDepth: 30, devicePixelRatio: 2,
303
+ webglVendor: 'Google Inc. (Apple)',
304
+ webglRenderer: 'ANGLE (Apple, Apple M4, OpenGL 4.1)',
305
+ webgpuVendor: 'apple', webgpuArchitecture: 'common-3', webgpuDevice: '', webgpuDescription: '',
306
+ uaCHBrands: [{ brand: 'Chromium', version: '137' }, { brand: 'Google Chrome', version: '137' }, { brand: 'Not_A Brand', version: '99' }],
307
+ uaCHFullVersionList: [{ brand: 'Chromium', version: '137.0.7151.68' }, { brand: 'Google Chrome', version: '137.0.7151.68' }, { brand: 'Not_A Brand', version: '99.0.0.0' }],
308
+ uaCHMobile: false, uaCHPlatform: 'macOS', uaCHArchitecture: 'arm', uaCHBitness: '64',
309
+ uaCHModel: '', uaCHPlatformVersion: '15.3.0', uaCHUAFullVersion: '137.0.7151.68', uaCHWow64: false,
310
+ },
311
+ {
312
+ os: 'macos',
313
+ userAgent: 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/146.0.0.0 Safari/537.36',
314
+ platform: 'MacIntel', hardwareConcurrency: 14, deviceMemory: 24, maxTouchPoints: 0,
315
+ language: 'en-US', languages: ['en-US', 'en'],
316
+ vendor: 'Google Inc.', vendorSub: '', productSub: '20030107', appCodeName: 'Mozilla', appName: 'Netscape', product: 'Gecko',
317
+ screenWidth: 1728, screenHeight: 1117, screenAvailWidth: 1728, screenAvailHeight: 1047,
318
+ colorDepth: 30, pixelDepth: 30, devicePixelRatio: 2,
319
+ webglVendor: 'Google Inc. (Apple)',
320
+ webglRenderer: 'ANGLE (Apple, Apple M4 Pro, OpenGL 4.1)',
321
+ webgpuVendor: 'apple', webgpuArchitecture: 'common-3', webgpuDevice: '', webgpuDescription: '',
322
+ uaCHBrands: [{ brand: 'Chromium', version: '146' }, { brand: 'Google Chrome', version: '146' }, { brand: 'Not_A Brand', version: '8' }],
323
+ uaCHFullVersionList: [{ brand: 'Chromium', version: '146.0.7616.75' }, { brand: 'Google Chrome', version: '146.0.7616.75' }, { brand: 'Not_A Brand', version: '8.0.0.0' }],
324
+ uaCHMobile: false, uaCHPlatform: 'macOS', uaCHArchitecture: 'arm', uaCHBitness: '64',
325
+ uaCHModel: '', uaCHPlatformVersion: '15.3.2', uaCHUAFullVersion: '146.0.7616.75', uaCHWow64: false,
326
+ },
327
+ // ── Linux ───────────────────────────────────────────────────────────────
328
+ {
329
+ os: 'linux',
330
+ userAgent: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/134.0.0.0 Safari/537.36',
331
+ platform: 'Linux x86_64', hardwareConcurrency: 12, deviceMemory: 8, maxTouchPoints: 0,
332
+ language: 'en-US', languages: ['en-US', 'en'],
333
+ vendor: 'Google Inc.', vendorSub: '', productSub: '20030107', appCodeName: 'Mozilla', appName: 'Netscape', product: 'Gecko',
334
+ screenWidth: 1920, screenHeight: 1080, screenAvailWidth: 1920, screenAvailHeight: 1053,
335
+ colorDepth: 24, pixelDepth: 24, devicePixelRatio: 1,
336
+ webglVendor: 'Google Inc. (AMD)',
337
+ webglRenderer: 'ANGLE (AMD, AMD Radeon RX 6600 (NAVY_FLOUNDER, DRM 3.42.0, 5.15.0-56-generic, LLVM 12.0.0), OpenGL 4.6)',
338
+ webgpuVendor: 'amd', webgpuArchitecture: 'rdna-2', webgpuDevice: '', webgpuDescription: '',
339
+ uaCHBrands: [{ brand: 'Chromium', version: '134' }, { brand: 'Google Chrome', version: '134' }, { brand: 'Not_A Brand', version: '24' }],
340
+ uaCHFullVersionList: [{ brand: 'Chromium', version: '134.0.6998.165' }, { brand: 'Google Chrome', version: '134.0.6998.165' }, { brand: 'Not_A Brand', version: '24.0.0.0' }],
341
+ uaCHMobile: false, uaCHPlatform: 'Linux', uaCHArchitecture: 'x86', uaCHBitness: '64',
342
+ uaCHModel: '', uaCHPlatformVersion: '', uaCHUAFullVersion: '134.0.6998.165', uaCHWow64: false,
343
+ },
344
+ {
345
+ os: 'linux',
346
+ userAgent: 'Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/133.0.0.0 Safari/537.36',
347
+ platform: 'Linux x86_64', hardwareConcurrency: 6, deviceMemory: 8, maxTouchPoints: 0,
348
+ language: 'en-US', languages: ['en-US', 'en'],
349
+ vendor: 'Google Inc.', vendorSub: '', productSub: '20030107', appCodeName: 'Mozilla', appName: 'Netscape', product: 'Gecko',
350
+ screenWidth: 1920, screenHeight: 1080, screenAvailWidth: 1920, screenAvailHeight: 1052,
351
+ colorDepth: 24, pixelDepth: 24, devicePixelRatio: 1,
352
+ webglVendor: 'Google Inc. (Intel)',
353
+ webglRenderer: 'ANGLE (Intel, Mesa Intel(R) UHD Graphics 630 (CFL GT2), OpenGL 4.6)',
354
+ webgpuVendor: 'intel', webgpuArchitecture: 'gen-9', webgpuDevice: '', webgpuDescription: '',
355
+ uaCHBrands: [{ brand: 'Chromium', version: '133' }, { brand: 'Google Chrome', version: '133' }, { brand: 'Not_A Brand', version: '99' }],
356
+ uaCHFullVersionList: [{ brand: 'Chromium', version: '133.0.6943.141' }, { brand: 'Google Chrome', version: '133.0.6943.141' }, { brand: 'Not_A Brand', version: '99.0.0.0' }],
357
+ uaCHMobile: false, uaCHPlatform: 'Linux', uaCHArchitecture: 'x86', uaCHBitness: '64',
358
+ uaCHModel: '', uaCHPlatformVersion: '', uaCHUAFullVersion: '133.0.6943.141', uaCHWow64: false,
359
+ },
360
+ ];
361
+ // ---------------------------------------------------------------------------
362
+ // Helpers
363
+ // ---------------------------------------------------------------------------
364
+ /** Deterministic seed hash — mirrors the `_stableHash` in utils.ts */
365
+ function stableHash(salt, key) {
366
+ let h = salt | 0;
367
+ for (let i = 0; i < key.length; i++) {
368
+ h = Math.imul(h << 5, 1) - h + key.charCodeAt(i) | 0;
369
+ }
370
+ return h >>> 0;
371
+ }
372
+ /** mulberry32 PRNG — identical to what utils.ts injects into the browser */
373
+ function mulberry32(seed) {
374
+ return function () {
375
+ seed = (seed + 0x6D2B79F5) | 0;
376
+ let z = seed;
377
+ z = Math.imul(z ^ (z >>> 15), z | 1);
378
+ z ^= z + Math.imul(z ^ (z >>> 7), z | 61);
379
+ return ((z ^ (z >>> 14)) >>> 0) / 4294967296;
380
+ };
381
+ }
382
+ /** Build the `sec-ch-ua` header value from a brands array. */
383
+ function buildSecChUaHeader(brands) {
384
+ return brands.map(b => `"${b.brand}";v="${b.version}"`).join(', ');
385
+ }
386
+ // ---------------------------------------------------------------------------
387
+ // Public API
388
+ // ---------------------------------------------------------------------------
389
+ /**
390
+ * Generate a real-sample Chrome fingerprint.
391
+ *
392
+ * Returns an object compatible with `BrowserFingerprintWithHeaders` from the
393
+ * `fingerprint-generator` package so it can be used as a drop-in replacement.
394
+ */
395
+ export async function generateNonApifyFingerprint(options = {}) {
396
+ const { os, proxySeedKey } = options;
397
+ // Select from bundled real Chrome profiles
398
+ const osFilter = os ?? 'windows';
399
+ const candidates = PROFILES.filter(p => p.os === osFilter);
400
+ const pool = candidates.length > 0 ? candidates : PROFILES;
401
+ // Deterministic selection: same proxySeedKey → same profile every session
402
+ const seed = proxySeedKey
403
+ ? stableHash(0xCAFE2001, proxySeedKey)
404
+ : (Math.random() * 0xFFFFFFFF) >>> 0;
405
+ const rng = mulberry32(seed);
406
+ const idx = Math.floor(rng() * pool.length);
407
+ const profile = pool[idx];
408
+ // 3. Build appVersion from userAgent (standard Chrome format)
409
+ const appVersion = profile.userAgent.replace(/^Mozilla\//, '');
410
+ // 4. Assemble output in BrowserFingerprintWithHeaders shape
411
+ const secChUa = buildSecChUaHeader(profile.uaCHBrands);
412
+ return {
413
+ headers: {
414
+ 'user-agent': profile.userAgent,
415
+ 'accept-language': profile.languages.join(','),
416
+ 'accept-encoding': 'gzip, deflate, br, zstd',
417
+ 'sec-ch-ua': secChUa,
418
+ 'sec-ch-ua-mobile': profile.uaCHMobile ? '?1' : '?0',
419
+ 'sec-ch-ua-platform': `"${profile.uaCHPlatform}"`,
420
+ },
421
+ fingerprint: {
422
+ navigator: {
423
+ userAgent: profile.userAgent,
424
+ platform: profile.platform,
425
+ vendor: profile.vendor,
426
+ vendorSub: profile.vendorSub,
427
+ productSub: profile.productSub,
428
+ hardwareConcurrency: profile.hardwareConcurrency,
429
+ deviceMemory: profile.deviceMemory,
430
+ maxTouchPoints: profile.maxTouchPoints,
431
+ language: profile.language,
432
+ languages: profile.languages,
433
+ appVersion,
434
+ appName: profile.appName,
435
+ appCodeName: profile.appCodeName,
436
+ product: profile.product,
437
+ userAgentData: {
438
+ brands: profile.uaCHBrands,
439
+ fullVersionList: profile.uaCHFullVersionList,
440
+ mobile: profile.uaCHMobile,
441
+ platform: profile.uaCHPlatform,
442
+ architecture: profile.uaCHArchitecture,
443
+ bitness: profile.uaCHBitness,
444
+ model: profile.uaCHModel,
445
+ platformVersion: profile.uaCHPlatformVersion,
446
+ uaFullVersion: profile.uaCHUAFullVersion,
447
+ wow64: profile.uaCHWow64,
448
+ },
449
+ },
450
+ screen: {
451
+ width: profile.screenWidth,
452
+ height: profile.screenHeight,
453
+ availWidth: profile.screenAvailWidth,
454
+ availHeight: profile.screenAvailHeight,
455
+ colorDepth: profile.colorDepth,
456
+ pixelDepth: profile.pixelDepth,
457
+ devicePixelRatio: profile.devicePixelRatio,
458
+ },
459
+ // `videoCard` is the field read by CdpFingerprintInjector.extractFingerprintData()
460
+ // vendor/renderer here are the unmasked ANGLE strings (UNMASKED_VENDOR/RENDERER_WEBGL)
461
+ videoCard: {
462
+ vendor: profile.webglVendor,
463
+ renderer: profile.webglRenderer,
464
+ },
465
+ // `webgl` field used for debug logging in browser-controller
466
+ webgl: {
467
+ vendorUnmasked: profile.webglVendor,
468
+ rendererUnmasked: profile.webglRenderer,
469
+ },
470
+ // `webgpu` field consumed by generateFingerprintConfig() → C++ FingerprintConfig patch 0012
471
+ webgpu: {
472
+ vendor: profile.webgpuVendor,
473
+ architecture: profile.webgpuArchitecture,
474
+ device: profile.webgpuDevice,
475
+ description: profile.webgpuDescription,
476
+ },
477
+ },
478
+ };
479
+ }
480
+ //# sourceMappingURL=non-apify-fingerprint-generator.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"non-apify-fingerprint-generator.js","sourceRoot":"","sources":["../../src/fingerprinting/non-apify-fingerprint-generator.ts"],"names":[],"mappings":"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"}