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

I guess stealth.min.js is detectable using the Default Device, wondering if we could change webgl, etc, through the API #20

Open
NuLL3rr0r opened this issue Jun 26, 2022 · 2 comments

Comments

@NuLL3rr0r
Copy link

When I visit https://amiunique.org/fp and https://coveryourtracks.eff.org/ using:

	page := stealth.MustPage(browser)
	page.MustEmulate(devices.Device{
		Title: "Custom Linux Desktop",
		UserAgent:      "Mozilla/5.0 (X11; Ubuntu; Linux i686; rv:24.0) Gecko/20100101 Firefox/24.0)",
		AcceptLanguage: "en",
	})
	page.MustNavigate("https://amiunique.org/fp")

AmIUnique always shows Intel Iris as a graphics card and EFF says my browser's fingerprint is unique and detectable. If I visit using my regular desktop Brave browser it says: your browser has a randomized fingerprint. So, is there any way to customize those through go-rod/stealth?

It seems there might be ways to change or randomize those using JavaScript here and here for example. But, I couldn't find a way in the API to allow me to do that.

So relevant issue on berstend/puppeteer-extra that might explain the issue better.

In a regular browser either Firefox or Chrome if you look for Fingerprint extensions there are some extensions that do a good job at randomizing the Fingerprint. They even notify you when an attempt is made by the website you are visiting Fingerprint you. If we could load these extensions, using rod they might be able to do the job. Sadly, it seems load-extension not working in my Firefox tests, haven't tested with chrome yet. But, I remember chromedp had no way to do that. Especially if I load an existing user data-dir. If I recall correctly, I saw some comments in the rod doc that NewUserMode might not be usable in such scenarios as well.

I appreciate it if you head me in the right direction. Thank you!

@ysmood
Copy link
Member

ysmood commented Jun 27, 2022

You can eval any js you like with rod, if it works for you, you can share your solution with a PR to this project, I think that will help a lot of developers.

Rod supports exntensions, check the example

https://github.com/go-rod/rod/blob/9aab67b659ecdf50d17152ca0eb7a547c5f4aa1c/examples_test.go#L570-L590

@NuLL3rr0r
Copy link
Author

Thank you very much! Will check them out and let you know once I made them work.

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