gitextract_u4zlbb78/ ├── .editorconfig ├── .eslintrc ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug.md │ │ ├── config.yml │ │ └── feature_request.md │ ├── labeler.yml │ └── workflows/ │ ├── extract-stealth.yml │ ├── label.yml │ └── test.yml ├── .gitignore ├── .prettierrc.js ├── .travis.yml ├── LICENSE ├── README.md ├── lerna.json ├── package.json └── packages/ ├── extract-stealth-evasions/ │ ├── .gitignore │ ├── index.js │ ├── package.json │ └── readme.md ├── playwright-extra/ │ ├── .prettierrc.js │ ├── package.json │ ├── readme.md │ ├── rollup.config.ts │ ├── src/ │ │ ├── extra.ts │ │ ├── helper/ │ │ │ └── loader.ts │ │ ├── index.ts │ │ ├── plugins.ts │ │ ├── puppeteer-compatiblity-shim/ │ │ │ ├── index.ts │ │ │ └── playwright-shim.d.ts │ │ └── types/ │ │ └── index.ts │ ├── test/ │ │ ├── exports.spec.ts │ │ ├── fixtures/ │ │ │ ├── dummyplugin.ts │ │ │ └── extra.ts │ │ ├── playwright.config.ts │ │ ├── plugin-events.spec.ts │ │ └── puppeteer-plugins/ │ │ ├── anonymize-ua.spec.ts │ │ ├── recaptcha.spec.ts │ │ └── stealth.spec.ts │ └── tsconfig.json ├── plugin-proxy-router/ │ ├── package.json │ ├── readme.md │ ├── rollup.config.ts │ ├── src/ │ │ ├── index.ts │ │ ├── plugin.ts │ │ ├── router.ts │ │ ├── stats.ts │ │ └── utils/ │ │ └── port.ts │ ├── tsconfig.json │ └── tslint.json ├── puppeteer-extra/ │ ├── ava.config-ts.js │ ├── ava.config.js │ ├── package.json │ ├── readme.md │ ├── rollup.config.ts │ ├── src/ │ │ ├── ambient.d.ts │ │ ├── index.ts │ │ └── puppeteer-legacy.d.ts │ ├── test/ │ │ ├── addExtra.ts │ │ ├── basic.ts │ │ ├── connect.js │ │ ├── events.js │ │ ├── options.js │ │ └── plugin-support.js │ ├── tsconfig.json │ └── tslint.json ├── puppeteer-extra-plugin/ │ ├── ava.config-ts.js │ ├── ava.config.js │ ├── package.json │ ├── readme.md │ ├── rollup.config.ts │ ├── src/ │ │ ├── ambient.d.ts │ │ ├── index.test.ts │ │ ├── index.ts │ │ └── puppeteer.ts │ ├── tsconfig.json │ └── tslint.json ├── puppeteer-extra-plugin-adblocker/ │ ├── ava.config-ts.js │ ├── ava.config.js │ ├── build_version_check.js │ ├── package.json │ ├── readme.md │ ├── rollup.config.ts │ ├── src/ │ │ ├── ambient.d.ts │ │ ├── index.test.ts │ │ └── index.ts │ ├── tsconfig.json │ └── tslint.json ├── puppeteer-extra-plugin-anonymize-ua/ │ ├── index.d.ts │ ├── index.js │ ├── index.test.js │ ├── package.json │ ├── readme.md │ └── test/ │ ├── headless.js │ ├── headless_off.js │ ├── popup.js │ └── stresstest.js ├── puppeteer-extra-plugin-block-resources/ │ ├── example.js │ ├── index.d.ts │ ├── index.js │ ├── index.test.js │ ├── package.json │ └── readme.md ├── puppeteer-extra-plugin-click-and-wait/ │ ├── example.js │ ├── index.js │ ├── package.json │ └── readme.md ├── puppeteer-extra-plugin-devtools/ │ ├── index.js │ ├── index.test.js │ ├── lib/ │ │ ├── RemoteDevTools.js │ │ └── RemoteDevTools.test.js │ ├── package.json │ ├── readme.md │ └── test/ │ └── headless.js ├── puppeteer-extra-plugin-flash/ │ ├── example.js │ ├── index.js │ ├── package.json │ └── readme.md ├── puppeteer-extra-plugin-font-size/ │ ├── index.js │ ├── package.json │ └── readme.md ├── puppeteer-extra-plugin-recaptcha/ │ ├── ava.config-ts.js │ ├── ava.config.js │ ├── package.json │ ├── readme.md │ ├── rollup.config.ts │ ├── src/ │ │ ├── ambient.d.ts │ │ ├── content-hcaptcha.ts │ │ ├── content.ts │ │ ├── detection.test.ts │ │ ├── index.test.ts │ │ ├── index.ts │ │ ├── playwright-mods.d.ts │ │ ├── provider/ │ │ │ ├── 2captcha-api.ts │ │ │ └── 2captcha.ts │ │ ├── puppeteer-mods.d.ts │ │ ├── solve.test.ts │ │ └── types.ts │ ├── tsconfig.json │ └── tslint.json ├── puppeteer-extra-plugin-repl/ │ ├── index.d.ts │ ├── index.js │ ├── index.test.js │ ├── lib/ │ │ ├── REPLSession.js │ │ ├── REPLSession.test.js │ │ ├── super-readline.js │ │ └── super-readline.test.js │ ├── package.json │ ├── readme.md │ └── test/ │ └── headless.js ├── puppeteer-extra-plugin-stealth/ │ ├── .npmignore │ ├── evasions/ │ │ ├── _template/ │ │ │ ├── index.js │ │ │ ├── package.json │ │ │ └── readme.md │ │ ├── _utils/ │ │ │ ├── index.js │ │ │ ├── index.test.js │ │ │ ├── readme.md │ │ │ └── withUtils.js │ │ ├── chrome.app/ │ │ │ ├── index.js │ │ │ ├── index.test.js │ │ │ ├── package.json │ │ │ └── readme.md │ │ ├── chrome.csi/ │ │ │ ├── index.js │ │ │ ├── index.test.js │ │ │ ├── package.json │ │ │ └── readme.md │ │ ├── chrome.loadTimes/ │ │ │ ├── index.js │ │ │ ├── index.test.js │ │ │ ├── package.json │ │ │ └── readme.md │ │ ├── chrome.runtime/ │ │ │ ├── index.js │ │ │ ├── index.test.js │ │ │ ├── package.json │ │ │ ├── readme.md │ │ │ └── staticData.json │ │ ├── defaultArgs/ │ │ │ ├── index.js │ │ │ ├── index.test.js │ │ │ ├── package.json │ │ │ └── readme.md │ │ ├── iframe.contentWindow/ │ │ │ ├── index.js │ │ │ ├── index.test.js │ │ │ ├── package.json │ │ │ └── readme.md │ │ ├── media.codecs/ │ │ │ ├── index.js │ │ │ ├── index.test.js │ │ │ ├── package.json │ │ │ └── readme.md │ │ ├── navigator.hardwareConcurrency/ │ │ │ ├── index.js │ │ │ ├── index.test.js │ │ │ ├── package.json │ │ │ └── readme.md │ │ ├── navigator.languages/ │ │ │ ├── index.js │ │ │ ├── index.test.js │ │ │ ├── package.json │ │ │ └── readme.md │ │ ├── navigator.permissions/ │ │ │ ├── index.js │ │ │ ├── index.test.js │ │ │ ├── package.json │ │ │ └── readme.md │ │ ├── navigator.plugins/ │ │ │ ├── data.json │ │ │ ├── functionMocks.js │ │ │ ├── index.js │ │ │ ├── index.test.js │ │ │ ├── magicArray.js │ │ │ ├── mimeTypes.js │ │ │ ├── mimeTypes.test.js │ │ │ ├── package.json │ │ │ ├── plugins.js │ │ │ ├── plugins.test.js │ │ │ └── readme.md │ │ ├── navigator.vendor/ │ │ │ ├── index.js │ │ │ ├── index.test.js │ │ │ ├── package.json │ │ │ └── readme.md │ │ ├── navigator.webdriver/ │ │ │ ├── index.js │ │ │ ├── index.test.js │ │ │ ├── package.json │ │ │ └── readme.md │ │ ├── readme.md │ │ ├── sourceurl/ │ │ │ ├── _fixtures/ │ │ │ │ └── test.html │ │ │ ├── index.js │ │ │ ├── index.test.js │ │ │ ├── package.json │ │ │ └── readme.md │ │ ├── user-agent-override/ │ │ │ ├── index.js │ │ │ ├── index.test.js │ │ │ ├── package.json │ │ │ └── readme.md │ │ ├── webgl.vendor/ │ │ │ ├── index.js │ │ │ ├── index.test.js │ │ │ ├── package.json │ │ │ └── readme.md │ │ └── window.outerdimensions/ │ │ ├── index.js │ │ ├── package.json │ │ └── readme.md │ ├── examples/ │ │ ├── detect-headless.js │ │ ├── test1.js │ │ └── test2.js │ ├── index.d.ts │ ├── index.js │ ├── index.test.js │ ├── package.json │ ├── readme.md │ ├── runall_stealthtests.sh │ ├── stealthtests/ │ │ ├── headful-chrome-stealth.js │ │ ├── headful-chrome-vanilla.js │ │ ├── headful-chromium-stealth.js │ │ ├── headful-chromium-vanilla.js │ │ ├── headless-chrome-stealth.js │ │ ├── headless-chrome-vanilla.js │ │ ├── headless-chromium-stealth.js │ │ └── headless-chromium-vanilla.js │ └── test/ │ ├── cat-and-mouse.test.js │ ├── fixtures/ │ │ ├── dummy-with-service-worker.html │ │ ├── dummy.html │ │ └── sw.js │ ├── fpscanner.test.js │ ├── service-worker.test.js │ └── util.js ├── puppeteer-extra-plugin-user-data-dir/ │ ├── index.js │ ├── package.json │ └── readme.md └── puppeteer-extra-plugin-user-preferences/ ├── index.js ├── package.json └── readme.md