Skip to content

Releases: rjc3rd/PrivacyFox

v0.3.3 -- fix inaccurate user.js claim

Choose a tag to compare

@rjc3rd rjc3rd released this 15 Sep 21:31

Fixes a factual error caught by the user directly questioning the "LibreWolf is currently running" refusal message: it claimed LibreWolf "rewrites user.js/prefs.js on exit," which isn't true. LibreWolf only ever reads user.js, once, at startup -- it never writes to it.

What's actually true: prefs.js (a different file -- the live preference state) is written on clean shutdown, which is the real reason applying/reverting requires LibreWolf closed. A new user.js written while the browser is open has no effect until the next full restart regardless.

Corrected the wording in the CLI's refusal message, install.sh's equivalent, and the man page.

Rebuilt, lintian-clean.

v0.3.2 -- no more auto-launching LibreWolf

Choose a tag to compare

@rjc3rd rjc3rd released this 15 Sep 19:59

Removes the automatic LibreWolf launch that ran after both --apply and --revert. Found by actually running the full uninstall sequence: --revert relaunched LibreWolf right after restoring the profile, meaning getting to sudo apt purge privacyfox next required closing LibreWolf again first -- the wrong default for a tool meant to be run and tested repeatedly.

Neither mode launches the browser now, in either direction -- you're in charge of opening and closing your own LibreWolf. The same fix was applied to install.sh (the direct, no-package install path).

Left untouched, deliberately: the brief headless launch-then-kill --apply uses to bootstrap a missing profile on a first-time install. That's not a real launch (nothing stays running, no window appears), and it's still needed -- otherwise there'd be nothing for --apply to write into.

Retested all three scenarios (apply/revert with an existing profile, apply with none) against a fake profile + a fake librewolf binary that logs its own invocations, confirming the exact launch behavior rather than just re-reading the code.

Rebuilt, lintian-clean.

v0.3.1 -- rename to privacyfox --apply/--revert

Choose a tag to compare

@rjc3rd rjc3rd released this 15 Sep 19:27

Renames the command from privacyfox-apply to privacyfox, and switches from "no args = apply" to explicit flags -- caught before v0.3.0's --revert addition was ever run by anyone.

privacyfox --apply     # was: privacyfox-apply
privacyfox --revert    # was: privacyfox-apply --revert

Bare privacyfox (or -h/--help) now prints a real two-mode usage summary and exits 0; an unrecognized flag prints the same summary and exits 1.

v0.3.0 was published and superseded within the same session, before any real-world install -- no migration path needed for the old name.

Rebuilt, lintian-clean, man page re-rendered and checked for formatting issues before trusting it.

v0.3.0 -- privacyfox-apply --revert

Choose a tag to compare

@rjc3rd rjc3rd released this 15 Sep 19:22

Adds privacyfox-apply --revert, closing a real gap found by actually testing a full uninstall: sudo apt purge privacyfox correctly undoes the system-wide side (policies.json, force-installed extensions), but was never able to touch the profile's user.js/userContent.css since those live in $HOME, same restriction that keeps the initial apply step out of postinst in the first place.

--revert restores the newest pre-PrivacyFox backup of user.js and userContent.css (made automatically on every apply run), or removes the file outright if no backup exists -- i.e. that profile had neither file before PrivacyFox touched it.

Correct full-uninstall order:

privacyfox-apply --revert
sudo apt purge privacyfox

Run --revert first -- purge removes the privacyfox-apply command itself along with the rest of the package.

Also fixes: apply now backs up userContent.css before overwriting it too (previously only user.js was backed up), and the man page's SEE ALSO section, which still named the old distribution/policies.json path from before 0.2.1's conffile-collision fix.

Tested against a fake profile before trusting it: real apply/backup/revert cycle, plus the no-backup case (profile that never had either file). Rebuilt, lintian-clean.

v0.2.1 -- Fix conffile-collision bug, add clean purge

Choose a tag to compare

@rjc3rd rjc3rd released this 15 Sep 19:02

Fix a real conffile-collision bug found while explaining the packaging mechanism to a user: policies.json was being written to /distribution/policies.json, a path confirmed (via dpkg -S) to be real content LibreWolf's own package ships, and confirmed (via dpkg-query -W -f='${Conffiles}') to NOT be a registered conffile. That meant zero dpkg protection -- any routine apt upgrade of librewolf could have silently overwritten it back to stock, quietly undoing this project's hardening with no warning.

Fixed by switching to /etc/librewolf/policies/policies.json, the other real location Firefox's policy engine reads (confirmed from Mozilla's own docs), and confirmed genuinely unclaimed before the change.

