9ao9ai9ar 481c45397b Shell script rewrite to comply with POSIX and best practices.
The rewrite is focused on the following five areas of interest:
1. Portability. The scripts have been tested to work in recent versions
   of the following operating systems and shells: macOS, Linux (Fedora,
   Debian, Ubuntu, openSUSE, Arch, Alpine, NixOS), BSD (FreeBSD,
   OpenBSD, NetBSD, DragonFly), SunOS (Solaris, OpenIndiana), Haiku;
   bash, dash, ash, ksh, oksh, zsh, XPG4 sh, pdksh, mksh, yash, posh,
   gwsh, bosh, osh.
2. Robustness. Employ secure shell scripting techniques, incorporate
   battle-tested open source code, clear all ShellCheck warnings, and
   fail early.
3. Composability. Put (almost) everything inside functions and make the
   scripts dot source friendly.
4. Consistency. Use tput to abstract away terminal color codes, write
   templated diagnostic messages and follow conventions in the use of
   exit status and redirections.
5. Readability. Comment extensively, assign descriptive names to
   variables and functions, and use here-documents to ease reading and
   writing multi-line messages.

Known behavioral changes:
1. There are changes to the way some options are parsed and acted on.
   For example, when both the -l and -p options are specified, -l will
   be ignored; in the old behavior, the last specified option would
   take effect. Also, an old quirk where passing the argument 'list' to
   -p was equivalent to specifying the -l option has been fixed.
2. The -h, -l and -p options of updater.sh have been added to
   prefsCleaner.sh as well.
3. All temporary files are now created using mktemp and no longer
   actively deleted, so users won't find them in the working directory
   anymore in the case of error.
4. The old prefs.js cleaning logic, which relied on non-POSIX features,
   is not preserved in the rewrite.

Resolves #1855
Resolves #1446
Fixes #1810
2025-02-24 20:23:36 +08:00
2023-11-02 21:17:15 +00:00
2020-09-15 06:07:32 +00:00
2019-06-26 13:32:12 +00:00
2017-03-01 00:11:05 +02:00
2020-09-15 04:19:03 +00:00
2023-03-13 07:13:07 +00:00
2024-08-26 08:41:28 +00:00

🟪 user.js

A user.js is a configuration file that can control Firefox settings - for a more technical breakdown and explanation, you can read more in the wiki

🟩 the arkenfox user.js

License: MIT

The arkenfox user.js is a template which aims to provide as much privacy and enhanced security as possible, and to reduce tracking and fingerprinting as much as possible - while minimizing any loss of functionality and breakage (but it will happen).

Everyone, experts included, should at least read the wiki, as it contains important information regarding a few user.js settings. There is also an interactive current release, thanks to icpantsparti2.

Note that we do not recommend connecting over Tor on Firefox. Use the Tor Browser if your threat model calls for it, or for accessing hidden services.

Also be aware that the arkenfox user.js is made specifically for desktop Firefox. Using it as-is in other Gecko-based browsers can be counterproductive, especially in the Tor Browser.

🟧 sitemap

🟥 acknowledgments

Literally thousands of sources, references and suggestions. Many thanks, and much appreciated.

Description
Firefox privacy, security and anti-tracking: a comprehensive user.js template for configuration and hardening
Readme 12 MiB
Languages
JavaScript 72.3%
Shell 15.8%
Batchfile 11.9%