Skip to content

Commit b737ec1

Browse files
authored
chore: better flags (#624)
1 parent 83ffe6f commit b737ec1

File tree

1 file changed

+20
-5
lines changed

1 file changed

+20
-5
lines changed

packages/browserless/src/driver.js

Lines changed: 20 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,24 +8,39 @@ const pReflect = require('p-reflect')
88
// flags explained: https://peter.sh/experiments/chromium-command-line-switches
99
// features explained: https://niek.github.io/chrome-features/
1010
// 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
1313
const defaultArgs = [
14+
'--ash-no-nudges', // https://source.chromium.org/search?q=lang:cpp+symbol:kAshNoNudges&ss=chromium
1415
'--autoplay-policy=user-gesture-required', // https://source.chromium.org/search?q=lang:cpp+symbol:kAutoplayPolicy&ss=chromium
1516
'--disable-blink-features=PrettyPrintJSONDocument,AutomationControlled', // https://blog.m157q.tw/posts/2020/09/11/bypass-cloudflare-detection-while-using-selenium-with-chromedriver/
1617
'--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
1818
'--disable-notifications', // https://source.chromium.org/search?q=lang%3Acpp+symbol%3AkDisablePermissionsAPI&ss=chromium
1919
'--disable-print-preview', // https://source.chromium.org/search?q=lang:cpp+symbol:kDisablePrintPreview&ss=chromium
2020
'--disable-setuid-sandbox', // https://source.chromium.org/search?q=lang:cpp+symbol:kDisableSetuidSandbox&ss=chromium
2121
'--disable-site-isolation-trials', // https://source.chromium.org/search?q=lang:cpp+symbol:kDisableSiteIsolation&ss=chromium
2222
'--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
2426
'--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
2528
'--no-default-browser-check', // https://source.chromium.org/search?q=lang:cpp+symbol:kNoDefaultBrowserCheck&ss=chromium
2629
'--no-pings', // https://source.chromium.org/search?q=lang:cpp+symbol:kNoPings&ss=chromium
2730
'--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(',')}`
2944
]
3045

3146
const spawn = ({

0 commit comments

Comments
 (0)