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

creepjs doesn't trust me at all #31

Open
mannok opened this issue Jul 26, 2023 · 6 comments
Open

creepjs doesn't trust me at all #31

mannok opened this issue Jul 26, 2023 · 6 comments

Comments

@mannok
Copy link

mannok commented Jul 26, 2023

I use the sample code directly to test with headful mode, code as below. However, creepjs assess me with 0% score... Is there anything I missed?

import { plugin } from "puppeteer-with-fingerprints";

(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 browser = await plugin.launch({ headless: false });

  // The rest of the code is the same as for a standard `puppeteer` library:
  const page = await browser.newPage();
  await page.goto('https://abrahamjuliot.github.io/creepjs');

  // Print the browser viewport size:
  console.log(
    'Viewport:',
    await page.evaluate(() => ({
      deviceScaleFactor: window.devicePixelRatio,
      width: document.documentElement.clientWidth,
      height: document.documentElement.clientHeight,
    }))
  );

  await browser.close();
})();

Please see screenshot below
image

@bablosoft
Copy link
Collaborator

In order to bypass creepjs test, you need to use PerfectCanvas, it would be nice to install FontPack also.

https://wiki.bablosoft.com/doku.php?id=perfectcanvas

https://wiki.bablosoft.com/doku.php?id=fontpack

You also need to obtain fingerprint with same version as current Chrome version.

It works at least with BAS.

NVIDIA_Share_2023-07-26_12-41-39 NVIDIA_Share_2023-07-26_12-45-35

@mannok
Copy link
Author

mannok commented Jul 26, 2023

@bablosoft I am interested in pro version, but I wish I could ensure it can really bypass creepjs from my side first. May I know if there is a trail license or refund policy?

btw, what do you mean by current chrome version? You mean the latest version or the one installed in my PC?

@bablosoft
Copy link
Collaborator

bablosoft commented Jul 26, 2023

I am interested in pro version, but I wish I could ensure it can really bypass creepjs from my side first.

I've tested it only with BAS (https://bablosoft.com/shop/BrowserAutomationStudio) It passes correctly. As you see on screenshot.

Note, that only using paid version is not enough, you need to use PerfectCanvas and FontPack.

May I know if there is a trail license or refund policy?

There is only demo - using empty key.

Refund is available if key is not used, or if there is critical issue which is not fixed during 5 working days.

https://community.bablosoft.com/topic/12199 - but we have researching site protection program and it is free.

btw, what do you mean by current chrome version? You mean the latest version or the one installed in my PC?

puppeteer-with-fingerprints ships with several browser versions, right now it is 115 and 114. You can select browser version like this:

https://github.com/CheshireCaat/puppeteer-with-fingerprints#configuring-browser-version

Selected browser version must match browser version from fingerprint, otherwise discrepancies could be detected.

I think, I'll pin this ticket.

@bablosoft bablosoft pinned this issue Jul 26, 2023
@mannok
Copy link
Author

mannok commented Jul 26, 2023

Thanks @bablosoft , I wonder if I required to use perfectcanvas and fontpack with BAS? Can I use them without BAS? Since I found all the tutortial you provided is for integration with BAS

btw, one more question, to clear my knowledge.

It is important to understand, that “PerfectCanvas request” is required only once per site, not for each fingerprint request. So, after obtaining it single time, you can reuse it to get and work with multiple fingerprints.

May I know the underlying technology? How can we assume the PerfectCanvas request is required only once per site? What if the site ask us to draw another image/text or ask for another quest next time?

@bablosoft
Copy link
Collaborator

Can I use them without BAS?

Yes, you need to specify PerfectCanvas when fetching fingerprint.

https://github.com/CheshireCaat/browser-with-fingerprints/blob/master/src/index.d.ts#L189

FontPack and PerfectCanvas are enabled by default:

https://github.com/CheshireCaat/browser-with-fingerprints/blob/2b6c5dd274b84ee74aa3414e2cde1238b0d82dfe/src/index.d.ts#L63

https://github.com/CheshireCaat/browser-with-fingerprints/blob/2b6c5dd274b84ee74aa3414e2cde1238b0d82dfe/src/index.d.ts#L72

Also note, BAS contains more features regarding anonymity than puppeteer-with-fingerprints, for example it protects from detection of javascript execution. So if you have really strong security, you should consider using it.


How can we assume the PerfectCanvas request is required only once per site? What if the site ask us to draw another image/text or ask for another quest next time?

In that case it would be much harder for site to compute uniqueness of value, each new challenge means collecting new database. If request is random each time, you are safe to use noise or real values for that particular item.

CanvasInspector also has feature to show if request is changed. You can try by yourself, it is free.

NVIDIA_Share_2023-07-26_14-55-00 NVIDIA_Share_2023-07-26_14-55-49

@mannok
Copy link
Author

mannok commented Jul 26, 2023

@bablosoft wow! So detail and thanks for your clear explanation. Let me try in depth with BAS and all component from bablosoft. If everything goes fine then my team will adopt this for sure. Thanks a lot!

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