puppeteer-undetectable
Version:
This package is designed to bypass puppeteer's bot-detecting captchas such as Cloudflare. It acts like a real browser and can be managed with puppeteer.
58 lines (47 loc) • 1.43 kB
TypeScript
import type { Browser, Page } from "rebrowser-puppeteer-core";
import type { GhostCursor } from "ghost-cursor";
import type { Xvfb } from "xvfb";
import { launch } from "chrome-launcher";
interface PageWithCursor extends Page {
realClick: GhostCursor["click"];
realCursor: GhostCursor;
}
interface ProxyOptions {
host: string;
port: number;
username?: string;
password?: string;
}
declare module "puppeteer-undetectable" {
export function connect(options: Options): Promise<ConnectResult>;
export type { PageWithCursor, ProxyOptions };
type ConnectResult = {
browser: Browser;
page: PageWithCursor;
};
interface Options {
args?: string[];
headless?: boolean;
customConfig?: import("chrome-launcher").Options;
proxy?: ProxyOptions;
turnstile?: boolean;
connectOption?: import("rebrowser-puppeteer-core").ConnectOptions;
disableXvfb?: boolean;
plugins?: import("puppeteer-extra").PuppeteerExtraPlugin[];
ignoreAllFlags?: boolean;
}
}
declare module "puppeteer-undetectable/lib/module/pageController" {
export function pageController(options: PageControllerOptions): Promise<PageWithCursor>;
interface PageControllerOptions {
browser: Browser;
page: Page;
proxy: ProxyOptions;
plugins: import("puppeteer-extra").PuppeteerExtraPlugin[];
turnstile?: boolean;
xvfbsession?: Xvfb;
pid?: number;
killProcess?: boolean;
chrome?: Awaited<ReturnType<typeof launch>>;
};
}