stealth: keep the Chrome 145 identity consistent across TLS, JS, and WebGL

Stealth mode forced a Linux navigator UA and platform but reported Windows
in userAgentData.getHighEntropyValues and served Windows Direct3D11 WebGL
renderers, a combination no real Linux Chrome ever produces and that
cross-layer fingerprint checks flag. Present one consistent Windows Chrome
145 identity instead: the wreq emulation uses Platform::Windows, and the
navigator surfaces read the UA and platform from shared constants so the
HTTP User-Agent header, sec-ch-ua-platform, navigator.userAgent, and
userAgentData all agree. userAgentData brands are now derived from the
Chrome major version via Chromium's GREASE algorithm rather than a single
hardcoded token, and a Linux WebGL renderer pool is added so a Linux UA can
never report a Direct3D11 renderer.
This commit is contained in:
SGavrl committed 2026-06-22 22:19:16 +00:00
1 parent dc780d77e4
commit 4309935abd
4 files changed
+74 -39

No files matched your search

+4 -1
View File
@@ -19,4 +19,7 @@ pub use encoding::{
pub use robots::RobotsCache;
pub use blocklist::is_blocked as is_tracker_blocked;
#[cfg(feature = "stealth")]
pub use wreq_client::{StealthHttpClient, STEALTH_USER_AGENT};
pub use wreq_client::{
StealthHttpClient, STEALTH_NAVIGATOR_PLATFORM, STEALTH_UA_PLATFORM,
STEALTH_UA_PLATFORM_VERSION, STEALTH_USER_AGENT,
};