@Moderator проблемы устранены. Если возникнут другие технические неполадки, мы сообщим об этом в данной теме
Плагины для автоматизации FingerprintSwitcher: selenium, puppeteer, playwright, и т. д.
-
@saanneekk yes basically
-
@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:55reject(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