---
layout: page
title: Browser extensions I often end up installing
permalink: /browser-extensions.html
sitemap: false
robots: noindex, noai
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)

<!-- editorconfig-checker-disable -->
<!-- prettier-ignore-start -->

<!-- START doctoc generated TOC please keep comment here to allow auto update -->
<!-- DON'T EDIT THIS SECTION, INSTEAD RE-RUN doctoc TO UPDATE -->
<em lang="fi">Automaattinen sisällysluettelo</em> / <em lang="en">Automatically generated Table of Contents</em>

- [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)

<!-- END doctoc generated TOC please keep comment here to allow auto update -->

<!-- prettier-ignore-end -->
<!-- editorconfig-checker-enable -->

<!--

https://addons.mozilla.org/firefox/addon/text-link/ - doubleclick plaintext link to use

* [Ecosia search engine at Mycroft Project](https://mycroftproject.com/search-engines.html?name=ecosia.org)

## Firefox containers

<table>
    <tr>
        <th>Name</th>
        <th>Link</th>
        <th>Source</th>
        <th>Comment</th>
    </tr>
    <tr>
        <td>Firefox Multi Account Containers</td>
        <td><a href="https://addons.mozilla.org/firefox/addon/multi-account-containers">Firefox Add-ons</a></td>
        <td>TBD</td>
        <td></td>
    </tr>
</table>

## Firefox language packs

* [Czech](https://addons.mozilla.org/firefox/addon/czech-cz-language-pack/)
* [English-US](https://addons.mozilla.org/firefox/addon/english-us-language-pack/)
* [Esperanto](https://addons.mozilla.org/firefox/addon/esperanto-language-pack/)
* Estonian?
* [Finnish](https://addons.mozilla.org/firefox/addon/finnish-language-pack/)
* Spanish?
* Swedish?

## Instant Messaging

* [Radical](https://github.com/stoically/radical) - Element, Matrix.org client as webextensions
  * [Firefox](https://addons.mozilla.org/firefox/addon/radical-web)

## Passwords

<table>
    <tr>
        <th>Name</th>
        <th>Firefox</th>
        <th>Chromium</th>
        <th>Source</th>
    </tr>
    <tr>
        <td>Bitwarden</td>
        <td><a href="https://addons.mozilla.org/firefox/addon/bitwarden-password-manager/">Firefox Add-ons</a></td>
        <td><a href="https://chrome.google.com/webstore/detail/bitwarden-free-password-m/nngceckbapebfimnlniiiahkandclblb">Chrome Web Store</a></td>
        <td>TBD</td>
    </tr>
</table>

## Privacy

* [Behave!](https://github.com/mindedsecurity/behave) - reveals portscanning performed by websites (detects IPFS).
  * [Firefox](https://addons.mozilla.org/en-US/firefox/addon/behave/)
  * [Chrome](https://chrome.google.com/webstore/detail/mppjbkhgconmemoeagfbgilblohhcica/)
* [HTTPS Everywhere], [source code]
    * <s>[Firefox](https://addons.mozilla.org/firefox/addon/https-everywhere/)</s> `dom.security.https_only_mode` `true`
    * [Chrome](https://chrome.google.com/webstore/detail/https-everywhere/gcbommkclmclpchllfjekcdonpmejbdp)
* NoScript (which I use more for anti-annoyance than privacy)
  * [Chrome](https://chrome.google.com/webstore/detail/noscript/doojmbjmlfjjnbmnoijecmcbfeoakpjm/)
  * [Firefox](https://addons.mozilla.org/firefox/addon/noscript/)
  * [Source/GitHub](https://github.com/hackademix/noscript/)
* Snowflake to help censored users (won't increase user privacy), requires WebRTC
    * https://addons.mozilla.org/firefox/addon/torproject-snowflake/
    * https://chrome.google.com/webstore/detail/snowflake/mafpmfcccpbjnhfhjnllmmalhifmlcie

## Productivity

* [Firefox: Mind The Time](https://addons.mozilla.org/firefox/addon/mind-the-time/)
    * [Chrome equivalent: Webtime tracker](https://chrome.google.com/webstore/detail/webtime-tracker/ppaojnbmmaigjmlpjaldnkgnklhicppk)

## Misc

* [Firefox: IPvFoo](https://addons.mozilla.org/firefox/addon/ipvfoo-pmarks/)
    * [Chrome](https://chrome.google.com/webstore/detail/ipvfoo/ecanpcehffngcegjmadlcijfolapggal)
* [Firefox: RSS feed preview](https://addons.mozilla.org/firefox/addon/feed-preview/)
    * [Chrome: RSS](https://chrome.google.com/webstore/detail/rss-subscription-extensio/nlbjncdgjeocebhnmkbbbdekmmmcbfjd)
* [Firefox: IPFS Companion](https://addons.mozilla.org/firefox/addon/ipfs-companion/)
    * [Firefox: beta channel of IPFS Companion](https://bafybeibjozlsoxzrxsoklis775aglnwpal2hjl42ippo57jdwiv6zoij7m.ipfs.dweb.link/)
        * doesn't sync automatically with Firefox Sync.
    * [Chrome](https://chrome.google.com/webstore/detail/ipfs-companion/nibjojkomfdiaoajekhjakgkdhaomnch)
    * At the time of writing, 2019-07-13, I consider IPFS as
      **incompatible with Tor Browser** as Tor browser would use the local
      IPFS daemon, which **is not using Tor** and thus the IPFS network
      **could see your real IP** especially if not many nodes are
      requesting the fetched content.
* [Firefox: Foxy Proxy](https://addons.mozilla.org/firefox/addon/foxyproxy-standard/)
    * [Chrome?](https://chrome.google.com/webstore/detail/foxyproxy-standard/gcknhkkoolaabfmlnjonogaaifnjlfnp)
    * Onions to Tor, I2P to I2P. [My rules](https://bafybeia7yeie5a6arstytabl6bfhacmidcy4yhht3e6dfrrq4gi2gry4pu.{{site.ipfsSubdomainGateway}}/foxyproxy.json)
* [Firefox: Foxy Tab](https://addons.mozilla.org/firefox/addon/foxytab/)
* Verify-Me for rel=me verifications (Indieweb)
    * https://addons.mozilla.org/firefox/addon/verify-me/
    * https://chrome.google.com/webstore/detail/verify-me/nnefkajddpfponfnmaflddipljfdlcjb

## Usability

* [Firefox: Tree Style Tab](https://addons.mozilla.org/firefox/addon/tree-style-tab/)
*  Tab Suspender
    * https://addons.mozilla.org/firefox/addon/ff-tab-suspender/
* [Dark Background and light text (GitHub)](https://github.com/m-khvoinitsky/dark-background-light-text-extension)
  * [Firefox](https://addons.mozilla.org/firefox/addon/dark-background-light-text/)

## Videos

* Invdition - YouTube to Invidious and Twitter to Nitter
    * https://addons.mozilla.org/firefox/addon/invidition/

## Firefox Dictionaries

TODO: Sort this list.

* Estonian?
* Spanish?
* Swedish?
* [Esperanto](https://addons.mozilla.org/firefox/addon/esperanta-vortaro/)
* [UK English](https://addons.mozilla.org/firefox/addon/british-english-dictionary-2/)
* [Czech](https://addons.mozilla.org/firefox/addon/czech-spell-checking-dictionar/)
* [Swedish](https://addons.mozilla.org/firefox/addon/g%C3%B6rans-hemmasnickrade-ordli/)

* * * * *

-->

# 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.cache.disk.enable` to `false` to only cache to RAM.
- (`browser.cache.memory.enable` to `true` which should be default) -->

- `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)