|
|
@ -1,7 +1,7 @@
|
|
|
|
/******
|
|
|
|
/******
|
|
|
|
* name: arkenfox user.js
|
|
|
|
* name: arkenfox user.js
|
|
|
|
* date: 12 Nov 2020
|
|
|
|
* date: 28 Feb 2021
|
|
|
|
* version 82
|
|
|
|
* version 86
|
|
|
|
* url: https://github.com/arkenfox/user.js
|
|
|
|
* url: https://github.com/arkenfox/user.js
|
|
|
|
* license: MIT: https://github.com/arkenfox/user.js/blob/master/LICENSE.txt
|
|
|
|
* license: MIT: https://github.com/arkenfox/user.js/blob/master/LICENSE.txt
|
|
|
|
|
|
|
|
|
|
|
@ -18,6 +18,7 @@
|
|
|
|
* Some site breakage and unintended consequences will happen. Everyone's experience will differ
|
|
|
|
* Some site breakage and unintended consequences will happen. Everyone's experience will differ
|
|
|
|
e.g. some user data is erased on close (section 2800), change this to suit your needs
|
|
|
|
e.g. some user data is erased on close (section 2800), change this to suit your needs
|
|
|
|
* While not 100% definitive, search for "[SETUP" tags
|
|
|
|
* While not 100% definitive, search for "[SETUP" tags
|
|
|
|
|
|
|
|
e.g. third party images/videos not loading on some sites? check 1603
|
|
|
|
* Take the wiki link in step 2 and read the Troubleshooting entry
|
|
|
|
* Take the wiki link in step 2 and read the Troubleshooting entry
|
|
|
|
5. Some tag info
|
|
|
|
5. Some tag info
|
|
|
|
[SETUP-SECURITY] it's one item, read it
|
|
|
|
[SETUP-SECURITY] it's one item, read it
|
|
|
@ -25,6 +26,7 @@
|
|
|
|
[SETUP-CHROME] changes how Firefox itself behaves (i.e. not directly website related)
|
|
|
|
[SETUP-CHROME] changes how Firefox itself behaves (i.e. not directly website related)
|
|
|
|
[SETUP-PERF] may impact performance
|
|
|
|
[SETUP-PERF] may impact performance
|
|
|
|
[WARNING] used sparingly, heed them
|
|
|
|
[WARNING] used sparingly, heed them
|
|
|
|
|
|
|
|
6. Override Recipes: https://github.com/arkenfox/user.js/issues/1080
|
|
|
|
|
|
|
|
|
|
|
|
* RELEASES: https://github.com/arkenfox/user.js/releases
|
|
|
|
* RELEASES: https://github.com/arkenfox/user.js/releases
|
|
|
|
|
|
|
|
|
|
|
@ -34,6 +36,7 @@
|
|
|
|
- re-enable section 4600 if you don't use RFP
|
|
|
|
- re-enable section 4600 if you don't use RFP
|
|
|
|
ESR78
|
|
|
|
ESR78
|
|
|
|
- If you are not using arkenfox v78... (not a definitive list)
|
|
|
|
- If you are not using arkenfox v78... (not a definitive list)
|
|
|
|
|
|
|
|
- 1244: HTTPS-Only mode is enabled
|
|
|
|
- 1401: document fonts is inactive as it is now covered by RFP in FF80+
|
|
|
|
- 1401: document fonts is inactive as it is now covered by RFP in FF80+
|
|
|
|
- 4600: some prefs may apply even if you use RFP (currently none apply as of FF84)
|
|
|
|
- 4600: some prefs may apply even if you use RFP (currently none apply as of FF84)
|
|
|
|
- 9999: switch the appropriate deprecated section(s) back on
|
|
|
|
- 9999: switch the appropriate deprecated section(s) back on
|
|
|
@ -80,8 +83,8 @@
|
|
|
|
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
|
|
|
|
* FF71-72: chrome://global/content/config.xul
|
|
|
|
* FF72 or lower: chrome://global/content/config.xul
|
|
|
|
* FF73+: chrome://global/content/config.xhtml ***/
|
|
|
|
* FF73-86: chrome://global/content/config.xhtml ***/
|
|
|
|
user_pref("general.warnOnAboutConfig", false); // XUL/XHTML version
|
|
|
|
user_pref("general.warnOnAboutConfig", false); // XUL/XHTML version
|
|
|
|
user_pref("browser.aboutConfig.showWarning", false); // HTML version [FF71+]
|
|
|
|
user_pref("browser.aboutConfig.showWarning", false); // HTML version [FF71+]
|
|
|
|
|
|
|
|
|
|
|
@ -114,7 +117,6 @@ user_pref("browser.newtabpage.activity-stream.telemetry", false);
|
|
|
|
* 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/ ***/
|
|
|
|
user_pref("browser.newtabpage.activity-stream.feeds.snippets", false);
|
|
|
|
user_pref("browser.newtabpage.activity-stream.feeds.snippets", false);
|
|
|
|
user_pref("browser.newtabpage.activity-stream.asrouter.providers.snippets", "{}");
|
|
|
|
|
|
|
|
/* 0105c: disable Activity Stream Top Stories, Pocket-based and/or sponsored content ***/
|
|
|
|
/* 0105c: disable Activity Stream Top Stories, Pocket-based and/or sponsored content ***/
|
|
|
|
user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
|
|
|
|
user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
|
|
|
|
user_pref("browser.newtabpage.activity-stream.section.highlights.includePocket", false);
|
|
|
|
user_pref("browser.newtabpage.activity-stream.section.highlights.includePocket", false);
|
|
|
@ -147,7 +149,7 @@ user_pref("_user.js.parrot", "0200 syntax error: the parrot's definitely decease
|
|
|
|
/* 0202: set a default permission for Location (see 0201) [FF58+]
|
|
|
|
/* 0202: set a default permission for Location (see 0201) [FF58+]
|
|
|
|
* 0=always ask (default), 1=allow, 2=block
|
|
|
|
* 0=always ask (default), 1=allow, 2=block
|
|
|
|
* [NOTE] Best left at default "always ask", fingerprintable via Permissions API
|
|
|
|
* [NOTE] Best left at default "always ask", fingerprintable via Permissions API
|
|
|
|
* [SETTING] to add site exceptions: Page Info>Permissions>Access Your Location
|
|
|
|
* [SETTING] to add site exceptions: Ctrl+I>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 [FF74+]
|
|
|
|
/* 0203: use Mozilla geolocation service instead of Google when geolocation is enabled [FF74+]
|
|
|
@ -171,19 +173,17 @@ user_pref("browser.region.update.enabled", false); // [[FF79+]
|
|
|
|
* [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
|
|
|
|
* [SETUP-WEB] May break some input methods e.g xim/ibus for CJK languages, see [2]
|
|
|
|
* [SETUP-WEB] May break some input methods e.g xim/ibus for CJK languages [1]
|
|
|
|
* [1] https://bugzilla.mozilla.org/867501
|
|
|
|
* [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=867501,1629630 ***/
|
|
|
|
* [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]
|
|
|
|
|
|
|
|
|
|
|
|
/*** [SECTION 0300]: QUIET FOX
|
|
|
|
/*** [SECTION 0300]: QUIET FOX
|
|
|
|
Starting in user.js v67, we only disable the auto-INSTALL of Firefox. You still get prompts
|
|
|
|
We only disable the auto-INSTALL of Firefox (app) updates. You still get prompts to update,
|
|
|
|
to update, in one click. We have NEVER disabled auto-CHECKING, and highly discourage that.
|
|
|
|
and it only takes one click. We highly discourage disabling auto-CHECKING for updates.
|
|
|
|
Previously we also disabled auto-INSTALLING of extensions (302b).
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
There are many legitimate reasons to turn off auto-INSTALLS, including hijacked or monetized
|
|
|
|
Legitimate reasons to disable auto-INSTALLS include hijacked/monetized extensions, time
|
|
|
|
extensions, time constraints, legacy issues, dev/testing, and fear of breakage/bugs. It is
|
|
|
|
constraints, legacy issues, dev/testing, and fear of breakage/bugs. It is still important
|
|
|
|
still important to do updates for security reasons, please do so manually if you make changes.
|
|
|
|
to do updates for security reasons, please do so manually if you make changes.
|
|
|
|
***/
|
|
|
|
***/
|
|
|
|
user_pref("_user.js.parrot", "0300 syntax error: the parrot's not pinin' for the fjords!");
|
|
|
|
user_pref("_user.js.parrot", "0300 syntax error: the parrot's not pinin' for the fjords!");
|
|
|
|
/* 0301b: disable auto-CHECKING for extension and theme updates ***/
|
|
|
|
/* 0301b: disable auto-CHECKING for extension and theme updates ***/
|
|
|
@ -216,11 +216,11 @@ user_pref("extensions.htmlaboutaddons.recommendations.enabled", false);
|
|
|
|
* IF unified=true then .enabled ONLY controls whether to record extended data
|
|
|
|
* IF unified=true then .enabled ONLY controls whether to record extended data
|
|
|
|
* so make sure to have both set as false
|
|
|
|
* so make sure to have both set as false
|
|
|
|
* [NOTE] FF58+ 'toolkit.telemetry.enabled' is now LOCKED to reflect prerelease
|
|
|
|
* [NOTE] FF58+ 'toolkit.telemetry.enabled' is now LOCKED to reflect prerelease
|
|
|
|
* or release builds (true and false respectively), see [2]
|
|
|
|
* or release builds (true and false respectively) [2]
|
|
|
|
* [1] https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/internals/preferences.html
|
|
|
|
* [1] https://firefox-source-docs.mozilla.org/toolkit/components/telemetry/telemetry/internals/preferences.html
|
|
|
|
* [2] https://medium.com/georg-fritzsche/data-preference-changes-in-firefox-58-2d5df9c428b5 ***/
|
|
|
|
* [2] https://medium.com/georg-fritzsche/data-preference-changes-in-firefox-58-2d5df9c428b5 ***/
|
|
|
|
user_pref("toolkit.telemetry.unified", false);
|
|
|
|
user_pref("toolkit.telemetry.unified", false);
|
|
|
|
user_pref("toolkit.telemetry.enabled", false); // see [NOTE] above FF58+
|
|
|
|
user_pref("toolkit.telemetry.enabled", false); // see [NOTE]
|
|
|
|
user_pref("toolkit.telemetry.server", "data:,");
|
|
|
|
user_pref("toolkit.telemetry.server", "data:,");
|
|
|
|
user_pref("toolkit.telemetry.archive.enabled", false);
|
|
|
|
user_pref("toolkit.telemetry.archive.enabled", false);
|
|
|
|
user_pref("toolkit.telemetry.newProfilePing.enabled", false); // [FF55+]
|
|
|
|
user_pref("toolkit.telemetry.newProfilePing.enabled", false); // [FF55+]
|
|
|
@ -303,7 +303,7 @@ user_pref("browser.safebrowsing.downloads.remote.url", "");
|
|
|
|
* [SETTING] Privacy & Security>Security>... "Warn you about unwanted and uncommon software" ***/
|
|
|
|
* [SETTING] Privacy & Security>Security>... "Warn you about unwanted and uncommon software" ***/
|
|
|
|
// user_pref("browser.safebrowsing.downloads.remote.block_potentially_unwanted", false);
|
|
|
|
// user_pref("browser.safebrowsing.downloads.remote.block_potentially_unwanted", false);
|
|
|
|
// user_pref("browser.safebrowsing.downloads.remote.block_uncommon", false);
|
|
|
|
// user_pref("browser.safebrowsing.downloads.remote.block_uncommon", false);
|
|
|
|
/* 0419: disable 'ignore this warning' on SB warnings
|
|
|
|
/* 0419: disable 'ignore this warning' on SB warnings [FF45+]
|
|
|
|
* If clicked, it bypasses the block for that session. This is a means for admins to enforce SB
|
|
|
|
* If clicked, it bypasses the block for that session. This is a means for admins to enforce SB
|
|
|
|
* [TEST] see github wiki APPENDIX A: Test Sites: Section 5
|
|
|
|
* [TEST] see github wiki APPENDIX A: Test Sites: Section 5
|
|
|
|
* [1] https://bugzilla.mozilla.org/1226490 ***/
|
|
|
|
* [1] https://bugzilla.mozilla.org/1226490 ***/
|
|
|
@ -365,7 +365,7 @@ user_pref("network.dns.disablePrefetch", true);
|
|
|
|
user_pref("network.dns.disablePrefetchFromHTTPS", true); // [DEFAULT: true]
|
|
|
|
user_pref("network.dns.disablePrefetchFromHTTPS", true); // [DEFAULT: true]
|
|
|
|
/* 0603: disable predictor / prefetching ***/
|
|
|
|
/* 0603: disable predictor / prefetching ***/
|
|
|
|
user_pref("network.predictor.enabled", false);
|
|
|
|
user_pref("network.predictor.enabled", false);
|
|
|
|
user_pref("network.predictor.enable-prefetch", false); // [FF48+]
|
|
|
|
user_pref("network.predictor.enable-prefetch", false); // [FF48+] [DEFAULT: false]
|
|
|
|
/* 0605: disable link-mouseover opening connection to linked server
|
|
|
|
/* 0605: disable link-mouseover opening connection to linked server
|
|
|
|
* [1] https://news.slashdot.org/story/15/08/14/2321202/how-to-quash-firefoxs-silent-requests ***/
|
|
|
|
* [1] https://news.slashdot.org/story/15/08/14/2321202/how-to-quash-firefoxs-silent-requests ***/
|
|
|
|
user_pref("network.http.speculative-parallel-limit", 0);
|
|
|
|
user_pref("network.http.speculative-parallel-limit", 0);
|
|
|
@ -377,16 +377,15 @@ user_pref("browser.send_pings.require_same_host", true); // defense-in-depth
|
|
|
|
/*** [SECTION 0700]: HTTP* / TCP/IP / DNS / PROXY / SOCKS etc ***/
|
|
|
|
/*** [SECTION 0700]: HTTP* / TCP/IP / DNS / PROXY / SOCKS etc ***/
|
|
|
|
user_pref("_user.js.parrot", "0700 syntax error: the parrot's given up the ghost!");
|
|
|
|
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 with MAC addresses, and they do not play nice with VPNs. That's
|
|
|
|
* IPv6 can be abused, especially with MAC addresses, and can leak with VPNs. That's even
|
|
|
|
* even assuming your ISP and/or router and/or website can handle it. Sites will fall back to IPv4
|
|
|
|
* assuming your ISP and/or router and/or website can handle it. Sites will fall back to IPv4
|
|
|
|
* [STATS] Firefox telemetry (June 2020) shows only 5% of all connections are IPv6
|
|
|
|
* [STATS] Firefox telemetry (Dec 2020) shows ~8% 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.
|
|
|
|
* [NOTE] PHP defaults to IPv6 with "localhost". Use "php -S 127.0.0.1:PORT"
|
|
|
|
* [NOTE] PHP defaults to IPv6 with "localhost". Use "php -S 127.0.0.1:PORT"
|
|
|
|
* [TEST] https://ipleak.org/
|
|
|
|
* [TEST] https://ipleak.org/
|
|
|
|
* [1] https://github.com/arkenfox/user.js/issues/437#issuecomment-403740626
|
|
|
|
* [1] https://www.internetsociety.org/tag/ipv6-security/ (see Myths 2,4,5,6) ***/
|
|
|
|
* [2] https://www.internetsociety.org/tag/ipv6-security/ (see Myths 2,4,5,6) ***/
|
|
|
|
|
|
|
|
user_pref("network.dns.disableIPv6", true);
|
|
|
|
user_pref("network.dns.disableIPv6", true);
|
|
|
|
/* 0702: disable HTTP2
|
|
|
|
/* 0702: disable HTTP2
|
|
|
|
* HTTP2 raises concerns with "multiplexing" and "server push", does nothing to
|
|
|
|
* HTTP2 raises concerns with "multiplexing" and "server push", does nothing to
|
|
|
@ -416,7 +415,7 @@ user_pref("network.http.altsvc.oe", false);
|
|
|
|
* [1] https://trac.torproject.org/projects/tor/wiki/doc/TorifyHOWTO/WebBrowsers ***/
|
|
|
|
* [1] https://trac.torproject.org/projects/tor/wiki/doc/TorifyHOWTO/WebBrowsers ***/
|
|
|
|
user_pref("network.proxy.socks_remote_dns", true);
|
|
|
|
user_pref("network.proxy.socks_remote_dns", true);
|
|
|
|
/* 0708: disable FTP [FF60+] ***/
|
|
|
|
/* 0708: disable FTP [FF60+] ***/
|
|
|
|
// user_pref("network.ftp.enabled", false);
|
|
|
|
// user_pref("network.ftp.enabled", false); // [DEFAULT: false FF88+]
|
|
|
|
/* 0709: disable using UNC (Uniform Naming Convention) paths [FF61+]
|
|
|
|
/* 0709: disable using UNC (Uniform Naming Convention) paths [FF61+]
|
|
|
|
* [SETUP-CHROME] Can break extensions for profiles on network shares
|
|
|
|
* [SETUP-CHROME] Can break extensions for profiles on network shares
|
|
|
|
* [1] https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/26424 ***/
|
|
|
|
* [1] https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/26424 ***/
|
|
|
@ -458,13 +457,16 @@ user_pref("browser.fixup.alternate.enabled", false);
|
|
|
|
/* 0803: display all parts of the url in the location bar ***/
|
|
|
|
/* 0803: display all parts of the url in the location bar ***/
|
|
|
|
user_pref("browser.urlbar.trimURLs", false);
|
|
|
|
user_pref("browser.urlbar.trimURLs", false);
|
|
|
|
/* 0805: disable coloring of visited links - CSS history leak
|
|
|
|
/* 0805: disable coloring of visited links - CSS history leak
|
|
|
|
* [NOTE] This has NEVER been fully "resolved": in Mozilla/docs it is stated it's
|
|
|
|
* [SETUP-HARDEN] Bulk rapid history sniffing was mitigated in 2010 [1][2]. Slower and more expensive
|
|
|
|
* only in 'certain circumstances', also see latest comments in [2]
|
|
|
|
* redraw timing attacks were largely mitigated in FF77+ [3]. Using RFP (4501) further hampers timing
|
|
|
|
* [TEST] https://earthlng.github.io/testpages/visited_links.html (see github wiki APPENDIX A on how to use)
|
|
|
|
* attacks. Don't forget clearing history on close (2803). However, social engineering [2#limits][4][5]
|
|
|
|
* [1] https://dbaron.org/mozilla/visited-privacy
|
|
|
|
* and advanced targeted timing attacks could still produce usable results
|
|
|
|
* [2] https://bugzilla.mozilla.org/147777
|
|
|
|
* [1] https://developer.mozilla.org/docs/Web/CSS/Privacy_and_the_:visited_selector
|
|
|
|
* [3] https://developer.mozilla.org/docs/Web/CSS/Privacy_and_the_:visited_selector ***/
|
|
|
|
* [2] https://dbaron.org/mozilla/visited-privacy
|
|
|
|
user_pref("layout.css.visited_links_enabled", false);
|
|
|
|
* [3] https://bugzilla.mozilla.org/1632765
|
|
|
|
|
|
|
|
* [4] https://earthlng.github.io/testpages/visited_links.html (see github wiki APPENDIX A on how to use)
|
|
|
|
|
|
|
|
* [5] https://lcamtuf.blogspot.com/2016/08/css-mix-blend-mode-is-bad-for-keeping.html ***/
|
|
|
|
|
|
|
|
// user_pref("layout.css.visited_links_enabled", false);
|
|
|
|
/* 0807: disable live search suggestions
|
|
|
|
/* 0807: disable live search suggestions
|
|
|
|
/* [NOTE] Both must be true for the location bar to work
|
|
|
|
/* [NOTE] Both must be true for the location bar to work
|
|
|
|
* [SETUP-CHROME] Change these if you trust and use a privacy respecting search engine
|
|
|
|
* [SETUP-CHROME] Change these if you trust and use a privacy respecting search engine
|
|
|
@ -485,6 +487,10 @@ user_pref("browser.urlbar.dnsResolveSingleWordsAfterSearch", 0);
|
|
|
|
// user_pref("browser.urlbar.suggest.bookmark", false);
|
|
|
|
// user_pref("browser.urlbar.suggest.bookmark", false);
|
|
|
|
// user_pref("browser.urlbar.suggest.openpage", false);
|
|
|
|
// user_pref("browser.urlbar.suggest.openpage", false);
|
|
|
|
// user_pref("browser.urlbar.suggest.topsites", false); // [FF78+]
|
|
|
|
// user_pref("browser.urlbar.suggest.topsites", false); // [FF78+]
|
|
|
|
|
|
|
|
/* 0850b: disable tab-to-search [FF85+]
|
|
|
|
|
|
|
|
* Alternatively, you can exclude on a per-engine basis by unchecking them in Options>Search
|
|
|
|
|
|
|
|
* [SETTING] Privacy & Security>Address Bar>When using the address bar, suggest>Search engines ***/
|
|
|
|
|
|
|
|
// user_pref("browser.urlbar.suggest.engines", false);
|
|
|
|
/* 0850c: disable location bar dropdown
|
|
|
|
/* 0850c: disable location bar dropdown
|
|
|
|
* This value controls the total number of entries to appear in the location bar dropdown
|
|
|
|
* This value controls the total number of entries to appear in the location bar dropdown
|
|
|
|
* [NOTE] Items (bookmarks/history/openpages) with a high "frecency"/"bonus" will always
|
|
|
|
* [NOTE] Items (bookmarks/history/openpages) with a high "frecency"/"bonus" will always
|
|
|
@ -497,7 +503,7 @@ user_pref("browser.urlbar.dnsResolveSingleWordsAfterSearch", 0);
|
|
|
|
* [1] https://support.mozilla.org/en-US/kb/address-bar-autocomplete-firefox#w_url-autocomplete ***/
|
|
|
|
* [1] https://support.mozilla.org/en-US/kb/address-bar-autocomplete-firefox#w_url-autocomplete ***/
|
|
|
|
// user_pref("browser.urlbar.autoFill", false);
|
|
|
|
// user_pref("browser.urlbar.autoFill", false);
|
|
|
|
/* 0860: disable search and form history
|
|
|
|
/* 0860: disable search and form history
|
|
|
|
* [SETUP-WEB] Be aware that autocomplete form data can be read by third parties, see [1] [2]
|
|
|
|
* [SETUP-WEB] Be aware that autocomplete form data can be read by third parties [1][2]
|
|
|
|
* [NOTE] We also clear formdata on exit (see 2803)
|
|
|
|
* [NOTE] We also clear formdata on exit (see 2803)
|
|
|
|
* [SETTING] Privacy & Security>History>Custom Settings>Remember search and form history
|
|
|
|
* [SETTING] Privacy & Security>History>Custom Settings>Remember search and form history
|
|
|
|
* [1] https://blog.mindedsecurity.com/2011/10/autocompleteagain.html
|
|
|
|
* [1] https://blog.mindedsecurity.com/2011/10/autocompleteagain.html
|
|
|
@ -594,7 +600,7 @@ user_pref("browser.sessionstore.privacy_level", 2);
|
|
|
|
/* 1022: disable resuming session from crash ***/
|
|
|
|
/* 1022: disable resuming session from crash ***/
|
|
|
|
// user_pref("browser.sessionstore.resume_from_crash", false);
|
|
|
|
// user_pref("browser.sessionstore.resume_from_crash", false);
|
|
|
|
/* 1023: set the minimum interval between session save operations
|
|
|
|
/* 1023: set the minimum interval between session save operations
|
|
|
|
* Increasing this can help on older machines and some websites, as well as reducing writes, see [1]
|
|
|
|
* Increasing this can help on older machines and some websites, as well as reducing writes [1]
|
|
|
|
* Default is 15000 (15 secs). Try 30000 (30 secs), 60000 (1 min) etc
|
|
|
|
* Default is 15000 (15 secs). Try 30000 (30 secs), 60000 (1 min) etc
|
|
|
|
* [SETUP-CHROME] This can also affect entries in the "Recently Closed Tabs" feature:
|
|
|
|
* [SETUP-CHROME] This can also affect entries in the "Recently Closed Tabs" feature:
|
|
|
|
* i.e. the longer the interval the more chance a quick tab open/close won't be captured.
|
|
|
|
* i.e. the longer the interval the more chance a quick tab open/close won't be captured.
|
|
|
@ -630,18 +636,19 @@ user_pref("browser.shell.shortcutFavicons", false);
|
|
|
|
user_pref("_user.js.parrot", "1200 syntax error: the parrot's a stiff!");
|
|
|
|
user_pref("_user.js.parrot", "1200 syntax error: the parrot's a stiff!");
|
|
|
|
/** SSL (Secure Sockets Layer) / TLS (Transport Layer Security) ***/
|
|
|
|
/** SSL (Secure Sockets Layer) / TLS (Transport Layer Security) ***/
|
|
|
|
/* 1201: require safe negotiation
|
|
|
|
/* 1201: require safe negotiation
|
|
|
|
* Blocks connections to servers that don't support RFC 5746 [2] as they're potentially
|
|
|
|
* Blocks connections (SSL_ERROR_UNSAFE_NEGOTIATION) to servers that don't support RFC 5746 [2]
|
|
|
|
* vulnerable to a MiTM attack [3]. A server *without* RFC 5746 can be safe from the attack
|
|
|
|
* as they're potentially vulnerable to a MiTM attack [3]. A server without RFC 5746 can be
|
|
|
|
* if it disables renegotiations but the problem is that the browser can't know that.
|
|
|
|
* safe from the attack if it disables renegotiations but the problem is that the browser can't
|
|
|
|
* Setting this pref to true is the only way for the browser to ensure there will be
|
|
|
|
* know that. Setting this pref to true is the only way for the browser to ensure there will be
|
|
|
|
* no unsafe renegotiations on the channel between the browser and the server.
|
|
|
|
* no unsafe renegotiations on the channel between the browser and the server.
|
|
|
|
|
|
|
|
* [STATS] SSL Labs (Dec 2020) reports 99.0% of sites have secure renegotiation [4]
|
|
|
|
* [1] https://wiki.mozilla.org/Security:Renegotiation
|
|
|
|
* [1] https://wiki.mozilla.org/Security:Renegotiation
|
|
|
|
* [2] https://tools.ietf.org/html/rfc5746
|
|
|
|
* [2] https://tools.ietf.org/html/rfc5746
|
|
|
|
* [3] https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3555 ***/
|
|
|
|
* [3] https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3555
|
|
|
|
|
|
|
|
* [4] https://www.ssllabs.com/ssl-pulse/ ***/
|
|
|
|
user_pref("security.ssl.require_safe_negotiation", true);
|
|
|
|
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
|
|
|
|
* [STATS] Firefox telemetry (June 2020) shows only 0.16% of SSL handshakes use 1.0 or 1.1
|
|
|
|
|
|
|
|
* [WARNING] Leave these at default, otherwise you alter your TLS fingerprint.
|
|
|
|
* [WARNING] Leave these at default, otherwise you alter your TLS fingerprint.
|
|
|
|
* [1] https://www.ssllabs.com/ssl-pulse/ ***/
|
|
|
|
* [1] https://www.ssllabs.com/ssl-pulse/ ***/
|
|
|
|
// user_pref("security.tls.version.min", 3); // [DEFAULT: 3]
|
|
|
|
// user_pref("security.tls.version.min", 3); // [DEFAULT: 3]
|
|
|
@ -649,19 +656,15 @@ user_pref("security.ssl.require_safe_negotiation", true);
|
|
|
|
/* 1203: enforce TLS 1.0 and 1.1 downgrades as session only */
|
|
|
|
/* 1203: enforce TLS 1.0 and 1.1 downgrades as session only */
|
|
|
|
user_pref("security.tls.version.enable-deprecated", false);
|
|
|
|
user_pref("security.tls.version.enable-deprecated", false);
|
|
|
|
/* 1204: disable SSL session tracking [FF36+]
|
|
|
|
/* 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 and last up to 24hrs in Firefox (or longer with prolongation attacks)
|
|
|
|
* [SETUP-PERF] Relax this if you have FPI enabled (see 4000) *AND* you understand the
|
|
|
|
* [NOTE] These are not used in PB mode. In normal windows they are isolated when using FPI (4001)
|
|
|
|
* consequences. FPI isolates these, but it was designed with the Tor protocol in mind,
|
|
|
|
* and/or containers. In FF85+ they are isolated by default (privacy.partition.network_state)
|
|
|
|
* and the Tor Browser has extra protection, including enhanced sanitizing per Identity.
|
|
|
|
* [WARNING] There are perf and passive fingerprinting costs, for little to no gain. Preventing
|
|
|
|
|
|
|
|
* tracking via this method does not address IPs, nor handle any sanitizing of current identifiers
|
|
|
|
* [1] https://tools.ietf.org/html/rfc5077
|
|
|
|
* [1] https://tools.ietf.org/html/rfc5077
|
|
|
|
* [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]
|
|
|
|
/* 1205: disable SSL Error Reporting
|
|
|
|
|
|
|
|
* [1] https://firefox-source-docs.mozilla.org/browser/base/sslerrorreport/preferences.html ***/
|
|
|
|
|
|
|
|
user_pref("security.ssl.errorReporting.automatic", false);
|
|
|
|
|
|
|
|
user_pref("security.ssl.errorReporting.enabled", false);
|
|
|
|
|
|
|
|
user_pref("security.ssl.errorReporting.url", "");
|
|
|
|
|
|
|
|
/* 1206: 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/ ***/
|
|
|
@ -716,6 +719,12 @@ user_pref("security.family_safety.mode", 0);
|
|
|
|
* by inspecting ALL your web traffic, then leave at current default=1
|
|
|
|
* by inspecting ALL your web traffic, then leave at current default=1
|
|
|
|
* [1] https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/16206 ***/
|
|
|
|
* [1] https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/16206 ***/
|
|
|
|
user_pref("security.cert_pinning.enforcement_level", 2);
|
|
|
|
user_pref("security.cert_pinning.enforcement_level", 2);
|
|
|
|
|
|
|
|
/* 1224: enforce CRLite [FF73+]
|
|
|
|
|
|
|
|
* In FF84+ it covers valid certs and in mode 2 doesn't fall back to OCSP
|
|
|
|
|
|
|
|
* [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1429800,1670985
|
|
|
|
|
|
|
|
* [2] https://blog.mozilla.org/security/tag/crlite/ ***/
|
|
|
|
|
|
|
|
user_pref("security.remote_settings.crlite_filters.enabled", true);
|
|
|
|
|
|
|
|
user_pref("security.pki.crlite_mode", 2);
|
|
|
|
|
|
|
|
|
|
|
|
/** MIXED CONTENT ***/
|
|
|
|
/** MIXED CONTENT ***/
|
|
|
|
/* 1240: enforce no insecure active content on https pages
|
|
|
|
/* 1240: enforce no insecure active content on https pages
|
|
|
@ -728,14 +737,21 @@ user_pref("security.mixed_content.block_display_content", true);
|
|
|
|
user_pref("security.mixed_content.block_object_subrequest", true);
|
|
|
|
user_pref("security.mixed_content.block_object_subrequest", true);
|
|
|
|
/* 1244: enable HTTPS-Only mode [FF76+]
|
|
|
|
/* 1244: enable HTTPS-Only mode [FF76+]
|
|
|
|
* When "https_only_mode" (all windows) is true, "https_only_mode_pbm" (private windows only) is ignored
|
|
|
|
* When "https_only_mode" (all windows) is true, "https_only_mode_pbm" (private windows only) is ignored
|
|
|
|
* [WARNING] This is experimental [1] and you can't set exceptions if FPI is enabled [2] (fixed in FF83)
|
|
|
|
* [SETTING] to add site exceptions: Padlock>HTTPS-Only mode>On/Off/Off temporarily
|
|
|
|
* [SETTING] to add site exceptions: Page Info>Permissions>Use insecure HTTP (FF80+)
|
|
|
|
* [SETTING] Privacy & Security>HTTPS-Only Mode
|
|
|
|
* [SETTING] Privacy & Security>HTTPS-Only Mode (FF80+ with browser.preferences.exposeHTTPSOnly = true)
|
|
|
|
* [TEST] http://example.com [upgrade]
|
|
|
|
* [1] https://bugzilla.mozilla.org/1613063 [META]
|
|
|
|
* [TEST] http://neverssl.org/ [no upgrade]
|
|
|
|
* [2] https://bugzilla.mozilla.org/1647829 ***/
|
|
|
|
* [1] https://bugzilla.mozilla.org/1613063 [META] ***/
|
|
|
|
// user_pref("dom.security.https_only_mode", true); // [FF76+]
|
|
|
|
user_pref("dom.security.https_only_mode", true); // [FF76+]
|
|
|
|
// user_pref("dom.security.https_only_mode_pbm", true); // [FF80+]
|
|
|
|
// user_pref("dom.security.https_only_mode_pbm", true); // [FF80+]
|
|
|
|
// user_pref("dom.security.https_only_mode.upgrade_local", true); // [FF77+]
|
|
|
|
/* 1245: enable HTTPS-Only mode for local resources [FF77+] ***/
|
|
|
|
|
|
|
|
// user_pref("dom.security.https_only_mode.upgrade_local", true);
|
|
|
|
|
|
|
|
/* 1246: disable HTTP background requests [FF82+]
|
|
|
|
|
|
|
|
* When attempting to upgrade, if the server doesn't respond within 3 seconds, firefox
|
|
|
|
|
|
|
|
* sends HTTP requests in order to check if the server supports HTTPS or not.
|
|
|
|
|
|
|
|
* This is done to avoid waiting for a timeout which takes 90 seconds
|
|
|
|
|
|
|
|
* [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1642387,1660945 ***/
|
|
|
|
|
|
|
|
user_pref("dom.security.https_only_mode_send_http_background_request", false);
|
|
|
|
|
|
|
|
|
|
|
|
/** 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]
|
|
|
|
* These are all the ciphers still using SHA-1 and CBC which are weaker than the available alternatives. (see "Cipher Suites" in [1])
|
|
|
|
* These are all the ciphers still using SHA-1 and CBC which are weaker than the available alternatives. (see "Cipher Suites" in [1])
|
|
|
@ -760,10 +776,8 @@ user_pref("security.mixed_content.block_object_subrequest", true);
|
|
|
|
/** UI (User Interface) ***/
|
|
|
|
/** UI (User Interface) ***/
|
|
|
|
/* 1270: display warning on the padlock for "broken security" (if 1201 is false)
|
|
|
|
/* 1270: display warning on the padlock for "broken security" (if 1201 is false)
|
|
|
|
* Bug: warning padlock not indicated for subresources on a secure page! [2]
|
|
|
|
* Bug: warning padlock not indicated for subresources on a secure page! [2]
|
|
|
|
* [STATS] SSL Labs (June 2020) reports 98.8% of sites have secure renegotiation [3]
|
|
|
|
|
|
|
|
* [1] https://wiki.mozilla.org/Security:Renegotiation
|
|
|
|
* [1] https://wiki.mozilla.org/Security:Renegotiation
|
|
|
|
* [2] https://bugzilla.mozilla.org/1353705
|
|
|
|
* [2] https://bugzilla.mozilla.org/1353705 ***/
|
|
|
|
* [3] https://www.ssllabs.com/ssl-pulse/ ***/
|
|
|
|
|
|
|
|
user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true);
|
|
|
|
user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true);
|
|
|
|
/* 1271: control "Add Security Exception" dialog on SSL warnings
|
|
|
|
/* 1271: control "Add Security Exception" dialog on SSL warnings
|
|
|
|
* 0=do neither 1=pre-populate url 2=pre-populate url + pre-fetch cert (default)
|
|
|
|
* 0=do neither 1=pre-populate url 2=pre-populate url + pre-fetch cert (default)
|
|
|
@ -794,24 +808,21 @@ user_pref("_user.js.parrot", "1400 syntax error: the parrot's bereft of life!");
|
|
|
|
* [1] https://wiki.mozilla.org/SVGOpenTypeFonts - iSECPartnersReport recommends to disable this ***/
|
|
|
|
* [1] https://wiki.mozilla.org/SVGOpenTypeFonts - iSECPartnersReport recommends to disable this ***/
|
|
|
|
user_pref("gfx.font_rendering.opentype_svg.enabled", false);
|
|
|
|
user_pref("gfx.font_rendering.opentype_svg.enabled", false);
|
|
|
|
/* 1408: disable graphite
|
|
|
|
/* 1408: disable graphite
|
|
|
|
* Graphite has had many critical security issues in the past, see [1]
|
|
|
|
* Graphite has had many critical security issues in the past [1]
|
|
|
|
* [1] https://www.mozilla.org/security/advisories/mfsa2017-15/#CVE-2017-7778
|
|
|
|
* [1] https://www.mozilla.org/security/advisories/mfsa2017-15/#CVE-2017-7778
|
|
|
|
* [2] https://en.wikipedia.org/wiki/Graphite_(SIL) ***/
|
|
|
|
* [2] https://en.wikipedia.org/wiki/Graphite_(SIL) ***/
|
|
|
|
user_pref("gfx.font_rendering.graphite.enabled", false);
|
|
|
|
user_pref("gfx.font_rendering.graphite.enabled", false);
|
|
|
|
/* 1409: limit system font exposure to a whitelist [FF52+] [RESTART]
|
|
|
|
/* 1409: limit system font exposure to a whitelist [FF52+] [RESTART]
|
|
|
|
* If the whitelist is empty, then whitelisting is considered disabled and all fonts are allowed
|
|
|
|
* If the whitelist is empty, then whitelisting is considered disabled and all fonts are allowed
|
|
|
|
* [WARNING] **DO NOT USE**: in FF80+ RFP covers this, and non-RFP users should use font vis (4618)
|
|
|
|
|
|
|
|
* [NOTE] In FF81+ the whitelist **overrides** RFP's font visibility (see 4618)
|
|
|
|
* [NOTE] In FF81+ the whitelist **overrides** RFP's font visibility (see 4618)
|
|
|
|
|
|
|
|
* [WARNING] **DO NOT USE**: in FF80+ RFP covers this, and non-RFP users should use font vis (4618)
|
|
|
|
* [1] https://bugzilla.mozilla.org/1121643 ***/
|
|
|
|
* [1] https://bugzilla.mozilla.org/1121643 ***/
|
|
|
|
// user_pref("font.system.whitelist", ""); // [HIDDEN PREF]
|
|
|
|
// user_pref("font.system.whitelist", ""); // [HIDDEN PREF]
|
|
|
|
|
|
|
|
|
|
|
|
/*** [SECTION 1600]: HEADERS / REFERERS
|
|
|
|
/*** [SECTION 1600]: HEADERS / REFERERS
|
|
|
|
Only *cross domain* referers need controlling: leave 1601, 1602, 1605 and 1606 alone
|
|
|
|
Only *cross domain* referers need controlling: leave 1601, 1602, 1605 and 1606 alone
|
|
|
|
---
|
|
|
|
---
|
|
|
|
harden it a bit: set XOriginPolicy (1603) to 1 (as per the settings below)
|
|
|
|
Expect some breakage: Use an extension if you need precise control
|
|
|
|
harden it a bit more: set XOriginPolicy (1603) to 2 (and optionally 1604 to 1 or 2), expect breakage
|
|
|
|
|
|
|
|
---
|
|
|
|
|
|
|
|
If you want any REAL control over referers and breakage, then use an extension
|
|
|
|
|
|
|
|
---
|
|
|
|
---
|
|
|
|
full URI: https://example.com:8888/foo/bar.html?id=1234
|
|
|
|
full URI: https://example.com:8888/foo/bar.html?id=1234
|
|
|
|
scheme+host+port+path: https://example.com:8888/foo/bar.html
|
|
|
|
scheme+host+port+path: https://example.com:8888/foo/bar.html
|
|
|
@ -822,17 +833,17 @@ user_pref("gfx.font_rendering.graphite.enabled", false);
|
|
|
|
user_pref("_user.js.parrot", "1600 syntax error: the parrot rests in peace!");
|
|
|
|
user_pref("_user.js.parrot", "1600 syntax error: the parrot rests in peace!");
|
|
|
|
/* 1601: ALL: control when images/links send a referer
|
|
|
|
/* 1601: ALL: control when images/links send a referer
|
|
|
|
* 0=never, 1=send only when links are clicked, 2=for links and images (default) ***/
|
|
|
|
* 0=never, 1=send only when links are clicked, 2=for links and images (default) ***/
|
|
|
|
// user_pref("network.http.sendRefererHeader", 2); // [DEFAULT: 2]
|
|
|
|
// user_pref("network.http.sendRefererHeader", 2);
|
|
|
|
/* 1602: ALL: control the amount of information to send
|
|
|
|
/* 1602: ALL: control the amount of information to send
|
|
|
|
* 0=send full URI (default), 1=scheme+host+port+path, 2=scheme+host+port ***/
|
|
|
|
* 0=send full URI (default), 1=scheme+host+port+path, 2=scheme+host+port ***/
|
|
|
|
// user_pref("network.http.referer.trimmingPolicy", 0); // [DEFAULT: 0]
|
|
|
|
// user_pref("network.http.referer.trimmingPolicy", 0);
|
|
|
|
/* 1603: CROSS ORIGIN: control when to send a referer
|
|
|
|
/* 1603: CROSS ORIGIN: control when to send a referer
|
|
|
|
* 0=always (default), 1=only if base domains match, 2=only if hosts match
|
|
|
|
* 0=always (default), 1=only if base domains match, 2=only if hosts match
|
|
|
|
* [SETUP-WEB] Known to cause issues with older modems/routers and some sites e.g vimeo, icloud ***/
|
|
|
|
* [SETUP-WEB] Known to cause issues with older modems/routers and some sites e.g vimeo, icloud ***/
|
|
|
|
user_pref("network.http.referer.XOriginPolicy", 1);
|
|
|
|
user_pref("network.http.referer.XOriginPolicy", 2);
|
|
|
|
/* 1604: CROSS ORIGIN: control the amount of information to send [FF52+]
|
|
|
|
/* 1604: CROSS ORIGIN: control the amount of information to send [FF52+]
|
|
|
|
* 0=send full URI (default), 1=scheme+host+port+path, 2=scheme+host+port ***/
|
|
|
|
* 0=send full URI (default), 1=scheme+host+port+path, 2=scheme+host+port ***/
|
|
|
|
user_pref("network.http.referer.XOriginTrimmingPolicy", 0); // [DEFAULT: 0]
|
|
|
|
user_pref("network.http.referer.XOriginTrimmingPolicy", 2);
|
|
|
|
/* 1605: ALL: disable spoofing a referer
|
|
|
|
/* 1605: ALL: disable spoofing a referer
|
|
|
|
* [WARNING] Do not set this to true, as spoofing effectively disables the anti-CSRF
|
|
|
|
* [WARNING] Do not set this to true, as spoofing effectively disables the anti-CSRF
|
|
|
|
* (Cross-Site Request Forgery) protections that some sites may rely on ***/
|
|
|
|
* (Cross-Site Request Forgery) protections that some sites may rely on ***/
|
|
|
@ -886,11 +897,10 @@ user_pref("plugin.state.flash", 0);
|
|
|
|
* [1] https://wiki.mozilla.org/GeckoMediaPlugins ***/
|
|
|
|
* [1] https://wiki.mozilla.org/GeckoMediaPlugins ***/
|
|
|
|
// user_pref("media.gmp-provider.enabled", false);
|
|
|
|
// user_pref("media.gmp-provider.enabled", false);
|
|
|
|
/* 1825: disable widevine CDM (Content Decryption Module)
|
|
|
|
/* 1825: disable widevine CDM (Content Decryption Module)
|
|
|
|
* [SETUP-WEB] if you *need* CDM, e.g. Netflix, Amazon Prime, Hulu, whatever ***/
|
|
|
|
* [NOTE] This is covered by the EME master switch (1830) **/
|
|
|
|
user_pref("media.gmp-widevinecdm.visible", false);
|
|
|
|
// user_pref("media.gmp-widevinecdm.enabled", false);
|
|
|
|
user_pref("media.gmp-widevinecdm.enabled", false);
|
|
|
|
|
|
|
|
/* 1830: disable all DRM content (EME: Encryption Media Extension)
|
|
|
|
/* 1830: disable all DRM content (EME: Encryption Media Extension)
|
|
|
|
* [SETUP-WEB] if you *need* EME, e.g. Netflix, Amazon Prime, Hulu, whatever
|
|
|
|
* [SETUP-WEB] e.g. Netflix, Amazon Prime, Hulu, HBO, Disney+, Showtime, Starz, DirectTV
|
|
|
|
* [SETTING] General>DRM Content>Play DRM-controlled content
|
|
|
|
* [SETTING] General>DRM Content>Play DRM-controlled content
|
|
|
|
* [1] https://www.eff.org/deeplinks/2017/10/drms-dead-canary-how-we-just-lost-web-what-we-learned-it-and-what-we-need-do-next ***/
|
|
|
|
* [1] https://www.eff.org/deeplinks/2017/10/drms-dead-canary-how-we-just-lost-web-what-we-learned-it-and-what-we-need-do-next ***/
|
|
|
|
user_pref("media.eme.enabled", false);
|
|
|
|
user_pref("media.eme.enabled", false);
|
|
|
@ -903,7 +913,7 @@ user_pref("_user.js.parrot", "2000 syntax error: the parrot's snuffed it!");
|
|
|
|
* [1] https://www.privacytools.io/#webrtc ***/
|
|
|
|
* [1] https://www.privacytools.io/#webrtc ***/
|
|
|
|
user_pref("media.peerconnection.enabled", false);
|
|
|
|
user_pref("media.peerconnection.enabled", false);
|
|
|
|
/* 2002: limit WebRTC IP leaks if using WebRTC
|
|
|
|
/* 2002: limit WebRTC IP leaks if using WebRTC
|
|
|
|
* In FF70+ these settings match Mode 4 (Mode 3 in older versions), see [3]
|
|
|
|
* In FF70+ these settings match Mode 4 (Mode 3 in older versions) [3]
|
|
|
|
* [TEST] https://browserleaks.com/webrtc
|
|
|
|
* [TEST] https://browserleaks.com/webrtc
|
|
|
|
* [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1189041,1297416,1452713
|
|
|
|
* [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1189041,1297416,1452713
|
|
|
|
* [2] https://wiki.mozilla.org/Media/WebRTC/Privacy
|
|
|
|
* [2] https://wiki.mozilla.org/Media/WebRTC/Privacy
|
|
|
@ -919,15 +929,15 @@ user_pref("media.peerconnection.ice.proxy_only_if_behind_proxy", true); // [FF70
|
|
|
|
user_pref("webgl.disabled", true);
|
|
|
|
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-fail-if-major-performance-caveat", true);
|
|
|
|
user_pref("webgl.disable-fail-if-major-performance-caveat", true); // [DEFAULT: true FF86+]
|
|
|
|
/* 2022: disable screensharing ***/
|
|
|
|
/* 2022: disable screensharing ***/
|
|
|
|
user_pref("media.getusermedia.screensharing.enabled", false);
|
|
|
|
user_pref("media.getusermedia.screensharing.enabled", false);
|
|
|
|
user_pref("media.getusermedia.browser.enabled", false);
|
|
|
|
user_pref("media.getusermedia.browser.enabled", false);
|
|
|
|
user_pref("media.getusermedia.audiocapture.enabled", false);
|
|
|
|
user_pref("media.getusermedia.audiocapture.enabled", false);
|
|
|
|
/* 2024: set a default permission for Camera/Microphone [FF58+]
|
|
|
|
/* 2024: set a default permission for Camera/Microphone [FF58+]
|
|
|
|
* 0=always ask (default), 1=allow, 2=block
|
|
|
|
* 0=always ask (default), 1=allow, 2=block
|
|
|
|
* [SETTING] to add site exceptions: Page Info>Permissions>Use the Camera/Microphone
|
|
|
|
* [SETTING] to add site exceptions: Ctrl+I>Permissions>Use the Camera/Microphone
|
|
|
|
* [SETTING] to manage site exceptions: Options>Privacy & Security>Permissions>Camera/Microphone>Settings ***/
|
|
|
|
* [SETTING] to manage site exceptions: Options>Privacy & Security>Permissions>Camera/Microphone>Settings ***/
|
|
|
|
// user_pref("permissions.default.camera", 2);
|
|
|
|
// user_pref("permissions.default.camera", 2);
|
|
|
|
// user_pref("permissions.default.microphone", 2);
|
|
|
|
// user_pref("permissions.default.microphone", 2);
|
|
|
@ -963,8 +973,8 @@ user_pref("browser.link.open_newwindow.restriction", 0);
|
|
|
|
* [SETTING] Privacy & Security>Permissions>Block pop-up windows ***/
|
|
|
|
* [SETTING] Privacy & Security>Permissions>Block pop-up windows ***/
|
|
|
|
user_pref("dom.disable_open_during_load", true);
|
|
|
|
user_pref("dom.disable_open_during_load", true);
|
|
|
|
/* 2212: limit events that can cause a popup [SETUP-WEB]
|
|
|
|
/* 2212: limit events that can cause a popup [SETUP-WEB]
|
|
|
|
* default is "change click dblclick auxclick mouseup pointerup notificationclick reset submit touchend contextmenu" ***/
|
|
|
|
* default FF86+: "change click dblclick auxclick mousedown mouseup pointerdown pointerup notificationclick reset submit touchend contextmenu ***/
|
|
|
|
user_pref("dom.popup_allowed_events", "click dblclick");
|
|
|
|
user_pref("dom.popup_allowed_events", "click dblclick mousedown pointerdown");
|
|
|
|
|
|
|
|
|
|
|
|
/*** [SECTION 2300]: WEB WORKERS
|
|
|
|
/*** [SECTION 2300]: WEB WORKERS
|
|
|
|
A worker is a JS "background task" running in a global context, i.e. it is different from
|
|
|
|
A worker is a JS "background task" running in a global context, i.e. it is different from
|
|
|
@ -1009,7 +1019,7 @@ user_pref("dom.push.enabled", false);
|
|
|
|
/* 2306: set a default permission for Notifications (both 2304 and 2305) [FF58+]
|
|
|
|
/* 2306: set a default permission for Notifications (both 2304 and 2305) [FF58+]
|
|
|
|
* 0=always ask (default), 1=allow, 2=block
|
|
|
|
* 0=always ask (default), 1=allow, 2=block
|
|
|
|
* [NOTE] Best left at default "always ask", fingerprintable via Permissions API
|
|
|
|
* [NOTE] Best left at default "always ask", fingerprintable via Permissions API
|
|
|
|
* [SETTING] to add site exceptions: Page Info>Permissions>Receive Notifications
|
|
|
|
* [SETTING] to add site exceptions: Ctrl+I>Permissions>Receive Notifications
|
|
|
|
* [SETTING] to manage site exceptions: Options>Privacy & Security>Permissions>Notifications>Settings ***/
|
|
|
|
* [SETTING] to manage site exceptions: Options>Privacy & Security>Permissions>Notifications>Settings ***/
|
|
|
|
// user_pref("permissions.default.desktop-notification", 2);
|
|
|
|
// user_pref("permissions.default.desktop-notification", 2);
|
|
|
|
|
|
|
|
|
|
|
@ -1022,7 +1032,7 @@ user_pref("_user.js.parrot", "2400 syntax error: the parrot's kicked the bucket!
|
|
|
|
* [NOTE] This will break some sites' functionality e.g. Outlook, Twitter, 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 [1]
|
|
|
|
* is default false) then enabling this pref can leak clipboard content [1]
|
|
|
|
* [1] https://bugzilla.mozilla.org/1528289 */
|
|
|
|
* [1] 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+]
|
|
|
@ -1071,7 +1081,7 @@ user_pref("_user.js.parrot", "2500 syntax error: the parrot's shuffled off 'is m
|
|
|
|
* Initially a Linux issue (high precision readout) that was fixed.
|
|
|
|
* Initially a Linux issue (high precision readout) that was fixed.
|
|
|
|
* However, it is still another metric for fingerprinting, used to raise entropy.
|
|
|
|
* However, it is still another metric for fingerprinting, used to raise entropy.
|
|
|
|
* e.g. do you have a battery or not, current charging status, charge level, times remaining etc
|
|
|
|
* e.g. do you have a battery or not, current charging status, charge level, times remaining etc
|
|
|
|
* [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 [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);
|
|
|
|
/* 2505: disable media device enumeration [FF29+]
|
|
|
|
/* 2505: disable media device enumeration [FF29+]
|
|
|
@ -1100,7 +1110,7 @@ user_pref("dom.webaudio.enabled", false);
|
|
|
|
// user_pref("dom.vr.enabled", false);
|
|
|
|
// user_pref("dom.vr.enabled", false);
|
|
|
|
/* 2521: set a default permission for Virtual Reality (see 2520) [FF73+]
|
|
|
|
/* 2521: set a default permission for Virtual Reality (see 2520) [FF73+]
|
|
|
|
* 0=always ask (default), 1=allow, 2=block
|
|
|
|
* 0=always ask (default), 1=allow, 2=block
|
|
|
|
* [SETTING] to add site exceptions: Page Info>Permissions>Access Virtual Reality Devices
|
|
|
|
* [SETTING] to add site exceptions: Ctrl+I>Permissions>Access Virtual Reality Devices
|
|
|
|
* [SETTING] to manage site exceptions: Options>Privacy & Security>Permissions>Virtual Reality>Settings ***/
|
|
|
|
* [SETTING] to manage site exceptions: Options>Privacy & Security>Permissions>Virtual Reality>Settings ***/
|
|
|
|
// user_pref("permissions.default.xr", 0);
|
|
|
|
// user_pref("permissions.default.xr", 0);
|
|
|
|
|
|
|
|
|
|
|
@ -1116,8 +1126,7 @@ user_pref("beacon.enabled", false);
|
|
|
|
/* 2603: remove temp files opened with an external application
|
|
|
|
/* 2603: remove temp files opened with an external application
|
|
|
|
* [1] https://bugzilla.mozilla.org/302433 ***/
|
|
|
|
* [1] https://bugzilla.mozilla.org/302433 ***/
|
|
|
|
user_pref("browser.helperApps.deleteTempFileOnExit", true);
|
|
|
|
user_pref("browser.helperApps.deleteTempFileOnExit", true);
|
|
|
|
/* 2604: disable page thumbnail collection
|
|
|
|
/* 2604: disable page thumbnail collection ***/
|
|
|
|
* look in profile/thumbnails directory - you may want to clean that out ***/
|
|
|
|
|
|
|
|
user_pref("browser.pagethumbnails.capturing_disabled", true); // [HIDDEN PREF]
|
|
|
|
user_pref("browser.pagethumbnails.capturing_disabled", true); // [HIDDEN PREF]
|
|
|
|
/* 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);
|
|
|
@ -1140,13 +1149,9 @@ user_pref("devtools.debugger.remote-enabled", false); // [DEFAULT: false]
|
|
|
|
/* 2611: disable middle mouse click opening links from clipboard
|
|
|
|
/* 2611: disable middle mouse click opening links from clipboard
|
|
|
|
* [1] https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/10089 ***/
|
|
|
|
* [1] https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/10089 ***/
|
|
|
|
user_pref("middlemouse.contentLoadURL", false);
|
|
|
|
user_pref("middlemouse.contentLoadURL", false);
|
|
|
|
/* 2614: limit HTTP redirects (this does not control redirects with HTML meta tags or JS)
|
|
|
|
|
|
|
|
* [NOTE] A low setting of 5 or under will probably break some sites (e.g. gmail logins)
|
|
|
|
|
|
|
|
* To control HTML Meta tag and JS redirects, use an extension. Default is 20 ***/
|
|
|
|
|
|
|
|
user_pref("network.http.redirection-limit", 10);
|
|
|
|
|
|
|
|
/* 2615: disable websites overriding Firefox's keyboard shortcuts [FF58+]
|
|
|
|
/* 2615: disable websites overriding Firefox's keyboard shortcuts [FF58+]
|
|
|
|
* 0 (default) or 1=allow, 2=block
|
|
|
|
* 0 (default) or 1=allow, 2=block
|
|
|
|
* [SETTING] to add site exceptions: Page Info>Permissions>Override Keyboard Shortcuts ***/
|
|
|
|
* [SETTING] to add site exceptions: Ctrl+I>Permissions>Override Keyboard Shortcuts ***/
|
|
|
|
// user_pref("permissions.default.shortcuts", 2);
|
|
|
|
// user_pref("permissions.default.shortcuts", 2);
|
|
|
|
/* 2616: remove special permissions for certain mozilla domains [FF35+]
|
|
|
|
/* 2616: remove special permissions for certain mozilla domains [FF35+]
|
|
|
|
* [1] resource://app/defaults/permissions ***/
|
|
|
|
* [1] resource://app/defaults/permissions ***/
|
|
|
@ -1186,8 +1191,12 @@ user_pref("browser.display.use_system_colors", false); // [DEFAULT: false]
|
|
|
|
user_pref("permissions.delegation.enabled", false);
|
|
|
|
user_pref("permissions.delegation.enabled", false);
|
|
|
|
/* 2624: enable "window.name" protection [FF82+]
|
|
|
|
/* 2624: enable "window.name" protection [FF82+]
|
|
|
|
* If a new page from another domain is loaded into a tab, then window.name is set to an empty string. The original
|
|
|
|
* If a new page from another domain is loaded into a tab, then window.name is set to an empty string. The original
|
|
|
|
* string is restored if the tab reverts back to the original page. This change prevents some cross-site attacks ***/
|
|
|
|
* string is restored if the tab reverts back to the original page. This change prevents some cross-site attacks
|
|
|
|
user_pref("privacy.window.name.update.enabled", true);
|
|
|
|
* [TEST] https://arkenfox.github.io/TZP/tests/windownamea.html ***/
|
|
|
|
|
|
|
|
user_pref("privacy.window.name.update.enabled", true); // [DEFAULT: true FF86+]
|
|
|
|
|
|
|
|
/* 2625: disable bypassing 3rd party extension install prompts [FF82+]
|
|
|
|
|
|
|
|
* [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1659530,1681331 ***/
|
|
|
|
|
|
|
|
user_pref("extensions.postDownloadThirdPartyPrompt", false);
|
|
|
|
|
|
|
|
|
|
|
|
/** DOWNLOADS ***/
|
|
|
|
/** DOWNLOADS ***/
|
|
|
|
/* 2650: discourage downloading to desktop
|
|
|
|
/* 2650: discourage downloading to desktop
|
|
|
@ -1200,8 +1209,6 @@ user_pref("privacy.window.name.update.enabled", true);
|
|
|
|
user_pref("browser.download.useDownloadDir", false);
|
|
|
|
user_pref("browser.download.useDownloadDir", false);
|
|
|
|
/* 2652: disable adding downloads to the system's "recent documents" list ***/
|
|
|
|
/* 2652: disable adding downloads to the system's "recent documents" list ***/
|
|
|
|
user_pref("browser.download.manager.addToRecentDocs", false);
|
|
|
|
user_pref("browser.download.manager.addToRecentDocs", false);
|
|
|
|
/* 2653: disable hiding mime types (Options>General>Applications) not associated with a plugin ***/
|
|
|
|
|
|
|
|
user_pref("browser.download.hide_plugins_without_extensions", false);
|
|
|
|
|
|
|
|
/* 2654: disable "open with" in download dialog [FF50+] [SETUP-HARDEN]
|
|
|
|
/* 2654: disable "open with" in download dialog [FF50+] [SETUP-HARDEN]
|
|
|
|
* This is very useful to enable when the browser is sandboxed (e.g. via AppArmor)
|
|
|
|
* This is very useful to enable when the browser is sandboxed (e.g. via AppArmor)
|
|
|
|
* in such a way that it is forbidden to run external applications.
|
|
|
|
* in such a way that it is forbidden to run external applications.
|
|
|
@ -1268,8 +1275,10 @@ 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);
|
|
|
|
/* 2730: disable offline cache ***/
|
|
|
|
/* 2730: enforce no offline cache storage (appCache)
|
|
|
|
user_pref("browser.cache.offline.enable", false);
|
|
|
|
* The API is easily fingerprinted, use the "storage" pref instead ***/
|
|
|
|
|
|
|
|
// user_pref("browser.cache.offline.enable", false);
|
|
|
|
|
|
|
|
user_pref("browser.cache.offline.storage.enable", false); // [FF71+] [DEFAULT: false FF84+]
|
|
|
|
/* 2740: disable service worker cache and cache storage
|
|
|
|
/* 2740: disable service worker cache and cache storage
|
|
|
|
* [NOTE] We clear service worker cache on exiting Firefox (see 2803)
|
|
|
|
* [NOTE] We clear service worker cache on exiting Firefox (see 2803)
|
|
|
|
* [1] https://w3c.github.io/ServiceWorker/#privacy ***/
|
|
|
|
* [1] https://w3c.github.io/ServiceWorker/#privacy ***/
|
|
|
@ -1364,19 +1373,22 @@ user_pref("privacy.sanitize.timeSpan", 0);
|
|
|
|
user_pref("_user.js.parrot", "4000 syntax error: the parrot's pegged out");
|
|
|
|
user_pref("_user.js.parrot", "4000 syntax error: the parrot's pegged out");
|
|
|
|
/* 4001: enable First Party Isolation [FF51+]
|
|
|
|
/* 4001: enable First Party Isolation [FF51+]
|
|
|
|
* [SETUP-WEB] May break cross-domain logins and site functionality until perfected
|
|
|
|
* [SETUP-WEB] May break cross-domain logins and site functionality until perfected
|
|
|
|
* [1] https://bugzilla.mozilla.org/1260931
|
|
|
|
* [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1260931,1299996 ***/
|
|
|
|
* [2] https://bugzilla.mozilla.org/1299996 [META] ***/
|
|
|
|
|
|
|
|
user_pref("privacy.firstparty.isolate", true);
|
|
|
|
user_pref("privacy.firstparty.isolate", true);
|
|
|
|
/* 4002: enforce FPI restriction for window.opener [FF54+]
|
|
|
|
/* 4002: enforce FPI restriction for window.opener [FF54+]
|
|
|
|
* [NOTE] Setting this to false may reduce the breakage in 4001
|
|
|
|
* [NOTE] Setting this to false may reduce the breakage in 4001
|
|
|
|
* FF65+ blocks postMessage with targetOrigin "*" if originAttributes don't match. But
|
|
|
|
* FF65+ blocks postMessage with targetOrigin "*" if originAttributes don't match. But
|
|
|
|
* to reduce breakage it ignores the 1st-party domain (FPD) originAttribute, see [2],[3]
|
|
|
|
* to reduce breakage it ignores the 1st-party domain (FPD) originAttribute [2][3]
|
|
|
|
* The 2nd pref removes that limitation and will only allow communication if FPDs also match.
|
|
|
|
* The 2nd pref removes that limitation and will only allow communication if FPDs also match.
|
|
|
|
* [1] https://bugzilla.mozilla.org/1319773#c22
|
|
|
|
* [1] https://bugzilla.mozilla.org/1319773#c22
|
|
|
|
* [2] https://bugzilla.mozilla.org/1492607
|
|
|
|
* [2] https://bugzilla.mozilla.org/1492607
|
|
|
|
* [3] https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage ***/
|
|
|
|
* [3] https://developer.mozilla.org/en-US/docs/Web/API/Window/postMessage ***/
|
|
|
|
// user_pref("privacy.firstparty.isolate.restrict_opener_access", true); // [DEFAULT: true]
|
|
|
|
// user_pref("privacy.firstparty.isolate.restrict_opener_access", true); // [DEFAULT: true]
|
|
|
|
// user_pref("privacy.firstparty.isolate.block_post_message", true);
|
|
|
|
// user_pref("privacy.firstparty.isolate.block_post_message", true);
|
|
|
|
|
|
|
|
/* 4003: enable scheme with FPI [FF78+]
|
|
|
|
|
|
|
|
* [NOTE] Experimental: existing data and site permissions are incompatible
|
|
|
|
|
|
|
|
* and some site exceptions may not work e.g. HTTPS-only mode (see 1244) ***/
|
|
|
|
|
|
|
|
// user_pref("privacy.firstparty.isolate.use_site", true);
|
|
|
|
|
|
|
|
|
|
|
|
/*** [SECTION 4500]: RFP (RESIST FINGERPRINTING)
|
|
|
|
/*** [SECTION 4500]: RFP (RESIST FINGERPRINTING)
|
|
|
|
RFP covers a wide range of ongoing fingerprinting solutions.
|
|
|
|
RFP covers a wide range of ongoing fingerprinting solutions.
|
|
|
@ -1452,8 +1464,7 @@ user_pref("privacy.resistFingerprinting", true);
|
|
|
|
/* 4502: set new window sizes to round to hundreds [FF55+] [SETUP-CHROME]
|
|
|
|
/* 4502: set new window sizes to round to hundreds [FF55+] [SETUP-CHROME]
|
|
|
|
* Width will round down to multiples of 200s and height to 100s, to fit your screen.
|
|
|
|
* Width will round down to multiples of 200s and height to 100s, to fit your screen.
|
|
|
|
* The override values are a starting point to round from if you want some control
|
|
|
|
* The override values are a starting point to round from if you want some control
|
|
|
|
* [1] https://bugzilla.mozilla.org/1330882
|
|
|
|
* [1] https://bugzilla.mozilla.org/1330882 ***/
|
|
|
|
* [2] https://hardware.metrics.mozilla.com/ ***/
|
|
|
|
|
|
|
|
// user_pref("privacy.window.maxInnerWidth", 1000);
|
|
|
|
// user_pref("privacy.window.maxInnerWidth", 1000);
|
|
|
|
// user_pref("privacy.window.maxInnerHeight", 1000);
|
|
|
|
// user_pref("privacy.window.maxInnerHeight", 1000);
|
|
|
|
/* 4503: disable mozAddonManager Web API [FF57+]
|
|
|
|
/* 4503: disable mozAddonManager Web API [FF57+]
|
|
|
@ -1461,7 +1472,7 @@ user_pref("privacy.resistFingerprinting", true);
|
|
|
|
* [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("privacy.resistFingerprinting.block_mozAddonManager", true); // [HIDDEN PREF]
|
|
|
|
user_pref("privacy.resistFingerprinting.block_mozAddonManager", true); // [HIDDEN PREF]
|
|
|
|
/* 4504: enable RFP letterboxing [FF67+]
|
|
|
|
/* 4504: enable RFP letterboxing [FF67+]
|
|
|
|
* Dynamically resizes the inner window by applying margins in stepped ranges, see [2]
|
|
|
|
* Dynamically resizes the inner window by applying margins in stepped ranges [2]
|
|
|
|
* If you use the dimension pref, then it will only apply those resolutions. The format is
|
|
|
|
* If you use the dimension pref, then it will only apply those resolutions. The format is
|
|
|
|
* "width1xheight1, width2xheight2, ..." (e.g. "800x600, 1000x1000, 1600x900")
|
|
|
|
* "width1xheight1, width2xheight2, ..." (e.g. "800x600, 1000x1000, 1600x900")
|
|
|
|
* [SETUP-WEB] This does NOT require RFP (see 4501) **for now**, so if you're not using 4501, or you are but
|
|
|
|
* [SETUP-WEB] This does NOT require RFP (see 4501) **for now**, so if you're not using 4501, or you are but
|
|
|
@ -1570,8 +1581,8 @@ user_pref("ui.use_standins_for_native_colors", true);
|
|
|
|
// 0=light, 1=dark : This overrides your OS value
|
|
|
|
// 0=light, 1=dark : This overrides your OS value
|
|
|
|
user_pref("ui.systemUsesDarkTheme", 0); // [HIDDEN PREF]
|
|
|
|
user_pref("ui.systemUsesDarkTheme", 0); // [HIDDEN PREF]
|
|
|
|
// FF80+
|
|
|
|
// FF80+
|
|
|
|
// 4618: limit font visbility (non-ANDROID) [FF79+]
|
|
|
|
// 4618: limit font visibility (non-ANDROID) [FF79+]
|
|
|
|
// Uses hardcoded lists with two parts: kBaseFonts + kLangPackFonts, see [1]
|
|
|
|
// Uses hardcoded lists with two parts: kBaseFonts + kLangPackFonts [1]
|
|
|
|
// 1=only base system fonts, 2=also fonts from optional language packs, 3=also user-installed fonts
|
|
|
|
// 1=only base system fonts, 2=also fonts from optional language packs, 3=also user-installed fonts
|
|
|
|
// [NOTE] Bundled fonts are auto-allowed
|
|
|
|
// [NOTE] Bundled fonts are auto-allowed
|
|
|
|
// [1] https://searchfox.org/mozilla-central/search?path=StandardFonts*.inc
|
|
|
|
// [1] https://searchfox.org/mozilla-central/search?path=StandardFonts*.inc
|
|
|
@ -1619,6 +1630,7 @@ user_pref("_user.js.parrot", "5000 syntax error: this is an ex-parrot!");
|
|
|
|
// user_pref("layout.spellcheckDefault", 2); // 0=none, 1-multi-line, 2=multi-line & single-line
|
|
|
|
// user_pref("layout.spellcheckDefault", 2); // 0=none, 1-multi-line, 2=multi-line & single-line
|
|
|
|
/* UX BEHAVIOR ***/
|
|
|
|
/* UX BEHAVIOR ***/
|
|
|
|
// user_pref("browser.backspace_action", 2); // 0=previous page, 1=scroll up, 2=do nothing
|
|
|
|
// user_pref("browser.backspace_action", 2); // 0=previous page, 1=scroll up, 2=do nothing
|
|
|
|
|
|
|
|
// user_pref("browser.quitShortcut.disabled", true); // disable Ctrl-Q quit shortcut [LINUX] [MAC] [FF87+]
|
|
|
|
// user_pref("browser.tabs.closeWindowWithLastTab", false);
|
|
|
|
// user_pref("browser.tabs.closeWindowWithLastTab", false);
|
|
|
|
// user_pref("browser.tabs.loadBookmarksInTabs", true); // open bookmarks in a new tab [FF57+]
|
|
|
|
// user_pref("browser.tabs.loadBookmarksInTabs", true); // open bookmarks in a new tab [FF57+]
|
|
|
|
// user_pref("browser.urlbar.decodeURLsOnCopy", true); // see bugzilla 1320061 [FF53+]
|
|
|
|
// user_pref("browser.urlbar.decodeURLsOnCopy", true); // see bugzilla 1320061 [FF53+]
|
|
|
@ -1655,14 +1667,22 @@ user_pref("_user.js.parrot", "9999 syntax error: the parrot's deprecated!");
|
|
|
|
// [1] https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/20025
|
|
|
|
// [1] https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/20025
|
|
|
|
// [-] https://bugzilla.mozilla.org/1603712
|
|
|
|
// [-] https://bugzilla.mozilla.org/1603712
|
|
|
|
user_pref("intl.charset.fallback.override", "windows-1252");
|
|
|
|
user_pref("intl.charset.fallback.override", "windows-1252");
|
|
|
|
// * * * /
|
|
|
|
|
|
|
|
// FF82
|
|
|
|
// FF82
|
|
|
|
// 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
|
|
|
|
// [-] https://bugzilla.mozilla.org/1619926
|
|
|
|
// [-] https://bugzilla.mozilla.org/1619926
|
|
|
|
user_pref("browser.search.geoSpecificDefaults", false);
|
|
|
|
user_pref("browser.search.geoSpecificDefaults", false);
|
|
|
|
user_pref("browser.search.geoSpecificDefaults.url", "");
|
|
|
|
user_pref("browser.search.geoSpecificDefaults.url", "");
|
|
|
|
// * * * /
|
|
|
|
// FF86
|
|
|
|
|
|
|
|
// 1205: disable SSL Error Reporting
|
|
|
|
|
|
|
|
// [1] https://firefox-source-docs.mozilla.org/browser/base/sslerrorreport/preferences.html
|
|
|
|
|
|
|
|
// [-] https://bugzilla.mozilla.org/1681839
|
|
|
|
|
|
|
|
user_pref("security.ssl.errorReporting.automatic", false);
|
|
|
|
|
|
|
|
user_pref("security.ssl.errorReporting.enabled", false);
|
|
|
|
|
|
|
|
user_pref("security.ssl.errorReporting.url", "");
|
|
|
|
|
|
|
|
// 2653: disable hiding mime types (Options>General>Applications) not associated with a plugin
|
|
|
|
|
|
|
|
// [-] https://bugzilla.mozilla.org/1581678
|
|
|
|
|
|
|
|
user_pref("browser.download.hide_plugins_without_extensions", false);
|
|
|
|
// ***/
|
|
|
|
// ***/
|
|
|
|
|
|
|
|
|
|
|
|
/* END: internal custom pref to test for syntax errors ***/
|
|
|
|
/* END: internal custom pref to test for syntax errors ***/
|
|
|
|