Compare commits

..

57 Commits
71.0 ... 76.0

Author SHA1 Message Date
ff9bf76e52 76 final, save some bytes in RFP section 2020-05-24 18:09:46 +00:00
4bc5b89cfe 4500: RFP changes 78+ re canvas 2020-05-15 23:18:11 +00:00
bb1e5bfd54 76-beta 2020-05-07 14:56:49 +00:00
27d72eda9e 1244: https-only-mode 2020-05-07 06:20:10 +00:00
07117c65c1 RFP spoofs FF78+ 2020-05-07 05:13:19 +00:00
919d4bfe96 godamnit, also move related reference 2020-05-04 10:52:25 +00:00
e38e253c25 oophs, forgot deprecation source 2020-05-04 10:49:07 +00:00
14aaec71fb 76 deprecated 2020-05-04 07:34:23 +00:00
c0780df24d 1401: PDF breakage, closes #937 2020-04-30 21:50:50 +00:00
0ea1605642 start 76-alpha, 2605 default 2020-04-30 18:52:27 +00:00
bd384622db Update troubleshooter.js (#935)
extensions.blocklist.pingCountTotal is not used anymore in FF76+
2020-04-29 12:00:10 +00:00
3366e0aa16 75 final 2020-04-23 08:52:48 +00:00
W
dff5bb478a 0211: add possible breakage for CJK input methods 2020-04-16 04:04:13 +00:00
d455c500a6 75-beta 2020-04-15 14:44:14 +00:00
b90e72370c 1007 fixup what FF75+ applies to 2020-04-14 00:28:00 +00:00
dd162d9f48 1007 fixups 2020-04-14 00:16:03 +00:00
d7c276b3fe 2402: clipboardevents -> inactive, #887 2020-04-13 06:17:54 +00:00
394b691599 2421: grammar fix 2020-04-13 04:55:10 +00:00
ba83c555cc geo default search engines
browser.search.geoip.url is deprecated in 75, the prefs are only used on first run, and we don't mess with search engines as that is a user choice
2020-04-12 18:10:34 +00:00
b695468c7e remove 0205 2020-04-12 18:07:12 +00:00
deae6e14f9 75 deprecated 2020-04-12 16:38:12 +00:00
97c5378e52 1007: *forceMediaMemoryCache PB mode 2020-04-12 16:23:48 +00:00
d2dd0c2ab4 tls stats update
- Go to https://telemetry.mozilla.org/
- click `measurement dashboard`
- select `SSL_HANDSHAKE_VERSION`

I looked at Nightly 75 (0.26 and 0.01) and Nightly 76 (0.2 and 0)
2020-04-11 02:51:17 +00:00
8c7149c6a5 2421: Ion/JIT trusted principals, closes #914 2020-04-09 06:07:13 +00:00
d2da48c215 revert top sites, see #922 2020-04-08 08:01:07 +00:00
7e71b6663c 75-alpha, add 105e, closes #922 2020-04-08 07:12:14 +00:00
94c83519f2 74 final 2020-04-08 07:08:36 +00:00
e7d20867cb 2623 delegation 2421 ion/jit tweak 2020-04-06 00:39:52 +00:00
55ae994972 2421 fixup Ion/Jit note 2020-03-28 13:18:34 +00:00
f0945743b7 2662: clarify 4503 needed, #912 2020-03-27 16:20:41 +00:00
ee35d7c70d 2421: ion/jit and extensions note 2020-03-27 12:44:06 +00:00
fe1b03bd2a tls downgrades -> session only 2020-03-27 12:36:16 +00:00
187692af66 enforce disabled system + prefixed colors 2020-03-19 11:36:03 +00:00
b6e2a3f64f one of the 2012 webgl prefs deprecated 2020-03-12 14:44:14 +00:00
6f7e09ad43 1704 deprecated, add 1703 2020-03-12 05:23:57 +00:00
4ddf60cf32 0203: make sure users know these are 74+ prefs 2020-03-12 03:56:13 +00:00
24777c9ac2 FF74: 0203 updates (#904) 2020-03-12 03:44:52 +00:00
615ebeda2f start 74-alpha 2020-03-12 03:43:31 +00:00
4139630635 73 final 2020-03-12 03:37:46 +00:00
a542701ba5 Update troubleshooting-help.md 2020-02-25 00:21:42 +00:00
e67a0c868d Update troubleshooting-help.md 2020-02-25 00:20:19 +00:00
1afd52de6e 0306: minor tweak
There is no "show more details about an addon" anymore since they moved to the new html/card layout
2020-02-22 13:56:30 +00:00
64f34f1471 73-beta 2020-02-15 12:55:59 +00:00
5f3e3b2691 VR default prompt, RFP info, start 73-alpha 2020-02-14 01:00:02 +00:00
1ce1f74494 Update user.js 2020-02-12 12:03:29 +00:00
03f558b09c nit: 0517 SETTING
we don't include `Options>` in [SETTING] lines
2020-02-10 17:12:08 +00:00
cd9fc110b0 v1.2
look for `lock` file instead of `webappsstore.sqlite-shm` to detect if firefox is running or not (with this profile)

see https://github.com/ghacksuserjs/ghacks-user.js/pull/405#issuecomment-581447586 and follow-up comments.

Thanks @atomGit for reporting the issue and @rusty-snake for confirming it.
2020-02-10 16:47:17 +00:00
7619e312de 72 final 2020-01-24 16:48:16 +00:00
5d2c5de11c fixup deprecated ESR-cycle version 2020-01-15 02:53:07 +00:00
e1022c2e72 72-beta 2020-01-14 17:38:22 +00:00
e431b324c8 FF72 deprecated 2020-01-08 02:53:25 +00:00
18ad40a5c6 systemUsesDarkTheme -> RFP Alts 2019-12-25 02:14:49 +00:00
315de066ec typo (#870) 2019-12-24 11:49:19 +00:00
85273d0f19 0517: setting tag 2019-12-22 07:13:48 +00:00
ef293b57a7 5000s: add ui.systemUsesDarkTheme 2019-12-22 06:14:25 +00:00
79d316fd22 remove old deprecations 2019-12-19 16:37:19 +00:00
ed60588473 72-alpha start 2019-12-19 16:34:44 +00:00
5 changed files with 136 additions and 198 deletions

View File

@ -8,11 +8,11 @@ assignees: ''
--- ---
Before you proceed... Before you proceed...
- Keep reading this. Seriously. - Issues will be closed as invalid if you do not [troubleshoot](https://github.com/ghacksuserjs/ghacks-user.js/wiki/1.4-Troubleshooting), including
- Note that we do not support forks (i.e. IceCat, Pale Moon, WaterFox, etc). - confirming the problem is caused by the `user.js`
- Make sure you searched for the `[Setup` tags in the `user.js`. - searching the `[Setup` tags in the `user.js`
- Search the GitHub repository. The information you need is most likely here already. - Search the GitHub repository. The information you need is most likely here already.
- Check out our [troubleshooting](https://github.com/ghacksuserjs/ghacks-user.js/wiki/1.4-Troubleshooting) wiki page, including steps to see if the problem is caused by the `user.js` or an extension. - Note: We do not support forks
See also: See also:
- Extension breakage due to prefs [issue 391](https://github.com/ghacksuserjs/ghacks-user.js/issues/391) - Extension breakage due to prefs [issue 391](https://github.com/ghacksuserjs/ghacks-user.js/issues/391)

View File

@ -2,7 +2,7 @@
## prefs.js cleaner for Linux/Mac ## prefs.js cleaner for Linux/Mac
## author: @claustromaniac ## author: @claustromaniac
## version: 1.1 ## version: 1.2
## special thanks to @overdodactyl and @earthlng for a few snippets that I stol..*cough* borrowed from the updater.sh ## special thanks to @overdodactyl and @earthlng for a few snippets that I stol..*cough* borrowed from the updater.sh
@ -27,7 +27,7 @@ fQuit() {
fFF_check() { fFF_check() {
# there are many ways to see if firefox is running or not, some more reliable than others # there are many ways to see if firefox is running or not, some more reliable than others
# this isn't elegant and might not be future-proof but should at least be compatible with any environment # this isn't elegant and might not be future-proof but should at least be compatible with any environment
while [ -e webappsstore.sqlite-shm ]; do while [ -e lock ]; do
echo -e "\nThis Firefox profile seems to be in use. Close Firefox and try again.\n" echo -e "\nThis Firefox profile seems to be in use. Close Firefox and try again.\n"
read -p "Press any key to continue." read -p "Press any key to continue."
done done
@ -58,7 +58,7 @@ echo -e "\n\n"
echo " ╔══════════════════════════╗" echo " ╔══════════════════════════╗"
echo " ║ prefs.js cleaner ║" echo " ║ prefs.js cleaner ║"
echo " ║ by claustromaniac ║" echo " ║ by claustromaniac ║"
echo " ║ v1.1 ║" echo " ║ v1.2 ║"
echo " ╚══════════════════════════╝" echo " ╚══════════════════════════╝"
echo -e "\nThis script should be run from your Firefox profile directory.\n" echo -e "\nThis script should be run from your Firefox profile directory.\n"
echo "It will remove any entries from prefs.js that also exist in user.js." echo "It will remove any entries from prefs.js that also exist in user.js."

View File

@ -1,7 +1,7 @@
/*** /***
This will reset the preferences that have been removed completely from the ghacks user.js. This will reset the preferences that have been removed completely from the ghacks user.js.
Last updated: 19-December-2019 Last updated: 12-April-2020
For instructions see: For instructions see:
https://github.com/ghacksuserjs/ghacks-user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts] https://github.com/ghacksuserjs/ghacks-user.js/wiki/3.1-Resetting-Inactive-Prefs-[Scripts]
@ -218,6 +218,9 @@
/* 71-beta */ /* 71-beta */
'media.block-autoplay-until-in-foreground', 'media.block-autoplay-until-in-foreground',
'middlemouse.paste', 'middlemouse.paste',
/* 75-beta */
'browser.search.geoip.url',
'browser.search.region',
/* reset parrot: check your open about:config after running the script */ /* reset parrot: check your open about:config after running the script */
'_user.js.parrot' '_user.js.parrot'
] ]

View File

@ -1,5 +1,5 @@
/*** ghacks-user.js troubleshooter.js v1.6.0 ***/ /*** ghacks-user.js troubleshooter.js v1.6.1 ***/
(function() { (function() {
@ -107,7 +107,7 @@
] ]
// any runtime-set pref that everyone will have and that can be safely reset // any runtime-set pref that everyone will have and that can be safely reset
const oFILLER = { type: 64, name: 'extensions.blocklist.pingCountTotal', value: -1 }; const oFILLER = { type: 64, name: 'app.update.lastUpdateTime.browser-cleanup-thumbnails', value: 1580000000 };
function getMyList(arr) { function getMyList(arr) {
const aRet = []; const aRet = [];

305
user.js
View File

@ -1,14 +1,13 @@
/****** /******
* name: ghacks user.js * name: ghacks user.js
* date: 19 December 2019 * date: 24 May 2020
* version 71: Dancing Pants * version 76
* "Ooh-ooh, see that girl, watch that scene, dig in the dancing pants"
* authors: v52+ github | v51- www.ghacks.net * authors: v52+ github | v51- www.ghacks.net
* url: https://github.com/ghacksuserjs/ghacks-user.js * url: https://github.com/ghacksuserjs/ghacks-user.js
* license: MIT: https://github.com/ghacksuserjs/ghacks-user.js/blob/master/LICENSE.txt * license: MIT: https://github.com/ghacksuserjs/ghacks-user.js/blob/master/LICENSE.txt
* releases: These are end-of-stable-life-cycle legacy archives. * releases: These are end-of-stable-life-cycle legacy archives.
*Always* use the master branch user.js for a current up-to-date version. *Always* use the master branch user.js for a current up-to-date version
url: https://github.com/ghacksuserjs/ghacks-user.js/releases url: https://github.com/ghacksuserjs/ghacks-user.js/releases
* README: * README:
@ -84,10 +83,10 @@
user_pref("_user.js.parrot", "START: Oh yes, the Norwegian Blue... what's wrong with it?"); user_pref("_user.js.parrot", "START: Oh yes, the Norwegian Blue... what's wrong with it?");
/* 0000: disable about:config warning /* 0000: disable about:config warning
* The XUL version can still be accessed in FF71+ @ chrome://global/content/config.xul * FF71-72: chrome://global/content/config.xul
* and in FF73+ @ chrome://global/content/config.xhtml ***/ * FF73+: chrome://global/content/config.xhtml ***/
user_pref("general.warnOnAboutConfig", false); // for the XUL version user_pref("general.warnOnAboutConfig", false); // XUL/XHTML version
user_pref("browser.aboutConfig.showWarning", false); // for the new HTML version [FF71+] user_pref("browser.aboutConfig.showWarning", false); // HTML version [FF71+]
/*** [SECTION 0100]: STARTUP ***/ /*** [SECTION 0100]: STARTUP ***/
user_pref("_user.js.parrot", "0100 syntax error: the parrot's dead!"); user_pref("_user.js.parrot", "0100 syntax error: the parrot's dead!");
@ -114,7 +113,6 @@ user_pref("browser.newtab.preload", false);
/* 0105a: disable Activity Stream telemetry ***/ /* 0105a: disable Activity Stream telemetry ***/
user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false); user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false);
user_pref("browser.newtabpage.activity-stream.telemetry", false); user_pref("browser.newtabpage.activity-stream.telemetry", false);
user_pref("browser.newtabpage.activity-stream.telemetry.ping.endpoint", "");
/* 0105b: disable Activity Stream Snippets /* 0105b: disable Activity Stream Snippets
* Runs code received from a server (aka Remote Code Execution) and sends information back to a metrics server * Runs code received from a server (aka Remote Code Execution) and sends information back to a metrics server
* [1] https://abouthome-snippets-service.readthedocs.io/ ***/ * [1] https://abouthome-snippets-service.readthedocs.io/ ***/
@ -152,20 +150,14 @@ user_pref("_user.js.parrot", "0200 syntax error: the parrot's definitely decease
* [SETTING] to add site exceptions: Page Info>Permissions>Access Your Location * [SETTING] to add site exceptions: Page Info>Permissions>Access Your Location
* [SETTING] to manage site exceptions: Options>Privacy & Security>Permissions>Location>Settings ***/ * [SETTING] to manage site exceptions: Options>Privacy & Security>Permissions>Location>Settings ***/
// user_pref("permissions.default.geo", 2); // user_pref("permissions.default.geo", 2);
/* 0203: use Mozilla geolocation service instead of Google when geolocation is enabled /* 0203: use Mozilla geolocation service instead of Google when geolocation is enabled [FF74+]
* Optionally enable logging to the console (defaults to false) ***/ * Optionally enable logging to the console (defaults to false) ***/
user_pref("geo.wifi.uri", "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%"); user_pref("geo.provider.network.url", "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%");
// user_pref("geo.wifi.logging.enabled", true); // [HIDDEN PREF] // user_pref("geo.provider.network.logging.enabled", true); // [HIDDEN PREF]
/* 0204: disable using the OS's geolocation service ***/ /* 0204: disable using the OS's geolocation service ***/
user_pref("geo.provider.ms-windows-location", false); // [WINDOWS] user_pref("geo.provider.ms-windows-location", false); // [WINDOWS]
user_pref("geo.provider.use_corelocation", false); // [MAC] user_pref("geo.provider.use_corelocation", false); // [MAC]
user_pref("geo.provider.use_gpsd", false); // [LINUX] user_pref("geo.provider.use_gpsd", false); // [LINUX]
/* 0205: disable GeoIP-based search results
* [NOTE] May not be hidden if Firefox has changed your settings due to your locale
* [1] https://trac.torproject.org/projects/tor/ticket/16254
* [2] https://support.mozilla.org/en-US/kb/how-stop-firefox-making-automatic-connections#w_geolocation-for-default-search-engine ***/
user_pref("browser.search.region", "US"); // [HIDDEN PREF]
user_pref("browser.search.geoip.url", "");
/* 0206: disable geographically specific results/search engines e.g. "browser.search.*.US" /* 0206: disable geographically specific results/search engines e.g. "browser.search.*.US"
* i.e. ignore all of Mozilla's various search engines in multiple locales ***/ * i.e. ignore all of Mozilla's various search engines in multiple locales ***/
user_pref("browser.search.geoSpecificDefaults", false); user_pref("browser.search.geoSpecificDefaults", false);
@ -176,7 +168,9 @@ user_pref("browser.search.geoSpecificDefaults.url", "");
* [TEST] https://addons.mozilla.org/about ***/ * [TEST] https://addons.mozilla.org/about ***/
user_pref("intl.accept_languages", "en-US, en"); user_pref("intl.accept_languages", "en-US, en");
/* 0211: enforce US English locale regardless of the system locale /* 0211: enforce US English locale regardless of the system locale
* [1] https://bugzilla.mozilla.org/867501 ***/ * [SETUP-WEB] May break some input methods e.g xim/ibus for CJK languages, see [2]
* [1] https://bugzilla.mozilla.org/867501
* [2] https://bugzilla.mozilla.org/1629630 ***/
user_pref("javascript.use_us_english_locale", true); // [HIDDEN PREF] user_pref("javascript.use_us_english_locale", true); // [HIDDEN PREF]
/* 0212: enforce fallback text encoding to match en-US /* 0212: enforce fallback text encoding to match en-US
* When the content or server doesn't declare a charset the browser will * When the content or server doesn't declare a charset the browser will
@ -206,8 +200,8 @@ user_pref("app.update.auto", false);
* [SETTING] about:addons>Extensions>[cog-wheel-icon]>Update Add-ons Automatically (toggle) ***/ * [SETTING] about:addons>Extensions>[cog-wheel-icon]>Update Add-ons Automatically (toggle) ***/
// user_pref("extensions.update.autoUpdateDefault", false); // user_pref("extensions.update.autoUpdateDefault", false);
/* 0306: disable extension metadata /* 0306: disable extension metadata
* used when installing/updating an extension, and in daily background update checks: if false, it * used when installing/updating an extension, and in daily background update checks:
* hides the expanded text description (if it exists) when you "show more details about an addon" ***/ * when false, extension detail tabs will have no description ***/
// user_pref("extensions.getAddons.cache.enabled", false); // user_pref("extensions.getAddons.cache.enabled", false);
/* 0308: disable search engine updates (e.g. OpenSearch) /* 0308: disable search engine updates (e.g. OpenSearch)
* [NOTE] This does not affect Mozilla's built-in or Web Extension search engines * [NOTE] This does not affect Mozilla's built-in or Web Extension search engines
@ -239,7 +233,6 @@ user_pref("toolkit.telemetry.shutdownPingSender.enabled", false); // [FF55+]
user_pref("toolkit.telemetry.updatePing.enabled", false); // [FF56+] user_pref("toolkit.telemetry.updatePing.enabled", false); // [FF56+]
user_pref("toolkit.telemetry.bhrPing.enabled", false); // [FF57+] Background Hang Reporter user_pref("toolkit.telemetry.bhrPing.enabled", false); // [FF57+] Background Hang Reporter
user_pref("toolkit.telemetry.firstShutdownPing.enabled", false); // [FF57+] user_pref("toolkit.telemetry.firstShutdownPing.enabled", false); // [FF57+]
user_pref("toolkit.telemetry.hybridContent.enabled", false); // [FF59+]
/* 0331: disable Telemetry Coverage /* 0331: disable Telemetry Coverage
* [1] https://blog.mozilla.org/data/2018/08/20/effectively-measuring-search-in-firefox/ ***/ * [1] https://blog.mozilla.org/data/2018/08/20/effectively-measuring-search-in-firefox/ ***/
user_pref("toolkit.telemetry.coverage.opt-out", true); // [HIDDEN PREF] user_pref("toolkit.telemetry.coverage.opt-out", true); // [HIDDEN PREF]
@ -279,12 +272,10 @@ user_pref("network.connectivity-service.enabled", false);
/*** [SECTION 0400]: BLOCKLISTS / SAFE BROWSING (SB) ***/ /*** [SECTION 0400]: BLOCKLISTS / SAFE BROWSING (SB) ***/
user_pref("_user.js.parrot", "0400 syntax error: the parrot's passed on!"); user_pref("_user.js.parrot", "0400 syntax error: the parrot's passed on!");
/** BLOCKLISTS ***/ /** BLOCKLISTS ***/
/* 0401: enforce Firefox blocklist, but sanitize blocklist url /* 0401: enforce Firefox blocklist
* [NOTE] It includes updates for "revoked certificates" * [NOTE] It includes updates for "revoked certificates"
* [1] https://blog.mozilla.org/security/2015/03/03/revoking-intermediate-certificates-introducing-onecrl/ * [1] https://blog.mozilla.org/security/2015/03/03/revoking-intermediate-certificates-introducing-onecrl/ ***/
* [2] https://trac.torproject.org/projects/tor/ticket/16931 ***/
user_pref("extensions.blocklist.enabled", true); // [DEFAULT: true] user_pref("extensions.blocklist.enabled", true); // [DEFAULT: true]
user_pref("extensions.blocklist.url", "https://blocklists.settings.services.mozilla.com/v1/blocklist/3/%APP_ID%/%APP_VERSION%/");
/** SAFE BROWSING (SB) /** SAFE BROWSING (SB)
Safe Browsing has taken many steps to preserve privacy. *IF* required, a full url is never Safe Browsing has taken many steps to preserve privacy. *IF* required, a full url is never
@ -361,6 +352,7 @@ user_pref("browser.ping-centre.telemetry", false);
/* 0517: disable Form Autofill /* 0517: disable Form Autofill
* [NOTE] Stored data is NOT secure (uses a JSON file) * [NOTE] Stored data is NOT secure (uses a JSON file)
* [NOTE] Heuristics controls Form Autofill on forms without @autocomplete attributes * [NOTE] Heuristics controls Form Autofill on forms without @autocomplete attributes
* [SETTING] Privacy & Security>Forms and Autofill>Autofill addresses (FF74+)
* [1] https://wiki.mozilla.org/Firefox/Features/Form_Autofill * [1] https://wiki.mozilla.org/Firefox/Features/Form_Autofill
* [2] https://www.ghacks.net/2017/05/24/firefoxs-new-form-autofill-is-awesome/ ***/ * [2] https://www.ghacks.net/2017/05/24/firefoxs-new-form-autofill-is-awesome/ ***/
user_pref("extensions.formautofill.addresses.enabled", false); // [FF55+] user_pref("extensions.formautofill.addresses.enabled", false); // [FF55+]
@ -398,7 +390,7 @@ user_pref("_user.js.parrot", "0700 syntax error: the parrot's given up the ghost
/* 0701: disable IPv6 /* 0701: disable IPv6
* IPv6 can be abused, especially regarding MAC addresses. They also do not play nice * IPv6 can be abused, especially regarding MAC addresses. They also do not play nice
* with VPNs. That's even assuming your ISP and/or router and/or website can handle it. * with VPNs. That's even assuming your ISP and/or router and/or website can handle it.
* Firefox telemetry (April 2019) shows only 5% of all connections are IPv6. * Firefox telemetry (April 2019) shows only 5% of all connections are IPv6
* [NOTE] This is just an application level fallback. Disabling IPv6 is best done at an * [NOTE] This is just an application level fallback. Disabling IPv6 is best done at an
* OS/network level, and/or configured properly in VPN setups. If you are not masking your IP, * OS/network level, and/or configured properly in VPN setups. If you are not masking your IP,
* then this won't make much difference. If you are masking your IP, then it can only help. * then this won't make much difference. If you are masking your IP, then it can only help.
@ -598,6 +590,10 @@ user_pref("browser.cache.disk.enable", false);
* [NOTE] This means any permission changes are session only * [NOTE] This means any permission changes are session only
* [1] https://bugzilla.mozilla.org/967812 ***/ * [1] https://bugzilla.mozilla.org/967812 ***/
// user_pref("permissions.memory_only", true); // [HIDDEN PREF] // user_pref("permissions.memory_only", true); // [HIDDEN PREF]
/* 1007: disable media cache from writing to disk in Private Browsing
* [NOTE] MSE (Media Source Extensions) are already stored in-memory in PB */
user_pref("browser.privatebrowsing.forceMediaMemoryCache", true); // [FF75+]
user_pref("media.memory_cache_max_size", 16384);
/** SESSIONS & SESSION RESTORE ***/ /** SESSIONS & SESSION RESTORE ***/
/* 1020: exclude "Undo Closed Tabs" in Session Restore ***/ /* 1020: exclude "Undo Closed Tabs" in Session Restore ***/
@ -656,11 +652,13 @@ user_pref("security.ssl.require_safe_negotiation", true);
/* 1202: control TLS versions with min and max /* 1202: control TLS versions with min and max
* 1=TLS 1.0, 2=TLS 1.1, 3=TLS 1.2, 4=TLS 1.3 * 1=TLS 1.0, 2=TLS 1.1, 3=TLS 1.2, 4=TLS 1.3
* [WARNING] Leave these at default, otherwise you alter your TLS fingerprint. * [WARNING] Leave these at default, otherwise you alter your TLS fingerprint.
* Firefox telemetry (April 2019) shows only 0.5% of TLS web traffic uses 1.0 or 1.1 * Firefox telemetry (April 2020) shows only 0.25% of TLS web traffic uses 1.0 or 1.1
* [1] https://www.ssllabs.com/ssl-pulse/ ***/ * [1] https://www.ssllabs.com/ssl-pulse/ ***/
// user_pref("security.tls.version.min", 3); // user_pref("security.tls.version.min", 3);
// user_pref("security.tls.version.max", 4); // user_pref("security.tls.version.max", 4);
/* 1203: disable SSL session tracking [FF36+] /* 1203: enforce TLS 1.0 and 1.1 downgrades as session only */
user_pref("security.tls.version.enable-deprecated", false);
/* 1204: disable SSL session tracking [FF36+]
* SSL Session IDs are unique, last up to 24hrs in Firefox, and can be used for tracking * SSL Session IDs are unique, last up to 24hrs in Firefox, and can be used for tracking
* [SETUP-PERF] Relax this if you have FPI enabled (see 4000) *AND* you understand the * [SETUP-PERF] Relax this if you have FPI enabled (see 4000) *AND* you understand the
* consequences. FPI isolates these, but it was designed with the Tor protocol in mind, * consequences. FPI isolates these, but it was designed with the Tor protocol in mind,
@ -669,12 +667,12 @@ user_pref("security.ssl.require_safe_negotiation", true);
* [2] https://bugzilla.mozilla.org/967977 * [2] https://bugzilla.mozilla.org/967977
* [3] https://arxiv.org/abs/1810.07304 ***/ * [3] https://arxiv.org/abs/1810.07304 ***/
user_pref("security.ssl.disable_session_identifiers", true); // [HIDDEN PREF] user_pref("security.ssl.disable_session_identifiers", true); // [HIDDEN PREF]
/* 1204: disable SSL Error Reporting /* 1205: disable SSL Error Reporting
* [1] https://firefox-source-docs.mozilla.org/browser/base/sslerrorreport/preferences.html ***/ * [1] https://firefox-source-docs.mozilla.org/browser/base/sslerrorreport/preferences.html ***/
user_pref("security.ssl.errorReporting.automatic", false); user_pref("security.ssl.errorReporting.automatic", false);
user_pref("security.ssl.errorReporting.enabled", false); user_pref("security.ssl.errorReporting.enabled", false);
user_pref("security.ssl.errorReporting.url", ""); user_pref("security.ssl.errorReporting.url", "");
/* 1205: disable TLS1.3 0-RTT (round-trip time) [FF51+] /* 1206: disable TLS1.3 0-RTT (round-trip time) [FF51+]
* [1] https://github.com/tlswg/tls13-spec/issues/1001 * [1] https://github.com/tlswg/tls13-spec/issues/1001
* [2] https://blog.cloudflare.com/tls-1-3-overview-and-q-and-a/ ***/ * [2] https://blog.cloudflare.com/tls-1-3-overview-and-q-and-a/ ***/
user_pref("security.tls.enable_0rtt_data", false); user_pref("security.tls.enable_0rtt_data", false);
@ -738,6 +736,10 @@ user_pref("security.mixed_content.block_display_content", true);
/* 1243: block unencrypted requests from Flash on encrypted pages to mitigate MitM attacks [FF59+] /* 1243: block unencrypted requests from Flash on encrypted pages to mitigate MitM attacks [FF59+]
* [1] https://bugzilla.mozilla.org/1190623 ***/ * [1] https://bugzilla.mozilla.org/1190623 ***/
user_pref("security.mixed_content.block_object_subrequest", true); user_pref("security.mixed_content.block_object_subrequest", true);
/* 1244: enable https-only-mode [FF76+]
* [NOTE] This is experimental
* [1] https://bugzilla.mozilla.org/1613063 */
// user_pref("dom.security.https_only_mode", true);
/** CIPHERS [WARNING: do not meddle with your cipher suite: see the section 1200 intro] ***/ /** CIPHERS [WARNING: do not meddle with your cipher suite: see the section 1200 intro] ***/
/* 1261: disable 3DES (effective key size < 128) /* 1261: disable 3DES (effective key size < 128)
@ -779,7 +781,7 @@ user_pref("security.insecure_connection_text.enabled", true); // [FF60+]
user_pref("_user.js.parrot", "1400 syntax error: the parrot's bereft of life!"); user_pref("_user.js.parrot", "1400 syntax error: the parrot's bereft of life!");
/* 1401: disable websites choosing fonts (0=block, 1=allow) /* 1401: disable websites choosing fonts (0=block, 1=allow)
* This can limit most (but not all) JS font enumeration which is a high entropy fingerprinting vector * This can limit most (but not all) JS font enumeration which is a high entropy fingerprinting vector
* [SETUP-WEB] Disabling fonts can uglify the web a fair bit. * [SETUP-WEB] Can break some PDFs (missing text). Limiting to default fonts can "uglify" the web
* [SETTING] General>Language and Appearance>Fonts & Colors>Advanced>Allow pages to choose... ***/ * [SETTING] General>Language and Appearance>Fonts & Colors>Advanced>Allow pages to choose... ***/
user_pref("browser.display.use_document_fonts", 0); user_pref("browser.display.use_document_fonts", 0);
/* 1403: disable icon fonts (glyphs) and local fallback rendering /* 1403: disable icon fonts (glyphs) and local fallback rendering
@ -869,10 +871,10 @@ user_pref("privacy.userContext.ui.enabled", true);
/* 1702: enable Container Tabs [FF50+] /* 1702: enable Container Tabs [FF50+]
* [SETTING] General>Tabs>Enable Container Tabs ***/ * [SETTING] General>Tabs>Enable Container Tabs ***/
user_pref("privacy.userContext.enabled", true); user_pref("privacy.userContext.enabled", true);
/* 1704: set behaviour on "+ Tab" button to display container menu [FF53+] [SETUP-CHROME] /* 1703: set behaviour on "+ Tab" button to display container menu on left click [FF74+]
* 0=no menu (default), 1=show when clicked, 2=show on long press * [NOTE] The menu is always shown on long press and right click
* [1] https://bugzilla.mozilla.org/1328756 ***/ * [SETTING] General>Tabs>Enable Container Tabs>Settings>Select a container for each new tab ***/
user_pref("privacy.userContext.longPressBehavior", 2); // user_pref("privacy.userContext.newTabContainerOnLeftClick.enabled", true);
/*** [SECTION 1800]: PLUGINS ***/ /*** [SECTION 1800]: PLUGINS ***/
user_pref("_user.js.parrot", "1800 syntax error: the parrot's pushing up daisies!"); user_pref("_user.js.parrot", "1800 syntax error: the parrot's pushing up daisies!");
@ -920,7 +922,6 @@ user_pref("webgl.disabled", true);
user_pref("webgl.enable-webgl2", false); user_pref("webgl.enable-webgl2", false);
/* 2012: limit WebGL ***/ /* 2012: limit WebGL ***/
user_pref("webgl.min_capability_mode", true); user_pref("webgl.min_capability_mode", true);
user_pref("webgl.disable-extensions", true);
user_pref("webgl.disable-fail-if-major-performance-caveat", true); user_pref("webgl.disable-fail-if-major-performance-caveat", true);
/* 2022: disable screensharing ***/ /* 2022: disable screensharing ***/
user_pref("media.getusermedia.screensharing.enabled", false); user_pref("media.getusermedia.screensharing.enabled", false);
@ -1028,14 +1029,14 @@ user_pref("_user.js.parrot", "2400 syntax error: the parrot's kicked the bucket!
/* 2401: disable website control over browser right-click context menu /* 2401: disable website control over browser right-click context menu
* [NOTE] Shift-Right-Click will always bring up the browser right-click context menu ***/ * [NOTE] Shift-Right-Click will always bring up the browser right-click context menu ***/
// user_pref("dom.event.contextmenu.enabled", false); // user_pref("dom.event.contextmenu.enabled", false);
/* 2402: disable website access to clipboard events/content /* 2402: disable website access to clipboard events/content [SETUP-HARDEN]
* [SETUP-WEB] This will break some sites functionality such as pasting into facebook, wordpress * [NOTE] This will break some sites' functionality e.g. Outlook, Twitter, Facebook, Wordpress
* This applies to onCut/onCopy/onPaste events - i.e. it requires interaction with the website * This applies to onCut/onCopy/onPaste events - i.e. it requires interaction with the website
* [WARNING] If both 'middlemouse.paste' and 'general.autoScroll' are true (at least one * [WARNING] If both 'middlemouse.paste' and 'general.autoScroll' are true (at least one
* is default false) then enabling this pref can leak clipboard content, see [2] * is default false) then enabling this pref can leak clipboard content, see [2]
* [1] https://www.ghacks.net/2014/01/08/block-websites-reading-modifying-clipboard-contents-firefox/ * [1] https://www.ghacks.net/2014/01/08/block-websites-reading-modifying-clipboard-contents-firefox/
* [2] https://bugzilla.mozilla.org/1528289 */ * [2] https://bugzilla.mozilla.org/1528289 */
user_pref("dom.event.clipboardevents.enabled", false); // user_pref("dom.event.clipboardevents.enabled", false);
/* 2404: disable clipboard commands (cut/copy) from "non-privileged" content [FF41+] /* 2404: disable clipboard commands (cut/copy) from "non-privileged" content [FF41+]
* this disables document.execCommand("cut"/"copy") to protect your clipboard * this disables document.execCommand("cut"/"copy") to protect your clipboard
* [1] https://bugzilla.mozilla.org/1170911 ***/ * [1] https://bugzilla.mozilla.org/1170911 ***/
@ -1055,11 +1056,14 @@ user_pref("dom.vibrator.enabled", false);
* [5] https://www.mozilla.org/security/advisories/mfsa2017-05/#CVE-2017-5400 * [5] https://www.mozilla.org/security/advisories/mfsa2017-05/#CVE-2017-5400
* [6] https://rh0dev.github.io/blog/2017/the-return-of-the-jit/ ***/ * [6] https://rh0dev.github.io/blog/2017/the-return-of-the-jit/ ***/
user_pref("javascript.options.asmjs", false); user_pref("javascript.options.asmjs", false);
/* 2421: disable Ion and baseline JIT to help harden JS against exploits /* 2421: disable Ion and baseline JIT to harden against JS exploits [SETUP-HARDEN]
* [WARNING] If false, causes the odd site issue and there is also a performance loss * [NOTE] In FF75+, when **both** Ion and JIT are disabled, **and** the new
* hidden pref is enabled, then Ion can still be used by extensions (1599226)
* [WARNING] Disabling Ion/JIT can cause some site issues and performance loss
* [1] https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0817 ***/ * [1] https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2015-0817 ***/
// user_pref("javascript.options.ion", false); // user_pref("javascript.options.ion", false);
// user_pref("javascript.options.baselinejit", false); // user_pref("javascript.options.baselinejit", false);
// user_pref("javascript.options.jit_trustedprincipals", true); // [FF75+] [HIDDEN PREF]
/* 2422: disable WebAssembly [FF52+] [SETUP-PERF] /* 2422: disable WebAssembly [FF52+] [SETUP-PERF]
* [NOTE] In FF71+ this no longer affects extensions (1576254) * [NOTE] In FF71+ this no longer affects extensions (1576254)
* [1] https://developer.mozilla.org/docs/WebAssembly ***/ * [1] https://developer.mozilla.org/docs/WebAssembly ***/
@ -1082,10 +1086,6 @@ user_pref("_user.js.parrot", "2500 syntax error: the parrot's shuffled off 'is m
* [NOTE] From FF52+ Battery Status API is only available in chrome/privileged code. see [1] * [NOTE] From FF52+ Battery Status API is only available in chrome/privileged code. see [1]
* [1] https://bugzilla.mozilla.org/1313580 ***/ * [1] https://bugzilla.mozilla.org/1313580 ***/
// user_pref("dom.battery.enabled", false); // user_pref("dom.battery.enabled", false);
/* 2504: disable virtual reality devices
* Optional protection depending on your connected devices
* [1] https://developer.mozilla.org/docs/Web/API/WebVR_API ***/
// user_pref("dom.vr.enabled", false);
/* 2505: disable media device enumeration [FF29+] /* 2505: disable media device enumeration [FF29+]
* [NOTE] media.peerconnection.enabled should also be set to false (see 2001) * [NOTE] media.peerconnection.enabled should also be set to false (see 2001)
* [1] https://wiki.mozilla.org/Media/getUserMedia * [1] https://wiki.mozilla.org/Media/getUserMedia
@ -1106,6 +1106,15 @@ user_pref("dom.webaudio.enabled", false);
* [1] https://github.com/WICG/media-capabilities * [1] https://github.com/WICG/media-capabilities
* [2] https://wicg.github.io/media-capabilities/#security-privacy-considerations ***/ * [2] https://wicg.github.io/media-capabilities/#security-privacy-considerations ***/
// user_pref("media.media-capabilities.enabled", false); // user_pref("media.media-capabilities.enabled", false);
/* 2520: disable virtual reality devices
* Optional protection depending on your connected devices
* [1] https://developer.mozilla.org/docs/Web/API/WebVR_API ***/
// user_pref("dom.vr.enabled", false);
/* 2521: set a default permission for Virtual Reality (see 2520) [FF73+]
* 0=always ask (default), 1=allow, 2=block
* [SETTING] to add site exceptions: Page Info>Permissions>Access Virtual Reality Devices
* [SETTING] to manage site exceptions: Options>Privacy & Security>Permissions>Virtual Reality>Settings ***/
// user_pref("permissions.default.xr", 0);
/*** [SECTION 2600]: MISCELLANEOUS ***/ /*** [SECTION 2600]: MISCELLANEOUS ***/
user_pref("_user.js.parrot", "2600 syntax error: the parrot's run down the curtain!"); user_pref("_user.js.parrot", "2600 syntax error: the parrot's run down the curtain!");
@ -1125,7 +1134,7 @@ user_pref("browser.pagethumbnails.capturing_disabled", true); // [HIDDEN PREF]
/* 2605: block web content in file processes [FF55+] /* 2605: block web content in file processes [FF55+]
* [SETUP-WEB] You may want to disable this for corporate or developer environments * [SETUP-WEB] You may want to disable this for corporate or developer environments
* [1] https://bugzilla.mozilla.org/1343184 ***/ * [1] https://bugzilla.mozilla.org/1343184 ***/
user_pref("browser.tabs.remote.allowLinkedWebInFileUriProcess", false); user_pref("browser.tabs.remote.allowLinkedWebInFileUriProcess", false); // [DEFAULT: false FF76+]
/* 2606: disable UITour backend so there is no chance that a remote page can use it ***/ /* 2606: disable UITour backend so there is no chance that a remote page can use it ***/
user_pref("browser.uitour.enabled", false); user_pref("browser.uitour.enabled", false);
user_pref("browser.uitour.url", ""); user_pref("browser.uitour.url", "");
@ -1184,6 +1193,15 @@ user_pref("pdfjs.disabled", false); // [DEFAULT: false]
/* 2621: disable links launching Windows Store on Windows 8/8.1/10 [WINDOWS] /* 2621: disable links launching Windows Store on Windows 8/8.1/10 [WINDOWS]
* [1] https://www.ghacks.net/2016/03/25/block-firefox-chrome-windows-store/ ***/ * [1] https://www.ghacks.net/2016/03/25/block-firefox-chrome-windows-store/ ***/
user_pref("network.protocol-handler.external.ms-windows-store", false); user_pref("network.protocol-handler.external.ms-windows-store", false);
/* 2622: enforce no system colors; they can be fingerprinted
* [SETTING] General>Language and Appearance>Fonts and Colors>Colors>Use system colors ***/
user_pref("browser.display.use_system_colors", false); // [DEFAULT: false]
/* 2623: disable permissions delegation [FF73+]
* Currently applies to cross-origin geolocation, camera, mic and screen-sharing
* permissions, and fullscreen requests. Disabling delegation means any prompts
* for these will show/use their correct 3rd party origin
* [1] https://groups.google.com/forum/#!topic/mozilla.dev.platform/BdFOMAuCGW8/discussion */
user_pref("permissions.delegation.enabled", false);
/** DOWNLOADS ***/ /** DOWNLOADS ***/
/* 2650: discourage downloading to desktop /* 2650: discourage downloading to desktop
@ -1213,7 +1231,7 @@ user_pref("browser.download.hide_plugins_without_extensions", false);
* [1] archived: https://archive.is/DYjAM ***/ * [1] archived: https://archive.is/DYjAM ***/
user_pref("extensions.enabledScopes", 5); // [HIDDEN PREF] user_pref("extensions.enabledScopes", 5); // [HIDDEN PREF]
user_pref("extensions.autoDisableScopes", 15); // [DEFAULT: 15] user_pref("extensions.autoDisableScopes", 15); // [DEFAULT: 15]
/* 2662: disable webextension restrictions on certain mozilla domains (also see 4503) [FF60+] /* 2662: disable webextension restrictions on certain mozilla domains (you also need 4503) [FF60+]
* [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1384330,1406795,1415644,1453988 ***/ * [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1384330,1406795,1415644,1453988 ***/
// user_pref("extensions.webextensions.restrictedDomains", ""); // user_pref("extensions.webextensions.restrictedDomains", "");
@ -1265,14 +1283,6 @@ user_pref("network.cookie.thirdparty.nonsecureSessionOnly", true); // [FF58+]
* [WARNING] This will break a LOT of sites' functionality AND extensions! * [WARNING] This will break a LOT of sites' functionality AND extensions!
* You are better off using an extension for more granular control ***/ * You are better off using an extension for more granular control ***/
// user_pref("dom.storage.enabled", false); // user_pref("dom.storage.enabled", false);
/* 2720: enforce IndexedDB (IDB) as enabled
* IDB is required for extensions and Firefox internals (even before FF63 in [1])
* To control *website* IDB data, control allowing cookies and service workers, or use
* Temporary Containers. To mitigate *website* IDB, FPI helps (4001), and/or sanitize
* on close (Offline Website Data, see 2800) or on-demand (Ctrl-Shift-Del), or automatically
* via an extension. Note that IDB currently cannot be sanitized by host.
* [1] https://blog.mozilla.org/addons/2018/08/03/new-backend-for-storage-local-api/ ***/
user_pref("dom.indexedDB.enabled", true); // [DEFAULT: true]
/* 2730: disable offline cache ***/ /* 2730: disable offline cache ***/
user_pref("browser.cache.offline.enable", false); user_pref("browser.cache.offline.enable", false);
/* 2740: disable service worker cache and cache storage /* 2740: disable service worker cache and cache storage
@ -1402,12 +1412,13 @@ user_pref("privacy.firstparty.isolate", true);
This spoof *shouldn't* affect core chrome/Firefox performance This spoof *shouldn't* affect core chrome/Firefox performance
** 1217238 - reduce precision of time exposed by javascript (FF55+) ** 1217238 - reduce precision of time exposed by javascript (FF55+)
** 1369303 - spoof/disable performance API (see 2410-deprecated, 4602, 4603) (FF56+) ** 1369303 - spoof/disable performance API (see 2410-deprecated, 4602, 4603) (FF56+)
** 1333651 & 1383495 & 1396468 - spoof Navigator API (see section 4700) (FF56+) ** 1333651 & 1383495 & 1396468 - spoof User Agent & Navigator API (see section 4700) (FF56+)
FF56: The version number will be rounded down to the nearest multiple of 10 FF56: Version: rounded down to the nearest multiple of 10
FF57: The version number will match current ESR (1393283, 1418672, 1418162, 1511763) FF57: Version: match current ESR (1393283, 1418672, 1418162, 1511763)
FF59: The OS will be reported as Windows, OSX, Android, or Linux (to reduce breakage) (1404608) FF59: OS: Windows, OSX, Android, or Linux (to reduce breakage) (1404608)
FF66: The OS in HTTP Headers will be reduced to Windows or Android (1509829) FF66: OS: HTTP Headers reduced to Windows or Android (1509829)
FF68: Reported OS versions updated to Windows 10, OS 10.14, and Adnroid 8.1 (1511434) FF68: OS: updated to Windows 10, OS 10.14, and Android 8.1 (1511434)
FF78: OS: updated to OS 10.15 and Android 9.0 (1635011)
** 1369319 - disable device sensor API (see 4604) (FF56+) ** 1369319 - disable device sensor API (see 4604) (FF56+)
** 1369357 - disable site specific zoom (see 4605) (FF56+) ** 1369357 - disable site specific zoom (see 4605) (FF56+)
** 1337161 - hide gamepads from content (see 4606) (FF56+) ** 1337161 - hide gamepads from content (see 4606) (FF56+)
@ -1421,7 +1432,7 @@ user_pref("privacy.firstparty.isolate", true);
** 1354633 - limit MediaError.message to a whitelist (FF57+) ** 1354633 - limit MediaError.message to a whitelist (FF57+)
** 1382533 - enable fingerprinting resistance for Presentation API (FF57+) ** 1382533 - enable fingerprinting resistance for Presentation API (FF57+)
This blocks exposure of local IP Addresses via mDNS (Multicast DNS) This blocks exposure of local IP Addresses via mDNS (Multicast DNS)
** 967895 - enable site permission prompt before allowing canvas data extraction (FF58+) ** 967895 - spoof canvas and enable site permission prompt before allowing canvas data extraction (FF58+)
FF59: Added to site permissions panel (1413780) Only prompt when triggered by user input (1376865) FF59: Added to site permissions panel (1413780) Only prompt when triggered by user input (1376865)
** 1372073 - spoof/block fingerprinting in MediaDevices API (FF59+) ** 1372073 - spoof/block fingerprinting in MediaDevices API (FF59+)
Spoof: enumerate devices reports one "Internal Camera" and one "Internal Microphone" if Spoof: enumerate devices reports one "Internal Camera" and one "Internal Microphone" if
@ -1439,10 +1450,12 @@ user_pref("privacy.firstparty.isolate", true);
FF65: pointerEvent.pointerid (1492766) FF65: pointerEvent.pointerid (1492766)
** 1485266 - disable exposure of system colors to CSS or canvas (see 4615) (FF67+) ** 1485266 - disable exposure of system colors to CSS or canvas (see 4615) (FF67+)
** 1407366 - enable inner window letterboxing (see 4504) (FF67+) ** 1407366 - enable inner window letterboxing (see 4504) (FF67+)
** 1540726 - return "light" with prefers-color-scheme (FF67+) ** 1494034 - return "light" with prefers-color-scheme (see 4616) (FF67+)
[1] https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme [1] https://developer.mozilla.org/en-US/docs/Web/CSS/@media/prefers-color-scheme
** 1564422 - spoof audioContext outputLatency (FF70+) ** 1564422 - spoof audioContext outputLatency (FF70+)
** 1595823 - spoof audioContext sampleRate (FF72+) ** 1595823 - spoof audioContext sampleRate (FF72+)
** 1607316 - spoof pointer as coarse and hover as none (ANDROID) (FF74+)
** 1621433 - randomize canvas (previously FF58+ returned an all-white canvas) (FF78+)
***/ ***/
user_pref("_user.js.parrot", "4500 syntax error: the parrot's popped 'is clogs"); user_pref("_user.js.parrot", "4500 syntax error: the parrot's popped 'is clogs");
/* 4501: enable privacy.resistFingerprinting [FF41+] /* 4501: enable privacy.resistFingerprinting [FF41+]
@ -1569,6 +1582,9 @@ user_pref("dom.w3c_pointer_events.enabled", false);
// [SETUP-CHROME] Might affect CSS in themes and extensions // [SETUP-CHROME] Might affect CSS in themes and extensions
// [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=232227,1330876 // [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=232227,1330876
user_pref("ui.use_standins_for_native_colors", true); user_pref("ui.use_standins_for_native_colors", true);
// 4616: enforce prefers-color-scheme as light [FF67+]
// 0=light, 1=dark : This overrides your OS value
user_pref("ui.systemUsesDarkTheme", 0); // [HIDDEN PREF]
// * * * / // * * * /
// ***/ // ***/
@ -1644,130 +1660,11 @@ user_pref("_user.js.parrot", "5000 syntax error: this is an ex-parrot!");
// user_pref("xpinstall.signatures.required", false); // enforced extension signing (Nightly/ESR) // user_pref("xpinstall.signatures.required", false); // enforced extension signing (Nightly/ESR)
/*** [SECTION 9999]: DEPRECATED / REMOVED / LEGACY / RENAMED /*** [SECTION 9999]: DEPRECATED / REMOVED / LEGACY / RENAMED
Documentation denoted as [-]. Items deprecated prior to FF61 have been archived at [1], which Documentation denoted as [-]. Items deprecated in FF68 or earlier have been archived at [1],
also provides a link-clickable, viewer-friendly version of the deprecated bugzilla tickets which also provides a link-clickable, viewer-friendly version of the deprecated bugzilla tickets
[1] https://github.com/ghacksuserjs/ghacks-user.js/issues/123 [1] https://github.com/ghacksuserjs/ghacks-user.js/issues/123
***/ ***/
user_pref("_user.js.parrot", "9999 syntax error: the parrot's deprecated!"); user_pref("_user.js.parrot", "9999 syntax error: the parrot's deprecated!");
/* FF61
// 0501: disable experiments
// [1] https://wiki.mozilla.org/Telemetry/Experiments
// [-] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1420908,1450801
user_pref("experiments.enabled", false);
user_pref("experiments.manifest.uri", "");
user_pref("experiments.supported", false);
user_pref("experiments.activeExperiment", false);
// 2612: disable remote JAR files being opened, regardless of content type [FF42+]
// [1] https://bugzilla.mozilla.org/1173171
// [2] https://www.fxsitecompat.com/en-CA/docs/2015/jar-protocol-support-has-been-disabled-by-default/
// [-] https://bugzilla.mozilla.org/1427726
user_pref("network.jar.block-remote-files", true);
// 2613: disable JAR from opening Unsafe File Types
// [-] https://bugzilla.mozilla.org/1427726
user_pref("network.jar.open-unsafe-types", false);
// ***/
/* FF62
// 1803: disable Java plugin
// [-] (part5) https://bugzilla.mozilla.org/1461243
user_pref("plugin.state.java", 0);
// ***/
/* FF63
// 0205: disable GeoIP-based search results
// [NOTE] May not be hidden if Firefox has changed your settings due to your locale
// [-] https://bugzilla.mozilla.org/1462015
user_pref("browser.search.countryCode", "US"); // [HIDDEN PREF]
// 0301a: disable auto-update checks for Firefox
// [SETTING] General>Firefox Updates>Never check for updates
// [-] https://bugzilla.mozilla.org/1420514
// user_pref("app.update.enabled", false);
// 0503: disable "Savant" Shield study [FF61+]
// [-] https://bugzilla.mozilla.org/1457226
user_pref("shield.savant.enabled", false);
// 1031: disable favicons in tabs and new bookmarks - merged into browser.chrome.site_icons
// [-] https://bugzilla.mozilla.org/1453751
// user_pref("browser.chrome.favicons", false);
// 2030: disable autoplay of HTML5 media - replaced by media.autoplay.default
// This may break video playback on various sites
// [-] https://bugzilla.mozilla.org/1470082
user_pref("media.autoplay.enabled", false);
// 2704: set cookie lifetime in days (see 2703)
// [-] https://bugzilla.mozilla.org/1457170
// user_pref("network.cookie.lifetime.days", 90); // [DEFAULT: 90]
// 5000's: enable "Ctrl+Tab cycles through tabs in recently used order" - replaced by browser.ctrlTab.recentlyUsedOrder
// [-] https://bugzilla.mozilla.org/1473595
// user_pref("browser.ctrlTab.previews", true);
// ***/
/* FF64
// 0516: disable Onboarding [FF55+]
// Onboarding is an interactive tour/setup for new installs/profiles and features. Every time
// about:home or about:newtab is opened, the onboarding overlay is injected into that page
// [NOTE] Onboarding uses Google Analytics [2], and leaks resource://URIs [3]
// [1] https://wiki.mozilla.org/Firefox/Onboarding
// [2] https://github.com/mozilla/onboard/commit/db4d6c8726c89a5d6a241c1b1065827b525c5baf
// [3] https://bugzilla.mozilla.org/863246#c154
// [-] https://bugzilla.mozilla.org/1462415
user_pref("browser.onboarding.enabled", false);
// 2608: disable WebIDE ADB extension downloads - both renamed
// [1] https://trac.torproject.org/projects/tor/ticket/16222
// [-] https://bugzilla.mozilla.org/1491315
user_pref("devtools.webide.autoinstallADBHelper", false);
user_pref("devtools.webide.adbAddonURL", "");
// 2681: disable CSP violation events [FF59+]
// [1] https://developer.mozilla.org/docs/Web/API/SecurityPolicyViolationEvent
// [-] https://bugzilla.mozilla.org/1488165
user_pref("security.csp.enable_violation_events", false);
// ***/
/* FF65
// 0850a: disable location bar autocomplete and suggestion types
// If you enforce any of the suggestion types (see the other 0850a), you MUST enforce 'autocomplete'
// - If *ALL* of the suggestion types are false, 'autocomplete' must also be false
// - If *ANY* of the suggestion types are true, 'autocomplete' must also be true
// [-] https://bugzilla.mozilla.org/1502392
user_pref("browser.urlbar.autocomplete.enabled", false);
// 0908: remove user & password info when attempting to fix an entered URL (i.e. 0802 is true)
// e.g. //user:password@foo -> //user@(prefix)foo(suffix) NOT //user:password@(prefix)foo(suffix)
// [-] https://bugzilla.mozilla.org/1510580
user_pref("browser.fixup.hide_user_pass", true); // [DEFAULT: true]
// ***/
/* FF66
// 0380: disable Browser Error Reporter [FF60+]
// [1] https://support.mozilla.org/en-US/kb/firefox-nightly-error-collection
// [2] https://firefox-source-docs.mozilla.org/browser/browser/BrowserErrorReporter.html
// [-] https://bugzilla.mozilla.org/1509888
user_pref("browser.chrome.errorReporter.enabled", false);
user_pref("browser.chrome.errorReporter.submitUrl", "");
// 0502: disable Mozilla permission to silently opt you into tests
// [-] https://bugzilla.mozilla.org/1415625
user_pref("network.allow-experiments", false);
// ***/
/* FF67
// 2428: enforce DOMHighResTimeStamp API
// [WARNING] Required for normalization of timestamps and any timer resolution mitigations
// [-] https://bugzilla.mozilla.org/1485264
user_pref("dom.event.highrestimestamp.enabled", true); // [DEFAULT: true]
// 5000's: disable CFR [FF64+] - split into two new prefs: *cfr.addons, *cfr.features
// [SETTING] General>Browsing>Recommend extensions as you browse
// [1] https://support.mozilla.org/en-US/kb/extension-recommendations
// [-] https://bugzilla.mozilla.org/1528953
// user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr", false);
// ***/
/* FF68
// 0105b: disable Activity Stream Legacy Snippets
// [-] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1546190,1540939
user_pref("browser.newtabpage.activity-stream.disableSnippets", true);
user_pref("browser.aboutHomeSnippets.updateUrl", "");
// 0307: disable auto updating of lightweight themes (LWT)
// Not to be confused with themes in 0301* + 0302*, which use the FF55+ Theme API
// Mozilla plan to convert existing LWTs and remove LWT support in the future, see [1]
// [1] https://blog.mozilla.org/addons/2018/09/20/future-themes-here/
// [-] (part3b) https://bugzilla.mozilla.org/1525762
user_pref("lightweightThemes.update.enabled", false);
// 2682: enable CSP 1.1 experimental hash-source directive [FF29+]
// [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=855326,883975
// [-] https://bugzilla.mozilla.org/1386214
user_pref("security.csp.experimentalEnabled", true);
// ***/
/* ESR68.x still uses all the following prefs /* ESR68.x still uses all the following prefs
// [NOTE] replace the * with a slash in the line above to re-enable them // [NOTE] replace the * with a slash in the line above to re-enable them
// FF69 // FF69
@ -1793,6 +1690,44 @@ user_pref("devtools.webide.autoinstallADBExtension", false); // [FF64+]
// [-] https://bugzilla.mozilla.org/1574480 // [-] https://bugzilla.mozilla.org/1574480
user_pref("offline-apps.allow_by_default", false); user_pref("offline-apps.allow_by_default", false);
// * * * / // * * * /
// FF72
// 0105a: disable Activity Stream telemetry
// [-] https://bugzilla.mozilla.org/1597697
user_pref("browser.newtabpage.activity-stream.telemetry.ping.endpoint", "");
// 0330: disable Hybdrid Content telemetry
// [-] https://bugzilla.mozilla.org/1520491
user_pref("toolkit.telemetry.hybridContent.enabled", false); // [FF59+]
// 2720: enforce IndexedDB (IDB) as enabled
// IDB is required for extensions and Firefox internals (even before FF63 in [1])
// To control *website* IDB data, control allowing cookies and service workers, or use
// Temporary Containers. To mitigate *website* IDB, FPI helps (4001), and/or sanitize
// on close (Offline Website Data, see 2800) or on-demand (Ctrl-Shift-Del), or automatically
// via an extension. Note that IDB currently cannot be sanitized by host.
// [1] https://blog.mozilla.org/addons/2018/08/03/new-backend-for-storage-local-api/
// [-] https://bugzilla.mozilla.org/1488583
user_pref("dom.indexedDB.enabled", true); // [DEFAULT: true]
// * * * /
// FF74
// 0203: use Mozilla geolocation service instead of Google when geolocation is enabled
// Optionally enable logging to the console (defaults to false)
// [-] https://bugzilla.mozilla.org/1613627
user_pref("geo.wifi.uri", "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%");
// user_pref("geo.wifi.logging.enabled", true); // [HIDDEN PREF]
// 1704: set behaviour on "+ Tab" button to display container menu [FF53+] [SETUP-CHROME]
// 0=no menu (default), 1=show when clicked, 2=show on long press
// [1] https://bugzilla.mozilla.org/1328756
// [-] https://bugzilla.mozilla.org/1606265
user_pref("privacy.userContext.longPressBehavior", 2);
// 2012: limit WebGL
// [-] https://bugzilla.mozilla.org/1477756
user_pref("webgl.disable-extensions", true);
// * * * /
// FF76
// 0401: sanitize blocklist url
// [2] https://trac.torproject.org/projects/tor/ticket/16931
// [-] https://bugzilla.mozilla.org/1618188
user_pref("extensions.blocklist.url", "https://blocklists.settings.services.mozilla.com/v1/blocklist/3/%APP_ID%/%APP_VERSION%/");
// * * * /
// ***/ // ***/
/* END: internal custom pref to test for syntax errors ***/ /* END: internal custom pref to test for syntax errors ***/