FingerprintSwitcher никоим образом к профилю не привязан. Сейчас он необходим для подключения профиля в скрипте. ОТВЕТ: да, можешь. Просто в скрипте указываешь новый ключ FingerprintSwitcher
Pixelscan определяет "Automation framework detected" и истинное разрешение экрана
-
UPD: Пока что сделал так, запихнув все это в "Выполнять при каждой загрузке страницы"
((window, open) => { window.open = (url) => { open.call(window, url, '_self'); }; })(window, window.open); -
@JohnnySins Знаете ли вы adbtc.top?
Когда я использую этот веб-сайт и нажимаю «Реклама», открывается новая страница, но веб-сайт не знает, что у меня открыта эта вкладка.
Знаете ли вы, как это исправить?
Я попробовал несколько способов, но они не сработали.
Благодарить. -
@JohnnySins good research mate
-
@JohnnySins said in Pixelscan определяет "Automation framework detected" и истинное разрешение экрана:
@sergerdn в общем, есть трабла. Т.к. page.setViewport применяет изменения только для текущей активной вкладки. Для новых вкладок, например, тех что открываются при клике по ссылкам с атрибутом target="_blank" сей магия скрипта пропадает.
Да, я знаю. Я надеюсь, что это баг все таки будет исправлен на стороне BAS и что-то патчить нужда пропадет.
-
@sergerdn said in Pixelscan определяет "Automation framework detected" и истинное разрешение экрана:
что это баг все таки будет исправлен
Ну это не совсем баг, если говорить о puppeteer, это скорее его неудобная фича.
Если же про BAS, то при открытии ссылки в новой вкладке слетают даже ранее примененные отпечатки, а именно настройки viewport браузера. То же самое происходит, кстати, если на странице вызывается фуллскрин.
Я немного в недоумении почему разработчик BAS эти ситуации не учел. Если у него какой-то особенный билд chromium с внесенными изменениями (я так понимаю, он сам его компилит из исходников), то логичнее было бы внести в него фичу игнора открытия ссылок в новых окнах/вкладках и выпилить возможность фуллскрина.
Потому что юзать такой вот костыль http://community.bablosoft.com/post/183731 на постоянке это дикое палево.
-
Подробно по шагам опишите ситуаци юзеру @m4zuper - это тестер, он составит правильный отчет и может быть поправят ...
-
@Bigma еще при использовании мобильного отпечатка (т.е. эмуляция тачскрина) не получается проставить галочку cloudflare. Приложил видео. А костыль http://community.bablosoft.com/post/183731 не работает, т.к. последующий клик по ссылку внизу страницы открывает ее в новой вкладке.
Такое ощущение, что страничка cloudflare выпиливает js-код BAS с помощью которого производятся все манипуляции.
-
@JohnnySins said in Pixelscan определяет "Automation framework detected" и истинное разрешение экрана:
не получается проставить галочку cloudflare
Забавно, что через devtools inspector галочка проставляется.
-
This post is deleted!
-
@JohnnySins said in Pixelscan определяет "Automation framework detected" и истинное разрешение экрана:
@rasputin Do you use fingerprints of mobile devices?
Yes, from premium fingerprint key
-
@rasputin Try using something like this:

The action with the fingerprint icon is "apply fingerprint". Yes, it is repeated 2 times.
The Node.js script contains the viewport fixing code:
const puppeteer = require('puppeteer-extra'); const StealthPlugin = require('puppeteer-extra-plugin-stealth'); puppeteer.use(StealthPlugin()); console.log("PUPPETEER CONNECTION"); console.log("WEBSOCKET_DEBUGGER_URL: " + [[WEBSOCKET_DEBUGGERURL]]); const browser = await puppeteer.connect({ browserWSEndpoint: [[WEBSOCKET_DEBUGGERURL]], defaultViewport: null, headless: false }); const page = await getActivePage(browser, 30000); await page.bringToFront(); await fixViewPort(page); async function getActivePage(browser, timeout) { var start = new Date().getTime(); while(new Date().getTime() - start < timeout) { var pages = await browser.pages(); var arr = []; for (const p of pages) { if(await p.evaluate(() => { return document.visibilityState == 'visible' })) { arr.push(p); } } if(arr.length == 1) return arr[0]; } throw "Unable to get active page"; } async function fixViewPort(page) { // Set the current viewport size const viewportWidth = await page.evaluate(() => window.outerWidth); const viewportHeight = await page.evaluate(() => window.outerHeight); const deviceScaleFactor = await page.evaluate(() => window.devicePixelRatio); await page.setViewport({ width: viewportWidth, height: viewportHeight, deviceScaleFactor: deviceScaleFactor, }); };Don't forget to add the required packages from NPM
-
@JohnnySins said in Pixelscan определяет "Automation framework detected" и истинное разрешение экрана:
@rasputin Try using something like this:

The action with the fingerprint icon is "apply fingerprint". Yes, it is repeated 2 times.
The Node.js script contains the viewport fixing code:
const puppeteer = require('puppeteer-extra'); const StealthPlugin = require('puppeteer-extra-plugin-stealth'); puppeteer.use(StealthPlugin()); console.log("PUPPETEER CONNECTION"); console.log("WEBSOCKET_DEBUGGER_URL: " + [[WEBSOCKET_DEBUGGERURL]]); const browser = await puppeteer.connect({ browserWSEndpoint: [[WEBSOCKET_DEBUGGERURL]], defaultViewport: null, headless: false }); const page = await getActivePage(browser, 30000); await page.bringToFront(); await fixViewPort(page); async function getActivePage(browser, timeout) { var start = new Date().getTime(); while(new Date().getTime() - start < timeout) { var pages = await browser.pages(); var arr = []; for (const p of pages) { if(await p.evaluate(() => { return document.visibilityState == 'visible' })) { arr.push(p); } } if(arr.length == 1) return arr[0]; } throw "Unable to get active page"; } async function fixViewPort(page) { // Set the current viewport size const viewportWidth = await page.evaluate(() => window.outerWidth); const viewportHeight = await page.evaluate(() => window.outerHeight); const deviceScaleFactor = await page.evaluate(() => window.devicePixelRatio); await page.setViewport({ width: viewportWidth, height: viewportHeight, deviceScaleFactor: deviceScaleFactor, }); };Don't forget to add the required packages from NPM
Thanks but it still detecting as automation for me. Can you share a demo project
-
Вообще странно, как манипуляции с puppeteer - должны повлиять на встроенный браузер. А по итогу то вы встроенный браузер используете с принтом ....
А тем более как должна повлиять двойное применение одного и того же .... -
@JohnnySins
Проблема того, что чекбокс Cloudflare не активируется на моб. отпечатках - передано разработчику.
Изменение разршения при открытии новой вкладки - не могу расценивать это как баг, так как это происходит только при ручном вмешательстве в параметры браузера, "из коробки" этого не происходит.
В любом случае, проблема, о которой сообщал @sergerdn, сейчас находится в работе и в скором времени это будет будет решено.