@crawlee/browser-pool 4.0.0-beta.7 → 4.0.0-beta.71
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/README.md +17 -13
- package/abstract-classes/browser-controller.d.ts +67 -7
- package/abstract-classes/browser-controller.d.ts.map +1 -1
- package/abstract-classes/browser-controller.js +6 -9
- package/abstract-classes/browser-controller.js.map +1 -1
- package/abstract-classes/browser-plugin.d.ts +37 -2
- package/abstract-classes/browser-plugin.d.ts.map +1 -1
- package/abstract-classes/browser-plugin.js +65 -6
- package/abstract-classes/browser-plugin.js.map +1 -1
- package/anonymize-proxy.d.ts +5 -1
- package/anonymize-proxy.d.ts.map +1 -1
- package/anonymize-proxy.js +9 -4
- package/anonymize-proxy.js.map +1 -1
- package/browser-pool.d.ts +88 -13
- package/browser-pool.d.ts.map +1 -1
- package/browser-pool.js +139 -25
- package/browser-pool.js.map +1 -1
- package/fingerprinting/hooks.d.ts.map +1 -1
- package/fingerprinting/hooks.js +24 -8
- package/fingerprinting/hooks.js.map +1 -1
- package/index.d.ts +14 -6
- package/index.d.ts.map +1 -1
- package/index.js +5 -2
- package/index.js.map +1 -1
- package/launch-context.d.ts +19 -2
- package/launch-context.d.ts.map +1 -1
- package/launch-context.js +11 -3
- package/launch-context.js.map +1 -1
- package/package.json +7 -8
- package/playwright/playwright-browser.d.ts.map +1 -1
- package/playwright/playwright-browser.js.map +1 -1
- package/playwright/playwright-controller.d.ts.map +1 -1
- package/playwright/playwright-controller.js +20 -9
- package/playwright/playwright-controller.js.map +1 -1
- package/playwright/playwright-plugin.d.ts +6 -0
- package/playwright/playwright-plugin.d.ts.map +1 -1
- package/playwright/playwright-plugin.js +27 -3
- package/playwright/playwright-plugin.js.map +1 -1
- package/puppeteer/puppeteer-controller.d.ts.map +1 -1
- package/puppeteer/puppeteer-controller.js +11 -8
- package/puppeteer/puppeteer-controller.js.map +1 -1
- package/puppeteer/puppeteer-plugin.d.ts +3 -0
- package/puppeteer/puppeteer-plugin.d.ts.map +1 -1
- package/puppeteer/puppeteer-plugin.js +81 -43
- package/puppeteer/puppeteer-plugin.js.map +1 -1
- package/remote-browser-pool.d.ts +173 -0
- package/remote-browser-pool.d.ts.map +1 -0
- package/remote-browser-pool.js +192 -0
- package/remote-browser-pool.js.map +1 -0
- package/remote-browser-provider.d.ts +84 -0
- package/remote-browser-provider.d.ts.map +1 -0
- package/remote-browser-provider.js +68 -0
- package/remote-browser-provider.js.map +1 -0
- package/utils.d.ts +7 -0
- package/utils.d.ts.map +1 -1
- package/utils.js +19 -0
- package/utils.js.map +1 -1
- package/logger.d.ts +0 -3
- package/logger.d.ts.map +0 -1
- package/logger.js +0 -5
- package/logger.js.map +0 -1
- package/tsconfig.build.tsbuildinfo +0 -1
package/browser-pool.d.ts
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { IBrowserPool, NewPageOptions, PageState } from '@crawlee/types';
|
|
1
2
|
import type { BrowserFingerprintWithHeaders } from 'fingerprint-generator';
|
|
2
3
|
import { FingerprintGenerator } from 'fingerprint-generator';
|
|
3
4
|
import { FingerprintInjector } from 'fingerprint-injector';
|
|
@@ -246,9 +247,10 @@ export interface BrowserPoolHooks<BC extends BrowserController, LC extends Launc
|
|
|
246
247
|
* });
|
|
247
248
|
* ```
|
|
248
249
|
*/
|
|
249
|
-
export declare class BrowserPool<Options extends BrowserPoolOptions = BrowserPoolOptions, BrowserPlugins extends BrowserPlugin[] = InferBrowserPluginArray<Options['browserPlugins']>, BrowserControllerReturn extends BrowserController = ReturnType<BrowserPlugins[number]['createController']>, LaunchContextReturn extends LaunchContext = ReturnType<BrowserPlugins[number]['createLaunchContext']>, PageOptions = Parameters<BrowserControllerReturn['newPage']>[0], PageReturn extends UnwrapPromise<ReturnType<BrowserControllerReturn['newPage']>> = UnwrapPromise<ReturnType<BrowserControllerReturn['newPage']>>> extends TypedEmitter<BrowserPoolEvents<BrowserControllerReturn, PageReturn>> {
|
|
250
|
+
export declare class BrowserPool<Options extends BrowserPoolOptions = BrowserPoolOptions, BrowserPlugins extends BrowserPlugin[] = InferBrowserPluginArray<Options['browserPlugins']>, BrowserControllerReturn extends BrowserController = ReturnType<BrowserPlugins[number]['createController']>, LaunchContextReturn extends LaunchContext = ReturnType<BrowserPlugins[number]['createLaunchContext']>, PageOptions = Parameters<BrowserControllerReturn['newPage']>[0], PageReturn extends UnwrapPromise<ReturnType<BrowserControllerReturn['newPage']>> = UnwrapPromise<ReturnType<BrowserControllerReturn['newPage']>>> extends TypedEmitter<BrowserPoolEvents<BrowserControllerReturn, PageReturn>> implements IBrowserPool<PageReturn> {
|
|
250
251
|
browserPlugins: BrowserPlugins;
|
|
251
252
|
maxOpenPagesPerBrowser: number;
|
|
253
|
+
maxOpenBrowsers: number;
|
|
252
254
|
retireBrowserAfterPageCount: number;
|
|
253
255
|
operationTimeoutMillis: number;
|
|
254
256
|
closeInactiveBrowserAfterMillis: number;
|
|
@@ -263,6 +265,7 @@ export declare class BrowserPool<Options extends BrowserPoolOptions = BrowserPoo
|
|
|
263
265
|
pageCounter: number;
|
|
264
266
|
pages: Map<string, PageReturn>;
|
|
265
267
|
pageIds: WeakMap<PageReturn, string>;
|
|
268
|
+
startingBrowserControllers: Set<BrowserControllerReturn>;
|
|
266
269
|
activeBrowserControllers: Set<BrowserControllerReturn>;
|
|
267
270
|
retiredBrowserControllers: Set<BrowserControllerReturn>;
|
|
268
271
|
pageToBrowserController: WeakMap<PageReturn, BrowserControllerReturn>;
|
|
@@ -272,11 +275,24 @@ export declare class BrowserPool<Options extends BrowserPoolOptions = BrowserPoo
|
|
|
272
275
|
private browserKillerInterval?;
|
|
273
276
|
private browserRetireInterval?;
|
|
274
277
|
private limiter;
|
|
278
|
+
private log;
|
|
275
279
|
constructor(options: Options & BrowserPoolHooks<BrowserControllerReturn, LaunchContextReturn, PageReturn>);
|
|
276
280
|
/**
|
|
277
281
|
* Opens a new page in one of the running browsers or launches
|
|
278
282
|
* a new browser and opens a page there, if no browsers are active,
|
|
279
283
|
* or their page limits have been exceeded.
|
|
284
|
+
*
|
|
285
|
+
* **Session injection (best-effort):** When a {@link NewPageOptions.session|session} is
|
|
286
|
+
* provided, this implementation uses it as a cache key for browser fingerprints (when
|
|
287
|
+
* fingerprinting is enabled) and reads
|
|
288
|
+
* {@link ProxyInfo.url|session.proxyInfo.url} /
|
|
289
|
+
* {@link ProxyInfo.ignoreTlsErrors|session.proxyInfo.ignoreTlsErrors} as defaults
|
|
290
|
+
* for `proxyUrl` and `ignoreTlsErrors` respectively. Explicit `proxyUrl` /
|
|
291
|
+
* `ignoreTlsErrors` values in the options take precedence.
|
|
292
|
+
*
|
|
293
|
+
* Beyond fingerprint caching and proxy configuration, no other session
|
|
294
|
+
* properties are consumed — cookie and header injection remain the
|
|
295
|
+
* crawler's responsibility.
|
|
280
296
|
*/
|
|
281
297
|
newPage(options?: BrowserPoolNewPageOptions<PageOptions, BrowserPlugins[number]>): Promise<PageReturn>;
|
|
282
298
|
/**
|
|
@@ -346,6 +362,43 @@ export declare class BrowserPool<Options extends BrowserPoolOptions = BrowserPoo
|
|
|
346
362
|
* closed after all its pages are closed.
|
|
347
363
|
*/
|
|
348
364
|
retireBrowserByPage(page: PageReturn): void;
|
|
365
|
+
/**
|
|
366
|
+
* Releases a page back to the pool. The page is closed and, if the
|
|
367
|
+
* optional `error` is a {@link SessionError}, the browser controller
|
|
368
|
+
* that served the page is retired so that its tainted state (cookies,
|
|
369
|
+
* storage, etc.) cannot leak into future sessions.
|
|
370
|
+
*
|
|
371
|
+
* This is the primary way the crawler should return pages to the pool.
|
|
372
|
+
*
|
|
373
|
+
* @param page The page to release.
|
|
374
|
+
* @param options.error The error that caused the page to be released, if any.
|
|
375
|
+
*/
|
|
376
|
+
closePage(page: PageReturn, options?: {
|
|
377
|
+
error?: Error;
|
|
378
|
+
}): Promise<void>;
|
|
379
|
+
/**
|
|
380
|
+
* Extracts the relevant state (currently just cookies) from a page via its
|
|
381
|
+
* owning {@link BrowserController}. Returns empty state when the page is
|
|
382
|
+
* no longer associated with a controller.
|
|
383
|
+
*
|
|
384
|
+
* As with {@link BrowserPool.injectPageState}, cookies are isolated per
|
|
385
|
+
* page only when the pool is configured with `useIncognitoPages: true`.
|
|
386
|
+
* With the default `useIncognitoPages: false`, the extracted cookies
|
|
387
|
+
* include those set by any sibling page sharing the same browser.
|
|
388
|
+
*/
|
|
389
|
+
extractPageState(page: PageReturn): Promise<PageState>;
|
|
390
|
+
/**
|
|
391
|
+
* Injects state into a page via its owning {@link BrowserController}.
|
|
392
|
+
*
|
|
393
|
+
* No-op when the page is no longer associated with a controller.
|
|
394
|
+
*
|
|
395
|
+
* Note that cookies are isolated per page only when the pool is configured
|
|
396
|
+
* with `useIncognitoPages: true` — each page then gets its own browser
|
|
397
|
+
* context. With the default `useIncognitoPages: false`, all pages in a
|
|
398
|
+
* browser share a single context, so injected cookies are visible to every
|
|
399
|
+
* page served by that browser.
|
|
400
|
+
*/
|
|
401
|
+
injectPageState(page: PageReturn, state: PageState): Promise<void>;
|
|
349
402
|
/**
|
|
350
403
|
* Removes all active browsers from the pool. The browsers will be
|
|
351
404
|
* closed after all their pages are closed.
|
|
@@ -373,15 +426,45 @@ export declare class BrowserPool<Options extends BrowserPoolOptions = BrowserPoo
|
|
|
373
426
|
private _overridePageClose;
|
|
374
427
|
private _executeHooks;
|
|
375
428
|
private _closeRetiredBrowserWithNoPages;
|
|
429
|
+
/**
|
|
430
|
+
* Returns `true` if the pool can accept a new browser launch without exceeding
|
|
431
|
+
* {@link BrowserPoolOptions.maxOpenBrowsers}. Counts starting, active, and retired browsers.
|
|
432
|
+
*/
|
|
433
|
+
hasFreeBrowserSlot(): boolean;
|
|
434
|
+
/**
|
|
435
|
+
* Returns `true` if any active browser has room for another page.
|
|
436
|
+
*/
|
|
437
|
+
hasActiveBrowserWithFreeCapacity(): boolean;
|
|
376
438
|
private _initializeFingerprinting;
|
|
377
439
|
private _addFingerprintHooks;
|
|
378
440
|
}
|
|
379
|
-
export interface BrowserPoolNewPageOptions<PageOptions, BP extends BrowserPlugin> {
|
|
441
|
+
export interface BrowserPoolNewPageOptions<PageOptions, BP extends BrowserPlugin> extends NewPageOptions {
|
|
442
|
+
/**
|
|
443
|
+
* The proxy URL the pool uses internally to route the page: it keys browser
|
|
444
|
+
* reuse (with `browserPerProxy`, only a browser already on this proxy is
|
|
445
|
+
* reused), configures the launched browser, and is applied to incognito
|
|
446
|
+
* pages. When omitted, it is derived from the
|
|
447
|
+
* {@link NewPageOptions.session|session}'s `proxyInfo`; an explicit value
|
|
448
|
+
* here takes precedence.
|
|
449
|
+
*
|
|
450
|
+
* This is an implementation detail of the built-in `BrowserPool`'s proxy
|
|
451
|
+
* handling and is intentionally not part of the {@link IBrowserPool}
|
|
452
|
+
* contract — through that interface the proxy is supplied via the session.
|
|
453
|
+
*/
|
|
454
|
+
proxyUrl?: string;
|
|
380
455
|
/**
|
|
381
|
-
*
|
|
382
|
-
*
|
|
456
|
+
* Disable TLS certificate verification for MITM proxies. Applied both when
|
|
457
|
+
* launching a new browser and when creating a page in an existing one. When
|
|
458
|
+
* omitted, it is derived from the
|
|
459
|
+
* {@link NewPageOptions.session|session}'s `proxyInfo`; an explicit value
|
|
460
|
+
* here takes precedence.
|
|
461
|
+
*
|
|
462
|
+
* This is an implementation detail of the built-in `BrowserPool` and is
|
|
463
|
+
* intentionally not part of the {@link IBrowserPool} contract — through
|
|
464
|
+
* that interface, configure it via the session's `proxyInfo` or through the
|
|
465
|
+
* browser's `launchOptions`.
|
|
383
466
|
*/
|
|
384
|
-
|
|
467
|
+
ignoreTlsErrors?: boolean;
|
|
385
468
|
/**
|
|
386
469
|
* Some libraries (Playwright) allow you to open new pages with specific
|
|
387
470
|
* options. Use this property to set those options.
|
|
@@ -396,14 +479,6 @@ export interface BrowserPoolNewPageOptions<PageOptions, BP extends BrowserPlugin
|
|
|
396
479
|
* see the `newPageInNewBrowser` function.
|
|
397
480
|
*/
|
|
398
481
|
browserPlugin?: BP;
|
|
399
|
-
/**
|
|
400
|
-
* Proxy URL.
|
|
401
|
-
*/
|
|
402
|
-
proxyUrl?: string;
|
|
403
|
-
/**
|
|
404
|
-
* Proxy tier.
|
|
405
|
-
*/
|
|
406
|
-
proxyTier?: number;
|
|
407
482
|
}
|
|
408
483
|
export interface BrowserPoolNewPageInNewBrowserOptions<PageOptions, BP extends BrowserPlugin> {
|
|
409
484
|
/**
|
package/browser-pool.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-pool.d.ts","sourceRoot":"","sources":["../src/browser-pool.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAC3E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAC;AAC7D,OAAO,EAAE,mBAAmB,EAAE,MAAM,sBAAsB,CAAC;AAI3D,OAAO,QAAQ,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAIlD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAClF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,aAAa,CAAC;AAMlD,OAAO,KAAK,EAAE,2BAA2B,EAAE,MAAM,2BAA2B,CAAC;AAC7E,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"browser-pool.d.ts","sourceRoot":"","sources":["../src/browser-pool.ts"],"names":[],"mappings":"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"}
|
package/browser-pool.js
CHANGED
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SessionError, serviceLocator } from '@crawlee/core';
|
|
1
2
|
import { FingerprintGenerator } from 'fingerprint-generator';
|
|
2
3
|
import { FingerprintInjector } from 'fingerprint-injector';
|
|
3
4
|
import { nanoid } from 'nanoid';
|
|
@@ -7,7 +8,6 @@ import QuickLRU from 'quick-lru';
|
|
|
7
8
|
import { TypedEmitter } from 'tiny-typed-emitter';
|
|
8
9
|
import { addTimeoutToPromise, tryCancel } from '@apify/timeout';
|
|
9
10
|
import { createFingerprintPreLaunchHook, createPostPageCreateHook, createPrePageCreateHook, } from './fingerprinting/hooks.js';
|
|
10
|
-
import { log } from './logger.js';
|
|
11
11
|
const PAGE_CLOSE_KILL_TIMEOUT_MILLIS = 1000;
|
|
12
12
|
const BROWSER_KILLER_INTERVAL_MILLIS = 10 * 1000;
|
|
13
13
|
/**
|
|
@@ -60,6 +60,7 @@ const BROWSER_KILLER_INTERVAL_MILLIS = 10 * 1000;
|
|
|
60
60
|
export class BrowserPool extends TypedEmitter {
|
|
61
61
|
browserPlugins;
|
|
62
62
|
maxOpenPagesPerBrowser;
|
|
63
|
+
maxOpenBrowsers;
|
|
63
64
|
retireBrowserAfterPageCount;
|
|
64
65
|
operationTimeoutMillis;
|
|
65
66
|
closeInactiveBrowserAfterMillis;
|
|
@@ -74,6 +75,7 @@ export class BrowserPool extends TypedEmitter {
|
|
|
74
75
|
pageCounter = 0;
|
|
75
76
|
pages = new Map();
|
|
76
77
|
pageIds = new WeakMap();
|
|
78
|
+
startingBrowserControllers = new Set();
|
|
77
79
|
activeBrowserControllers = new Set();
|
|
78
80
|
retiredBrowserControllers = new Set();
|
|
79
81
|
pageToBrowserController = new WeakMap();
|
|
@@ -83,8 +85,10 @@ export class BrowserPool extends TypedEmitter {
|
|
|
83
85
|
browserKillerInterval = setInterval(async () => this._closeInactiveRetiredBrowsers(), BROWSER_KILLER_INTERVAL_MILLIS);
|
|
84
86
|
browserRetireInterval;
|
|
85
87
|
limiter = pLimit(1);
|
|
88
|
+
log;
|
|
86
89
|
constructor(options) {
|
|
87
90
|
super();
|
|
91
|
+
this.log = serviceLocator.getLogger().child({ prefix: 'BrowserPool' });
|
|
88
92
|
this.browserKillerInterval.unref();
|
|
89
93
|
ow(options, ow.object.exactShape({
|
|
90
94
|
browserPlugins: ow.array.minLength(1),
|
|
@@ -114,6 +118,7 @@ export class BrowserPool extends TypedEmitter {
|
|
|
114
118
|
}
|
|
115
119
|
this.browserPlugins = browserPlugins;
|
|
116
120
|
this.maxOpenPagesPerBrowser = maxOpenPagesPerBrowser;
|
|
121
|
+
this.maxOpenBrowsers = Infinity;
|
|
117
122
|
this.retireBrowserAfterPageCount = retireBrowserAfterPageCount;
|
|
118
123
|
this.operationTimeoutMillis = operationTimeoutSecs * 1000;
|
|
119
124
|
this.closeInactiveBrowserAfterMillis = closeInactiveBrowserAfterSecs * 1000;
|
|
@@ -142,9 +147,21 @@ export class BrowserPool extends TypedEmitter {
|
|
|
142
147
|
* Opens a new page in one of the running browsers or launches
|
|
143
148
|
* a new browser and opens a page there, if no browsers are active,
|
|
144
149
|
* or their page limits have been exceeded.
|
|
150
|
+
*
|
|
151
|
+
* **Session injection (best-effort):** When a {@link NewPageOptions.session|session} is
|
|
152
|
+
* provided, this implementation uses it as a cache key for browser fingerprints (when
|
|
153
|
+
* fingerprinting is enabled) and reads
|
|
154
|
+
* {@link ProxyInfo.url|session.proxyInfo.url} /
|
|
155
|
+
* {@link ProxyInfo.ignoreTlsErrors|session.proxyInfo.ignoreTlsErrors} as defaults
|
|
156
|
+
* for `proxyUrl` and `ignoreTlsErrors` respectively. Explicit `proxyUrl` /
|
|
157
|
+
* `ignoreTlsErrors` values in the options take precedence.
|
|
158
|
+
*
|
|
159
|
+
* Beyond fingerprint caching and proxy configuration, no other session
|
|
160
|
+
* properties are consumed — cookie and header injection remain the
|
|
161
|
+
* crawler's responsibility.
|
|
145
162
|
*/
|
|
146
163
|
async newPage(options = {}) {
|
|
147
|
-
const { id = nanoid(), pageOptions, browserPlugin = this._pickBrowserPlugin(), proxyUrl,
|
|
164
|
+
const { id = nanoid(), pageOptions, browserPlugin = this._pickBrowserPlugin(), session, proxyUrl = session?.proxyInfo?.url, ignoreTlsErrors = session?.proxyInfo?.ignoreTlsErrors, } = options;
|
|
148
165
|
if (this.pages.has(id)) {
|
|
149
166
|
throw new Error(`Page with ID: ${id} already exists.`);
|
|
150
167
|
}
|
|
@@ -153,11 +170,15 @@ export class BrowserPool extends TypedEmitter {
|
|
|
153
170
|
}
|
|
154
171
|
// Limiter is necessary - https://github.com/apify/crawlee/issues/1126
|
|
155
172
|
return this.limiter(async () => {
|
|
156
|
-
let browserController = this._pickBrowserWithFreeCapacity(browserPlugin, {
|
|
173
|
+
let browserController = this._pickBrowserWithFreeCapacity(browserPlugin, { proxyUrl });
|
|
157
174
|
if (!browserController)
|
|
158
|
-
browserController = await this._launchBrowser(id, {
|
|
175
|
+
browserController = await this._launchBrowser(id, {
|
|
176
|
+
browserPlugin,
|
|
177
|
+
proxyUrl,
|
|
178
|
+
ignoreTlsErrors,
|
|
179
|
+
});
|
|
159
180
|
tryCancel();
|
|
160
|
-
return await this._createPageForBrowser(id, browserController, pageOptions, proxyUrl);
|
|
181
|
+
return await this._createPageForBrowser(id, browserController, pageOptions, proxyUrl, ignoreTlsErrors);
|
|
161
182
|
});
|
|
162
183
|
}
|
|
163
184
|
/**
|
|
@@ -238,7 +259,7 @@ export class BrowserPool extends TypedEmitter {
|
|
|
238
259
|
getPageId(page) {
|
|
239
260
|
return this.pageIds.get(page);
|
|
240
261
|
}
|
|
241
|
-
async _createPageForBrowser(pageId, browserController, pageOptions = {}, proxyUrl) {
|
|
262
|
+
async _createPageForBrowser(pageId, browserController, pageOptions = {}, proxyUrl, ignoreTlsErrors) {
|
|
242
263
|
// This is needed for concurrent newPage calls to wait for the browser launch.
|
|
243
264
|
// It's not ideal though, we need to come up with a better API.
|
|
244
265
|
// eslint-disable-next-line dot-notation -- accessing private property
|
|
@@ -247,6 +268,12 @@ export class BrowserPool extends TypedEmitter {
|
|
|
247
268
|
const finalPageOptions = browserController.launchContext.useIncognitoPages ? pageOptions : undefined;
|
|
248
269
|
if (finalPageOptions) {
|
|
249
270
|
Object.assign(finalPageOptions, browserController.normalizeProxyOptions(proxyUrl, pageOptions));
|
|
271
|
+
if (ignoreTlsErrors) {
|
|
272
|
+
Object.assign(finalPageOptions, {
|
|
273
|
+
ignoreHTTPSErrors: true,
|
|
274
|
+
acceptInsecureCerts: true,
|
|
275
|
+
});
|
|
276
|
+
}
|
|
250
277
|
}
|
|
251
278
|
await this._executeHooks(this.prePageCreateHooks, pageId, browserController, finalPageOptions);
|
|
252
279
|
tryCancel();
|
|
@@ -278,11 +305,14 @@ export class BrowserPool extends TypedEmitter {
|
|
|
278
305
|
*
|
|
279
306
|
*/
|
|
280
307
|
retireBrowserController(browserController) {
|
|
281
|
-
const
|
|
308
|
+
const isStarting = this.startingBrowserControllers.has(browserController);
|
|
309
|
+
const isActive = this.activeBrowserControllers.has(browserController);
|
|
310
|
+
const hasBeenRetiredOrKilled = !isStarting && !isActive;
|
|
282
311
|
if (hasBeenRetiredOrKilled)
|
|
283
312
|
return;
|
|
284
313
|
this.retiredBrowserControllers.add(browserController);
|
|
285
314
|
this.emit("browserRetired" /* BROWSER_POOL_EVENTS.BROWSER_RETIRED */, browserController);
|
|
315
|
+
this.startingBrowserControllers.delete(browserController);
|
|
286
316
|
this.activeBrowserControllers.delete(browserController);
|
|
287
317
|
}
|
|
288
318
|
/**
|
|
@@ -294,12 +324,64 @@ export class BrowserPool extends TypedEmitter {
|
|
|
294
324
|
if (browserController)
|
|
295
325
|
this.retireBrowserController(browserController);
|
|
296
326
|
}
|
|
327
|
+
/**
|
|
328
|
+
* Releases a page back to the pool. The page is closed and, if the
|
|
329
|
+
* optional `error` is a {@link SessionError}, the browser controller
|
|
330
|
+
* that served the page is retired so that its tainted state (cookies,
|
|
331
|
+
* storage, etc.) cannot leak into future sessions.
|
|
332
|
+
*
|
|
333
|
+
* This is the primary way the crawler should return pages to the pool.
|
|
334
|
+
*
|
|
335
|
+
* @param page The page to release.
|
|
336
|
+
* @param options.error The error that caused the page to be released, if any.
|
|
337
|
+
*/
|
|
338
|
+
async closePage(page, options) {
|
|
339
|
+
if (options?.error instanceof SessionError) {
|
|
340
|
+
this.retireBrowserByPage(page);
|
|
341
|
+
}
|
|
342
|
+
await page.close();
|
|
343
|
+
}
|
|
344
|
+
/**
|
|
345
|
+
* Extracts the relevant state (currently just cookies) from a page via its
|
|
346
|
+
* owning {@link BrowserController}. Returns empty state when the page is
|
|
347
|
+
* no longer associated with a controller.
|
|
348
|
+
*
|
|
349
|
+
* As with {@link BrowserPool.injectPageState}, cookies are isolated per
|
|
350
|
+
* page only when the pool is configured with `useIncognitoPages: true`.
|
|
351
|
+
* With the default `useIncognitoPages: false`, the extracted cookies
|
|
352
|
+
* include those set by any sibling page sharing the same browser.
|
|
353
|
+
*/
|
|
354
|
+
async extractPageState(page) {
|
|
355
|
+
const controller = this.getBrowserControllerByPage(page);
|
|
356
|
+
if (!controller) {
|
|
357
|
+
return { cookies: [] };
|
|
358
|
+
}
|
|
359
|
+
return { cookies: await controller.getCookies(page) };
|
|
360
|
+
}
|
|
361
|
+
/**
|
|
362
|
+
* Injects state into a page via its owning {@link BrowserController}.
|
|
363
|
+
*
|
|
364
|
+
* No-op when the page is no longer associated with a controller.
|
|
365
|
+
*
|
|
366
|
+
* Note that cookies are isolated per page only when the pool is configured
|
|
367
|
+
* with `useIncognitoPages: true` — each page then gets its own browser
|
|
368
|
+
* context. With the default `useIncognitoPages: false`, all pages in a
|
|
369
|
+
* browser share a single context, so injected cookies are visible to every
|
|
370
|
+
* page served by that browser.
|
|
371
|
+
*/
|
|
372
|
+
async injectPageState(page, state) {
|
|
373
|
+
const controller = this.getBrowserControllerByPage(page);
|
|
374
|
+
if (!controller) {
|
|
375
|
+
return;
|
|
376
|
+
}
|
|
377
|
+
await controller.setCookies(page, state.cookies);
|
|
378
|
+
}
|
|
297
379
|
/**
|
|
298
380
|
* Removes all active browsers from the pool. The browsers will be
|
|
299
381
|
* closed after all their pages are closed.
|
|
300
382
|
*/
|
|
301
383
|
retireAllBrowsers() {
|
|
302
|
-
this.activeBrowserControllers.forEach((controller) => {
|
|
384
|
+
[...this.startingBrowserControllers, ...this.activeBrowserControllers].forEach((controller) => {
|
|
303
385
|
this.retireBrowserController(controller);
|
|
304
386
|
});
|
|
305
387
|
}
|
|
@@ -326,23 +408,36 @@ export class BrowserPool extends TypedEmitter {
|
|
|
326
408
|
this._teardown();
|
|
327
409
|
}
|
|
328
410
|
_teardown() {
|
|
411
|
+
this.startingBrowserControllers.clear();
|
|
329
412
|
this.activeBrowserControllers.clear();
|
|
330
413
|
this.retiredBrowserControllers.clear();
|
|
331
414
|
this.removeAllListeners();
|
|
332
415
|
}
|
|
333
416
|
_getAllBrowserControllers() {
|
|
334
|
-
return new Set([
|
|
417
|
+
return new Set([
|
|
418
|
+
...this.startingBrowserControllers,
|
|
419
|
+
...this.activeBrowserControllers,
|
|
420
|
+
...this.retiredBrowserControllers,
|
|
421
|
+
]);
|
|
335
422
|
}
|
|
336
423
|
async _launchBrowser(pageId, options) {
|
|
337
|
-
const { browserPlugin, launchOptions,
|
|
424
|
+
const { browserPlugin, launchOptions, proxyUrl, ignoreTlsErrors } = options;
|
|
338
425
|
const browserController = browserPlugin.createController();
|
|
339
|
-
this.
|
|
426
|
+
this.startingBrowserControllers.add(browserController);
|
|
340
427
|
const launchContext = browserPlugin.createLaunchContext({
|
|
341
428
|
id: pageId,
|
|
342
429
|
launchOptions,
|
|
343
|
-
proxyTier,
|
|
344
430
|
proxyUrl,
|
|
345
431
|
});
|
|
432
|
+
// Disable SSL verification for MITM proxies
|
|
433
|
+
if (ignoreTlsErrors) {
|
|
434
|
+
/**
|
|
435
|
+
* @see https://playwright.dev/docs/api/class-browser/#browser-new-context
|
|
436
|
+
* @see https://github.com/puppeteer/puppeteer/blob/main/docs/api.md
|
|
437
|
+
*/
|
|
438
|
+
launchContext.launchOptions.ignoreHTTPSErrors = true;
|
|
439
|
+
launchContext.launchOptions.acceptInsecureCerts = true;
|
|
440
|
+
}
|
|
346
441
|
try {
|
|
347
442
|
// If the hooks or the launch fails, we need to delete the controller,
|
|
348
443
|
// because otherwise it would be stuck in limbo without a browser.
|
|
@@ -353,11 +448,10 @@ export class BrowserPool extends TypedEmitter {
|
|
|
353
448
|
browserController.assignBrowser(browser, launchContext);
|
|
354
449
|
}
|
|
355
450
|
catch (err) {
|
|
356
|
-
this.
|
|
451
|
+
this.startingBrowserControllers.delete(browserController);
|
|
357
452
|
throw err;
|
|
358
453
|
}
|
|
359
|
-
log.debug('Launched new browser.', { id: browserController.id });
|
|
360
|
-
browserController.proxyTier = proxyTier;
|
|
454
|
+
this.log.debug('Launched new browser.', { id: browserController.id });
|
|
361
455
|
browserController.proxyUrl = proxyUrl;
|
|
362
456
|
try {
|
|
363
457
|
// If the launch fails on the post-launch hooks, we need to clean up
|
|
@@ -365,9 +459,9 @@ export class BrowserPool extends TypedEmitter {
|
|
|
365
459
|
await this._executeHooks(this.postLaunchHooks, pageId, browserController);
|
|
366
460
|
}
|
|
367
461
|
catch (err) {
|
|
368
|
-
this.
|
|
462
|
+
this.startingBrowserControllers.delete(browserController);
|
|
369
463
|
browserController.close().catch((closeErr) => {
|
|
370
|
-
log.error(`Could not close browser whose post-launch hooks failed.\nCause:${closeErr.message}`, {
|
|
464
|
+
this.log.error(`Could not close browser whose post-launch hooks failed.\nCause:${closeErr.message}`, {
|
|
371
465
|
id: browserController.id,
|
|
372
466
|
});
|
|
373
467
|
});
|
|
@@ -375,6 +469,8 @@ export class BrowserPool extends TypedEmitter {
|
|
|
375
469
|
}
|
|
376
470
|
tryCancel();
|
|
377
471
|
browserController.activate();
|
|
472
|
+
this.startingBrowserControllers.delete(browserController);
|
|
473
|
+
this.activeBrowserControllers.add(browserController);
|
|
378
474
|
this.emit("browserLaunched" /* BROWSER_POOL_EVENTS.BROWSER_LAUNCHED */, browserController);
|
|
379
475
|
return browserController;
|
|
380
476
|
}
|
|
@@ -392,13 +488,11 @@ export class BrowserPool extends TypedEmitter {
|
|
|
392
488
|
const hasCapacity = controller.activePages < this.maxOpenPagesPerBrowser;
|
|
393
489
|
const isCorrectPlugin = controller.browserPlugin === browserPlugin;
|
|
394
490
|
const isSameProxyUrl = controller.proxyUrl === options?.proxyUrl;
|
|
395
|
-
const isCorrectProxyTier = controller.proxyTier === options?.proxyTier;
|
|
396
491
|
return (isCorrectPlugin &&
|
|
397
492
|
hasCapacity &&
|
|
398
|
-
(
|
|
399
|
-
(options?.proxyTier && isCorrectProxyTier) ||
|
|
493
|
+
(!controller.launchContext.browserPerProxy ||
|
|
400
494
|
(options?.proxyUrl && isSameProxyUrl) ||
|
|
401
|
-
(!options?.proxyUrl && !
|
|
495
|
+
(!options?.proxyUrl && !controller.proxyUrl)));
|
|
402
496
|
});
|
|
403
497
|
}
|
|
404
498
|
async _closeInactiveRetiredBrowsers() {
|
|
@@ -409,14 +503,14 @@ export class BrowserPool extends TypedEmitter {
|
|
|
409
503
|
const isBrowserEmpty = controller.activePages === 0;
|
|
410
504
|
if (isBrowserIdle || isBrowserEmpty) {
|
|
411
505
|
const { id } = controller;
|
|
412
|
-
log.debug('Closing retired browser.', { id });
|
|
506
|
+
this.log.debug('Closing retired browser.', { id });
|
|
413
507
|
await controller.close();
|
|
414
508
|
this.retiredBrowserControllers.delete(controller);
|
|
415
509
|
closedBrowserIds.push(id);
|
|
416
510
|
}
|
|
417
511
|
}
|
|
418
512
|
if (closedBrowserIds.length) {
|
|
419
|
-
log.debug('Closed retired browsers.', {
|
|
513
|
+
this.log.debug('Closed retired browsers.', {
|
|
420
514
|
count: closedBrowserIds.length,
|
|
421
515
|
closedBrowserIds,
|
|
422
516
|
});
|
|
@@ -429,7 +523,7 @@ export class BrowserPool extends TypedEmitter {
|
|
|
429
523
|
page.close = async (...args) => {
|
|
430
524
|
await this._executeHooks(this.prePageCloseHooks, page, browserController);
|
|
431
525
|
await originalPageClose.apply(page, args).catch((err) => {
|
|
432
|
-
log.debug(`Could not close page.\nCause:${err.message}`, { id: browserController.id });
|
|
526
|
+
this.log.debug(`Could not close page.\nCause:${err.message}`, { id: browserController.id });
|
|
433
527
|
});
|
|
434
528
|
await this._executeHooks(this.postPageCloseHooks, pageId, browserController);
|
|
435
529
|
this.pages.delete(pageId);
|
|
@@ -447,13 +541,33 @@ export class BrowserPool extends TypedEmitter {
|
|
|
447
541
|
// Run this with a delay, otherwise page.close()
|
|
448
542
|
// might fail with "Protocol error (Target.closeTarget): Target closed."
|
|
449
543
|
setTimeout(() => {
|
|
450
|
-
log.debug('Closing retired browser because it has no active pages', { id: browserController.id });
|
|
544
|
+
this.log.debug('Closing retired browser because it has no active pages', { id: browserController.id });
|
|
451
545
|
void browserController.close().finally(() => {
|
|
452
546
|
this.retiredBrowserControllers.delete(browserController);
|
|
453
547
|
});
|
|
454
548
|
}, PAGE_CLOSE_KILL_TIMEOUT_MILLIS);
|
|
455
549
|
}
|
|
456
550
|
}
|
|
551
|
+
/**
|
|
552
|
+
* Returns `true` if the pool can accept a new browser launch without exceeding
|
|
553
|
+
* {@link BrowserPoolOptions.maxOpenBrowsers}. Counts starting, active, and retired browsers.
|
|
554
|
+
*/
|
|
555
|
+
hasFreeBrowserSlot() {
|
|
556
|
+
const total = this.startingBrowserControllers.size +
|
|
557
|
+
this.activeBrowserControllers.size +
|
|
558
|
+
this.retiredBrowserControllers.size;
|
|
559
|
+
return total < this.maxOpenBrowsers;
|
|
560
|
+
}
|
|
561
|
+
/**
|
|
562
|
+
* Returns `true` if any active browser has room for another page.
|
|
563
|
+
*/
|
|
564
|
+
hasActiveBrowserWithFreeCapacity() {
|
|
565
|
+
for (const controller of this.activeBrowserControllers) {
|
|
566
|
+
if (controller.activePages < this.maxOpenPagesPerBrowser)
|
|
567
|
+
return true;
|
|
568
|
+
}
|
|
569
|
+
return false;
|
|
570
|
+
}
|
|
457
571
|
_initializeFingerprinting() {
|
|
458
572
|
const { useFingerprintCache = true, fingerprintCacheSize = 10_000 } = this.fingerprintOptions;
|
|
459
573
|
this.fingerprintGenerator = new FingerprintGenerator(this.fingerprintOptions.fingerprintGeneratorOptions);
|
package/browser-pool.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"browser-pool.js","sourceRoot":"","sources":["../src/browser-pool.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"browser-pool.js","sourceRoot":"","sources":["../src/browser-pool.ts"],"names":[],"mappings":"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"}
|
|
@@ -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,UAqCxD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,KAC3B,SAAS,MAAM,EAAE,mBAAmB,iBAAiB,EAAE,aAAa,GAAG,KAAG,IAAI,CAazF;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CAAC,mBAAmB,EAAE,mBAAmB,IAC/D,MAAM,GAAG,EAAE,mBAAmB,iBAAiB,KAAG,OAAO,CAAC,IAAI,CAAC,CA2BhF"}
|