@@ -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
1313const 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
3146const spawn = ( {
0 commit comments