Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[This plugin] 129 is detected on pixelscan.net as automation framework #52

Open
dr3adx opened this issue Oct 4, 2024 · 4 comments
Open

Comments

@dr3adx
Copy link

dr3adx commented Oct 4, 2024

How to reproduce:

  1. Use playwright-with-fingerprint (do not use BAS windows application)
  2. visit pixelscan.net, it will show flagged as automation framework.

This is is tested on latest playwright-with-fingerprints, chromium 129, engine 27.9.2
This issue appeared since 127

@CheshireCaat
Copy link
Owner

My code:

require('dotenv/config');
const { plugin } = require('playwright-with-fingerprints');
plugin.setServiceKey(process.env.FINGERPRINT_KEY);

(async () => {
  const fingerprint = await plugin.fetch({
    tags: ['Microsoft Windows', 'Chrome'],
    minBrowserVersion: '128', // the 'current' value works too.
    maxBrowserVersion: '128', // the 'current' value works too.
  });

  plugin.useProxy(process.env.FINGERPRINT_PROXY, {
    ipInfoMethod: 'ip-api.com',
    changeGeolocation: true,
    changeTimezone: true,
  });
  plugin.useFingerprint(fingerprint);

  const browser = await plugin.launch({ headless: false });

  const page = await browser.newPage();
  await page.goto('https://pixelscan.net', { waitUntil: 'commit' });
})();

My result №1 (128 version):

image

My result №2 (129 version):

image

I checked about 10 fingerprints - the maximum problem I encountered was incorrect geolocation, but this can be fixed by using another IP data detection service.

@dr3adx
Copy link
Author

dr3adx commented Oct 5, 2024

@CheshireCaat
but what engine version did you use? fingerprint version doesnt matter, u must use engine >= 27.8.1 because issue is not present in previous engine versions

my code is:


const { plugin } = require('playwright-with-fingerprints');
const { BOT_FP_APIKEY } = require('./config/config');
const path = require('path')

plugin.useBrowserVersion('128.0.6613.85')

let main = async () => {
    plugin.setServiceKey(BOT_FP_APIKEY)
    const fingerprint = await plugin.fetch({
        tags: ['Android', 'Chrome'],
        // Fetch fingerprints only with a browser version higher than 125:
        minBrowserVersion: 128,
        // Fetch fingerprints only with a browser version lower than 127:
        maxBrowserVersion: 128,
        // Fetch fingerprints only collected in the last 15 days:
        timeLimit: '7 days',
        maxWidth: 1200,
        maxHeight: 820
    });

    plugin.useProxy('', { changeBrowserLanguage: true, changeGeolocation: true, changeTimezone: true })

    plugin.useFingerprint(fingerprint, {
        // It's disabled by default.
        emulateDeviceScaleFactor: true,
        safeElementSize: true,
        // It's enabled by default.
        safeBattery: true,
        safeCanvas: true,
        safeWebGL: true,
    });


    // Launch the browser instance:
    const browser = await plugin.launch({
        headless: false,
        key: BOT_FP_APIKEY
    });


    // The rest of the code is the same as for a standard `playwright` library:
    const page = await browser.newPage();
    await page.goto('https://pixelscan.net');

    await sleep(10000e3)
}

main()

@CheshireCaat
Copy link
Owner

CheshireCaat commented Oct 5, 2024

@dr3adx i use the latest one, currently it's 27.9.2.

  1. You are using the 127 engine, but you are requesting the 128 version of the browser. This is not critical, but ideally the fingerprint should match the engine version.
  2. The critical thing (for me) in your code is that you are requesting an Android fingerprint, while you have not reported anywhere that the problem is with the emulation of a mobile device.

I'll try to figure out what the problem is. I tested everything on desktop fingerprints - there is no such problem there.

@dr3adx
Copy link
Author

dr3adx commented Oct 5, 2024

@CheshireCaat sorry I had pasted wrong code because I tested so many versions, I edited my reply above. It only happens when using engine >= 128.0.6613.85 (127 and below works) and looks like you're right it only happens on Android fingerprint (I reckon it happened on windows too but ill report back if anything changes), however Adroid fingerprints worked without being flagged in <= 127 versions

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants