## user.js | Firefox, Firefox ESR and Firefox Nightly. A `user.js` file for configuring and hardening desktop Firefox privacy. Concretely, this is a fork from the [arkenfox](https://github.com/arkenfox/user.js) project. ## Goals * enhance privacy and security * improve performance * better fingerprint possible * reduce automatic connections to the minimum posible ## Considerations This user.js is a fork from the arkenfox project with a substantial divergence. It tries to avoid all the automatic connections even though security could be reduced slightly. For instance, OSCP is a privacy breach. Nevertheless, it is also a security feature. This user.js disables them as well as safebrowsing, automatic addons connections and so on. You will have to check manually addons updates in the related preferences section. However, one connection could not be blocked anymore: * firefox.settings.services.mozilla.com https://bugzilla.mozilla.org/show_bug.cgi?id=1598562#c13 [How to stop Firefox from making automatic connections](https://support.mozilla.org/en-US/kb/how-stop-firefox-making-automatic-connections) (Section "Automatic updates and Security/Login breach information") So you will have to include it to the host list of your OS. Nevertheless, consider installing Abrowser from Trisquel, Icecat, Iceweasel for Parabola or Librewolf. They lack that connection: [Abrowser](https://archive.trisquel.info/trisquel/pool/main/f/firefox/?C=S;O=D) [Icecat for Parabola](https://repomirror.parabola.nu/sources/parabola/) [Iceweasel](https://repomirror.parabola.nu/sources/parabola/) [Librewolf](https://librewolf.net/) On the other, if you are using a GNU/Linux distro you could remove that connection, and others, unpacking two omni.ja files, removing all the addresses, and then re-zipping the omni.ja files. `Find your omni.ja files`: find . -name omni.ja `Unpack them` (do this for both of them separately): mkdir unpack mv omni.ja unpack cd unpack unzip omni.ja `Remove telemetry`: find -type f -print0 | xargs -0 sed -i 's/https\:\/\/firefox\.settings\.services\.mozilla\.com\/v1\/buckets\/main\/collections\/nimbus-desktop-experiments\/records//g'; find -type f -print0 | xargs -0 sed -i 's/https\:\/\/firefox\.settings\.services\.mozilla\.com\/v1\/buckets\/main-preview\/collections\/search-config\/records//g'; find -type f -print0 | xargs -0 sed -i 's/https\:\/\/firefox\.settings\.services\.mozilla\.com\/v1\/buckets\/main\/collections\/search-config\/records//g'; find -type f -print0 | xargs -0 sed -i 's/https\:\/\/firefox\.settings\.services\.mozilla\.com\/v1//g'; find -type f -print0 | xargs -0 sed -i 's/onecrl\.content-signature\.mozilla\.org//g'; find -type f -print0 | xargs -0 sed -i 's/remote-settings\.content-signature\.mozilla\.org//g'; find -type f -print0 | xargs -0 sed -i 's/normandy\.content-signature\.mozilla\.org//g'; `Replace the omni.ja files`: mv omni.ja back.omni.ja zip -0DXqr omni.ja * mv omni.ja .. Besides, take into account it makes a connection to aus5.mozilla.org in order to autoupdate itself so you'll also have to add it to your host list. Alternatively, you could copy the folder `distribution` with the `policies.json` file into your Firefox installation folder. More information about this: [Customizing firefox using policies.json](https://support.mozilla.org/en-US/kb/customizing-firefox-using-policiesjson) [DisableAppUpdate](https://github.com/mozilla/policy-templates/blob/master/README.md#disableappupdate) ## Updating addons Write about:addons Choose Extensions Click the icon above on the right (Tools for all add-ons) and Check for updates. You may also install them manually downloading the respective xpi files. ## Adding new search engines Follow this guide: [Add a search engine from the address bar](https://support.mozilla.org/en-US/kb/add-or-remove-search-engine-firefox#w_add-a-search-engine-from-the-address-bar) Another option could be mycroftproject.com website. Beware! They have embedded Google analytic trackers. ## Known problems `Some breakage?` Try changing "network.http.referer.XOriginPolicy" from 2 to 1 `Performance loss?` Change these strings from false to true: javascript.options.ion javascript.options.baselinejit javascript.options.native_regexp ## Thanks: I really thank the following authors: * [Arkenfox](https://github.com/arkenfox/user.js) - The majority of this user.js and updates. * [Tor Project](https://www.torproject.org) - Some Tor Browser strings. * [Quindecim](https://git.nixnet.xyz/quindecim/mobile_user.js) - Some unique strings and user design. * [LibreWolf](https://gitlab.com/librewolf-community) - Some strings. * [Better-Fox](https://github.com/yokoffing/Better-Fox) - Some strings. * [Spyware Watchdog](https://spyware.neocities.org/) - Mozilla Firefox Spyware Mitigation Guide (Archive.org) and Tor Browser mitigation guide. ## License GNU General Public License v3.0. See `LICENSE` for more details. ## Other mirrors https://codeberg.org/Narsil/user.js/src/branch/main/desktop