Adds packaging/postrm, previously missing entirely: sudo apt purge privacyfox now correctly removes the system policies.json and any backups on purge (not plain remove), cleaning up the empty directories it created. Tested both cases in isolation.

postinst simplified as a side effect -- no longer needs LibreWolf install-dir detection, since Depends: librewolf already guarantees it's present.

Rebuilt, lintian-clean.

v0.2.0 -- Target switched to LibreWolf

Choose a tag to compare

@rjc3rd rjc3rd released this 15 Sep 17:13

Major change: PrivacyFox now targets LibreWolf, not Waterfox. Waterfox's own native ad-blocking engine had a structural startup-timing conflict with policy-driven extension installs that three separate fix attempts (v0.1.2-v0.1.4) couldn't resolve. LibreWolf has no native ad-blocker to conflict with -- ships uBlock Origin itself by default -- so the whole bug category doesn't exist there.

PrivacyFox.js is a real, documented diff against LibreWolf's own actual hardening (not Arkenfox+Betterfox applied blindly on top): 118 of 207 prefs already overlap, 3 genuine disagreements are deliberately left as LibreWolf's own choice, 89 real additions remain. policies.json is a real merge into LibreWolf's current upstream file, not a from-scratch one.

Install:

wget https://github.com/rjc3rd/PrivacyFox/releases/download/v0.2.0/privacyfox_0.2.0_all.deb
sudo apt install ./privacyfox_0.2.0_all.deb
privacyfox-apply

v0.1.4

Choose a tag to compare

@rjc3rd rjc3rd released this 15 Sep 16:28

Real, deterministic fix for the install-time 'keep built-in blocker?' warning dialog. Traced the exact logic in Waterfox's own source rather than guess: waterfox.blocker.coexist is checked unconditionally at the top of every detection/notification/install-warning function -- setting it true via policy means none of that machinery runs at all, no timing race involved. Supersedes 0.1.3's speculative attempt. The native blocker was always genuinely disabled underneath (confirmed by real testing); this removes the last visible trace of the switch, addressing real concern that a public tool showing unexplained warnings undermines trust.

Install:

wget https://github.com/rjc3rd/PrivacyFox/releases/download/v0.1.4/privacyfox_0.1.4_all.deb
sudo apt install ./privacyfox_0.1.4_all.deb
privacyfox-apply

v0.1.3

Choose a tag to compare

@rjc3rd rjc3rd released this 15 Sep 16:09

Attempts to suppress the install-time 'keep built-in blocker?' dialog for uBlock Origin by preemptively marking it as an already-dismissed warning via policy. Honest caveat: this uses the same policy-application mechanism as the pref that's already confirmed working (the blocker really does stay locked off, regardless of what this dialog shows or which button gets clicked) -- so it may or may not eliminate the dialog itself, depending on whether it hits the same startup-timing race. Worth trying; the underlying protection was already solid before this change.

Install:

wget https://github.com/rjc3rd/PrivacyFox/releases/download/v0.1.3/privacyfox_0.1.3_all.deb
sudo apt install ./privacyfox_0.1.3_all.deb
privacyfox-apply

v0.1.2

Choose a tag to compare

@rjc3rd rjc3rd released this 15 Sep 15:00

Real-world test finding fixed: Waterfox's native ad-blocking engine is now disabled at the policy level (locked, before first launch) rather than left to Waterfox's own reactive extension-conflict detection -- eliminates a leftover toolbar indicator and unexplained prompt that showed up on a genuine fresh-install test.

Install:

wget https://github.com/rjc3rd/PrivacyFox/releases/download/v0.1.2/privacyfox_0.1.2_all.deb
sudo apt install ./privacyfox_0.1.2_all.deb
privacyfox-apply

v0.1.1

Choose a tag to compare

@rjc3rd rjc3rd released this 15 Sep 13:56

Merged Arkenfox + Betterfox hardening (206 unique prefs, no override-order ambiguity), a policies.json layer (Accounts/Sync off, default-browser nag off, seven force-installed privacy extensions incl. Privacy Badger), a small cosmetic userContent.css cleanup, and installers that bootstrap a Waterfox profile and launch it for you automatically -- no manual steps beyond having Waterfox installed.

Install:

wget https://github.com/rjc3rd/PrivacyFox/releases/download/v0.1.1/privacyfox_0.1.1_all.deb
sudo apt install ./privacyfox_0.1.1_all.deb
privacyfox-apply

Or clone the repo and run ./install.sh directly. See the README for full details.