browserless 10.9.2 → 10.9.3-beta.0

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 (2) hide show
  1. package/package.json +2 -2
  2. package/src/driver.js +20 -5
package/package.json CHANGED
@@ -2,7 +2,7 @@
2
2
  "name": "browserless",
3
3
  "description": "The headless Chrome/Chromium performance driver for Node.js",
4
4
  "homepage": "https://browserless.js.org",
5
- "version": "10.9.2",
5
+ "version": "10.9.3-beta.0",
6
6
  "main": "src/index.js",
7
7
  "author": {
8
8
  "email": "hello@microlink.io",
@@ -64,5 +64,5 @@
64
64
  "timeout": "2m",
65
65
  "workerThreads": false
66
66
  },
67
- "gitHead": "c693f31fb428b362ad32e3db53356e7d9c9ebbb6"
67
+ "gitHead": "b245b4b70a19e1ceed55ba4a3baa691bc91d6985"
68
68
  }
package/src/driver.js CHANGED
@@ -8,24 +8,39 @@ const pReflect = require('p-reflect')
8
8
  // flags explained: https://peter.sh/experiments/chromium-command-line-switches
9
9
  // features explained: https://niek.github.io/chrome-features/
10
10
  // popular flags: https://github.com/GoogleChrome/chrome-launcher/blob/main/docs/chrome-flags-for-tools.md
11
- // default flags: https://github.com/puppeteer/puppeteer/blob/f2ce480285709a08c385d10df29230d5aac86f59/packages/puppeteer-core/src/node/ChromeLauncher.ts#L200
12
- // AWS Lambda flags: https://github.com/alixaxel/chrome-aws-lambda/blob/78fdbf1b9b9a439883dc2fe747171a765b835031/source/index.ts#L94
11
+ // default flags: https://github.com/puppeteer/puppeteer/blob/79399e426d8263eca506469aeb3e27b0a41f3418/packages/puppeteer-core/src/node/ChromeLauncher.ts#L204
12
+ // AWS Lambda flags: https://github.com/Sparticuz/chromium/blob/4bb59288a8e6c7ccbe78124f9541fbda7564b54b/source/index.ts#L33
13
13
  const defaultArgs = [
14
+ '--ash-no-nudges', // https://source.chromium.org/search?q=lang:cpp+symbol:kAshNoNudges&ss=chromium
14
15
  '--autoplay-policy=user-gesture-required', // https://source.chromium.org/search?q=lang:cpp+symbol:kAutoplayPolicy&ss=chromium
15
16
  '--disable-blink-features=PrettyPrintJSONDocument,AutomationControlled', // https://blog.m157q.tw/posts/2020/09/11/bypass-cloudflare-detection-while-using-selenium-with-chromedriver/
16
17
  '--disable-domain-reliability', // https://source.chromium.org/search?q=lang:cpp+symbol:kDisableDomainReliability&ss=chromium
17
- '--disable-features=CalculateNativeWinOcclusion,InterestFeedV2,site-per-process', // https://source.chromium.org/search?q=file:content_features.cc&ss=chromium
18
18
  '--disable-notifications', // https://source.chromium.org/search?q=lang%3Acpp+symbol%3AkDisablePermissionsAPI&ss=chromium
19
19
  '--disable-print-preview', // https://source.chromium.org/search?q=lang:cpp+symbol:kDisablePrintPreview&ss=chromium
20
20
  '--disable-setuid-sandbox', // https://source.chromium.org/search?q=lang:cpp+symbol:kDisableSetuidSandbox&ss=chromium
21
21
  '--disable-site-isolation-trials', // https://source.chromium.org/search?q=lang:cpp+symbol:kDisableSiteIsolation&ss=chromium
22
22
  '--disable-speech-api', // https://source.chromium.org/search?q=lang:cpp+symbol:kDisableSpeechAPI&ss=chromium
23
- '--ash-no-nudges', // https://source.chromium.org/search?q=lang:cpp+symbol:kAshNoNudges&ss=chromium
23
+ '--disk-cache-size=33554432', // https://source.chromium.org/search?q=lang:cpp+symbol:kDiskCacheSize&ss=chromium
24
+ `--enable-features=${['SharedArrayBuffer'].join(',')}`,
25
+ '--font-render-hinting=none', // https://github.com/puppeteer/puppeteer/issues/2410#issuecomment-2886054614
24
26
  '--ignore-gpu-blocklist', // https://source.chromium.org/search?q=lang:cpp+symbol:kIgnoreGpuBlocklist&ss=chromium
27
+ '--in-process-gpu', // https://github.com/search?q=repo%3Achromium%2Fchromium%20in-process-gpu&type=code
25
28
  '--no-default-browser-check', // https://source.chromium.org/search?q=lang:cpp+symbol:kNoDefaultBrowserCheck&ss=chromium
26
29
  '--no-pings', // https://source.chromium.org/search?q=lang:cpp+symbol:kNoPings&ss=chromium
27
30
  '--no-sandbox', // https://source.chromium.org/search?q=lang:cpp+symbol:kNoSandbox&ss=chromium
28
- '--no-zygote' // https://source.chromium.org/search?q=lang:cpp+symbol:kNoZygote&ss=chromium
31
+ '--no-zygote', // https://source.chromium.org/search?q=lang:cpp+symbol:kNoZygote&ss=chromium
32
+ `--disable-features=${[
33
+ 'AudioServiceOutOfProcess',
34
+ 'CalculateNativeWinOcclusion',
35
+ 'CanvasOopRasterization',
36
+ 'InterestFeedV2',
37
+ 'IsolateOrigins',
38
+ 'PushMessaging',
39
+ 'site-per-process', // Disables OOPIF. https://www.chromium.org/Home/chromium-security/site-isolation
40
+ 'Vulkan',
41
+ 'WebGPU',
42
+ 'WebPayments'
43
+ ].join(',')}`
29
44
  ]
30
45
 
31
46
  const spawn = ({