Does the database features effect the Interface API.Database functions? Seems Api.DatabaseUpdate isnt working for me anymore.
Regards,
Allister
@saanneekk said in Плагины для автоматизации FingerprintSwitcher: selenium, puppeteer, playwright, и т. д.:
Ничего не понятно, но очень интересно)
Поправьте если я неправильно понял, если я использую этот плагин, то аутентичность браузера вырастет по сравнению с текущим методом подмены отпечатка?
Нет, это просто возможность использовать bas в скриптах написанных на puppeteer и тп
@saanneekk said in Плагины для автоматизации FingerprintSwitcher: selenium, puppeteer, playwright, и т. д.:
@UserTrue автоматизация автоматизации, что-то новое..
Да почему автоматизация автоматизации. Просто возможность использовать браузер БАС программно через puppeter и другие аналоги, погуглите что это. Большинство антидетект браузеров имеет аналогичную возможность.
Осталось добавить возможность использованть интерфейс БАС с другими антидетектами xDD
@Dodok said in Плагины для автоматизации FingerprintSwitcher: selenium, puppeteer, playwright, и т. д.:
@UserTrue Лучше бы связали BAS c реальным браузером на пк, вот это был бы подарок.
Тут надо быть острожным. Например при скачивании installer хрома, он вшивает ID браузера внутрь, т.е постоянно надо качать новый с сайта, если хочешь покрутить много потоков или даже если 1 поток, но меняя профиль.
А еще он умеет собирать мимо JS данные о ПК.
@Dodok said in Плагины для автоматизации FingerprintSwitcher: selenium, puppeteer, playwright, и т. д.:
@UserTrue Лучше бы связали BAS c реальным браузером на пк, вот это был бы подарок.
Если ты хочешь автоматизировать обычный Chrome, то инструментов для этого море. Я предпочитаю selenium, но это дело вкуса, можешь использовать и что-то другое.
Можно программировать на огромной пачке языков вместе с selenium, включая JavaScript, который используется в BAS.
@support said in Плагины для автоматизации FingerprintSwitcher: selenium, puppeteer, playwright, и т. д.:
Ограничения.
Плагины все еще находятся в стадии бета-тестирования, это значит, что могут быть баги, в том числе критические.
Прямо сейчас есть ошибка с ipv6 прокси. Мы работаем над этим.
В настоящее время поддерживается только javascript.
Есть планы по поддержке других языков, например Python + selenium?
Прикольно, протестил и это даже работает. https://github.com/CheshireCaat/selenium-with-fingerprints
Очень рад первым шагам овнеров продукта к "настоящей" автоматизации, хорошее начало положено!
Пойду с радости тяпну что-нибудь 😄.
// Import dependencies:
require('chromedriver');
const {plugin} = require('selenium-with-fingerprints');
const fs = require('fs');
const {promisify} = require('util');
const writeFileAsync = promisify(fs.writeFile);
// Main function:
(async () => {
// Get a fingerprint from the server:
const fingerprint = await plugin.fetch('', {
tags: ['Microsoft Windows', 'Chrome'],
});
// Apply fingerprint:
plugin.useFingerprint(fingerprint);
// Launch the browser instance:
const driver = await plugin.launch();
// Maximize the window:
await driver.manage().window().maximize();
// Navigate to the website:
await driver.get('https://google.com');
// Take a screenshot:
const screenshot = await driver.takeScreenshot();
// Save the screenshot to a file:
await writeFileAsync('screenshot.png', screenshot, 'base64');
// Print the browser viewport size:
console.log(
'Viewport:',
await driver.executeScript(() => ({
deviceScaleFactor: window.devicePixelRatio,
width: document.documentElement.clientWidth,
height: document.documentElement.clientHeight,
}))
);
// Print the current URL:
console.log(
'CurrentUrl:',
await driver.getCurrentUrl()
);
// Read cookies and write to file:
const cookies = await driver.manage().getCookies();
await writeFileAsync('cookies.json', JSON.stringify(cookies));
// Quit the browser:
await driver.quit();
})();
@Bigma said in Плагины для автоматизации FingerprintSwitcher: selenium, puppeteer, playwright, и т. д.:
@sergerdn ага, только еще не забудь хак поставить, чтоб не светить что веб драйвер используешь ...
@FastSpace said in Плагины для автоматизации FingerprintSwitcher: selenium, puppeteer, playwright, и т. д.:
@Bigma said in Плагины для автоматизации FingerprintSwitcher: selenium, puppeteer, playwright, и т. д.:
@sergerdn ага, только еще не забудь хак поставить, чтоб не светить что веб драйвер используешь ...
И этого мало будет
Ребята, вы вообще о чем в контексте темы топика? Кто-нибудь из вас смотрел исходный код библиотеки https://github.com/CheshireCaat/selenium-with-fingerprints ради минимального понимания как это работает? Ну или, хотя бы, запускал пару примеров оттуда? Ну или, хотя бы, просто смотрел их?

