feat(privacy): borrow ungoogled-chromium degoogling patches (no domain-sub/pruning) - #7
Open
daniel-farina wants to merge 1 commit into
Open
feat(privacy): borrow ungoogled-chromium degoogling patches (no domain-sub/pruning)#7daniel-farina wants to merge 1 commit into
daniel-farina wants to merge 1 commit into
Conversation
…n-sub/pruning)
Strip the remaining Google phone-home / telemetry / tracking channels from the Chromium
base using ungoogled-chromium's patch series, without disturbing Xplorer's Grok integration
or branding.
What's included:
- patches/ungoogled/: 24 active degoogling patches (vendored verbatim from ungoogled
149.0.7827.155-1), each verified to apply cleanly to our Chromium 151 pin via
`git apply --check`; 11 more vendored but quarantined (drift / capability tradeoffs).
- scripts/apply_ungoogled.sh + .ps1: best-effort, idempotent apply pass wired into
apply.sh / apply.ps1 AFTER apply_integration.py so Grok + branding stay authoritative.
- scripts/check_ungoogled_patches.sh: read-only `git apply --check` validation gate.
- build/args.gn{,.x64,.win,.linux}: 7 build-safe degoogling GN flags (enable_reporting,
enable_remoting, enable_mdns, enable_service_discovery, enable_hangout_services_extension,
disable_fieldtrial_testing_config, exclude_unwind_tables).
- VERSIONS: records the Chromium + ungoogled pins.
- docs/UNGOOGLED.md: compatibility report, per-patch status, and the update process.
- README: generic Acknowledgements credit to ungoogled-chromium (BSD-3-Clause).
Deliberately excluded: domain substitution (qjz9zk), binary pruning, and any patch touching
default search / new-tab / branding (they fight Xplorer's Grok-default + branding edits).
safe_browsing_mode=0 is held back because its companion build-fix patches do not yet apply
to 151 (quarantined) and the flag alone would break the link.
Not built/verified yet — applies-clean only; build verification pending.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
daniel-farina
marked this pull request as ready for review
June 22, 2026 04:33
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What
Borrows the degoogling patches from ungoogled-chromium to strip the remaining Google phone-home / telemetry / tracking out of the Chromium base — without touching Xplorer's Grok integration or branding.
Full write-up:
docs/UNGOOGLED.md.Scope (as agreed)
qjz9zk) and ❌ no binary pruning — those break legit Google sign-in / Chrome Web Store / Translate for little gain.apply_integration.py.grok.com/x.com(not Google domains) → unaffected by everything here.Version-skew reality
ungoogled's newest release is 149.0.7827.155-1; they have no 150/151. We pin Chromium 151.0.7897.0 — ~2 milestones ahead. So patches were selected by validating each against our real 151 tree with
git apply --check; drifted ones are quarantined, not applied. Pins recorded inVERSIONS.What's in
patches/ungoogled/— 24 active patches (vendored verbatim), all verified APPLIES clean to 151 after our overlay. RLZ, GCM, GAIA, crash/WebRTC-log/domain-reliability/avatar uploads, update pings, field-trial fetching, fonts.googleapis, battery-status fingerprinting, DIAL/intranet probes, missing-API-key nags, etc. + 11 quarantined (vendored, not applied).scripts/apply_ungoogled.sh/.ps1— best-effort, idempotent apply pass, wired intoapply.sh/apply.ps1afterapply_integration.pyso Grok + branding stay authoritative; a drifted patch is logged, never fatal.scripts/check_ungoogled_patches.sh— read-onlygit apply --checkgate (CI / pre-bump).build/args.gn{,.x64,.win,.linux}— 7 build-safe degoogling GN flags.[B]indocs/UNGOOGLED.md):disable-gaia(no browser-level Google sign-in/sync — does not affect website "Sign in with Google"),doh-changes(Secure-DNS defaults),default-webrtc-ip-handling-policy. Drop any line frompatches/ungoogled/seriesto opt out.safe_browsing_mode=0held back — its companion build-fix patches fail on 151 (quarantined); enabling it alone would break the link. Runtime SB reporting is already removed by the active iridium patches.Verification
🤖 Generated with Claude Code