From a5fd8de30e16ddc1134fc149fbcd96bb3485e988 Mon Sep 17 00:00:00 2001 From: Tony Date: Sun, 5 Jun 2022 16:09:34 +0700 Subject: [PATCH] fix(docker): puppeteer stealth not working in docker (#9896) --- lib/utils/puppeteer.js | 22 ++++++++++++++++++++++ 1 file changed, 22 insertions(+) diff --git a/lib/utils/puppeteer.js b/lib/utils/puppeteer.js index 161f24bd97..f80184c0dc 100644 --- a/lib/utils/puppeteer.js +++ b/lib/utils/puppeteer.js @@ -16,6 +16,28 @@ module.exports = async (extraOptions = {}) => { if (extraOptions.stealth) { const { addExtra } = require('puppeteer-extra'); puppeteer = addExtra(puppeteer); + + // workaround for vercel/nft #54 and #283 + require('puppeteer-extra-plugin-stealth/evasions/chrome.app'); + require('puppeteer-extra-plugin-stealth/evasions/chrome.csi'); + require('puppeteer-extra-plugin-stealth/evasions/chrome.loadTimes'); + require('puppeteer-extra-plugin-stealth/evasions/chrome.runtime'); + require('puppeteer-extra-plugin-stealth/evasions/defaultArgs'); + require('puppeteer-extra-plugin-stealth/evasions/iframe.contentWindow'); + require('puppeteer-extra-plugin-stealth/evasions/media.codecs'); + require('puppeteer-extra-plugin-stealth/evasions/navigator.hardwareConcurrency'); + require('puppeteer-extra-plugin-stealth/evasions/navigator.languages'); + require('puppeteer-extra-plugin-stealth/evasions/navigator.permissions'); + require('puppeteer-extra-plugin-stealth/evasions/navigator.plugins'); + require('puppeteer-extra-plugin-stealth/evasions/navigator.vendor'); + require('puppeteer-extra-plugin-stealth/evasions/navigator.webdriver'); + require('puppeteer-extra-plugin-stealth/evasions/sourceurl'); + require('puppeteer-extra-plugin-stealth/evasions/user-agent-override'); + require('puppeteer-extra-plugin-stealth/evasions/webgl.vendor'); + require('puppeteer-extra-plugin-stealth/evasions/window.outerdimensions'); + require('puppeteer-extra-plugin-user-preferences'); + require('puppeteer-extra-plugin-user-data-dir'); + puppeteer.use(require('puppeteer-extra-plugin-stealth')()); } let browser;