UNPKG

fakebrowser

Version:

🤖 Fake fingerprints to bypass anti-bot systems. Simulate mouse and keyboard operations to make behavior like a real person.

131 lines • 7.83 kB
"use strict"; // noinspection JSUnusedGlobalSymbols var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) { if (k2 === undefined) k2 = k; Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } }); }) : (function(o, m, k, k2) { if (k2 === undefined) k2 = k; o[k2] = m[k]; })); var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) { Object.defineProperty(o, "default", { enumerable: true, value: v }); }) : function(o, v) { o["default"] = v; }); var __importStar = (this && this.__importStar) || function (mod) { if (mod && mod.__esModule) return mod; var result = {}; if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k); __setModuleDefault(result, mod); return result; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.BrowserBuilder = void 0; const path = __importStar(require("path")); const BrowserLauncher_1 = require("./BrowserLauncher"); const FakeBrowser_1 = require("./FakeBrowser"); class BrowserBuilder { constructor() { this.driverParams = { doNotHook: false, deviceDesc: FakeBrowser_1.kDefaultWindowsDD, userDataDir: '', evasionPaths: [ 'chrome.app', 'chrome.csi', 'chrome.loadTimes', 'chrome.runtime', 'window.history.length', 'window.matchMedia', 'navigator.webdriver', 'sourceurl', 'navigator.plugins-native', 'webgl', 'mimeTypes', 'navigator.mediaDevices', 'bluetooth', 'navigator.permissions', 'navigator.batteryManager', 'webrtc', 'canvas.fingerprint', 'user-agent-override', 'iframe.contentWindow', 'iframe.src', 'properties.getter', 'font.fingerprint', 'emoji.fingerprint', 'window.speechSynthesis', 'workers', 'keyboard', ].map(e => path.resolve(__dirname, `../plugins/evasions/${e}`)), usePlugins: [], }; } get launchParams() { const result = this.driverParams; result.launchOptions = result.launchOptions || {}; return result; } get connectParams() { const result = this.driverParams; result.connectOptions = result.connectOptions || {}; return result; } doNotHook(value) { this.launchParams.doNotHook = value; return this; } maxSurvivalTime(value) { this.launchParams.maxSurvivalTime = value; return this; } deviceDescriptor(value) { this.driverParams.deviceDesc = value; return this; } displayUserActionLayer(value) { this.driverParams.displayUserActionLayer = value; return this; } userDataDir(value) { this.driverParams.userDataDir = value; return this; } log(value) { this.driverParams.log = value; return this; } proxy(value) { this.driverParams.proxy = value; return this; } vanillaLaunchOptions(value) { this.launchParams.launchOptions = value; return this; } vanillaConnectOptions(value) { this.connectParams.connectOptions = value; return this; } evasionPaths(value) { this.driverParams.evasionPaths = value; return this; } usePlugins(value) { this.driverParams.usePlugins = value; return this; } async launch() { if ('undefined' === typeof this.launchParams.maxSurvivalTime) { this.launchParams.maxSurvivalTime = FakeBrowser_1.FakeBrowser.globalConfig.defaultBrowserMaxSurvivalTime; } const result = await BrowserLauncher_1.BrowserLauncher.launch(this.launchParams); return result; } async connect() { const result = await BrowserLauncher_1.BrowserLauncher.connect(this.connectParams); return result; } } exports.BrowserBuilder = BrowserBuilder; //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiQnJvd3NlckJ1aWxkZXIuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29yZS9Ccm93c2VyQnVpbGRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEscUNBQXFDOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBRXJDLDJDQUE0QjtBQVk1Qix1REFBbUQ7QUFDbkQsK0NBQThEO0FBRzlELE1BQWEsY0FBYztJQUl2QjtRQUNJLElBQUksQ0FBQyxZQUFZLEdBQUc7WUFDaEIsU0FBUyxFQUFFLEtBQUs7WUFDaEIsVUFBVSxFQUFFLCtCQUFpQjtZQUM3QixXQUFXLEVBQUUsRUFBRTtZQUNmLFlBQVksRUFBRTtnQkFDVixZQUFZO2dCQUNaLFlBQVk7Z0JBQ1osa0JBQWtCO2dCQUNsQixnQkFBZ0I7Z0JBQ2hCLHVCQUF1QjtnQkFDdkIsbUJBQW1CO2dCQUNuQixxQkFBcUI7Z0JBQ3JCLFdBQVc7Z0JBQ1gsMEJBQTBCO2dCQUMxQixPQUFPO2dCQUNQLFdBQVc7Z0JBQ1gsd0JBQXdCO2dCQUN4QixXQUFXO2dCQUNYLHVCQUF1QjtnQkFDdkIsMEJBQTBCO2dCQUMxQixRQUFRO2dCQUNSLG9CQUFvQjtnQkFDcEIscUJBQXFCO2dCQUNyQixzQkFBc0I7Z0JBQ3RCLFlBQVk7Z0JBQ1osbUJBQW1CO2dCQUNuQixrQkFBa0I7Z0JBQ2xCLG1CQUFtQjtnQkFDbkIsd0JBQXdCO2dCQUN4QixTQUFTO2dCQUNULFVBQVU7YUFDYixDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUMsU0FBUyxFQUFFLHVCQUF1QixDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQy9ELFVBQVUsRUFBRSxFQUFFO1NBQ2pCLENBQUE7SUFDTCxDQUFDO0lBRUQsSUFBSSxZQUFZO1FBQ1osTUFBTSxNQUFNLEdBQUcsSUFBSSxDQUFDLFlBQWdDLENBQUE7UUFDcEQsTUFBTSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxJQUFJ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