Skip to content

Tor-mode OS-spoof: force Windows identity (Tor Browser cohort)#40

Merged
mdheller merged 1 commit into
mainfrom
tor-os-spoof
Jun 20, 2026
Merged

Tor-mode OS-spoof: force Windows identity (Tor Browser cohort)#40
mdheller merged 1 commit into
mainfrom
tor-os-spoof

Conversation

@mdheller

Copy link
Copy Markdown
Contributor

Adds the compile-time OS-spoof patch so Tor mode presents the Windows identity on all desktop platforms (Tor Browser cohort). Applies cleanly to firefox-140.12.0 (verified locally + CI tor-esr-patch-apply). Gated on -DBEARBROWSER_FORCE_WIN_SPOOF, set only in the tor-mode build. Compile-verification lands with the Forgejo build.

🤖 Generated with Claude Code

The last identity lever: Tor Browser presents the Windows UA/oscpu/appVersion/
platform for ALL desktop platforms so Mac/Linux users hide in the majority.
RFP ignores general.*.override, so this is a patch.

Far smaller than the original SPEC: every spoofed value except navigator.
platform flows from the SPOOFED_* macros in nsRFPService.h (UA via
nsRFPService, oscpu/appVersion via Navigator + WorkerNavigator, workers via
RuntimeService calling Navigator::Get*). So one #ifdef in the header forces
them consistently; navigator.platform (the one hardcoded site) gets a one-line
condition. No per-site coordination, no runtime pref, no inconsistency risk.

Gated on -DBEARBROWSER_FORCE_WIN_SPOOF, set in the tor-mode mozconfig by
apply-sourceos-overlays.sh (which also injects the patch). Default 150 build
never defines it -> real OS. maxTouchPoints stays 0 (Tor desktop), not 10.

Verified: applies cleanly to firefox-140.12.0 locally; CI tor-esr-patch-apply
now registers it. Compile-verification lands with the Forgejo build. The
.SPEC.md (original ~8-site runtime approach) is superseded by this patch.
@mdheller mdheller merged commit 001e312 into main Jun 20, 2026
17 checks passed
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

Successfully merging this pull request may close these issues.

1 participant