11/******
22* name: arkenfox user.js
3- * date: 26 August 2024
4- * version: 128
3+ * date: 13 January 2025
4+ * version: 133
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
@@ -312,10 +312,11 @@ user_pref("browser.urlbar.suggest.searches", false);
312312user_pref ( "browser.urlbar.trending.featureGate" , false ) ;
313313/* 0806: disable urlbar suggestions ***/
314314user_pref ( "browser.urlbar.addons.featureGate" , false ) ; // [FF115+]
315+ user_pref ( "browser.urlbar.fakespot.featureGate" , false ) ; // [FF130+] [DEFAULT: false]
315316user_pref ( "browser.urlbar.mdn.featureGate" , false ) ; // [FF117+] [HIDDEN PREF]
316317user_pref ( "browser.urlbar.pocket.featureGate" , false ) ; // [FF116+] [DEFAULT: false]
317318user_pref ( "browser.urlbar.weather.featureGate" , false ) ; // [FF108+] [DEFAULT: false]
318- user_pref ( "browser.urlbar.yelp.featureGate" , false ) ; // [FF124+] [DEFAULT: false]
319+ user_pref ( "browser.urlbar.yelp.featureGate" , false ) ; // [FF124+]
319320/* 0807: disable urlbar clipboard suggestions [FF118+] ***/
320321 // user_pref("browser.urlbar.clipboard.featureGate", false);
321322/* 0808: disable recent searches [FF120+]
@@ -372,14 +373,17 @@ user_pref("network.auth.subresource-http-auth-allow", 1);
372373 * [SETTING] Privacy & Security>Logins and Passwords>Allow Windows single sign-on for...
373374 * [1] https://support.mozilla.org/kb/windows-sso ***/
374375 // user_pref("network.http.windows-sso.enabled", false); // [DEFAULT: false]
376+ /* 0907: enforce no automatic authentication on Microsoft sites [FF131+] [MAC]
377+ * On macOS, SSO only works on corporate devices ***/
378+ // user_pref("network.http.microsoft-entra-sso.enabled", false); // [DEFAULT: false]
375379
376380/*** [SECTION 1000]: DISK AVOIDANCE ***/
377381user_pref ( "_user.js.parrot" , "1000 syntax error: the parrot's gone to meet 'is maker!" ) ;
378382/* 1001: disable disk cache
379383 * [NOTE] We also clear cache on exit (2811)
380384 * [SETUP-CHROME] If you think disk cache helps perf, then feel free to override this ***/
381385user_pref ( "browser.cache.disk.enable" , false ) ;
382- /* 1002: disable media cache from writing to disk in Private Browsing
386+ /* 1002: set media cache in Private Browsing to in-memory and increase its maximum size
383387 * [NOTE] MSE (Media Source Extensions) are already stored in-memory in PB ***/
384388user_pref ( "browser.privatebrowsing.forceMediaMemoryCache" , true ) ; // [FF75+]
385389user_pref ( "media.memory_cache_max_size" , 65536 ) ;
@@ -564,8 +568,6 @@ user_pref("devtools.debugger.remote-enabled", false); // [DEFAULT: false]
564568/* 2616: remove special permissions for certain mozilla domains [FF35+]
565569 * [1] resource://app/defaults/permissions ***/
566570user_pref ( "permissions.manager.defaultsUrl" , "" ) ;
567- /* 2617: remove webchannel whitelist ***/
568- user_pref ( "webchannel.allowObject.urlWhitelist" , "" ) ;
569571/* 2619: use Punycode in Internationalized Domain Names to eliminate possible spoofing
570572 * [SETUP-WEB] Might be undesirable for non-latin alphabet users since legitimate IDN's are also punycoded
571573 * [TEST] https://www.xn--80ak6aa92e.com/ (www.apple.com)
@@ -646,7 +648,7 @@ user_pref("browser.contentblocking.category", "strict"); // [HIDDEN PREF]
646648user_pref ( "_user.js.parrot" , "2800 syntax error: the parrot's bleedin' demised!" ) ;
647649/* 2810: enable Firefox to clear items on shutdown
648650 * [NOTE] In FF129+ clearing "siteSettings" on shutdown (2811), or manually via site data (2820) and
649- * via history (2830), will no longer remove sanitize on shutdown "cookie and site data" site exceptions (2815)
651+ * via history (2830), will no longer remove sanitize on shutdown "cookie and site data" site exceptions (2815)
650652 * [SETTING] Privacy & Security>History>Custom Settings>Clear history when Firefox closes | Settings ***/
651653user_pref ( "privacy.sanitize.sanitizeOnShutdown" , true ) ;
652654
@@ -728,6 +730,9 @@ user_pref("privacy.sanitize.timeSpan", 0);
728730
729731 https://searchfox.org/mozilla-central/source/toolkit/components/resistfingerprinting/RFPTargetsDefault.inc
730732
733+ [NOTE] RFPTargets + granular overrides are somewhat experimental and may produce unexpected results
734+ - e.g. FrameRate can only be controlled per process, not per origin
735+
731736 1826408 - restrict fonts to system (kBaseFonts + kLangPackFonts) (Windows, Mac, some Linux)
732737 https://searchfox.org/mozilla-central/search?path=StandardFonts*.inc
733738 1858181 - subtly randomize canvas per eTLD+1, per session and per window-mode (FF120+)
@@ -763,7 +768,6 @@ user_pref("_user.js.parrot", "4000 syntax error: the parrot's bereft of life!");
763768 [WARNING] DO NOT USE extensions to alter RFP protected metrics
764769
765770 418986 - limit window.screen & CSS media queries (FF41)
766- 1281949 - spoof screen orientation (FF50)
767771 1360039 - spoof navigator.hardwareConcurrency as 2 (FF55)
768772 FF56
769773 1333651 - spoof User Agent & Navigator API
@@ -790,7 +794,7 @@ user_pref("_user.js.parrot", "4000 syntax error: the parrot's bereft of life!");
790794 1337157 - disable WebGL debug renderer info (FF60)
791795 1459089 - disable OS locale in HTTP Accept-Language headers (ANDROID) (FF62)
792796 1479239 - return "no-preference" with prefers-reduced-motion (FF63)
793- 1363508 - spoof/suppress Pointer Events (FF64)
797+ 1363508 & 1826051 - spoof/suppress Pointer Events (FF64, FF132 )
794798 1492766 - spoof pointerEvent.pointerid (FF65)
795799 1485266 - disable exposure of system colors to CSS or canvas (FF67)
796800 1494034 - return "light" with prefers-color-scheme (FF67)
@@ -806,9 +810,15 @@ user_pref("_user.js.parrot", "4000 syntax error: the parrot's bereft of life!");
806810 1692609 - reduce JS timing precision to 16.67ms (previously FF55+ was 100ms) (FF102)
807811 1422237 - return "srgb" with color-gamut (FF110)
808812 1794628 - return "none" with inverted-colors (FF114)
809- 1554751 - return devicePixelRatio as 2 (previously FF41+ was 1) (FF127)
810813 1787790 - normalize system fonts (FF128)
811814 1835987 - spoof timezone as Atlantic/Reykjavik (previously FF55+ was UTC) (FF128)
815+ 1834307 - always use smooth scrolling (FF132)
816+ 1918202 - spoof screen orientation based on spoofed screen size and platform (FF132)
817+ previously it always returned landscape-primary and an angle of 0 (FF50+)
818+ 1390465 - load all subtitles in WebVTT (Video Text Tracks) (FF133)
819+ 1873382 - make spoofed devicePixelRatio and CSS media queries match (FF133)
820+ previously FF41+ devicePixelRatio was hardcoded as 1 and FF127+ as 2
821+ previously FF41+ CSS media queries were spoofed as zoom level at a devicePixelRatio of 1
812822***/
813823user_pref ( "_user.js.parrot" , "4500 syntax error: the parrot's popped 'is clogs" ) ;
814824/* 4501: enable RFP
@@ -834,10 +844,12 @@ user_pref("privacy.resistFingerprinting.block_mozAddonManager", true);
834844 * dislike the margins, then flip this pref, keeping in mind that it is effectively fingerprintable
835845 * [WARNING] DO NOT USE: the dimension pref is only meant for testing
836846 * [1] https://bugzilla.mozilla.org/1407366
837- * [2] https://hg.mozilla.org/mozilla-central/rev/6d2d7856e468#l2.32 ***/
847+ * [2] https://hg.mozilla.org/mozilla-central/rev/7211cb4f58ff#l5.13 ***/
838848 // user_pref("privacy.resistFingerprinting.letterboxing", true); // [HIDDEN PREF]
839849 // user_pref("privacy.resistFingerprinting.letterboxing.dimensions", ""); // [HIDDEN PREF]
840- /* 4505: disable RFP by domain [FF91+] ***/
850+ /* 4505: disable RFP by domain [FF91+]
851+ * [NOTE] Working examples: "arkenfox.github.io", "*github.io"
852+ * Non-working examples: "https://arkenfox.github.io", "github.io", "*arkenfox.github.io" ***/
841853 // user_pref("privacy.resistFingerprinting.exemptedDomains", "*.example.invalid");
842854/* 4506: disable RFP spoof english prompt [FF59+]
843855 * 0=prompt, 1=disabled, 2=enabled
@@ -848,6 +860,8 @@ user_pref("privacy.spoof_english", 1);
848860/* 4510: disable using system colors
849861 * [SETTING] General>Language and Appearance>Fonts and Colors>Colors>Use system colors ***/
850862user_pref ( "browser.display.use_system_colors" , false ) ; // [DEFAULT: false NON-WINDOWS]
863+ /* 4511: disable using system accent colors ***/
864+ user_pref ( "widget.non-native-theme.use-theme-accent" , false ) ; // [DEFAULT: false WINDOWS]
851865/* 4512: enforce links targeting new windows to open in a new tab instead
852866 * 1=most recent window or tab, 2=new window, 3=new tab
853867 * Stops malicious window sizes and some screen resolution leaks.
@@ -1096,10 +1110,6 @@ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies
10961110 * [WHY] Passive fingerprinting and perf costs. These are session-only
10971111 * and isolated with network partitioning (FF85+) and/or containers ***/
10981112 // user_pref("security.ssl.disable_session_identifiers", true);
1099- /* 7006: onions
1100- * [WHY] Firefox doesn't support hidden services. Use Tor Browser ***/
1101- // user_pref("dom.securecontext.allowlist_onions", true); // [FF97+] 1382359/1744006
1102- // user_pref("network.http.referer.hideOnionSource", true); // 1305144
11031113/* 7007: referers
11041114 * [WHY] Only cross-origin referers (1602, 5510) matter ***/
11051115 // user_pref("network.http.sendRefererHeader", 2);
@@ -1136,9 +1146,11 @@ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies
11361146 * [NOTE] FPP (fingerprintingProtection) is ignored when RFP (4501) is enabled
11371147 * [WHY] Arkenfox only supports strict (2701) which sets these at runtime ***/
11381148 // user_pref("network.cookie.cookieBehavior", 5); // [DEFAULT: 5]
1139- // user_pref("privacy.fingerprintingProtection ", true); // [FF114+] [ ETP FF119 +]
1149+ // user_pref("network.cookie.cookieBehavior.optInPartitioning ", true); // [ETP FF132 +]
11401150 // user_pref("network.http.referer.disallowCrossSiteRelaxingDefault", true);
11411151 // user_pref("network.http.referer.disallowCrossSiteRelaxingDefault.top_navigation", true); // [FF100+]
1152+ // user_pref("privacy.bounceTrackingProtection.mode", 1); // [FF131+] [ETP FF133+]
1153+ // user_pref("privacy.fingerprintingProtection", true); // [FF114+] [ETP FF119+]
11421154 // user_pref("privacy.partition.network_state.ocsp_cache", true); // [DEFAULT: true FF123+]
11431155 // user_pref("privacy.query_stripping.enabled", true); // [FF101+]
11441156 // user_pref("privacy.trackingprotection.enabled", true);
@@ -1279,5 +1291,13 @@ user_pref("browser.contentanalysis.default_allow", false);
12791291user_pref("widget.non-native-theme.enabled", true); // [DEFAULT: true]
12801292// ***/
12811293
1294+ /* ESR128.x still uses all the following prefs
1295+ // [NOTE] replace the * with a slash in the line above to re-enable active ones
1296+ // FF132
1297+ /* 2617: remove webchannel whitelist
1298+ // [-] https://bugzilla.mozilla.org/1275612
1299+ // user_pref("webchannel.allowObject.urlWhitelist", "");
1300+ // ***/
1301+
12821302/* END: internal custom pref to test for syntax errors ***/
12831303user_pref ( "_user.js.parrot" , "SUCCESS: No no he's not dead, he's, he's restin'!" ) ;
0 commit comments