2020-10-20 21:15:18 +00:00
## user.js | Firefox, Firefox ESR and Firefox Nightly.
2020-11-19 10:18:38 +00:00
A `user.js` file for configuring and hardening desktop Firefox privacy.
2020-10-20 21:11:06 +00:00
2020-12-19 16:30:05 +00:00
Concretely, this is a fork from the [arkenfox ](https://github.com/arkenfox/user.js ) project.
2020-10-20 23:22:52 +00:00
2020-10-20 21:11:06 +00:00
## Goals
2020-12-21 10:08:38 +00:00
* enhance privacy and security
2020-10-20 21:11:06 +00:00
* 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.
2020-10-20 21:14:05 +00:00
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.
2020-10-20 21:11:06 +00:00
2020-10-25 12:55:06 +00:00
However, one connection could not be blocked anymore:
2020-10-20 21:12:41 +00:00
* firefox.settings.services.mozilla.com
2020-10-20 21:14:05 +00:00
2020-12-21 10:08:38 +00:00
https://bugzilla.mozilla.org/show_bug.cgi?id=1598562#c13
2021-01-31 19:46:36 +00:00
[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")
2020-10-25 12:55:06 +00:00
So you will have to include it to the host list of your OS.
2020-10-20 21:11:06 +00:00
2021-12-31 09:36:28 +00:00
Nevertheless, consider installing Abrowser from Trisquel, Icecat, Iceweasel for Parabola or Librewolf. They lack that connection:
2020-11-19 10:18:38 +00:00
[Abrowser ](https://archive.trisquel.info/trisquel/pool/main/f/firefox/?C=S;O=D )
2020-11-19 10:16:42 +00:00
2021-03-16 12:34:42 +00:00
[Icecat for Parabola ](https://repomirror.parabola.nu/sources/parabola/ )
[Iceweasel ](https://repomirror.parabola.nu/sources/parabola/ )
2020-12-19 16:30:26 +00:00
2021-12-31 09:36:28 +00:00
[Librewolf ](https://librewolf.net/ )
2020-12-19 16:29:49 +00:00
2022-02-17 11:16:58 +00:00
2022-02-17 14:20:59 +00:00
On the other hand, if you are using a GNU/Linux distro that connection could be removed unpacking two omni.ja files, removing all the addresses, and then re-zipping the omni.ja files.
2022-02-17 11:16:58 +00:00
`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` :
2022-04-02 10:09:11 +00:00
`find -type f -print0 | xargs -0 sed -i 's/https\:\/\/firefox\.settings\.services\.mozilla\.com\/v1\/buckets\/main\/collections\/nimbus-desktop-experiments\/records//g';
`
2022-04-02 10:11:31 +00:00
2022-04-02 10:10:39 +00:00
`find -type f -print0 | xargs -0 sed -i 's/https\:\/\/firefox\.settings\.services\.mozilla\.com\/v1\/buckets\/main-preview\/collections\/search-config\/records//g';`
2022-02-17 11:16:58 +00:00
2022-04-02 10:10:39 +00:00
`find -type f -print0 | xargs -0 sed -i 's/https\:\/\/firefox\.settings\.services\.mozilla\.com\/v1\/buckets\/main\/collections\/search-config\/records//g';
`
2022-04-02 10:11:31 +00:00
2022-04-02 10:10:39 +00:00
`find -type f -print0 | xargs -0 sed -i 's/https\:\/\/firefox\.settings\.services\.mozilla\.com\/v1//g';
`
2022-04-02 10:11:31 +00:00
2022-04-02 10:10:39 +00:00
`find -type f -print0 | xargs -0 sed -i 's/onecrl\.content-signature\.mozilla\.org//g';
`
2022-04-02 10:11:31 +00:00
2022-04-02 10:10:39 +00:00
`find -type f -print0 | xargs -0 sed -i 's/remote-settings\.content-signature\.mozilla\.org//g';
`
2022-04-02 10:11:31 +00:00
2022-04-02 10:10:39 +00:00
`find -type f -print0 | xargs -0 sed -i 's/normandy\.content-signature\.mozilla\.org//g';
2022-04-02 10:12:19 +00:00
2022-04-02 10:10:39 +00:00
`
2022-02-17 11:16:58 +00:00
`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 )
2021-01-29 19:33:55 +00:00
2021-07-28 18:47:13 +00:00
2020-10-25 13:02:37 +00:00
## Updating addons
Write about:addons
2020-10-25 13:03:15 +00:00
2020-10-25 13:02:37 +00:00
Choose Extensions
2020-10-25 13:03:15 +00:00
2020-10-25 13:08:05 +00:00
Click the icon above on the right (Tools for all add-ons) and Check for updates.
2020-10-25 13:02:37 +00:00
2021-01-31 19:46:36 +00:00
You may also install them manually downloading the respective xpi files.
2020-10-25 13:02:37 +00:00
2020-10-20 21:19:23 +00:00
## Adding new search engines
2021-08-11 08:06:30 +00:00
Follow this guide:
2020-10-20 21:19:23 +00:00
2020-10-26 18:50:59 +00:00
[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 )
2020-10-20 21:19:23 +00:00
2021-08-11 08:06:30 +00:00
Another option could be mycroftproject.com website. Beware! They have embedded Google analytic trackers.
2021-08-07 13:44:58 +00:00
## Known problems
2021-08-07 13:47:56 +00:00
`Some breakage?`
2021-08-07 13:45:34 +00:00
2021-08-07 13:44:58 +00:00
Try changing "network.http.referer.XOriginPolicy" from 2 to 1
2021-08-07 13:47:56 +00:00
`Performance loss?`
2021-08-07 13:45:34 +00:00
2021-08-07 13:44:58 +00:00
Change these strings from false to true:
2021-08-07 13:45:34 +00:00
2021-08-07 13:44:58 +00:00
javascript.options.ion
2021-08-07 13:45:34 +00:00
2021-08-07 13:44:58 +00:00
javascript.options.baselinejit
2021-08-07 13:45:34 +00:00
2021-08-07 13:44:58 +00:00
javascript.options.native_regexp
2021-08-07 13:45:34 +00:00
2020-10-20 21:11:06 +00:00
## Thanks:
I really thank the following authors:
2020-11-19 10:18:38 +00:00
* [Arkenfox ](https://github.com/arkenfox/user.js ) - The majority of this user.js and updates.
2021-07-28 18:47:13 +00:00
* [Tor Project ](https://www.torproject.org ) - Some Tor Browser strings.
2021-08-11 08:09:05 +00:00
* [Quindecim ](https://git.nixnet.xyz/quindecim/mobile_user.js ) - Some unique strings and user design.
* [LibreWolf ](https://gitlab.com/librewolf-community ) - Some strings.
2022-02-17 11:16:58 +00:00
* [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.
2020-12-25 18:31:02 +00:00
## License
GNU General Public License v3.0.
2021-02-04 10:17:59 +00:00
See `LICENSE` for more details.
## Other mirrors
2022-02-05 16:03:07 +00:00
https://codeberg.org/Narsil/user.js/src/branch/main/desktop