hometify/bak/nitroPlugin.ts

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);
}; */