Pixelscan определяет "Automation framework detected" и истинное разрешение экрана

Moved Поддержка
  • @JohnnySins said in Pixelscan определяет "Automation framework detected" и истинное разрешение экрана:

    не получается проставить галочку cloudflare

    Забавно, что через devtools inspector галочка проставляется.

    Видео

  • This post is deleted!
  • wonderful discussion.

  • can anyone share a pixelscan passed demo template. seems when i try its getting detected.

  • @rasputin Do you use fingerprints of mobile devices?

  • @rasputin Try using something like this:

    снимок-экрана-2024-10-14-022105.png

    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:

    снимок-экрана-2024-10-14-022105.png

    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, сейчас находится в работе и в скором времени это будет будет решено.