{
"detectorsResults": {
"detectAppVersion": {
"bot": false
},
"detectDocumentAttributes": {
"bot": false
},
"detectDocumentProperties": {
"bot": false
},
"detectErrorTrace": {
"bot": false
},
"detectEvalLengthInconsistency": {
"bot": false
},
"detectFunctionBind": {
"bot": false
},
"detectLanguagesLengthInconsistency": {
"bot": false
},
"detectNotificationPermissions": {
"bot": false
},
"detectPluginsArray": {
"bot": false
},
"detectPluginsLengthInconsistency": {
"bot": false
},
"detectProcess": {
"bot": false
},
"detectUserAgent": {
"bot": false
},
"detectWebDriver": {
"bot": false
},
"detectWebGL": {
"bot": false
},
"detectWindowExternal": {
"bot": false
},
"detectWindowProperties": {
"bot": false
},
"detectWindowSize": {
"bot": false
},
"detectMimeTypesConsistent": {
"bot": false
},
"detectProductSub": {
"bot": false
}
}
}
// Import dependencies:
require('chromedriver');
const {plugin} = require('selenium-with-fingerprints');
const fs = require('fs');
const {promisify} = require('util');
const writeFileAsync = promisify(fs.writeFile);
// Main function:
(async () => {
// Get a fingerprint from the server:
const fingerprint = await plugin.fetch('', {
tags: ['Microsoft Windows', 'Chrome'],
});
// Apply fingerprint:
plugin.useFingerprint(fingerprint);
// Launch the browser instance:
const driver = await plugin.launch();
// Maximize the window:
await driver.manage().window().maximize();
// Navigate to the website:
await driver.get('https://fingerprintjs.github.io/BotD/main/');
// Wait for the page to load:
await driver.wait(async () => {
const pageState = await driver.executeScript('return document.readyState');
return pageState === 'complete';
}, 10000);
// Take a screenshot:
const screenshot = await driver.takeScreenshot();
// Save the screenshot to a file:
await writeFileAsync('screenshot.png', screenshot, 'base64');
// Quit the browser:
await driver.quit();
})();
@inotoxic said in Плагины для автоматизации FingerprintSwitcher: selenium, puppeteer, playwright, и т. д.:
Код
При запуске ошибкаnode:events:491
throw er; // Unhandled 'error' event
^Error: listen EADDRINUSE: address already in use 127.0.0.1:29815
Закрой все, что связано с BAS. Если что - на GitHub есть issue. Наверное, правильно писать там.
@FastSpace said in Плагины для автоматизации FingerprintSwitcher: selenium, puppeteer, playwright, и т. д.:
Сегодня опять переливал код, изменения подьехали :)
try{a.WebAppWindowControlsOverlay="object"==typeof navigator.windowControlsOverlay}catch(a){}Эту утечку походу с этим свойством разработчик пофиксит.
Перечитал раз пять твое сообщение, но так и не уловил связи с плагинами автоматизации.
@inotoxic said in Плагины для автоматизации FingerprintSwitcher: selenium, puppeteer, playwright, и т. д.:
Error: listen EADDRINUSE: address already in use 127.0.0.1:29815
говорят, что fixed, нужно обновить библиотеку:
npm install selenium-with-fingerprints@latest
@sergerdn said in Плагины для автоматизации FingerprintSwitcher: selenium, puppeteer, playwright, и т. д.:
npm install selenium-with-fingerprints@latest
Теперь другая ошибка
d:**\puppeter_test\node_modules\bas-remote-node\src\services\socket.js:55
reject(new Error('Cannot connect to the WebSocket server'));
^
Error: Cannot connect to the WebSocket server
@inotoxic said in Плагины для автоматизации FingerprintSwitcher: selenium, puppeteer, playwright, и т. д.:
d:**\puppeter_test\node_modules\bas-remote-node\src\services\socket.js:55
reject(new Error('Cannot connect to the WebSocket server'));
^Error: Cannot connect to the WebSocket server
Думаю, что все таки, как я и писал выше - нужно писать на GitHub в issue. Я бы рад помочь, но я не пользуюсь puppeter.
@inotoxic said in Плагины для автоматизации FingerprintSwitcher: selenium, puppeteer, playwright, и т. д.:
@sergerdn said in Плагины для автоматизации FingerprintSwitcher: selenium, puppeteer, playwright, и т. д.:
npm install selenium-with-fingerprints@latest
Теперь другая ошибка
d:**\puppeter_test\node_modules\bas-remote-node\src\services\socket.js:55
reject(new Error('Cannot connect to the WebSocket server'));
^Error: Cannot connect to the WebSocket server
https://github.com/CheshireCaat/puppeteer-with-fingerprints/issues/2