Web Browsing: From My Paranoid Transgender Brain to Yours
Web browsers are kind of awful. They do too much; why would I want an application to be an image viewer, pdf reader, media player, and HTML renderer? As a result of this massive scope, they are bloated beyond belief. They strain developer resources, require sandboxing because of the insane default that JavaScript is arbitrarily executed, and yet, they're the most prolific method of application distribution in the modern day.
Unfortunately, web browsers have become the most convenient place for many to do their computing, so, with this page, I’m trying to define a more sane functionality for the browser I use—LibreWolf.
Why LibreWolf?
LibreWolf is a fork of Firefox, the last browser standing against the Chromium hegemony. Firefox itself has issues with telemetry and sanity—for information on this topic and the changes made in LibreWolf, see here. If you’re not going to use Librewolf, at least choose your browser carefully.
In addition to the modifications and extensions listed here, my
script,
xdg-sanity
, can be used to prevent your web browser
from being used to open remote content that has a MIME type other than
text/html
.
Modifications to about:config
These settings are advanced user settings, and I’m not responsible for misconfigured browsers, broken web pages, or thermonuclear war.
Disable or Enable Features
browser.tabs.insertAfterCurrent = true
browser.urlbar.trimURLs = false
image.jxl.enabled = true
widget.use-xdg-desktop-portal = true
dom.event.contextmenu.enabled = false
extensions.screenshots.disabled = true
browser.quitShortcut.disabled = true
reader.parse-on-load.enabled = false
-
services.sync.prefs.sync.extensions.activeThemeID = false
Forces tabs to open to the right of the current tab.
Disables the automatic trimming of the URL scheme from the URL bar.
Enables JPEG XL support in LibreWolf.
Allows Firefox to use KDE Plasma filechooser on GNU/Linux.
Prevents site from blocking the context menu from being opened.
Disables redundant in-app screenshots.
Disables ctrl+q quit shortcut.
Disables reader mode.
Prevents automatic application of themes on new devices.
Disable Digital Rights Management
What is DRM and why would I want to disable it?
-
media.gmp-widevinecdm.enabled = false
-
media.gmp-widevinecdm.visible = false
Privacy
geo.enabled = false
beacon.enabled = false
dom.enable_resource_timing = false
-
dom.event.clipboardevents.enabled = false
-
dom.battery.enabled = false
network.prefetch-next = false
-
browser.cache.check_doc_frequency = 0
Disables location tracking.
Prevents sites from being able to see what text you copied or cut and when you did it.
DNS over HTTPS
Read about DOH here.
-
network.trr.uri = ""
network.trr.mode = 2
Select a DNS-over-HTTPS server to use—I use the dnswarden adblocking one, but if your polity censors your internet access, you should use the uncensored one. There is a list of alternatives available on GitHub.
This sets HTTPS over DNS to be on unless the DNS server cannot be reached.
Header Sanitization
-
network.http.referer.spoofSource = true
-
network.http.referer.hideOnionSource = true
Extensions
When it comes to extensions, fewer is better, so try to limit your extensions to the minimum you need to browse the web. This helps reduce the performance impact and fingerprintability of your browser. The following are a list of extensions you can give the boot:
- For many use cases, containerization extensions like Facebook Container or Google Container are redundant with Total Cookie Protection and Enhanced Cookie Clearing.
- The I don't care about cookies extension has been acquired by Avast , and the extension itself is superfluous with the recommended uBlock Origin filter lists below.
- Privacy Badger has multiple issues, including its lack of fingerprinting protection, its connection to Fastly CDN, and its redundancy with uBlock Origin.
If there is any extension you feel is missing from this list, feel free to send me a git patch through e-mail adding it along with a description as to why you believe it should be included. Before contacting me, please read through the whole list and the DON'T BOTHER section of arkenfox’s extensions page.
Standard Privacy Extensions
-
Privacy Pass – Stores tokens to bypass captchas.
-
uBlock Origin – Ad blocking, cosmetic filtering, malicious script protection, and tracker blocking; all in one package. Here is a list of useful blocklists:
- ClearURLs functionality ( read more) [TXT]
- To replace I don't care about coookies' functionality, enable the EasyList Cookie list and manually add the officially-provided blocklist. [TXT]
- Other annoyances
Advanced Privacy Extensions
Tools
-
Bypass Paywalls – Bypasses paywalls for some sites.
-
FireMonkey – Lightweight user script and style manager utilizing native Firefox APIs to support userscripts from sources like GreasyFork and OpenUserJS as well as Stylish themes from Userstyles.
-
Flagfox – Displays information about a website’s physical location and IP address in the address bar.
-
FoxyProxy Standard / Basic – Advanced proxy manager which replaces Firefox’s lacking settings.
-
LibRedirect – Redirects services like Twitter and YouTube to their privacy-respecting front-ends or alternatives.
-
GNU LibreJS – Extension that blocks all but freely licensed JavaScript.
-
New Tab Suspender – Tab management extension that puts tabs to sleep after a set amount of time using the native Firefox discard API.
-
Web Archives – Allows you to easily open web pages at various archive sources such as the Wayback Machine.
LibreJS will prevent a large amount of many websites’ JavaScript from loading.
Further Reading
- Add a pref to disable Do Not Track in Firefox
- arkenfox/user.js Wiki
- Farbling-based wrappers to hinder browser fingerprinting
- Firefox — Spyware Watchdog
- PrivacyTests.org
- Revocation is Broken
- Sync custom preferences
- Tor font fingerprinting defenses roadmap
- Trinity’s browser extensions
Fingerprinting Tests