--- layout: page title: Browser extensions I often end up installing permalink: /browser-extensions.html sitemap: true excerpt: "Browser advanced configuration that tends to not sync" redirect_from: - /firefox.html - /firefox-extensions.html - /firefox-addons.html - /chrome.html - /chromium.html lang: en --- Browser extensions are living in my browser policies. - [Firefox](https://gitea.blesmrt.net/mikaela/shell-things/src/branch/master/etc/firefox/policies) - [Chromium](https://gitea.blesmrt.net/mikaela/shell-things/src/branch/master/etc/opt/chromium/policies/managed) Automaattinen sisällysluettelo / Automatically generated Table of Contents - [Chromium flags](#chromium-flags) - [Vendor-prefixed](#vendor-prefixed) - [Firefox about:config](#firefox-aboutconfig) - [Advertising](#advertising) - [Cookie banner blocking](#cookie-banner-blocking) - [DNS over HTTPS](#dns-over-https) - [SSDs](#ssds) # Chromium flags These can generally be found from `about:flags` on Chromium based browsers, for Vivaldi explicit `vivaldi://flags` is required and it also has `chrome://settings` for the usual Chromium settings. - `#enable-quic` - enabled - `#enable-force-dark` - enabled with increased text constract - `#force-color-profile` - sRGB - `#trust-tokens` - enabled ## Vendor-prefixed These likely also exist, but just without the `vendor-` part when searhcing. - `#edge-automatic-https` - enabled - `#edge-autoplay-user-setting-block-option` - `#edge-tab-groups` - enabled - `#edge-tab-groups-auto-create` - enabled - `#edge-tab-groups-collapse-freezing` - enabled # Firefox about:config _On LibreAwoo or autoconfig, refer to my [conf/librewolf.overrides.cfg in my shell-things repo](https://gitea.blesmrt.net/mikaela/shell-things/src/branch/master/conf/librewolf.overrides.cfg) which has kind of replaced this section?._ - `security.certerrors.mitm.auto_enable_enterprise_roots` to `false` in order to not trust system CA store in case of enterprise MITM - `security.OCSP.require` to `true` in order to not allow [OCSP](https://en.wikipedia.org/wiki/OCSP_stapling) soft fail. This may be a bit paranoid, but _only the paranoid survive._ - `privacy.resistFingerprinting.letterboxing` = `true` so letterboxing is used to hide real browser size. [Tor Browser support](https://support.torproject.org/tbb/maximized-torbrowser-window/) - [Bug 70315: text in menus and boxes unreadable if using dark GTK theme](https://bugzilla.mozilla.org/show_bug.cgi?id=70315)) - `image.animation_mode` to `once` in order to have gifs play once and then stop everywhere (`none` to never have them play). - `geo.provider.network.url` to `https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%` in order to send nearby WiFi networks to Mozilla instead of Google. See also [MLS Software](https://wiki.mozilla.org/CloudServices/Location/Software). - `network.IDN_show_punycode` to `true` in order to see punycode instead of UTF-8 in case of spoofing attempt. However makes reading non-ASCII domains painful. E.g. Cyrillic alphabet - `reader.parse-on-load.force-enabled` to `true` in order to allow reader use to be used on ~all websites and devices (regardless of low RAM?) Future note: [`network.dns.blockDotOnion;false`](https://bugzilla.mozilla.org/show_bug.cgi?id=1497263) ? ## Advertising Firefox seems to contain a lot of advertising or sponsoring nowadays, whether to other Mozilla products or whoever pays them. See also [Bug 1773860: Provide global long-term "disable all promos" flag](https://bugzilla.mozilla.org/show_bug.cgi?id=1773860). - `browser.newtabpage.activity-stream.showSponsored` & `browser.newtabpage.activity-stream.showSponsored` to `false` to stop sponsored links. - `browser.vpn_promo.enabled` to `false` to hopefully stop Mozilla VPN advertisements - `browser.promo.focus.enabled` to `false` to stop Firefox Focus advertisements? - `browser.preferences.moreFromMozilla` to `false` to not hear from other Mozilla products? ## [Cookie banner blocking](https://www.ghacks.net/2022/12/24/configure-firefox-to-reject-cookie-banners-automatically/) TODO: clean write this. ```js defaultPref("cookiebanners.service.mode", 2); defaultPref("cookiebanners.service.mode.privateBrowsing", 2); defaultPref("cookiebanners.bannerClicking.enabled", true); ``` ## DNS over HTTPS - `network.trr.mode` depends, `3` to enforce DoH (required for ECH) or `5` to explicitly disable. `2` to prefer DoH, but fallback to system also exists. - [DoH is required by Firefox ESNI/ECH support](https://bugzilla.mozilla.org/show_bug.cgi?id=1500289) which encrypts SNI/ClientHello which would still leak which sites you visit. [Another bug about ESNI/ECH + Android DoT](https://bugzilla.mozilla.org/show_bug.cgi?id=1542754#c3) - Are you using a VPN? Do they provide a DoH server? If yes, maybe the answer is 3 for ESNI/ECH? - `network.trr.early-AAAA` `true` to hopefully prefer IPv6 - `network.trr.uri` for the actual resolver address, e.g. `https://doh.mullvad.net/dns-query` - and if they provide as SOCKS proxy as a killswitch, `network.proxy.socks_remote_dns` must be `false` - `network.trr.disable-ECS` to `false` if preferring speed over privacy or using NextDNS private ECS. - [Wikipedia: EDNS Client Subnet](https://en.wikipedia.org/wiki/EDNS_Client_Subnet) Some notes: - There is also `network.trr.exclude-etc-hosts` for those using `/etc/hosts` for blocking. - You can confirm TRR working by visiting `about:networking#dns` where you should be seeing DNS cache of Firefox and a lot of `TRR: true`. - ECH requires `network.dns.echconfig.enabled` and `network.dns.use_https_rr_as_altsvc` to be `true`, but they seem to default to true at least in Firefox Nightly so maybe no action is needed. - [While investingating how Android 9 Private DNS works, I also wrote a DNS provider comparsion here on 2019-07-11]({% post_url blog/2019-07-11-android-private-dns-in-practice %}) ## SSDs This information is from [Arch Wiki on Firefox tweaks](https://wiki.archlinux.org/index.php/Firefox/Tweaks) - `browser.sessionstore.interval` to `600000` in order to only store open session every ten minutes (instead of 15 seconds) in case of crashes. - alternatively `browser.sessionstore.resume_from_crash` to `false` to not store the session data for crash recovery at all. I think this may be the more healthy option with all the information flood and dozens of tabs. Why? > Every object loaded (html page, jpeg image, css stylesheet, gif banner) is saved in the Firefox cache for future use without the need to download it again. It is estimated that only a fraction of these objects will be reused, usually about 30%. This because of very short object expiration time, updates or simply user behavior (loading new pages instead of returning to the ones already visited). The Firefox cache is divided into memory and disk cache and the latter results in frequent disk writes: newly loaded objects are written to memory and older objects are removed. > Firefox stores the current session status (opened urls, cookies, history and form data) to the disk on a regular basis. It is used to recover a previous session in case of crash. The default setting is to save the session every 15 seconds, resulting in frequent disk access. and this is the reason why Firefox is at times accused of killing SSDs. --- Changelog: [GitHub.com commits](https://github.com/Mikaela/mikaela.github.io/commits/master/pages/browser-extensions.markdown) | [gitea.blesmrt.net commits](https://gitea.blesmrt.net/mikaela/mikaela-info/commits/branch/master/pages/browser-extensions.markdown)