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;