@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.
Files changed (62) hide show
  1. package/README.md +17 -13
  2. package/abstract-classes/browser-controller.d.ts +67 -7
  3. package/abstract-classes/browser-controller.d.ts.map +1 -1
  4. package/abstract-classes/browser-controller.js +6 -9
  5. package/abstract-classes/browser-controller.js.map +1 -1
  6. package/abstract-classes/browser-plugin.d.ts +37 -2
  7. package/abstract-classes/browser-plugin.d.ts.map +1 -1
  8. package/abstract-classes/browser-plugin.js +65 -6
  9. package/abstract-classes/browser-plugin.js.map +1 -1
  10. package/anonymize-proxy.d.ts +5 -1
  11. package/anonymize-proxy.d.ts.map +1 -1
  12. package/anonymize-proxy.js +9 -4
  13. package/anonymize-proxy.js.map +1 -1
  14. package/browser-pool.d.ts +88 -13
  15. package/browser-pool.d.ts.map +1 -1
  16. package/browser-pool.js +139 -25
  17. package/browser-pool.js.map +1 -1
  18. package/fingerprinting/hooks.d.ts.map +1 -1
  19. package/fingerprinting/hooks.js +24 -8
  20. package/fingerprinting/hooks.js.map +1 -1
  21. package/index.d.ts +14 -6
  22. package/index.d.ts.map +1 -1
  23. package/index.js +5 -2
  24. package/index.js.map +1 -1
  25. package/launch-context.d.ts +19 -2
  26. package/launch-context.d.ts.map +1 -1
  27. package/launch-context.js +11 -3
  28. package/launch-context.js.map +1 -1
  29. package/package.json +7 -8
  30. package/playwright/playwright-browser.d.ts.map +1 -1
  31. package/playwright/playwright-browser.js.map +1 -1
  32. package/playwright/playwright-controller.d.ts.map +1 -1
  33. package/playwright/playwright-controller.js +20 -9
  34. package/playwright/playwright-controller.js.map +1 -1
  35. package/playwright/playwright-plugin.d.ts +6 -0
  36. package/playwright/playwright-plugin.d.ts.map +1 -1
  37. package/playwright/playwright-plugin.js +27 -3
  38. package/playwright/playwright-plugin.js.map +1 -1
  39. package/puppeteer/puppeteer-controller.d.ts.map +1 -1
  40. package/puppeteer/puppeteer-controller.js +11 -8
  41. package/puppeteer/puppeteer-controller.js.map +1 -1
  42. package/puppeteer/puppeteer-plugin.d.ts +3 -0
  43. package/puppeteer/puppeteer-plugin.d.ts.map +1 -1
  44. package/puppeteer/puppeteer-plugin.js +81 -43
  45. package/puppeteer/puppeteer-plugin.js.map +1 -1
  46. package/remote-browser-pool.d.ts +173 -0
  47. package/remote-browser-pool.d.ts.map +1 -0
  48. package/remote-browser-pool.js +192 -0
  49. package/remote-browser-pool.js.map +1 -0
  50. package/remote-browser-provider.d.ts +84 -0
  51. package/remote-browser-provider.d.ts.map +1 -0
  52. package/remote-browser-provider.js +68 -0
  53. package/remote-browser-provider.js.map +1 -0
  54. package/utils.d.ts +7 -0
  55. package/utils.d.ts.map +1 -1
  56. package/utils.js +19 -0
  57. package/utils.js.map +1 -1
  58. package/logger.d.ts +0 -3
  59. package/logger.d.ts.map +0 -1
  60. package/logger.js +0 -5
  61. package/logger.js.map +0 -1
  62. 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
- * Assign a custom ID to the page. If you don't a random string ID
382
- * will be generated.
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
- id?: string;
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
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"browser-pool.d.ts","sourceRoot":"","sources":["../src/browser-pool.ts"],"names":[],"mappings":"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"}
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, proxyTier } = options;
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, { proxyTier, proxyUrl });
173
+ let browserController = this._pickBrowserWithFreeCapacity(browserPlugin, { proxyUrl });
157
174
  if (!browserController)
158
- browserController = await this._launchBrowser(id, { browserPlugin, proxyTier, proxyUrl });
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 hasBeenRetiredOrKilled = !this.activeBrowserControllers.has(browserController);
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([...this.activeBrowserControllers, ...this.retiredBrowserControllers]);
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, proxyTier, proxyUrl } = options;
424
+ const { browserPlugin, launchOptions, proxyUrl, ignoreTlsErrors } = options;
338
425
  const browserController = browserPlugin.createController();
339
- this.activeBrowserControllers.add(browserController);
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.activeBrowserControllers.delete(browserController);
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.activeBrowserControllers.delete(browserController);
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
- ((!controller.launchContext.browserPerProxy && !options?.proxyTier) ||
399
- (options?.proxyTier && isCorrectProxyTier) ||
493
+ (!controller.launchContext.browserPerProxy ||
400
494
  (options?.proxyUrl && isSameProxyUrl) ||
401
- (!options?.proxyUrl && !options?.proxyTier && !controller.proxyUrl && !controller.proxyTier)));
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);
@@ -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":"AACA,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;AAK1D;;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,UAoCxD;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"}
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"}