fakebrowser
Version:
🤖 Fake fingerprints to bypass anti-bot systems. Simulate mouse and keyboard operations to make behavior like a real person.
72 lines • 6.01 kB
JavaScript
// noinspection JSUnusedGlobalSymbols
export class Touchscreen {
constructor(client, keyboard) {
this.client = client;
this.keyboard = keyboard;
this._x = 0;
this._y = 0;
this._button = 'none';
}
async move(x, y, options = {}) {
const { steps = 1 } = options;
const fromX = this._x, fromY = this._y;
this._x = x;
this._y = y;
for (let i = 1; i <= steps; i++) {
await this.client.send('Input.emulateTouchFromMouseEvent', {
type: 'mouseMoved',
button: this._button,
x: fromX + (this._x - fromX) * (i / steps),
y: fromY + (this._y - fromY) * (i / steps),
modifiers: this.keyboard._modifiers,
});
}
}
async tap(x, y, options = {}) {
const { delay = null } = options;
if (delay !== null) {
await this.move(x, y);
await this.down(options);
await new Promise((f) => setTimeout(f, delay));
await this.up(options);
}
else {
await this.move(x, y);
await this.down(options);
await this.up(options);
}
}
async down(options = {}) {
const { button = 'left', clickCount = 1 } = options;
this._button = button;
await this.client.send('Input.emulateTouchFromMouseEvent', {
type: 'mousePressed',
button,
x: this._x,
y: this._y,
modifiers: this.keyboard._modifiers,
clickCount,
});
}
async up(options = {}) {
const { button = 'left', clickCount = 1 } = options;
this._button = 'none';
await this.client.send('Input.emulateTouchFromMouseEvent', {
type: 'mouseReleased',
button,
x: this._x,
y: this._y,
modifiers: this.keyboard._modifiers,
clickCount,
});
}
async drag(start, target) {
await this.move(start.x, start.y);
await this.down();
await this.move(target.x, target.y, {
steps: Math.min(Math.abs(start.x - target.x), Math.abs(start.y - target.y)) / 1.5,
});
await this.up();
}
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiVG91Y2hTY3JlZW4uanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29yZS9Ub3VjaFNjcmVlbi50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQ0FBcUM7QUFJckMsTUFBTSxPQUFPLFdBQVc7SUFLcEIsWUFDcUIsTUFBa0IsRUFDbEIsUUFBa0I7UUFEbEIsV0FBTSxHQUFOLE1BQU0sQ0FBWTtRQUNsQixhQUFRLEdBQVIsUUFBUSxDQUFVO1FBTi9CLE9BQUUsR0FBVyxDQUFDLENBQUE7UUFDZCxPQUFFLEdBQVcsQ0FBQyxDQUFBO1FBQ2QsWUFBTyxHQUF5QixNQUFNLENBQUE7SUFNOUMsQ0FBQztJQUVELEtBQUssQ0FBQyxJQUFJLENBQ04sQ0FBUyxFQUNULENBQVMsRUFDVCxVQUE4QixFQUFFO1FBRWhDLE1BQU0sRUFBQyxLQUFLLEdBQUcsQ0FBQyxFQUFDLEdBQUcsT0FBTyxDQUFBO1FBQzNCLE1BQU0sS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLEVBQUUsS0FBSyxHQUFHLElBQUksQ0FBQyxFQUFFLENBQUE7UUFDdEMsSUFBSSxDQUFDLEVBQUUsR0FBRyxDQUFDLENBQUE7UUFDWCxJQUFJLENBQUMsRUFBRSxHQUFHLENBQUMsQ0FBQTtRQUVYLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDN0IsTUFBTSxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQ0FBa0MsRUFBRTtnQkFDdkQsSUFBSSxFQUFFLFlBQVk7Z0JBQ2xCLE1BQU0sRUFBRSxJQUFJLENBQUMsT0FBTztnQkFDcEIsQ0FBQyxFQUFFLEtBQUssR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFLEdBQUcsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsS0FBSyxDQUFDO2dCQUMxQyxDQUFDLEVBQUUsS0FBSyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUUsR0FBRyxLQUFLLENB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