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

[bug] cromite on android being detected as a bot due to viewport size protection #14

Open
unixfox opened this issue Dec 5, 2024 · 4 comments
Labels
bug Something isn't working wontfix This will not be worked on

Comments

@unixfox
Copy link

unixfox commented Dec 5, 2024

Hello,

Cromite a popular fork of chromium with many privacy features, has a feature called "viewport size protection". The feature is added through this patch: https://github.com/uazo/cromite/blob/master/build/patches/Viewport-Protection-flag.patch

When this feature is enabled, brotector detects some odd behavior from cromite and thinks that it's a bot:

screen-20241205-231140.1.mp4
screen-20241205-233102.mp4

I think it's probably because the viewport size given to the website is not the correct one of the device?

@kaliiiiiiiiii
Copy link
Owner

I think it's probably because the viewport size given to the website is not the correct one of the device?

Uh yes that could indeed be the case. Actually related to ScreenX/Y for mouse move, click etc. events

@kaliiiiiiiiii
Copy link
Owner

kaliiiiiiiiii commented Dec 5, 2024

https://github.com/uazo/cromite/blob/32fa8435523f71f1d2b6ac2facdea91e874c6904/build/patches/Viewport-Protection-flag.patch#L239

Though, this is a very rare case I think. Suppose some antibots would be willing to block users having that specific feature enabled.

=> good to know, but probably not as relevant?

@kaliiiiiiiiii kaliiiiiiiiii added bug Something isn't working wontfix This will not be worked on labels Dec 5, 2024
@unixfox
Copy link
Author

unixfox commented Dec 5, 2024

What do you think of doing an exception for mobile users only?

Something like:

if(e.pageY == e.screenY && e.pageX == e.screenX && !navigator.userAgentData.mobile){var score=1}else{var score=0};

@kaliiiiiiiiii
Copy link
Owner

What do you think of doing an exception for mobile users only?

Something like:

if(e.pageY == e.screenY && e.pageX == e.screenX && !navigator.userAgentData.mobile){var score=1}else{var score=0};

Maybe a better score, year.
Even though arguably - the score calculation isn't implemented properly anyways.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug Something isn't working wontfix This will not be worked on
Projects
None yet
Development

No branches or pull requests

2 participants