From 934d36f3d03bc002e9ef0c74aa42ef67163aff7b Mon Sep 17 00:00:00 2001 From: ArnaudBuchholz Date: Sat, 4 Mar 2023 11:37:13 -0500 Subject: [PATCH] feat(puppeteer): Add option to disable security --- src/defaults/puppeteer.js | 34 +++++++++++++++++++++++++--------- 1 file changed, 25 insertions(+), 9 deletions(-) diff --git a/src/defaults/puppeteer.js b/src/defaults/puppeteer.js index be53f164..54006c1f 100644 --- a/src/defaults/puppeteer.js +++ b/src/defaults/puppeteer.js @@ -10,7 +10,8 @@ require('./browser')({ ['--visible [flag]', 'Show the browser', false], ['-w, --viewport-width ', 'Viewport width', 1920], ['-h, --viewport-height ', 'Viewport height', 1080], - ['-l, --language ', 'Language(s)', ['en-US']] + ['-l, --language ', 'Language(s)', ['en-US']], + ['-u, --unsecure', 'Disable security features', false] ], capabilities: { modules: ['puppeteer'], @@ -47,21 +48,36 @@ require('./browser')({ }) { const puppeteer = require(modules.puppeteer) + const args = [ + '--start-maximized', + '--no-sandbox', + '--disable-gpu', + '--disable-extensions', + `--window-size=${options.viewportWidth},${options.viewportHeight}`, + `--lang=${options.language.join(',')}` + ] + + if (options.unsecure) { + args.push( + '--disable-web-security', + '--disable-features=IsolateOrigins', + '--disable-features=BlockInsecurePrivateNetworkRequests', + '--disable-site-isolation-trials' + ) + } + browser = await puppeteer.launch({ headless: !options.visible, defaultViewport: null, - args: [ - '--start-maximized', - '--no-sandbox', - '--disable-gpu', - '--disable-extensions', - `--window-size=${options.viewportWidth},${options.viewportHeight}`, - `--lang=${options.language.join(',')}` - ] + args }) page = (await browser.pages())[0] + if (options.unsecure) { + await page.setBypassCSP(true) + } + page .on('console', message => consoleWriter.append({ type: message.type(),