68 lines
3.2 KiB
TypeScript
68 lines
3.2 KiB
TypeScript
/* import {DEFAULT_INTERCEPT_RESOLUTION_PRIORITY} from 'puppeteer';
|
|
import Puppeteer from 'puppeteer';
|
|
import { addExtra } from 'puppeteer-extra';
|
|
import StealthPlugin from "puppeteer-extra-plugin-stealth";
|
|
import AdblockerPlugin from "puppeteer-extra-plugin-adblocker";
|
|
|
|
import chromeApp from "puppeteer-extra-plugin-stealth/evasions/chrome.app";
|
|
import chromeCsi from "puppeteer-extra-plugin-stealth/evasions/chrome.csi";
|
|
import chromeLoadTimes from "puppeteer-extra-plugin-stealth/evasions/chrome.loadTimes";
|
|
import chromeRuntime from "puppeteer-extra-plugin-stealth/evasions/chrome.runtime";
|
|
import defaultArgs from "puppeteer-extra-plugin-stealth/evasions/defaultArgs";
|
|
import iframeContentWindow from "puppeteer-extra-plugin-stealth/evasions/iframe.contentWindow";
|
|
import mediaCodecs from "puppeteer-extra-plugin-stealth/evasions/media.codecs";
|
|
import navigatorHardwareConcurrency from "puppeteer-extra-plugin-stealth/evasions/navigator.hardwareConcurrency";
|
|
import navigatorLanguages from "puppeteer-extra-plugin-stealth/evasions/navigator.languages";
|
|
import navigatorPermissions from "puppeteer-extra-plugin-stealth/evasions/navigator.permissions";
|
|
import navigatorPlugins from "puppeteer-extra-plugin-stealth/evasions/navigator.plugins";
|
|
import navigatorVendor from "puppeteer-extra-plugin-stealth/evasions/navigator.vendor";
|
|
import navigatorWebdriver from "puppeteer-extra-plugin-stealth/evasions/navigator.webdriver";
|
|
import sourceUrl from "puppeteer-extra-plugin-stealth/evasions/sourceurl";
|
|
import userAgentOverride from "puppeteer-extra-plugin-stealth/evasions/user-agent-override";
|
|
import webglVendor from "puppeteer-extra-plugin-stealth/evasions/webgl.vendor";
|
|
import windowOuterDimensions from "puppeteer-extra-plugin-stealth/evasions/window.outerdimensions";
|
|
|
|
export default defineNitroPlugin((nitroApp) => {
|
|
console.log("Loading puppeteer plugin...");
|
|
const puppeteer = addExtra(Puppeteer);
|
|
const stealth = StealthPlugin();
|
|
configureEvasions(stealth);
|
|
puppeteer.use(stealth);
|
|
|
|
puppeteer.use(
|
|
AdblockerPlugin({
|
|
// Optionally enable Cooperative Mode for several request interceptors
|
|
interceptResolutionPriority: DEFAULT_INTERCEPT_RESOLUTION_PRIORITY
|
|
})
|
|
)
|
|
|
|
nitroApp.hooks.hook("request", (event) => {
|
|
event.context.$puppeteer = puppeteer;
|
|
});
|
|
});
|
|
|
|
|
|
// Configurar evasiones
|
|
const configureEvasions = (stealth) => {
|
|
// Clear existing evasions
|
|
stealth.enabledEvasions.clear();
|
|
|
|
// Add evasions explicitly
|
|
stealth.enabledEvasions.add(chromeApp);
|
|
stealth.enabledEvasions.add(chromeCsi);
|
|
stealth.enabledEvasions.add(chromeLoadTimes);
|
|
stealth.enabledEvasions.add(chromeRuntime);
|
|
stealth.enabledEvasions.add(defaultArgs);
|
|
stealth.enabledEvasions.add(iframeContentWindow);
|
|
stealth.enabledEvasions.add(mediaCodecs);
|
|
stealth.enabledEvasions.add(navigatorHardwareConcurrency);
|
|
stealth.enabledEvasions.add(navigatorLanguages);
|
|
stealth.enabledEvasions.add(navigatorPermissions);
|
|
stealth.enabledEvasions.add(navigatorPlugins);
|
|
stealth.enabledEvasions.add(navigatorVendor);
|
|
stealth.enabledEvasions.add(navigatorWebdriver);
|
|
stealth.enabledEvasions.add(sourceUrl);
|
|
stealth.enabledEvasions.add(userAgentOverride);
|
|
stealth.enabledEvasions.add(webglVendor);
|
|
stealth.enabledEvasions.add(windowOuterDimensions);
|
|
}; */ |