11/******
22* name: arkenfox user.js
3- * date: 18 October 2023
4- * version: 118
3+ * date: 20 November 2023
4+ * version: 119
55* urls: https://github.com/arkenfox/user.js [repo]
66* : https://arkenfox.github.io/gui/ [interactive]
77* license: MIT: https://github.com/arkenfox/user.js/blob/master/LICENSE.txt
4040* INDEX:
4141
4242 0100: STARTUP
43- 0200: GEOLOCATION / LANGUAGE / LOCALE
43+ 0200: GEOLOCATION
4444 0300: QUIETER FOX
4545 0400: SAFE BROWSING
4646 0600: BLOCK IMPLICIT OUTBOUND
@@ -100,7 +100,7 @@ user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false); //
100100 * [NOTE] This does not block you from adding your own ***/
101101user_pref ( "browser.newtabpage.activity-stream.default.sites" , "" ) ;
102102
103- /*** [SECTION 0200]: GEOLOCATION / LANGUAGE / LOCALE ***/
103+ /*** [SECTION 0200]: GEOLOCATION ***/
104104user_pref ( "_user.js.parrot" , "0200 syntax error: the parrot's definitely deceased!" ) ;
105105/* 0201: use Mozilla geolocation service instead of Google if permission is granted [FF74+]
106106 * Optionally enable logging to the console (defaults to false) ***/
@@ -109,16 +109,8 @@ user_pref("geo.provider.network.url", "https://location.services.mozilla.com/v1/
109109/* 0202: disable using the OS's geolocation service ***/
110110user_pref ( "geo.provider.ms-windows-location" , false ) ; // [WINDOWS]
111111user_pref ( "geo.provider.use_corelocation" , false ) ; // [MAC]
112- user_pref ( "geo.provider.use_gpsd" , false ) ; // [LINUX]
112+ user_pref ( "geo.provider.use_gpsd" , false ) ; // [LINUX] [HIDDEN PREF]
113113user_pref ( "geo.provider.use_geoclue" , false ) ; // [FF102+] [LINUX]
114- /* 0210: set preferred language for displaying pages
115- * [SETTING] General>Language and Appearance>Language>Choose your preferred language...
116- * [TEST] https://addons.mozilla.org/about ***/
117- user_pref ( "intl.accept_languages" , "en-US, en" ) ;
118- /* 0211: use en-US locale regardless of the system or region locale
119- * [SETUP-WEB] May break some input methods e.g xim/ibus for CJK languages [1]
120- * [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=867501,1629630 ***/
121- user_pref ( "javascript.use_us_english_locale" , true ) ; // [HIDDEN PREF]
122114
123115/*** [SECTION 0300]: QUIETER FOX ***/
124116user_pref ( "_user.js.parrot" , "0300 syntax error: the parrot's not pinin' for the fjords!" ) ;
@@ -268,7 +260,7 @@ user_pref("_user.js.parrot", "0700 syntax error: the parrot's given up the ghost
268260user_pref ( "network.proxy.socks_remote_dns" , true ) ;
269261/* 0703: disable using UNC (Uniform Naming Convention) paths [FF61+]
270262 * [SETUP-CHROME] Can break extensions for profiles on network shares
271- * [1] https://gitlab.torproject .org/tpo/applications/tor-browser/-/issues/26424 ***/
263+ * [1] https://bugzilla.mozilla .org/1413868 ***/
272264user_pref ( "network.file.disable_unc_paths" , true ) ; // [HIDDEN PREF]
273265/* 0704: disable GIO as a potential proxy bypass vector
274266 * Gvfs/GIO has a set of supported protocols like obex, network, archive, computer,
@@ -297,8 +289,6 @@ user_pref("network.gio.supported-protocols", ""); // [HIDDEN PREF] [DEFAULT: ""
297289 * [3] https://support.mozilla.org/en-US/kb/firefox-dns-over-https
298290 * [4] https://www.eff.org/deeplinks/2020/12/dns-doh-and-odoh-oh-my-year-review-2020 ***/
299291 // user_pref("network.trr.mode", 3);
300- /* 0711: disable skipping DoH when parental controls are enabled [FF70+] ***/
301- user_pref ( "network.dns.skipTRR-when-parental-control-enabled" , false ) ;
302292/* 0712: set DoH provider
303293 * The custom uri is the value shown when you "Choose provider>Custom>"
304294 * [NOTE] If you USE custom then "network.trr.uri" should be set the same
@@ -311,11 +301,11 @@ user_pref("_user.js.parrot", "0800 syntax error: the parrot's ceased to be!");
311301/* 0801: disable location bar making speculative connections [FF56+]
312302 * [1] https://bugzilla.mozilla.org/1348275 ***/
313303user_pref ( "browser.urlbar.speculativeConnect.enabled" , false ) ;
314- /* 0802: disable location bar contextual suggestions [FF92+]
304+ /* 0802: disable location bar contextual suggestions
315305 * [SETTING] Privacy & Security>Address Bar>Suggestions from...
316306 * [1] https://blog.mozilla.org/data/2021/09/15/data-and-firefox-suggest/ ***/
317307user_pref ( "browser.urlbar.suggest.quicksuggest.nonsponsored" , false ) ; // [FF95+]
318- user_pref ( "browser.urlbar.suggest.quicksuggest.sponsored" , false ) ;
308+ user_pref ( "browser.urlbar.suggest.quicksuggest.sponsored" , false ) ; // [FF92+]
319309/* 0803: disable live search suggestions
320310 * [NOTE] Both must be true for the location bar to work
321311 * [SETUP-CHROME] Override these if you trust and use a privacy respecting search engine
@@ -354,6 +344,10 @@ user_pref("browser.formfill.enable", false);
354344 * [4] https://earthlng.github.io/testpages/visited_links.html (see github wiki APPENDIX A on how to use)
355345 * [5] https://lcamtuf.blogspot.com/2016/08/css-mix-blend-mode-is-bad-for-keeping.html ***/
356346 // user_pref("layout.css.visited_links_enabled", false);
347+ /* 0830: enable separate default search engine in Private Windows and its UI setting
348+ * [SETTING] Search>Default Search Engine>Choose a different default search engine for Private Windows only ***/
349+ user_pref ( "browser.search.separatePrivateDefault" , true ) ; // [FF70+]
350+ user_pref ( "browser.search.separatePrivateDefault.ui.enabled" , true ) ; // [FF71+]
357351
358352/*** [SECTION 0900]: PASSWORDS
359353 [1] https://support.mozilla.org/kb/use-primary-password-protect-stored-logins-and-pas
@@ -396,7 +390,7 @@ user_pref("browser.sessionstore.privacy_level", 2);
396390/* 1005: disable automatic Firefox start and session restore after reboot [FF62+] [WINDOWS]
397391 * [1] https://bugzilla.mozilla.org/603903 ***/
398392user_pref ( "toolkit.winRegisterApplicationRestart" , false ) ;
399- /* 1006: disable favicons in shortcuts
393+ /* 1006: disable favicons in shortcuts [WINDOWS]
400394 * URL shortcuts use a cached randomly named .ico file which is stored in your
401395 * profile/shortcutCache directory. The .ico remains after the shortcut is deleted
402396 * If set to false then the shortcuts use a generic Firefox icon ***/
@@ -417,7 +411,7 @@ user_pref("_user.js.parrot", "1200 syntax error: the parrot's a stiff!");
417411 * but the problem is that the browser can't know that. Setting this pref to true is the only way for the
418412 * browser to ensure there will be no unsafe renegotiations on the channel between the browser and the server
419413 * [SETUP-WEB] SSL_ERROR_UNSAFE_NEGOTIATION: is it worth overriding this for that one site?
420- * [STATS] SSL Labs (Feb 2023) reports over 99.3 % of top sites have secure renegotiation [4]
414+ * [STATS] SSL Labs (Nov 2023) reports over 99.5 % of top sites have secure renegotiation [4]
421415 * [1] https://wiki.mozilla.org/Security:Renegotiation
422416 * [2] https://datatracker.ietf.org/doc/html/rfc5746
423417 * [3] https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2009-3555
@@ -462,7 +456,7 @@ user_pref("security.cert_pinning.enforcement_level", 2);
462456 * 0 = disabled
463457 * 1 = consult CRLite but only collect telemetry
464458 * 2 = consult CRLite and enforce both "Revoked" and "Not Revoked" results
465- * 3 = consult CRLite and enforce "Not Revoked" results, but defer to OCSP for "Revoked" (FF99+, default FF100+ )
459+ * 3 = consult CRLite and enforce "Not Revoked" results, but defer to OCSP for "Revoked" (default)
466460 * [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1429800,1670985,1753071
467461 * [2] https://blog.mozilla.org/security/tag/crlite/ ***/
468462user_pref ( "security.remote_settings.crlite_filters.enabled" , true ) ;
@@ -471,7 +465,7 @@ user_pref("security.pki.crlite_mode", 2);
471465/** MIXED CONTENT ***/
472466/* 1241: disable insecure passive content (such as images) on https pages ***/
473467 // user_pref("security.mixed_content.block_display_content", true); // Defense-in-depth (see 1244)
474- /* 1244: enable HTTPS-Only mode in all windows [FF76+]
468+ /* 1244: enable HTTPS-Only mode in all windows
475469 * When the top-level is HTTPS, insecure subresources are also upgraded (silent fail)
476470 * [SETTING] to add site exceptions: Padlock>HTTPS-Only mode>On (after "Continue to HTTP Site")
477471 * [SETTING] Privacy & Security>HTTPS-Only Mode (and manage exceptions)
@@ -603,12 +597,13 @@ user_pref("browser.download.manager.addToRecentDocs", false);
603597user_pref ( "browser.download.always_ask_before_handling_new_types" , true ) ;
604598
605599/** EXTENSIONS ***/
606- /* 2660: lock down allowed extension directories
607- * [SETUP-CHROME] This will break extensions, language packs, themes and any other
608- * XPI files which are installed outside of profile and application directories
600+ /* 2660: limit allowed extension directories
601+ * 1=profile, 2=user, 4=application, 8=system, 16=temporary, 31=all
602+ * The pref value represents the sum: e.g. 5 would be profile and application directories
603+ * [SETUP-CHROME] Breaks usage of files which are installed outside allowed directories
609604 * [1] https://archive.is/DYjAM ***/
610605user_pref ( "extensions.enabledScopes" , 5 ) ; // [HIDDEN PREF]
611- user_pref ( "extensions.autoDisableScopes" , 15 ) ; // [DEFAULT: 15]
606+ // user_pref("extensions.autoDisableScopes", 15); // [DEFAULT: 15]
612607/* 2661: disable bypassing 3rd party extension install prompts [FF82+]
613608 * [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1659530,1681331 ***/
614609user_pref ( "extensions.postDownloadThirdPartyPrompt" , false ) ;
@@ -625,7 +620,7 @@ user_pref("_user.js.parrot", "2700 syntax error: the parrot's joined the bleedin
625620 * [1] https://blog.mozilla.org/security/2021/02/23/total-cookie-protection/
626621 * [SETTING] to add site exceptions: Urlbar>ETP Shield
627622 * [SETTING] to manage site exceptions: Options>Privacy & Security>Enhanced Tracking Protection>Manage Exceptions ***/
628- user_pref ( "browser.contentblocking.category" , "strict" ) ;
623+ user_pref ( "browser.contentblocking.category" , "strict" ) ; // [HIDDEN PREF]
629624/* 2702: disable ETP web compat features [FF93+]
630625 * [SETUP-HARDEN] Includes skip lists, heuristics (SmartBlock) and automatic grants
631626 * Opener and redirect heuristics are granted for 30 days, see [3]
@@ -703,7 +698,6 @@ user_pref("privacy.sanitize.timeSpan", 0);
703698 1330890 - spoof timezone as UTC0 (FF55)
704699 1360039 - spoof navigator.hardwareConcurrency as 2 (FF55)
705700 FF56
706- 1369303 - spoof/disable performance API
707701 1333651 - spoof User Agent & Navigator API
708702 version: android version spoofed as ESR (FF119 or lower)
709703 OS: JS spoofed as Windows 10, OS 10.15, Android 10, or Linux | HTTP Headers spoofed as Windows or Android
@@ -716,7 +710,6 @@ user_pref("privacy.sanitize.timeSpan", 0);
716710 1369309 - spoof media statistics
717711 1382499 - reduce screen co-ordinate fingerprinting in Touch API
718712 1217290 & 1409677 - enable some fingerprinting resistance for WebGL
719- 1382545 - reduce fingerprinting in Animation API
720713 1354633 - limit MediaError.message to a whitelist
721714 FF58+
722715 1372073 - spoof/block fingerprinting in MediaDevices API (FF59)
@@ -741,7 +734,7 @@ user_pref("privacy.sanitize.timeSpan", 0);
741734 1653987 - limit font visibility to bundled and "Base Fonts" (Windows, Mac, some Linux) (FF80)
742735 1461454 - spoof smooth=true and powerEfficient=false for supported media in MediaCapabilities (FF82)
743736 531915 - use fdlibm's sin, cos and tan in jsmath (FF93, ESR91.1)
744- 1756280 - enforce navigator.pdfViewerEnabled as true and plugins/mimeTypes as hard-coded values (FF100)
737+ 1756280 - enforce navigator.pdfViewerEnabled as true and plugins/mimeTypes as hard-coded values (FF100-115 )
745738 1692609 - reduce JS timing precision to 16.67ms (previously FF55+ was 100ms) (FF102)
746739 1422237 - return "srgb" with color-gamut (FF110)
747740 1794628 - return "none" with inverted-colors (FF114)
@@ -973,10 +966,9 @@ user_pref("security.dialog_enable_delay", 1000); // [DEFAULT: 1000]
973966 * [WARNING] Replaced with network partitioning (FF85+) and TCP (2701), and enabling FPI
974967 * disables those. FPI is no longer maintained except at Tor Project for Tor Browser's config ***/
975968user_pref ( "privacy.firstparty.isolate" , false ) ; // [DEFAULT: false]
976- /* 6009: enforce SmartBlock shims [FF81+]
977- * In FF96+ these are listed in about:compat
969+ /* 6009: enforce SmartBlock shims (about:compat) [FF81+]
978970 * [1] https://blog.mozilla.org/security/2021/03/23/introducing-smartblock/ ***/
979- user_pref ( "extensions.webcompat.enable_shims" , true ) ; // [DEFAULT: true]
971+ user_pref ( "extensions.webcompat.enable_shims" , true ) ; // [HIDDEN PREF] [ DEFAULT: true]
980972/* 6010: enforce no TLS 1.0/1.1 downgrades
981973 * [TEST] https://tls-v1-1.badssl.com:1010/ ***/
982974user_pref ( "security.tls.version.enable-deprecated" , false ) ; // [DEFAULT: false]
@@ -987,38 +979,13 @@ user_pref("extensions.webcompat-reporter.enabled", false); // [DEFAULT: false]
987979/* 6012: enforce Quarantined Domains [FF115+]
988980 * [WHY] https://support.mozilla.org/kb/quarantined-domains */
989981user_pref ( "extensions.quarantinedDomains.enabled" , true ) ; // [DEFAULT: true]
990- /* 6050: prefsCleaner: previously active items removed from arkenfox 102-114 ***/
991- // user_pref("beacon.enabled", "");
992- // user_pref("browser.startup.blankWindow", "");
993- // user_pref("browser.newtab.preload", "");
994- // user_pref("browser.newtabpage.activity-stream.feeds.discoverystreamfeed", "");
995- // user_pref("browser.newtabpage.activity-stream.feeds.snippets", "");
996- // user_pref("browser.region.network.url", "");
997- // user_pref("browser.region.update.enabled", "");
998- // user_pref("browser.ssl_override_behavior", "");
999- // user_pref("devtools.chrome.enabled", "");
1000- // user_pref("dom.disable_beforeunload", "");
1001- // user_pref("dom.disable_open_during_load", "");
1002- // user_pref("extensions.formautofill.available", "");
1003- // user_pref("extensions.formautofill.addresses.supported", "");
1004- // user_pref("extensions.formautofill.creditCards.available", "");
1005- // user_pref("extensions.formautofill.creditCards.supported", "");
1006- // user_pref("middlemouse.contentLoadURL", "");
1007- /* 6051: prefsCleaner: previously active items removed from arkenfox 115-127 ***/
982+ /* 6050: prefsCleaner: previously active items removed from arkenfox 115-127 ***/
1008983 // user_pref("accessibility.force_disabled", "");
1009- // user_pref("browser.fixup.alternate.enabled", "");
1010984 // user_pref("browser.urlbar.dnsResolveSingleWordsAfterSearch", "");
1011985 // user_pref("network.protocol-handler.external.ms-windows-store", "");
1012986 // user_pref("privacy.partition.always_partition_third_party_non_cookie_storage", "");
1013987 // user_pref("privacy.partition.always_partition_third_party_non_cookie_storage.exempt_sessionstorage", "");
1014988 // user_pref("privacy.partition.serviceWorkers", "");
1015- /* 6052: prefsCleaner: deprecated ESR102 items from FF103-115 ***/
1016- // user_pref("browser.cache.offline.enable", "");
1017- // user_pref("extensions.formautofill.heuristics.enabled", "");
1018- // user_pref("network.cookie.lifetimePolicy", "");
1019- // user_pref("privacy.clearsitedata.cache.enabled", "");
1020- // user_pref("privacy.resistFingerprinting.testGranularityMask", "");
1021- // user_pref("security.pki.sha1_enforcement_level", "");
1022989
1023990/*** [SECTION 7000]: DON'T BOTHER ***/
1024991user_pref ( "_user.js.parrot" , "7000 syntax error: the parrot's pushing up daisies!" ) ;
@@ -1103,7 +1070,7 @@ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies
11031070 // user_pref("network.http.referer.disallowCrossSiteRelaxingDefault", true);
11041071 // user_pref("network.http.referer.disallowCrossSiteRelaxingDefault.top_navigation", true); // [FF100+]
11051072 // user_pref("privacy.partition.network_state.ocsp_cache", true);
1106- // user_pref("privacy.query_stripping.enabled", true); // [FF101+] [ETP FF102+]
1073+ // user_pref("privacy.query_stripping.enabled", true); // [FF101+]
11071074 // user_pref("privacy.trackingprotection.enabled", true);
11081075 // user_pref("privacy.trackingprotection.socialtracking.enabled", true);
11091076 // user_pref("privacy.trackingprotection.cryptomining.enabled", true); // [DEFAULT: true]
@@ -1160,7 +1127,7 @@ user_pref("_user.js.parrot", "8000 syntax error: the parrot's crossed the Jordan
11601127/*** [SECTION 9000]: NON-PROJECT RELATED ***/
11611128user_pref ( "_user.js.parrot" , "9000 syntax error: the parrot's cashed in 'is chips!" ) ;
11621129/* 9001: disable welcome notices ***/
1163- user_pref ( "browser.startup.homepage_override.mstone" , "ignore" ) ;
1130+ user_pref ( "browser.startup.homepage_override.mstone" , "ignore" ) ; // [HIDDEN PREF]
11641131/* 9002: disable General>Browsing>Recommend extensions/features as you browse [FF67+] ***/
11651132user_pref ( "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons" , false ) ;
11661133user_pref ( "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features" , false ) ;
@@ -1209,6 +1176,15 @@ user_pref("security.family_safety.mode", 0);
12091176 // [1] https://groups.google.com/forum/#!topic/mozilla.dev.platform/BdFOMAuCGW8/discussion
12101177 // [-] https://bugzilla.mozilla.org/1697151
12111178 // user_pref("permissions.delegation.enabled", false);
1179+ // FF119
1180+ // 0211: use en-US locale regardless of the system or region locale
1181+ // [SETUP-WEB] May break some input methods e.g xim/ibus for CJK languages [1]
1182+ // [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=867501,1629630
1183+ // [-] https://bugzilla.mozilla.org/1846224
1184+ // user_pref("javascript.use_us_english_locale", true); // [HIDDEN PREF]
1185+ // 0711: disable skipping DoH when parental controls are enabled [FF70+]
1186+ // [-] https://bugzilla.mozilla.org/1586941
1187+ user_pref("network.dns.skipTRR-when-parental-control-enabled", false);
12121188// ***/
12131189
12141190/* END: internal custom pref to test for syntax errors ***/
0 commit comments