@Kostmen said in PerfectCanvas на Firefox и Chrome:
Получается все мои отпечатки с Firefox можно смело удалить, ведь изначальный запрос я делал на Chrome?
Нужно и решительно. И использовать только отпечатки хрома. ФФ - отпечатки так себе.
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 галочка проставляется.
@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, сейчас находится в работе и в скором времени это будет будет решено.