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
JavaScript
"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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