@crawlee/browser-pool 4.0.0-beta.62 → 4.0.0-beta.63
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.
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/fingerprinting/hooks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/fingerprinting/hooks.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAEhE,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AACnF,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAmB1D;;GAEG;AACH,wBAAgB,8BAA8B,CAAC,WAAW,EAAE,WAAW,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAOpF,SAAS,MAAM,EAAE,eAAe,aAAa,UAkCxD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,KAC3B,SAAS,MAAM,EAAE,mBAAmB,iBAAiB,EAAE,aAAa,GAAG,KAAG,IAAI,CAYzF;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,mBAAmB,EAAE,mBAAmB,IAC/D,MAAM,GAAG,EAAE,mBAAmB,iBAAiB,KAAG,OAAO,CAAC,IAAI,CAAC,CA0BhF"}
|
package/fingerprinting/hooks.js
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
import { PlaywrightPlugin } from '../playwright/playwright-plugin.js';
|
|
2
2
|
import { PuppeteerPlugin } from '../puppeteer/puppeteer-plugin.js';
|
|
3
3
|
import { getGeneratorDefaultOptions } from './utils.js';
|
|
4
|
+
function applySessionHints(base, fingerprint) {
|
|
5
|
+
if (!fingerprint)
|
|
6
|
+
return base;
|
|
7
|
+
return {
|
|
8
|
+
...base,
|
|
9
|
+
...(fingerprint.browser ? { browsers: [{ name: fingerprint.browser }] } : {}),
|
|
10
|
+
...(fingerprint.platform ? { operatingSystems: [fingerprint.platform] } : {}),
|
|
11
|
+
...(fingerprint.device ? { devices: [fingerprint.device] } : {}),
|
|
12
|
+
};
|
|
13
|
+
}
|
|
4
14
|
/**
|
|
5
15
|
* @internal
|
|
6
16
|
*/
|
|
@@ -8,20 +18,19 @@ export function createFingerprintPreLaunchHook(browserPool) {
|
|
|
8
18
|
const { fingerprintGenerator, fingerprintCache, fingerprintOptions: { fingerprintGeneratorOptions }, } = browserPool;
|
|
9
19
|
return (_pageId, launchContext) => {
|
|
10
20
|
const { useIncognitoPages } = launchContext;
|
|
11
|
-
const
|
|
21
|
+
const session = launchContext.session;
|
|
22
|
+
const cacheKey = session?.id ?? launchContext.proxyUrl;
|
|
12
23
|
const { launchOptions } = launchContext;
|
|
13
|
-
// If no options are passed we try to pass best default options as possible to match browser and OS.
|
|
14
|
-
const fingerprintGeneratorFinalOptions = fingerprintGeneratorOptions || getGeneratorDefaultOptions(launchContext);
|
|
15
24
|
let fingerprint;
|
|
16
25
|
if (cacheKey && fingerprintCache?.has(cacheKey)) {
|
|
17
26
|
fingerprint = fingerprintCache.get(cacheKey);
|
|
18
27
|
}
|
|
19
|
-
else if (cacheKey) {
|
|
20
|
-
fingerprint = fingerprintGenerator.getFingerprint(fingerprintGeneratorFinalOptions);
|
|
21
|
-
fingerprintCache?.set(cacheKey, fingerprint);
|
|
22
|
-
}
|
|
23
28
|
else {
|
|
24
|
-
|
|
29
|
+
const baseOptions = fingerprintGeneratorOptions || getGeneratorDefaultOptions(launchContext);
|
|
30
|
+
const finalOptions = applySessionHints(baseOptions, session?.fingerprint);
|
|
31
|
+
fingerprint = fingerprintGenerator.getFingerprint(finalOptions);
|
|
32
|
+
if (cacheKey)
|
|
33
|
+
fingerprintCache?.set(cacheKey, fingerprint);
|
|
25
34
|
}
|
|
26
35
|
launchContext.extend({ fingerprint });
|
|
27
36
|
if (useIncognitoPages) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/fingerprinting/hooks.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/fingerprinting/hooks.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@crawlee/browser-pool",
|
|
3
|
-
"version": "4.0.0-beta.
|
|
3
|
+
"version": "4.0.0-beta.63",
|
|
4
4
|
"description": "Rotate multiple browsers using popular automation libraries such as Playwright or Puppeteer.",
|
|
5
5
|
"engines": {
|
|
6
6
|
"node": ">=22.0.0"
|
|
@@ -31,8 +31,8 @@
|
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
33
|
"@apify/timeout": "^0.3.2",
|
|
34
|
-
"@crawlee/core": "4.0.0-beta.
|
|
35
|
-
"@crawlee/types": "4.0.0-beta.
|
|
34
|
+
"@crawlee/core": "4.0.0-beta.63",
|
|
35
|
+
"@crawlee/types": "4.0.0-beta.63",
|
|
36
36
|
"fingerprint-generator": "^2.1.68",
|
|
37
37
|
"fingerprint-injector": "^2.1.68",
|
|
38
38
|
"lodash.merge": "^4.6.2",
|
|
@@ -63,5 +63,5 @@
|
|
|
63
63
|
}
|
|
64
64
|
}
|
|
65
65
|
},
|
|
66
|
-
"gitHead": "
|
|
66
|
+
"gitHead": "6255e805b2d2ae85024897a2738315ae04df4424"
|
|
67
67
|
}
|