@crawlee/browser-pool 4.0.0-beta.7 → 4.0.0-beta.70

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
@@ -1,27 +1,39 @@
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
  */
7
17
  export function createFingerprintPreLaunchHook(browserPool) {
8
18
  const { fingerprintGenerator, fingerprintCache, fingerprintOptions: { fingerprintGeneratorOptions }, } = browserPool;
9
19
  return (_pageId, launchContext) => {
20
+ // Remote browsers may have their own fingerprinting — skip local fingerprint injection
21
+ if (launchContext.isRemote)
22
+ return;
10
23
  const { useIncognitoPages } = launchContext;
11
- const cacheKey = launchContext.session?.id ?? launchContext.proxyUrl;
24
+ const session = launchContext.session;
25
+ const cacheKey = session?.id ?? launchContext.proxyUrl;
12
26
  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
27
  let fingerprint;
16
28
  if (cacheKey && fingerprintCache?.has(cacheKey)) {
17
29
  fingerprint = fingerprintCache.get(cacheKey);
18
30
  }
19
- else if (cacheKey) {
20
- fingerprint = fingerprintGenerator.getFingerprint(fingerprintGeneratorFinalOptions);
21
- fingerprintCache?.set(cacheKey, fingerprint);
22
- }
23
31
  else {
24
- fingerprint = fingerprintGenerator.getFingerprint(fingerprintGeneratorFinalOptions);
32
+ const baseOptions = fingerprintGeneratorOptions || getGeneratorDefaultOptions(launchContext);
33
+ const finalOptions = applySessionHints(baseOptions, session?.fingerprint);
34
+ fingerprint = fingerprintGenerator.getFingerprint(finalOptions);
35
+ if (cacheKey)
36
+ fingerprintCache?.set(cacheKey, fingerprint);
25
37
  }
26
38
  launchContext.extend({ fingerprint });
27
39
  if (useIncognitoPages) {
@@ -41,6 +53,8 @@ export function createFingerprintPreLaunchHook(browserPool) {
41
53
  export function createPrePageCreateHook() {
42
54
  return (_pageId, browserController, pageOptions) => {
43
55
  const { launchContext, browserPlugin } = browserController;
56
+ if (launchContext.isRemote)
57
+ return;
44
58
  const { fingerprint } = launchContext.fingerprint;
45
59
  if (launchContext.useIncognitoPages && browserPlugin instanceof PlaywrightPlugin && pageOptions) {
46
60
  pageOptions.userAgent ??= fingerprint.navigator.userAgent;
@@ -57,6 +71,8 @@ export function createPrePageCreateHook() {
57
71
  export function createPostPageCreateHook(fingerprintInjector) {
58
72
  return async (page, browserController) => {
59
73
  const { browserPlugin, launchContext } = browserController;
74
+ if (launchContext.isRemote)
75
+ return;
60
76
  const fingerprint = launchContext.fingerprint;
61
77
  // TODO this will require refactoring, we should use common API instead of branching based on plugin type,
62
78
  // and there should be no public methods specific to some browser.
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/fingerprinting/hooks.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/fingerprinting/hooks.ts"],"names":[],"mappings":"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"}
package/index.d.ts CHANGED
@@ -28,13 +28,21 @@ export * from './browser-pool.js';
28
28
  export * from './playwright/playwright-plugin.js';
29
29
  export * from './puppeteer/puppeteer-plugin.js';
30
30
  export * from './events.js';
31
- export { BrowserName, DeviceCategory, OperatingSystemsName, } from './fingerprinting/types.js';
32
- export { BrowserController, BrowserControllerEvents } from './abstract-classes/browser-controller.js';
31
+ export type { BrowserSpecification, FingerprintGenerator, FingerprintGeneratorOptions, GetFingerprintReturn, } from './fingerprinting/types.js';
32
+ export { BrowserName, DeviceCategory, OperatingSystemsName } from './fingerprinting/types.js';
33
+ export type { BrowserControllerEvents, IBrowserController, IBrowserLaunchContext, } from './abstract-classes/browser-controller.js';
34
+ export { BrowserController } from './abstract-classes/browser-controller.js';
33
35
  export { PuppeteerController } from './puppeteer/puppeteer-controller.js';
34
36
  export { PlaywrightController } from './playwright/playwright-controller.js';
35
37
  export { PlaywrightBrowser } from './playwright/playwright-browser.js';
36
- export { CommonPage, CommonLibrary, BrowserPlugin, BrowserPluginOptions, CreateLaunchContextOptions, BrowserLaunchError, DEFAULT_USER_AGENT, } from './abstract-classes/browser-plugin.js';
37
- export { LaunchContext, LaunchContextOptions } from './launch-context.js';
38
- export { BrowserSpecification, FingerprintGenerator, FingerprintGeneratorOptions, GetFingerprintReturn, } from './fingerprinting/types.js';
39
- export { InferBrowserPluginArray, UnwrapPromise } from './utils.js';
38
+ export type { CommonPage, CommonLibrary, BrowserPluginOptions, CreateLaunchContextOptions, } from './abstract-classes/browser-plugin.js';
39
+ export { BrowserPlugin, BrowserLaunchError, DEFAULT_USER_AGENT } from './abstract-classes/browser-plugin.js';
40
+ export type { LaunchContextOptions } from './launch-context.js';
41
+ export { LaunchContext } from './launch-context.js';
42
+ export { RemoteBrowserProvider } from './remote-browser-provider.js';
43
+ export { RemoteBrowserPool } from './remote-browser-pool.js';
44
+ export type { RemoteBrowserPoolOptions, CrawlerRemoteBrowserOptions, RemoteBrowserEndpoint, ResolvedRemoteEndpoint, RemoteConnection, RemoteConnectionParameters, } from './remote-browser-pool.js';
45
+ export type { InferBrowserPluginArray, UnwrapPromise } from './utils.js';
46
+ export { anonymizeProxySugar, type AnonymizeProxySugarOptions } from './anonymize-proxy.js';
47
+ export type { IBrowserPool, NewPageOptions } from '@crawlee/types';
40
48
  //# sourceMappingURL=index.d.ts.map
package/index.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,cAAc,mBAAmB,CAAC;AAClC,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,aAAa,CAAC;AAC5B,OAAO,EACH,WAAW,EACX,cAAc,EACd,oBAAoB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAAE,uBAAuB,EAAE,MAAM,0CAA0C,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EACH,UAAU,EACV,aAAa,EACb,aAAa,EACb,oBAAoB,EACpB,0BAA0B,EAC1B,kBAAkB,EAClB,kBAAkB,GACrB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EACH,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC3B,oBAAoB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,cAAc,mBAAmB,CAAC;AAClC,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,aAAa,CAAC;AAC5B,YAAY,EACR,oBAAoB,EACpB,oBAAoB,EACpB,2BAA2B,EAC3B,oBAAoB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAC9F,YAAY,EACR,uBAAuB,EACvB,kBAAkB,EAClB,qBAAqB,GACxB,MAAM,0CAA0C,CAAC;AAClD,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,YAAY,EACR,UAAU,EACV,aAAa,EACb,oBAAoB,EACpB,0BAA0B,GAC7B,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAC7G,YAAY,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAChE,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,YAAY,EACR,wBAAwB,EACxB,2BAA2B,EAC3B,qBAAqB,EACrB,sBAAsB,EACtB,gBAAgB,EAChB,0BAA0B,GAC7B,MAAM,0BAA0B,CAAC;AAClC,YAAY,EAAE,uBAAuB,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,KAAK,0BAA0B,EAAE,MAAM,sBAAsB,CAAC;AAC5F,YAAY,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC"}
package/index.js CHANGED
@@ -26,11 +26,14 @@ export * from './browser-pool.js';
26
26
  export * from './playwright/playwright-plugin.js';
27
27
  export * from './puppeteer/puppeteer-plugin.js';
28
28
  export * from './events.js';
29
- export { BrowserName, DeviceCategory, OperatingSystemsName, } from './fingerprinting/types.js';
29
+ export { BrowserName, DeviceCategory, OperatingSystemsName } from './fingerprinting/types.js';
30
30
  export { BrowserController } from './abstract-classes/browser-controller.js';
31
31
  export { PuppeteerController } from './puppeteer/puppeteer-controller.js';
32
32
  export { PlaywrightController } from './playwright/playwright-controller.js';
33
33
  export { PlaywrightBrowser } from './playwright/playwright-browser.js';
34
- export { BrowserPlugin, BrowserLaunchError, DEFAULT_USER_AGENT, } from './abstract-classes/browser-plugin.js';
34
+ export { BrowserPlugin, BrowserLaunchError, DEFAULT_USER_AGENT } from './abstract-classes/browser-plugin.js';
35
35
  export { LaunchContext } from './launch-context.js';
36
+ export { RemoteBrowserProvider } from './remote-browser-provider.js';
37
+ export { RemoteBrowserPool } from './remote-browser-pool.js';
38
+ export { anonymizeProxySugar } from './anonymize-proxy.js';
36
39
  //# sourceMappingURL=index.js.map
package/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,cAAc,mBAAmB,CAAC;AAClC,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,aAAa,CAAC;AAC5B,OAAO,EACH,WAAW,EACX,cAAc,EACd,oBAAoB,GACvB,MAAM,2BAA2B,CAAC;AACnC,OAAO,EAAE,iBAAiB,EAA2B,MAAM,0CAA0C,CAAC;AACtG,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AACvE,OAAO,EAGH,aAAa,EAGb,kBAAkB,EAClB,kBAAkB,GACrB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,aAAa,EAAwB,MAAM,qBAAqB,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,cAAc,mBAAmB,CAAC;AAClC,cAAc,mCAAmC,CAAC;AAClD,cAAc,iCAAiC,CAAC;AAChD,cAAc,aAAa,CAAC;AAO5B,OAAO,EAAE,WAAW,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AAM9F,OAAO,EAAE,iBAAiB,EAAE,MAAM,0CAA0C,CAAC;AAC7E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qCAAqC,CAAC;AAC1E,OAAO,EAAE,oBAAoB,EAAE,MAAM,uCAAuC,CAAC;AAC7E,OAAO,EAAE,iBAAiB,EAAE,MAAM,oCAAoC,CAAC;AAOvE,OAAO,EAAE,aAAa,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,sCAAsC,CAAC;AAE7G,OAAO,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AACpD,OAAO,EAAE,qBAAqB,EAAE,MAAM,8BAA8B,CAAC;AACrE,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAU7D,OAAO,EAAE,mBAAmB,EAAmC,MAAM,sBAAsB,CAAC"}
@@ -43,7 +43,17 @@ export interface LaunchContextOptions<Library extends CommonLibrary = CommonLibr
43
43
  */
44
44
  userDataDir?: string;
45
45
  proxyUrl?: string;
46
- proxyTier?: number;
46
+ /**
47
+ * If set to `true`, TLS certificate errors from the upstream proxy will be ignored.
48
+ * This is useful when using HTTPS proxies with self-signed certificates.
49
+ */
50
+ ignoreProxyCertificate?: boolean;
51
+ /**
52
+ * Whether this launch context represents a connection to a remote browser
53
+ * rather than a locally launched one.
54
+ * @default false
55
+ */
56
+ isRemote?: boolean;
47
57
  }
48
58
  export declare class LaunchContext<Library extends CommonLibrary = CommonLibrary, LibraryOptions extends Dictionary | undefined = Parameters<Library['launch']>[0], LaunchResult extends CommonBrowser = UnwrapPromise<ReturnType<Library['launch']>>, NewPageOptions = Parameters<LaunchResult['newPage']>[0], NewPageResult = UnwrapPromise<ReturnType<LaunchResult['newPage']>>> {
49
59
  id?: string;
@@ -52,10 +62,17 @@ export declare class LaunchContext<Library extends CommonLibrary = CommonLibrary
52
62
  useIncognitoPages: boolean;
53
63
  browserPerProxy?: boolean;
54
64
  userDataDir: string;
55
- proxyTier?: number;
65
+ readonly isRemote: boolean;
66
+ ignoreProxyCertificate?: boolean;
56
67
  private _proxyUrl?;
57
68
  private readonly _reservedFieldNames;
58
69
  fingerprint?: BrowserFingerprintWithHeaders;
70
+ /**
71
+ * Token identifying the remote browser session this context connected to, set by the plugin and read by
72
+ * the {@link RemoteBrowserPool} to release the session on close. Only present for remote connections.
73
+ * @internal
74
+ */
75
+ _remoteToken?: number;
59
76
  [K: PropertyKey]: unknown;
60
77
  constructor(options: LaunchContextOptions<Library, LibraryOptions, LaunchResult, NewPageOptions, NewPageResult>);
61
78
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"launch-context.d.ts","sourceRoot":"","sources":["../src/launch-context.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,gBAAgB,CAAC;AACjD,OAAO,KAAK,EAAE,6BAA6B,EAAE,MAAM,uBAAuB,CAAC;AAE3E,OAAO,KAAK,EAAE,aAAa,EAAE,aAAa,EAAE,aAAa,EAAE,MAAM,sCAAsC,CAAC;AACxG,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEhD;;;;;;GAMG;AACH,MAAM,WAAW,oBAAoB,CACjC,OAAO,SAAS,aAAa,GAAG,aAAa,EAC7C,cAAc,SAAS,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAChF,YAAY,SAAS,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EACjF,cAAc,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EACvD,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IAElE;;;;;OAKG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ;;OAEG;IACH,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IACnG;;;OAGG;IACH,aAAa,EAAE,cAAc,CAAC;IAC9B;;;;;OAKG;IACH,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B;;;OAGG;IACH,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B;;OAEG;IACH,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,aAAa,CACtB,OAAO,SAAS,aAAa,GAAG,aAAa,EAC7C,cAAc,SAAS,UAAU,GAAG,SAAS,GAAG,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EAChF,YAAY,SAAS,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC,EACjF,cAAc,GAAG,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,EACvD,aAAa,GAAG,aAAa,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC,CAAC;IAElE,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,aAAa,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,CAAC,CAAC;IACnG,aAAa,EAAE,cAAc,CAAC;IAC9B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,SAAS,CAAC,CAAS;IAC3B,OAAO,CAAC,QAAQ,CAAC,mBAAmB,CAAwC;IAE5E,WAAW,CAAC,EAAE,6BAA6B,CAAC;IAC5C,CAAC,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC;gBAEd,OAAO,EAAE,oBAAoB,CAAC,OAAO,EAAE,cAAc,EAAE,YAAY,EAAE,cAAc,EAAE,aAAa,CAAC;IAuB/G;;;;;;OAMG;IACH,MAAM,CAAC,CAAC,SAAS,MAAM,CAAC,WAAW,EAAE,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC,GAAG,IAAI;IAU/D;;;OAGG;IACH,IAAI,QAAQ,CAAC,GAAG,EAAE,MAAM,GAAG,SAAS,EAYnC;IAED;;OAEG;IACH,IAAI,QAAQ,IAAI,MAAM,GAAG,SAAS,CAEjC;CACJ"}
1
+ {"version":3,"file":"launch-context.d.ts","sourceRoot":"","sources":["../src/launch-context.ts"],"names":[],"mappings":"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"}
package/launch-context.js CHANGED
@@ -5,19 +5,27 @@ export class LaunchContext {
5
5
  useIncognitoPages;
6
6
  browserPerProxy;
7
7
  userDataDir;
8
- proxyTier;
8
+ isRemote;
9
+ ignoreProxyCertificate;
9
10
  _proxyUrl;
10
11
  _reservedFieldNames = [...Reflect.ownKeys(this), 'extend'];
11
12
  fingerprint;
13
+ /**
14
+ * Token identifying the remote browser session this context connected to, set by the plugin and read by
15
+ * the {@link RemoteBrowserPool} to release the session on close. Only present for remote connections.
16
+ * @internal
17
+ */
18
+ _remoteToken;
12
19
  constructor(options) {
13
- const { id, browserPlugin, launchOptions, proxyUrl, useIncognitoPages, browserPerProxy, userDataDir = '', proxyTier, } = options;
20
+ const { id, browserPlugin, launchOptions, proxyUrl, useIncognitoPages, browserPerProxy, userDataDir = '', ignoreProxyCertificate, isRemote, } = options;
14
21
  this.id = id;
15
22
  this.browserPlugin = browserPlugin;
16
23
  this.launchOptions = launchOptions;
17
24
  this.browserPerProxy = browserPerProxy ?? false;
18
25
  this.useIncognitoPages = useIncognitoPages ?? false;
19
26
  this.userDataDir = userDataDir;
20
- this.proxyTier = proxyTier;
27
+ this.ignoreProxyCertificate = ignoreProxyCertificate ?? false;
28
+ this.isRemote = isRemote ?? false;
21
29
  this._proxyUrl = proxyUrl;
22
30
  }
23
31
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"launch-context.js","sourceRoot":"","sources":["../src/launch-context.ts"],"names":[],"mappings":"AAwDA,MAAM,OAAO,aAAa;IAOtB,EAAE,CAAU;IACZ,aAAa,CAAsF;IACnG,aAAa,CAAiB;IAC9B,iBAAiB,CAAU;IAC3B,eAAe,CAAW;IAC1B,WAAW,CAAS;IACpB,SAAS,CAAU;IAEX,SAAS,CAAU;IACV,mBAAmB,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IAE5E,WAAW,CAAiC;IAG5C,YAAY,OAAmG;QAC3G,MAAM,EACF,EAAE,EACF,aAAa,EACb,aAAa,EACb,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,WAAW,GAAG,EAAE,EAChB,SAAS,GACZ,GAAG,OAAO,CAAC;QAEZ,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,eAAe,IAAI,KAAK,CAAC;QAChD,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,IAAI,KAAK,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAE3B,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAyC,MAAS;QACpD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC5C,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CAAC,yCAAyC,GAAG,0BAA0B,CAAC,CAAC;YAC5F,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAClC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACH,IAAI,QAAQ,CAAC,GAAuB;QAChC,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO;QACX,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,WAAW,CAAC,QAAQ,GAAG,GAAG,CAAC;QAC3B,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC;QACxB,WAAW,CAAC,IAAI,GAAG,EAAE,CAAC;QAEtB,iHAAiH;QACjH,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;CACJ"}
1
+ {"version":3,"file":"launch-context.js","sourceRoot":"","sources":["../src/launch-context.ts"],"names":[],"mappings":"AAkEA,MAAM,OAAO,aAAa;IAOtB,EAAE,CAAU;IACZ,aAAa,CAAsF;IACnG,aAAa,CAAiB;IAC9B,iBAAiB,CAAU;IAC3B,eAAe,CAAW;IAC1B,WAAW,CAAS;IACX,QAAQ,CAAU;IAC3B,sBAAsB,CAAW;IAEzB,SAAS,CAAU;IACV,mBAAmB,GAAG,CAAC,GAAG,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,QAAQ,CAAC,CAAC;IAE5E,WAAW,CAAiC;IAE5C;;;;OAIG;IACH,YAAY,CAAU;IAItB,YAAY,OAAmG;QAC3G,MAAM,EACF,EAAE,EACF,aAAa,EACb,aAAa,EACb,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,WAAW,GAAG,EAAE,EAChB,sBAAsB,EACtB,QAAQ,GACX,GAAG,OAAO,CAAC;QAEZ,IAAI,CAAC,EAAE,GAAG,EAAE,CAAC;QACb,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,eAAe,GAAG,eAAe,IAAI,KAAK,CAAC;QAChD,IAAI,CAAC,iBAAiB,GAAG,iBAAiB,IAAI,KAAK,CAAC;QACpD,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,sBAAsB,GAAG,sBAAsB,IAAI,KAAK,CAAC;QAC9D,IAAI,CAAC,QAAQ,GAAG,QAAQ,IAAI,KAAK,CAAC;QAElC,IAAI,CAAC,SAAS,GAAG,QAAQ,CAAC;IAC9B,CAAC;IAED;;;;;;OAMG;IACH,MAAM,CAAyC,MAAS;QACpD,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,EAAE,EAAE;YAC5C,IAAI,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACzC,MAAM,IAAI,KAAK,CAAC,yCAAyC,GAAG,0BAA0B,CAAC,CAAC;YAC5F,CAAC;iBAAM,CAAC;gBACJ,OAAO,CAAC,GAAG,CAAC,IAAI,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;YAClC,CAAC;QACL,CAAC,CAAC,CAAC;IACP,CAAC;IAED;;;OAGG;IACH,IAAI,QAAQ,CAAC,GAAuB;QAChC,IAAI,CAAC,GAAG,EAAE,CAAC;YACP,OAAO;QACX,CAAC;QAED,MAAM,WAAW,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QACjC,WAAW,CAAC,QAAQ,GAAG,GAAG,CAAC;QAC3B,WAAW,CAAC,MAAM,GAAG,EAAE,CAAC;QACxB,WAAW,CAAC,IAAI,GAAG,EAAE,CAAC;QAEtB,iHAAiH;QACjH,IAAI,CAAC,SAAS,GAAG,WAAW,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;IACnD,CAAC;IAED;;OAEG;IACH,IAAI,QAAQ;QACR,OAAO,IAAI,CAAC,SAAS,CAAC;IAC1B,CAAC;CACJ"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@crawlee/browser-pool",
3
- "version": "4.0.0-beta.7",
3
+ "version": "4.0.0-beta.70",
4
4
  "description": "Rotate multiple browsers using popular automation libraries such as Playwright or Puppeteer.",
5
5
  "engines": {
6
6
  "node": ">=22.0.0"
@@ -24,18 +24,17 @@
24
24
  "url": "https://github.com/apify/crawlee/issues"
25
25
  },
26
26
  "scripts": {
27
- "build": "yarn clean && yarn compile && yarn copy",
27
+ "build": "pnpm clean && pnpm compile && pnpm copy",
28
28
  "clean": "rimraf ./dist",
29
29
  "compile": "tsc -p tsconfig.build.json",
30
30
  "copy": "tsx ../../scripts/copy.ts"
31
31
  },
32
32
  "dependencies": {
33
- "@apify/log": "^2.5.18",
34
33
  "@apify/timeout": "^0.3.2",
35
- "@crawlee/core": "4.0.0-beta.7",
36
- "@crawlee/types": "4.0.0-beta.7",
37
- "fingerprint-generator": "^2.1.66",
38
- "fingerprint-injector": "^2.1.66",
34
+ "@crawlee/core": "4.0.0-beta.70",
35
+ "@crawlee/types": "4.0.0-beta.70",
36
+ "fingerprint-generator": "^2.1.68",
37
+ "fingerprint-injector": "^2.1.68",
39
38
  "lodash.merge": "^4.6.2",
40
39
  "nanoid": "^5.1.5",
41
40
  "ow": "^2.0.0",
@@ -64,5 +63,5 @@
64
63
  }
65
64
  }
66
65
  },
67
- "gitHead": "1ad22599eee4d19b2051d923b43ef335b151ecdc"
66
+ "gitHead": "66a90e59b656456fad4c448b98698a009aa0ecfb"
68
67
  }
@@ -1 +1 @@
1
- {"version":3,"file":"playwright-browser.d.ts","sourceRoot":"","sources":["../../src/playwright/playwright-browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,WAAW,cAAc;IAC3B,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,YAAY;IAC/C,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,YAAY,CAAC,CAAc;gBAEvB,OAAO,EAAE,cAAc;IAc7B,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,QAAQ,IAAI,cAAc,EAAE;IAI5B,WAAW,IAAI,OAAO;IAItB,OAAO,IAAI,MAAM;IAIjB,gBAAgB;IAChB,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAI/C,WAAW,IAAI,WAAW;IAIpB,OAAO,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,GAAG,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAI9F,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC;IAI5B,oBAAoB,IAAI,OAAO,CAAC,KAAK,CAAC;IAItC,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC;IAI9B,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;CAGtC"}
1
+ {"version":3,"file":"playwright-browser.d.ts","sourceRoot":"","sources":["../../src/playwright/playwright-browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAE3C,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE9D,MAAM,WAAW,cAAc;IAC3B,cAAc,EAAE,cAAc,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,qBAAa,iBAAkB,SAAQ,YAAY;IAC/C,OAAO,CAAC,eAAe,CAAiB;IACxC,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,YAAY,CAAQ;IAC5B,OAAO,CAAC,YAAY,CAAC,CAAc;gBAEvB,OAAO,EAAE,cAAc;IAa7B,CAAC,MAAM,CAAC,YAAY,CAAC,IAAI,OAAO,CAAC,IAAI,CAAC;IAItC,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;IAI5B,QAAQ,IAAI,cAAc,EAAE;IAI5B,WAAW,IAAI,OAAO;IAItB,OAAO,IAAI,MAAM;IAIjB,gBAAgB;IAChB,eAAe,CAAC,WAAW,EAAE,WAAW,GAAG,IAAI;IAI/C,WAAW,IAAI,WAAW;IAIpB,OAAO,CAAC,GAAG,IAAI,EAAE,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC,GAAG,UAAU,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;IAI9F,UAAU,IAAI,OAAO,CAAC,KAAK,CAAC;IAI5B,oBAAoB,IAAI,OAAO,CAAC,KAAK,CAAC;IAItC,YAAY,IAAI,OAAO,CAAC,KAAK,CAAC;IAI9B,WAAW,IAAI,OAAO,CAAC,KAAK,CAAC;CAGtC"}
@@ -1 +1 @@
1
- {"version":3,"file":"playwright-browser.js","sourceRoot":"","sources":["../../src/playwright/playwright-browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAS3C;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IACvC,eAAe,CAAiB;IAChC,QAAQ,CAAS;IACjB,YAAY,GAAG,IAAI,CAAC;IACpB,YAAY,CAAe;IAEnC,YAAY,OAAuB;QAC/B,KAAK,EAAE,CAAC;QAER,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAC5C,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QAEtC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YACpC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QACvB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,KAAK;QACP,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC;IAED,QAAQ;QACJ,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAClC,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,gBAAgB;IAChB,eAAe,CAAC,WAAwB;QACpC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IACpC,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,YAAa,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAG,IAA2C;QACxD,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,oBAAoB;QACtB,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC5F,CAAC;IAED,KAAK,CAAC,YAAY;QACd,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,WAAW;QACb,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACnF,CAAC;CACJ"}
1
+ {"version":3,"file":"playwright-browser.js","sourceRoot":"","sources":["../../src/playwright/playwright-browser.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAS3C;;GAEG;AACH,MAAM,OAAO,iBAAkB,SAAQ,YAAY;IACvC,eAAe,CAAiB;IAChC,QAAQ,CAAS;IACjB,YAAY,GAAG,IAAI,CAAC;IACpB,YAAY,CAAe;IAEnC,YAAY,OAAuB;QAC/B,KAAK,EAAE,CAAC;QAER,MAAM,EAAE,cAAc,EAAE,OAAO,EAAE,GAAG,OAAO,CAAC;QAC5C,IAAI,CAAC,eAAe,GAAG,cAAc,CAAC;QACtC,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC;QAExB,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,OAAO,EAAE,GAAG,EAAE;YACpC,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;YAC1B,IAAI,CAAC,IAAI,CAAC,cAAc,CAAC,CAAC;QAC9B,CAAC,CAAC,CAAC;IACP,CAAC;IAED,KAAK,CAAC,CAAC,MAAM,CAAC,YAAY,CAAC;QACvB,MAAM,IAAI,CAAC,KAAK,EAAE,CAAC;IACvB,CAAC;IAED,KAAK,CAAC,KAAK;QACP,MAAM,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;IACvC,CAAC;IAED,QAAQ;QACJ,OAAO,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IAClC,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,YAAY,CAAC;IAC7B,CAAC;IAED,OAAO;QACH,OAAO,IAAI,CAAC,QAAQ,CAAC;IACzB,CAAC;IAED,gBAAgB;IAChB,eAAe,CAAC,WAAwB;QACpC,IAAI,CAAC,YAAY,GAAG,WAAW,CAAC;IACpC,CAAC;IAED,WAAW;QACP,OAAO,IAAI,CAAC,YAAa,CAAC;IAC9B,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,GAAG,IAA2C;QACxD,OAAO,IAAI,CAAC,eAAe,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,CAAC;IACjD,CAAC;IAED,KAAK,CAAC,UAAU;QACZ,MAAM,IAAI,KAAK,CAAC,4DAA4D,CAAC,CAAC;IAClF,CAAC;IAED,KAAK,CAAC,oBAAoB;QACtB,MAAM,IAAI,KAAK,CAAC,sEAAsE,CAAC,CAAC;IAC5F,CAAC;IAED,KAAK,CAAC,YAAY;QACd,MAAM,IAAI,KAAK,CAAC,8DAA8D,CAAC,CAAC;IACpF,CAAC;IAED,KAAK,CAAC,WAAW;QACb,MAAM,IAAI,KAAK,CAAC,6DAA6D,CAAC,CAAC;IACnF,CAAC;CACJ"}
@@ -1 +1 @@
1
- {"version":3,"file":"playwright-controller.d.ts","sourceRoot":"","sources":["../../src/playwright/playwright-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAI7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAE9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,qBAAa,oBAAqB,SAAQ,iBAAiB,CACvD,WAAW,EACX,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EACxC,OAAO,CACV;IACG,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAmB9E,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;cA2C/E,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;cAIvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cAKtB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;cAK1C,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAI5E"}
1
+ {"version":3,"file":"playwright-controller.d.ts","sourceRoot":"","sources":["../../src/playwright/playwright-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,YAAY,CAAC;AAI7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAE9E,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,qBAAa,oBAAqB,SAAQ,iBAAiB,CACvD,WAAW,EACX,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EACxC,OAAO,CACV;IACG,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAmB9E,QAAQ,CAAC,cAAc,CAAC,EAAE,cAAc,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;cAyD/E,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;cAIvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cAKtB,WAAW,CAAC,IAAI,EAAE,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;cAK1C,WAAW,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAI5E"}
@@ -11,7 +11,7 @@ export class PlaywrightController extends BrowserController {
11
11
  const password = decodeURIComponent(url.password);
12
12
  return {
13
13
  proxy: {
14
- server: url.origin,
14
+ server: `${url.protocol}//${url.host}`,
15
15
  username,
16
16
  password,
17
17
  bypass: pageOptions?.proxy?.bypass,
@@ -23,15 +23,26 @@ export class PlaywrightController extends BrowserController {
23
23
  throw new Error('A new page can be created with provided context only when using incognito pages.');
24
24
  }
25
25
  let close = async () => { };
26
- if (this.launchContext.useIncognitoPages && contextOptions?.proxy) {
27
- const [anonymizedProxyUrl, closeProxy] = await anonymizeProxySugar(contextOptions.proxy.server, contextOptions.proxy.username, contextOptions.proxy.password);
28
- if (anonymizedProxyUrl) {
29
- contextOptions.proxy = {
30
- server: anonymizedProxyUrl,
31
- bypass: contextOptions.proxy.bypass,
32
- };
26
+ if (this.launchContext.useIncognitoPages) {
27
+ // Each page requires to have all the context options applied
28
+ contextOptions = {
29
+ ...this.launchContext.launchOptions,
30
+ ...contextOptions,
31
+ };
32
+ // Remote browsers handle their own proxy — don't inject local proxy settings into context
33
+ if (this.launchContext.isRemote) {
34
+ delete contextOptions?.proxy;
35
+ }
36
+ if (contextOptions?.proxy) {
37
+ const [anonymizedProxyUrl, closeProxy] = await anonymizeProxySugar(contextOptions.proxy.server, contextOptions.proxy.username, contextOptions.proxy.password, { ignoreProxyCertificate: this.launchContext.ignoreProxyCertificate });
38
+ if (anonymizedProxyUrl) {
39
+ contextOptions.proxy = {
40
+ server: anonymizedProxyUrl,
41
+ bypass: contextOptions.proxy.bypass,
42
+ };
43
+ }
44
+ close = closeProxy;
33
45
  }
34
- close = closeProxy;
35
46
  }
36
47
  try {
37
48
  const page = await this.browser.newPage(contextOptions);
@@ -1 +1 @@
1
- {"version":3,"file":"playwright-controller.js","sourceRoot":"","sources":["../../src/playwright/playwright-controller.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAE3C,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAC9E,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAG5D,MAAM,OAAO,oBAAqB,SAAQ,iBAIzC;IACG,qBAAqB,CAAC,QAA4B,EAAE,WAAgB;QAChE,IAAI,CAAC,QAAQ,EAAE,CAAC;YACZ,OAAO,EAAE,CAAC;QACd,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,GAAG,CAAC,QAAQ,CAAC,CAAC;QAC9B,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAClD,MAAM,QAAQ,GAAG,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;QAElD,OAAO;YACH,KAAK,EAAE;gBACH,MAAM,EAAE,GAAG,CAAC,MAAM;gBAClB,QAAQ;gBACR,QAAQ;gBACR,MAAM,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM;aACrC;SACJ,CAAC;IACN,CAAC;IAES,KAAK,CAAC,QAAQ,CAAC,cAAsD;QAC3E,IAAI,cAAc,KAAK,SAAS,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,iBAAiB,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CAAC,kFAAkF,CAAC,CAAC;QACxG,CAAC;QAED,IAAI,KAAK,GAAG,KAAK,IAAI,EAAE,GAAE,CAAC,CAAC;QAE3B,IAAI,IAAI,CAAC,aAAa,CAAC,iBAAiB,IAAI,cAAc,EAAE,KAAK,EAAE,CAAC;YAChE,MAAM,CAAC,kBAAkB,EAAE,UAAU,CAAC,GAAG,MAAM,mBAAmB,CAC9D,cAAc,CAAC,KAAK,CAAC,MAAM,EAC3B,cAAc,CAAC,KAAK,CAAC,QAAQ,EAC7B,cAAc,CAAC,KAAK,CAAC,QAAQ,CAChC,CAAC;YAEF,IAAI,kBAAkB,EAAE,CAAC;gBACrB,cAAc,CAAC,KAAK,GAAG;oBACnB,MAAM,EAAE,kBAAkB;oBAC1B,MAAM,EAAE,cAAc,CAAC,KAAK,CAAC,MAAM;iBACtC,CAAC;YACN,CAAC;YAED,KAAK,GAAG,UAAU,CAAC;QACvB,CAAC;QAED,IAAI,CAAC;YACD,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,cAAc,CAAC,CAAC;YAExD,IAAI,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,IAAI,EAAE;gBAC1B,IAAI,CAAC,WAAW,EAAE,CAAC;gBAEnB,MAAM,KAAK,EAAE,CAAC;YAClB,CAAC,CAAC,CAAC;YAEH,SAAS,EAAE,CAAC;YAEZ,OAAO,IAAI,CAAC;QAChB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACb,MAAM,KAAK,EAAE,CAAC;YAEd,MAAM,KAAK,CAAC;QAChB,CAAC;IACL,CAAC;IAES,KAAK,CAAC,MAAM;QAClB,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC;IAC/B,CAAC;IAES,KAAK,CAAC,KAAK;QACjB,wDAAwD;QACxD,MAAM,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,uFAAuF;IACvH,CAAC;IAES,KAAK,CAAC,WAAW,CAAC,IAAU;QAClC,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC,OAAO,EAAE,CAAC;IAC7B,CAAC;IAES,KAAK,CAAC,WAAW,CAAC,IAAU,EAAE,OAAiB;QACrD,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,CAAC;QAC/B,OAAO,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IACvC,CAAC;CACJ"}
1
+ {"version":3,"file":"playwright-controller.js","sourceRoot":"","sources":["../../src/playwright/playwright-controller.ts"],"names":[],"mappings":"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"}
@@ -3,11 +3,17 @@ import type { Browser as PlaywrightBrowser, BrowserType } from 'playwright';
3
3
  import { BrowserPlugin } from '../abstract-classes/browser-plugin.js';
4
4
  import type { createProxyServerForContainers } from '../container-proxy-server.js';
5
5
  import type { LaunchContext } from '../launch-context.js';
6
+ import type { RemoteConnection, RemoteConnectionParameters } from '../remote-browser-pool.js';
6
7
  import type { SafeParameters } from '../utils.js';
7
8
  import { PlaywrightController } from './playwright-controller.js';
8
9
  export declare class PlaywrightPlugin extends BrowserPlugin<BrowserType, SafeParameters<BrowserType['launch']>[0], PlaywrightBrowser> {
9
10
  private _browserVersion?;
10
11
  _containerProxyServer?: Awaited<ReturnType<typeof createProxyServerForContainers>>;
12
+ /**
13
+ * Playwright remote connections only support incognito pages — `connect()` / `connectOverCDP()` don't
14
+ * accept persistent contexts. Force it on (and inform the user) when wired for a remote connection.
15
+ */
16
+ useRemoteConnection(connection: RemoteConnection, parameters?: RemoteConnectionParameters): void;
11
17
  protected _launch(launchContext: LaunchContext<BrowserType>): Promise<PlaywrightBrowser>;
12
18
  private _throwOnFailedLaunch;
13
19
  createController(): PlaywrightController;
@@ -1 +1 @@
1
- {"version":3,"file":"playwright-plugin.d.ts","sourceRoot":"","sources":["../../src/playwright/playwright-plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,IAAI,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,qBAAa,gBAAiB,SAAQ,aAAa,CAC/C,WAAW,EACX,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EACxC,iBAAiB,CACpB;IACG,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,qBAAqB,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC,CAAC;cAEnE,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAgF9F,OAAO,CAAC,oBAAoB;IASnB,gBAAgB,IAAI,oBAAoB;cAIjC,wBAAwB,CAAC,aAAa,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBlG,SAAS,CAAC,uBAAuB,IAAI,OAAO;CAI/C"}
1
+ {"version":3,"file":"playwright-plugin.d.ts","sourceRoot":"","sources":["../../src/playwright/playwright-plugin.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,OAAO,IAAI,iBAAiB,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAE5E,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,KAAK,EAAE,8BAA8B,EAAE,MAAM,8BAA8B,CAAC;AACnF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAE1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAC9F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAElD,OAAO,EAAE,oBAAoB,EAAE,MAAM,4BAA4B,CAAC;AAElE,qBAAa,gBAAiB,SAAQ,aAAa,CAC/C,WAAW,EACX,cAAc,CAAC,WAAW,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,EACxC,iBAAiB,CACpB;IACG,OAAO,CAAC,eAAe,CAAC,CAAS;IACjC,qBAAqB,CAAC,EAAE,OAAO,CAAC,UAAU,CAAC,OAAO,8BAA8B,CAAC,CAAC,CAAC;IAEnF;;;OAGG;IACM,mBAAmB,CAAC,UAAU,EAAE,gBAAgB,EAAE,UAAU,GAAE,0BAA+B,GAAG,IAAI;cAY7F,OAAO,CAAC,aAAa,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,iBAAiB,CAAC;IA6F9F,OAAO,CAAC,oBAAoB;IASnB,gBAAgB,IAAI,oBAAoB;cAIjC,wBAAwB,CAAC,aAAa,EAAE,aAAa,CAAC,WAAW,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAgBlG,SAAS,CAAC,uBAAuB,IAAI,OAAO;CAI/C"}
@@ -1,14 +1,36 @@
1
1
  import fs from 'node:fs';
2
2
  import { BrowserPlugin } from '../abstract-classes/browser-plugin.js';
3
3
  import { anonymizeProxySugar } from '../anonymize-proxy.js';
4
- import { log } from '../logger.js';
5
4
  import { getLocalProxyAddress } from '../proxy-server.js';
6
5
  import { PlaywrightBrowser as PlaywrightBrowserWithPersistentContext } from './playwright-browser.js';
7
6
  import { PlaywrightController } from './playwright-controller.js';
8
7
  export class PlaywrightPlugin extends BrowserPlugin {
9
8
  _browserVersion;
10
9
  _containerProxyServer;
10
+ /**
11
+ * Playwright remote connections only support incognito pages — `connect()` / `connectOverCDP()` don't
12
+ * accept persistent contexts. Force it on (and inform the user) when wired for a remote connection.
13
+ */
14
+ useRemoteConnection(connection, parameters = {}) {
15
+ super.useRemoteConnection(connection, parameters);
16
+ if (!this.useIncognitoPages) {
17
+ this.log.info('Remote Playwright connection — useIncognitoPages forced to true. ' +
18
+ 'Pages will not share cookies/storage between each other; use the SessionPool for shared state.');
19
+ }
20
+ this.useIncognitoPages = true;
21
+ }
11
22
  async _launch(launchContext) {
23
+ if (this.remoteConnection) {
24
+ return this._connectToRemoteBrowser(launchContext, async (url) => {
25
+ const connectOptions = (this.remoteConnectionParameters?.connectOptions ?? {});
26
+ if (this.remoteConnectionParameters?.protocol === 'playwright') {
27
+ this.log.info('Connecting to remote browser via connect (Playwright WebSocket).');
28
+ return this.library.connect(url, connectOptions);
29
+ }
30
+ this.log.info('Connecting to remote browser via connectOverCDP.');
31
+ return this.library.connectOverCDP(url, connectOptions);
32
+ });
33
+ }
12
34
  const { launchOptions, useIncognitoPages, userDataDir, proxyUrl } = launchContext;
13
35
  let browser;
14
36
  // Required for the `proxy` context option to work.
@@ -20,7 +42,9 @@ export class PlaywrightPlugin extends BrowserPlugin {
20
42
  if (this.library.name() === 'webkit') {
21
43
  launchOptions.args = launchOptions.args?.filter((arg) => arg !== '--no-sandbox');
22
44
  }
23
- const [anonymizedProxyUrl, close] = await anonymizeProxySugar(proxyUrl);
45
+ const [anonymizedProxyUrl, close] = await anonymizeProxySugar(proxyUrl, undefined, undefined, {
46
+ ignoreProxyCertificate: launchContext.ignoreProxyCertificate,
47
+ });
24
48
  if (anonymizedProxyUrl) {
25
49
  launchOptions.proxy = {
26
50
  server: anonymizedProxyUrl,
@@ -62,7 +86,7 @@ export class PlaywrightPlugin extends BrowserPlugin {
62
86
  const inactiveBrowser = await this.library.launch(launchOptions);
63
87
  this._browserVersion = inactiveBrowser.version();
64
88
  inactiveBrowser.close().catch((error) => {
65
- log.exception(error, 'Failed to close browser.');
89
+ this.log.exception(error, 'Failed to close browser.');
66
90
  });
67
91
  }
68
92
  browser = new PlaywrightBrowserWithPersistentContext({
@@ -1 +1 @@
1
- {"version":3,"file":"playwright-plugin.js","sourceRoot":"","sources":["../../src/playwright/playwright-plugin.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"playwright-plugin.js","sourceRoot":"","sources":["../../src/playwright/playwright-plugin.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"puppeteer-controller.d.ts","sourceRoot":"","sources":["../../src/puppeteer/puppeteer-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,KAAK,cAAc,MAAM,WAAW,CAAC;AAIjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAI9E,MAAM,WAAW,uBAAwB,SAAQ,cAAc,CAAC,qBAAqB;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAID,qBAAa,mBAAoB,SAAQ,iBAAiB,CACtD,OAAO,SAAS,EAChB,cAAc,CAAC,aAAa,EAC5B,cAAc,CAAC,OAAO,EACtB,uBAAuB,CAC1B;IACG,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAiB9E,QAAQ,CAAC,cAAc,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC;cA0EhF,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;cAIvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cAuBtB,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;cAIzD,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAG3F"}
1
+ {"version":3,"file":"puppeteer-controller.d.ts","sourceRoot":"","sources":["../../src/puppeteer/puppeteer-controller.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAC;AAC7C,OAAO,KAAK,SAAS,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,KAAK,cAAc,MAAM,WAAW,CAAC;AAIjD,OAAO,EAAE,iBAAiB,EAAE,MAAM,2CAA2C,CAAC;AAG9E,MAAM,WAAW,uBAAwB,SAAQ,cAAc,CAAC,qBAAqB;IACjF,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,aAAa,CAAC,EAAE,MAAM,CAAC;CAC1B;AAID,qBAAa,mBAAoB,SAAQ,iBAAiB,CACtD,OAAO,SAAS,EAChB,cAAc,CAAC,aAAa,EAC5B,cAAc,CAAC,OAAO,EACtB,uBAAuB,CAC1B;IACG,qBAAqB,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,EAAE,WAAW,EAAE,GAAG,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC;cAiB9E,QAAQ,CAAC,cAAc,CAAC,EAAE,uBAAuB,GAAG,OAAO,CAAC,cAAc,CAAC,IAAI,CAAC;cA2EhF,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;cAIvB,KAAK,IAAI,OAAO,CAAC,IAAI,CAAC;cAuBtB,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;cAIzD,WAAW,CAAC,IAAI,EAAE,cAAc,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,CAAC;CAS3F"}
@@ -1,7 +1,6 @@
1
1
  import { tryCancel } from '@apify/timeout';
2
2
  import { BrowserController } from '../abstract-classes/browser-controller.js';
3
3
  import { anonymizeProxySugar } from '../anonymize-proxy.js';
4
- import { log } from '../logger.js';
5
4
  const PROCESS_KILL_TIMEOUT_MILLIS = 5000;
6
5
  export class PuppeteerController extends BrowserController {
7
6
  normalizeProxyOptions(proxyUrl, pageOptions) {
@@ -12,7 +11,7 @@ export class PuppeteerController extends BrowserController {
12
11
  const username = decodeURIComponent(url.username);
13
12
  const password = decodeURIComponent(url.password);
14
13
  return {
15
- proxyServer: url.origin,
14
+ proxyServer: `${url.protocol}//${url.host}`,
16
15
  proxyUsername: username,
17
16
  proxyPassword: password,
18
17
  proxyBypassList: pageOptions?.proxyBypassList,
@@ -25,7 +24,7 @@ export class PuppeteerController extends BrowserController {
25
24
  }
26
25
  let close = async () => { };
27
26
  if (contextOptions.proxyServer) {
28
- const [anonymizedProxyUrl, closeProxy] = await anonymizeProxySugar(contextOptions.proxyServer, contextOptions.proxyUsername, contextOptions.proxyPassword);
27
+ const [anonymizedProxyUrl, closeProxy] = await anonymizeProxySugar(contextOptions.proxyServer, contextOptions.proxyUsername, contextOptions.proxyPassword, { ignoreProxyCertificate: this.launchContext.ignoreProxyCertificate });
29
28
  if (anonymizedProxyUrl) {
30
29
  contextOptions.proxyServer = anonymizedProxyUrl;
31
30
  delete contextOptions.proxyUsername;
@@ -58,7 +57,7 @@ export class PuppeteerController extends BrowserController {
58
57
  await context.close();
59
58
  }
60
59
  catch (error) {
61
- log.exception(error, 'Failed to close context.');
60
+ this.log.exception(error, 'Failed to close context.');
62
61
  }
63
62
  finally {
64
63
  await close();
@@ -84,7 +83,7 @@ export class PuppeteerController extends BrowserController {
84
83
  async _kill() {
85
84
  const browserProcess = this.browser.process();
86
85
  if (!browserProcess) {
87
- log.debug('Browser was connected using the `puppeteer.connect` method no browser to kill.');
86
+ this.log.debug('Browser was connected using the `puppeteer.connect` method no browser to kill.');
88
87
  return;
89
88
  }
90
89
  const timeout = setTimeout(() => {
@@ -98,14 +97,18 @@ export class PuppeteerController extends BrowserController {
98
97
  clearTimeout(timeout);
99
98
  }
100
99
  catch (error) {
101
- log.debug('Browser was already killed.', { error });
100
+ this.log.debug('Browser was already killed.', { error });
102
101
  }
103
102
  }
104
103
  async _getCookies(page) {
105
- return page.cookies();
104
+ return page.browserContext().cookies();
106
105
  }
107
106
  async _setCookies(page, cookies) {
108
- return page.setCookie(...cookies);
107
+ // BrowserContext.setCookie requires `url` or `domain`; the page-level API used to back-fill
108
+ // the page's current URL for us. Replicate that so callers who pass neither don't get rejected.
109
+ const pageUrl = page.url();
110
+ const normalized = cookies.map((cookie) => cookie.url || cookie.domain ? cookie : { ...cookie, url: pageUrl });
111
+ return page.browserContext().setCookie(...normalized);
109
112
  }
110
113
  }
111
114
  //# sourceMappingURL=puppeteer-controller.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"puppeteer-controller.js","sourceRoot":"","sources":["../../src/puppeteer/puppeteer-controller.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"puppeteer-controller.js","sourceRoot":"","sources":["../../src/puppeteer/puppeteer-controller.ts"],"names":[],"mappings":"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"}
@@ -4,9 +4,12 @@ import type Puppeteer from 'puppeteer';
4
4
  import type * as PuppeteerTypes from 'puppeteer';
5
5
  import { BrowserPlugin } from '../abstract-classes/browser-plugin.js';
6
6
  import type { LaunchContext } from '../launch-context.js';
7
+ import type { RemoteConnection, RemoteConnectionParameters } from '../remote-browser-pool.js';
7
8
  import type { PuppeteerNewPageOptions } from './puppeteer-controller.js';
8
9
  import { PuppeteerController } from './puppeteer-controller.js';
9
10
  export declare class PuppeteerPlugin extends BrowserPlugin<typeof Puppeteer, PuppeteerTypes.LaunchOptions, PuppeteerTypes.Browser, PuppeteerNewPageOptions> {
11
+ /** Pages share cookies/storage on the remote browser (Puppeteer defaults to non-incognito). */
12
+ useRemoteConnection(connection: RemoteConnection, parameters?: RemoteConnectionParameters): void;
10
13
  protected _launch(launchContext: LaunchContext<typeof Puppeteer, PuppeteerTypes.LaunchOptions, PuppeteerTypes.Browser, PuppeteerNewPageOptions>): Promise<PuppeteerTypes.Browser>;
11
14
  createController(): PuppeteerController;
12
15
  protected _addProxyToLaunchOptions(_launchContext: LaunchContext<typeof Puppeteer, PuppeteerTypes.LaunchOptions, PuppeteerTypes.Browser, PuppeteerNewPageOptions>): Promise<void>;
@@ -1 +1 @@
1
- {"version":3,"file":"puppeteer-plugin.d.ts","sourceRoot":"","sources":["../../src/puppeteer/puppeteer-plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,SAAS,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,KAAK,cAAc,MAAM,WAAW,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAG1D,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAIhE,qBAAa,eAAgB,SAAQ,aAAa,CAC9C,OAAO,SAAS,EAChB,cAAc,CAAC,aAAa,EAC5B,cAAc,CAAC,OAAO,EACtB,uBAAuB,CAC1B;cACmB,OAAO,CACnB,aAAa,EAAE,aAAa,CACxB,OAAO,SAAS,EAChB,cAAc,CAAC,aAAa,EAC5B,cAAc,CAAC,OAAO,EACtB,uBAAuB,CAC1B,GACF,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC;IA4JzB,gBAAgB,IAAI,mBAAmB;cAIhC,wBAAwB,CACpC,cAAc,EAAE,aAAa,CACzB,OAAO,SAAS,EAChB,cAAc,CAAC,aAAa,EAC5B,cAAc,CAAC,OAAO,EACtB,uBAAuB,CAC1B,GACF,OAAO,CAAC,IAAI,CAAC;IA4BhB,SAAS,CAAC,uBAAuB,CAC7B,cAAc,EAAE,aAAa,CACzB,OAAO,SAAS,EAChB,cAAc,CAAC,aAAa,EAC5B,cAAc,CAAC,OAAO,EACtB,uBAAuB,CAC1B,GACF,OAAO;CAGb"}
1
+ {"version":3,"file":"puppeteer-plugin.d.ts","sourceRoot":"","sources":["../../src/puppeteer/puppeteer-plugin.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,SAAS,MAAM,WAAW,CAAC;AACvC,OAAO,KAAK,KAAK,cAAc,MAAM,WAAW,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AAEtE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,KAAK,EAAE,gBAAgB,EAAE,0BAA0B,EAAE,MAAM,2BAA2B,CAAC;AAE9F,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,2BAA2B,CAAC;AACzE,OAAO,EAAE,mBAAmB,EAAE,MAAM,2BAA2B,CAAC;AAIhE,qBAAa,eAAgB,SAAQ,aAAa,CAC9C,OAAO,SAAS,EAChB,cAAc,CAAC,aAAa,EAC5B,cAAc,CAAC,OAAO,EACtB,uBAAuB,CAC1B;IACG,+FAA+F;IACtF,mBAAmB,CAAC,UAAU,EAAE,gBAAgB,EAAE,UAAU,GAAE,0BAA+B,GAAG,IAAI;cAW7F,OAAO,CACnB,aAAa,EAAE,aAAa,CACxB,OAAO,SAAS,EAChB,cAAc,CAAC,aAAa,EAC5B,cAAc,CAAC,OAAO,EACtB,uBAAuB,CAC1B,GACF,OAAO,CAAC,cAAc,CAAC,OAAO,CAAC;IAiMzB,gBAAgB,IAAI,mBAAmB;cAIhC,wBAAwB,CACpC,cAAc,EAAE,aAAa,CACzB,OAAO,SAAS,EAChB,cAAc,CAAC,aAAa,EAC5B,cAAc,CAAC,OAAO,EACtB,uBAAuB,CAC1B,GACF,OAAO,CAAC,IAAI,CAAC;IA4BhB,SAAS,CAAC,uBAAuB,CAC7B,cAAc,EAAE,aAAa,CACzB,OAAO,SAAS,EAChB,cAAc,CAAC,aAAa,EAC5B,cAAc,CAAC,OAAO,EACtB,uBAAuB,CAC1B,GACF,OAAO;CAGb"}