mirror of
https://github.com/kuhyx/testsAndMisc.git
synced 2026-11-12 08:31:03 +01:00
Chromium 151 removed the last Manifest V2 code paths and the Web Store purged uBlock Origin on 2026-08-31, so ungoogled-chromium 153 cannot load the full blocker any more. Helium (GPL-3, ungoogled-chromium base) bundles uBO 1.75.0 as a component extension and keeps MV2 alive. - installers/install_helium.sh: pacman deps, AUR via yay or makepkg (+validpgpkeys import), /usr/local/bin/helium-browser -> browser-preexec-wrapper so LeechBlock NG and the hosts refresh still apply, --clone-profile with a downgrade check and running-browser refusal, then the verifier. Passed in vmbox from scratch, then host. - installers/verify_helium.py: Xvfb + DevTools exit-code gate — uBO background_page + manifest_version 2, every /etc/chromium/policies key on chrome://policy (Helium reads that dir natively), adblock-tester >= 95. - installers/migrate_helium_passwords_to_basic.py: lightdm autologin leaves gnome-keyring locked, so the 5 v11 logins make Helium prompt on every launch; this re-encrypts them as v10 and only then enables --password-store=basic. - register helium-browser in aur_packages.txt and the periodic browser wrapper/service lists; pylint hook gets websockets + cryptography; codespell learns the vendor name; anthropic 1.6.0 -> 1.7.0 (gate red); oldest evidence artifact pruned to stay under the 60-file cap. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01M8YGXVZdNUG79q5DGsdMm3
20 lines
2.7 KiB
JSON
20 lines
2.7 KiB
JSON
{
|
|
"title": "Helium: full uBlock Origin (MV2) on a Chromium browser, with the Chromium profile cloned",
|
|
"objective": "Plain chromium (ungoogled-chromium 153) can no longer load full uBlock Origin: Chromium 151 removed the last MV2 code paths and the Web Store purged uBO on 2026-08-31. Install Helium (GPL-3, ungoogled-chromium base, bundles uBO as a component extension), clone the whole Chromium profile into it, keep the machine's browser wrapper (hosts-blocker refresh + LeechBlock NG) and the /etc/chromium policies in force, and prove all of it by exit code rather than a screenshot.",
|
|
"acceptance_criteria": [
|
|
"`verify_helium.py` exits 0 on the real profile: uBO has a background_page target and manifest_version 2 (not uBO Lite); every key in /etc/chromium/policies/managed/*.json appears on chrome://policy; adblock-tester.com scores >= 95/100.",
|
|
"`/usr/local/bin/helium-browser` resolves to browser-preexec-wrapper, so a Helium launch from dmenu or a shell gets the same LeechBlock NG --load-extension and hosts refresh as chromium.",
|
|
"`~/.config/net.imput.helium/Default` holds the same file list as `~/.config/chromium/Default`; Singleton* lock files are not carried; `~/.config/chromium` is untouched.",
|
|
"`install_helium.sh --clone-profile` runs end to end in a pristine vmbox guest (installs its own pacman deps, builds the AUR package without yay via makepkg + PGP key import) and then idempotently on the host.",
|
|
"`migrate_helium_passwords_to_basic.py` converts every v11 `logins` row to v10, round-trip-verifies each before writing, backs up `Login Data` first, refuses while Helium runs, and only then appends --password-store=basic to ~/.config/helium-browser-flags.conf so no restart can land between flag-on and rows-converted.",
|
|
"helium-browser-bin is listed in fresh-install/aur_packages.txt and helium-browser in the periodic browser wrapper + service-check lists."
|
|
],
|
|
"out_of_scope": [
|
|
"Changing the default browser: it is librewolf, not chromium, so the Q4 answer's premise was wrong and the switch is held for an explicit yes.",
|
|
"Removing ungoogled-chromium; it stays installed as the fallback.",
|
|
"Refreshing the stale installed browser-preexec-wrapper (template in ~/src/system-maintenance has crash logging the host copy lacks).",
|
|
"The unrelated uncommitted python_pkg/android_ui + phone_lease work in the tree, which is what drags pytest-coverage below 100% in the full-tree hook run."
|
|
],
|
|
"verifier": "verify_helium.py on the host profile (3/3 PASS, score 96) and inside vmbox after a from-scratch install; pre-commit run --files on every staged file; the os_crypt scheme in the migration script validated by decrypting + round-tripping 5 real v10 cookie blobs with the basic key (no keyring touched, no secrets printed)."
|
|
}
|