diff --git a/scratchpad-scripts/arkenfox-cleanup.js b/scratchpad-scripts/arkenfox-cleanup.js index e3fafda..1d2b1f0 100644 --- a/scratchpad-scripts/arkenfox-cleanup.js +++ b/scratchpad-scripts/arkenfox-cleanup.js @@ -3,7 +3,7 @@ - removed from the arkenfox user.js - deprecated by Mozilla but listed in the arkenfox user.js in the past - Last updated: 31-August-2022 + Last updated: 23-August-2022 Instructions: - [optional] close Firefox and backup your profile @@ -237,6 +237,11 @@ 'toolkit.telemetry.unifiedIsOptIn', /* REMOVED */ + /* 103+ */ + 'extensions.formautofill.available', + 'extensions.formautofill.addresses.supported', + 'extensions.formautofill.creditCards.available', + 'extensions.formautofill.creditCards.supported', /* 92-102 */ 'browser.urlbar.trimURLs', 'dom.caches.enabled', diff --git a/user.js b/user.js index 43a44f5..d6faae2 100644 --- a/user.js +++ b/user.js @@ -1,7 +1,7 @@ /****** * name: arkenfox user.js -* date: 18 July 2022 -* version: 102 +* date: 11 September 2022 +* version: 104 * url: https://github.com/arkenfox/user.js * license: MIT: https://github.com/arkenfox/user.js/blob/master/LICENSE.txt @@ -30,8 +30,9 @@ * It is best to use the arkenfox release that is optimized for and matches your Firefox version * EVERYONE: each release - run prefsCleaner to reset prefs made inactive, including deprecated (9999s) - ESR91 - - If you are not using arkenfox v91... (not a definitive list) + ESR102 + - If you are not using arkenfox v102-1... (not a definitive list) + - 2815: clearOnShutdown cookies + offlineApps should be false - 9999: switch the appropriate deprecated section(s) back on * INDEX: @@ -82,7 +83,7 @@ user_pref("_user.js.parrot", "0100 syntax error: the parrot's dead!"); user_pref("browser.shell.checkDefaultBrowser", false); /* 0102: set startup page [SETUP-CHROME] * 0=blank, 1=home, 2=last visited page, 3=resume previous session - * [NOTE] Session Restore is cleared with history (2811, 2820), and not used in Private Browsing mode + * [NOTE] Session Restore is cleared with history (2811), and not used in Private Browsing mode * [SETTING] General>Startup>Restore previous session ***/ user_pref("browser.startup.page", 0); /* 0103: set HOME+NEWWINDOW page @@ -119,6 +120,7 @@ user_pref("geo.provider.network.url", "https://location.services.mozilla.com/v1/ user_pref("geo.provider.ms-windows-location", false); // [WINDOWS] user_pref("geo.provider.use_corelocation", false); // [MAC] user_pref("geo.provider.use_gpsd", false); // [LINUX] +user_pref("geo.provider.use_geoclue", false); // [FF102+] [LINUX] /* 0203: disable region updates * [1] https://firefox-source-docs.mozilla.org/toolkit/modules/toolkit_modules/Region.html ***/ user_pref("browser.region.network.url", ""); // [FF78+] @@ -219,6 +221,7 @@ user_pref("network.connectivity-service.enabled", false); [1] https://feeding.cloud.geek.nz/posts/how-safe-browsing-works-in-firefox/ [2] https://wiki.mozilla.org/Security/Safe_Browsing [3] https://support.mozilla.org/kb/how-does-phishing-and-malware-protection-work + [4] https://educatedguesswork.org/posts/safe-browsing-privacy/ ***/ user_pref("_user.js.parrot", "0400 syntax error: the parrot's passed on!"); /* 0401: disable SB (Safe Browsing) @@ -344,9 +347,9 @@ user_pref("browser.urlbar.suggest.searches", false); * [1] https://bugzilla.mozilla.org/1348275 ***/ user_pref("browser.urlbar.speculativeConnect.enabled", false); /* 0806: disable location bar leaking single words to a DNS provider **after searching** [FF78+] - * 0=never resolve single words, 1=heuristic (default), 2=always resolve + * 0=never resolve, 1=use heuristics, 2=always resolve * [1] https://bugzilla.mozilla.org/1642623 ***/ -user_pref("browser.urlbar.dnsResolveSingleWordsAfterSearch", 0); +user_pref("browser.urlbar.dnsResolveSingleWordsAfterSearch", 0); // [DEFAULT: 0 FF104+] /* 0807: disable location bar contextual suggestions [FF92+] * [SETTING] Privacy & Security>Address Bar>Suggestions from... * [1] https://blog.mozilla.org/data/2021/09/15/data-and-firefox-suggest/ ***/ @@ -363,16 +366,6 @@ user_pref("browser.urlbar.suggest.quicksuggest.sponsored", false); * [1] https://blog.mindedsecurity.com/2011/10/autocompleteagain.html * [2] https://bugzilla.mozilla.org/381681 ***/ user_pref("browser.formfill.enable", false); -/* 0811: disable Form Autofill - * [NOTE] Stored data is NOT secure (uses a JSON file) - * [NOTE] Heuristics controls Form Autofill on forms without @autocomplete attributes - * [SETTING] Privacy & Security>Forms and Autofill>Autofill addresses - * [1] https://wiki.mozilla.org/Firefox/Features/Form_Autofill ***/ -user_pref("extensions.formautofill.addresses.enabled", false); // [FF55+] -user_pref("extensions.formautofill.available", "off"); // [FF56+] -user_pref("extensions.formautofill.creditCards.available", false); // [FF57+] -user_pref("extensions.formautofill.creditCards.enabled", false); // [FF56+] -user_pref("extensions.formautofill.heuristics.enabled", false); // [FF55+] /* 0820: disable coloring of visited links * [SETUP-HARDEN] Bulk rapid history sniffing was mitigated in 2010 [1][2]. Slower and more expensive * redraw timing attacks were largely mitigated in FF77+ [3]. Using RFP (4501) further hampers timing @@ -477,7 +470,8 @@ user_pref("security.tls.enable_0rtt_data", false); * [SETTING] Privacy & Security>Security>Certificates>Query OCSP responder servers... * [1] https://en.wikipedia.org/wiki/Ocsp ***/ user_pref("security.OCSP.enabled", 1); // [DEFAULT: 1] -/* 1212: set OCSP fetch failures (non-stapled, see 1211) to hard-fail [SETUP-WEB] +/* 1212: set OCSP fetch failures (non-stapled, see 1211) to hard-fail + * [SETUP-WEB] SEC_ERROR_OCSP_SERVER_ERROR * When a CA cannot be reached to validate a cert, Firefox just continues the connection (=soft-fail) * Setting this pref to true tells Firefox to instead terminate the connection (=hard-fail) * It is pointless to soft-fail when an OCSP fetch fails: you cannot confirm a cert is still valid (it @@ -546,8 +540,6 @@ user_pref("browser.xul.error_pages.expert_bad_cert", true); /*** [SECTION 1400]: FONTS ***/ user_pref("_user.js.parrot", "1400 syntax error: the parrot's bereft of life!"); -/* 1401: disable rendering of SVG OpenType fonts ***/ -user_pref("gfx.font_rendering.opentype_svg.enabled", false); /* 1402: limit font visibility (Windows, Mac, some Linux) [FF94+] * Uses hardcoded lists with two parts: kBaseFonts + kLangPackFonts [1], bundled fonts are auto-allowed * In normal windows: uses the first applicable: RFP (4506) over TP over Standard @@ -622,17 +614,6 @@ user_pref("media.peerconnection.ice.default_address_only", true); * [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("browser.eme.ui.enabled", false); -/* 2030: disable autoplay of HTML5 media [FF63+] - * 0=Allow all, 1=Block non-muted media (default), 5=Block all - * [NOTE] You can set exceptions under site permissions - * [SETTING] Privacy & Security>Permissions>Autoplay>Settings>Default for all websites ***/ - // user_pref("media.autoplay.default", 5); -/* 2031: disable autoplay of HTML5 media if you interacted with the site [FF78+] - * 0=sticky (default), 1=transient, 2=user - * Firefox's Autoplay Policy Documentation (PDF) is linked below via SUMO - * [NOTE] If you have trouble with some video sites, then add an exception (2030) - * [1] https://support.mozilla.org/questions/1293231 ***/ -user_pref("media.autoplay.blocking_policy", 2); /*** [SECTION 2400]: DOM (DOCUMENT OBJECT MODEL) ***/ user_pref("_user.js.parrot", "2400 syntax error: the parrot's kicked the bucket!"); @@ -758,45 +739,49 @@ user_pref("browser.contentblocking.category", "strict"); * [3] https://developer.mozilla.org/en-US/docs/Web/Privacy/State_Partitioning#storage_access_heuristics ***/ // user_pref("privacy.antitracking.enableWebcompat", false); /* 2710: enable state partitioning of service workers [FF96+] ***/ -user_pref("privacy.partition.serviceWorkers", true); +user_pref("privacy.partition.serviceWorkers", true); // [DEFAULT: true FF105+] +/* 2720: enable APS (Always Partitioning Storage) [FF104+] */ +user_pref("privacy.partition.always_partition_third_party_non_cookie_storage", true); /*** [SECTION 2800]: SHUTDOWN & SANITIZING ***/ user_pref("_user.js.parrot", "2800 syntax error: the parrot's bleedin' demised!"); -/** COOKIES + SITE DATA : ALLOWS EXCEPTIONS ***/ -/* 2801: delete cookies and site data on exit - * 0=keep until they expire (default), 2=keep until you close Firefox - * [NOTE] A "cookie" block permission also controls localStorage/sessionStorage, indexedDB, - * sharedWorkers and serviceWorkers. serviceWorkers require an "Allow" permission - * [SETTING] Privacy & Security>Cookies and Site Data>Delete cookies and site data when Firefox is closed - * [SETTING] to add site exceptions: Ctrl+I>Permissions>Cookies>Allow - * [SETTING] to manage site exceptions: Options>Privacy & Security>Permissions>Settings ***/ -user_pref("network.cookie.lifetimePolicy", 2); -/* 2802: delete cache on exit [FF96+] - * [NOTE] We already disable disk cache (1001) and clear on exit (2811) which is more robust - * [1] https://bugzilla.mozilla.org/1671182 ***/ - // user_pref("privacy.clearsitedata.cache.enabled", true); - -/** SANITIZE ON SHUTDOWN : ALL OR NOTHING ***/ -/* 2810: enable Firefox to clear items on shutdown (2811) - * [SETTING] Privacy & Security>History>Custom Settings>Clear history when Firefox closes ***/ +/* 2810: enable Firefox to clear items on shutdown + * [SETTING] Privacy & Security>History>Custom Settings>Clear history when Firefox closes | Settings ***/ user_pref("privacy.sanitize.sanitizeOnShutdown", true); + +/** SANITIZE ON SHUTDOWN: IGNORES "ALLOW" SITE EXCEPTIONS ***/ /* 2811: set/enforce what items to clear on shutdown (if 2810 is true) [SETUP-CHROME] - * These items do not use exceptions, it is all or nothing (1681701) * [NOTE] If "history" is true, downloads will also be cleared * [NOTE] "sessions": Active Logins: refers to HTTP Basic Authentication [1], not logins via cookies - * [NOTE] "offlineApps": Offline Website Data: localStorage, service worker cache, QuotaManager (IndexedDB, asm-cache) - * [SETTING] Privacy & Security>History>Custom Settings>Clear history when Firefox closes>Settings * [1] https://en.wikipedia.org/wiki/Basic_access_authentication ***/ user_pref("privacy.clearOnShutdown.cache", true); // [DEFAULT: true] user_pref("privacy.clearOnShutdown.downloads", true); // [DEFAULT: true] user_pref("privacy.clearOnShutdown.formdata", true); // [DEFAULT: true] user_pref("privacy.clearOnShutdown.history", true); // [DEFAULT: true] user_pref("privacy.clearOnShutdown.sessions", true); // [DEFAULT: true] -user_pref("privacy.clearOnShutdown.offlineApps", false); // [DEFAULT: false] -user_pref("privacy.clearOnShutdown.cookies", false); - // user_pref("privacy.clearOnShutdown.siteSettings", false); + // user_pref("privacy.clearOnShutdown.siteSettings", false); // [DEFAULT: false] +/* 2812: set Session Restore to clear on shutdown (if 2810 is true) [FF34+] + * [NOTE] Not needed if Session Restore is not used (0102) or it is already cleared with history (2811) + * [NOTE] If true, this prevents resuming from crashes (also see 5008) ***/ + // user_pref("privacy.clearOnShutdown.openWindows", true); -/** SANITIZE MANUAL: ALL OR NOTHING ***/ +/** SANITIZE ON SHUTDOWN: RESPECTS "ALLOW" SITE EXCEPTIONS FF103+ ***/ +/* 2815: set "Cookies" and "Site Data" to clear on shutdown (if 2810 is true) [SETUP-CHROME] + * [NOTE] Exceptions: A "cookie" block permission also controls "offlineApps" (see note below). + * serviceWorkers require an "Allow" permission. For cross-domain logins, add exceptions for + * both sites e.g. https://www.youtube.com (site) + https://accounts.google.com (single sign on) + * [NOTE] "offlineApps": Offline Website Data: localStorage, service worker cache, QuotaManager (IndexedDB, asm-cache) + * [WARNING] Be selective with what sites you "Allow", as they also disable partitioning (1767271) + * [SETTING] to add site exceptions: Ctrl+I>Permissions>Cookies>Allow (when on the website in question) + * [SETTING] to manage site exceptions: Options>Privacy & Security>Permissions>Settings ***/ +user_pref("privacy.clearOnShutdown.cookies", true); // Cookies +user_pref("privacy.clearOnShutdown.offlineApps", true); // Site Data +/* 2816: set cache to clear on exit [FF96+] + * [NOTE] We already disable disk cache (1001) and clear on exit (2811) which is more robust + * [1] https://bugzilla.mozilla.org/1671182 ***/ + // user_pref("privacy.clearsitedata.cache.enabled", true); + +/** SANITIZE MANUAL: IGNORES "ALLOW" SITE EXCEPTIONS ***/ /* 2820: reset default items to clear with Ctrl-Shift-Del [SETUP-CHROME] * This dialog can also be accessed from the menu History>Clear Recent History * Firefox remembers your last choices. This will reset them when you start Firefox @@ -809,13 +794,9 @@ user_pref("privacy.cpd.sessions", true); // [DEFAULT: true] user_pref("privacy.cpd.offlineApps", false); // [DEFAULT: false] user_pref("privacy.cpd.cookies", false); // user_pref("privacy.cpd.downloads", true); // not used, see note above + // user_pref("privacy.cpd.openWindows", false); // Session Restore // user_pref("privacy.cpd.passwords", false); // user_pref("privacy.cpd.siteSettings", false); -/* 2821: clear Session Restore data when sanitizing on shutdown or manually [FF34+] - * [NOTE] Not needed if Session Restore is not used (0102) or it is already cleared with history (2811) - * [NOTE] privacy.clearOnShutdown.openWindows prevents resuming from crashes (also see 5008) ***/ - // user_pref("privacy.clearOnShutdown.openWindows", true); - // user_pref("privacy.cpd.openWindows", true); /* 2822: reset default "Time range to clear" for "Clear Recent History" (2820) * Firefox remembers your last choice. This will reset the value when you start Firefox * 0=everything, 1=last hour, 2=last two hours, 3=last four hours, 4=today @@ -918,7 +899,7 @@ user_pref("privacy.resistFingerprinting.letterboxing", true); // [HIDDEN PREF] user_pref("browser.startup.blankWindow", false); /* 4510: disable using system colors * [SETTING] General>Language and Appearance>Fonts and Colors>Colors>Use system colors ***/ -user_pref("browser.display.use_system_colors", false); // [DEFAULT false NON-WINDOWS] +user_pref("browser.display.use_system_colors", false); // [DEFAULT: false NON-WINDOWS] /* 4511: enforce non-native widget theme * Security: removes/reduces system API calls, e.g. win32k API [1] * Fingerprinting: provides a uniform look and feel across platforms [2] @@ -1013,6 +994,15 @@ user_pref("_user.js.parrot", "5000 syntax error: the parrot's taken 'is last bow * 0=desktop, 1=downloads (default), 2=last used * [SETTING] To set your default "downloads": General>Downloads>Save files to ***/ // user_pref("browser.download.folderList", 2); +/* 5017: disable Form Autofill + * If .supportedCountries includes your region (browser.search.region) and .supported + * is "detect" (default), then the UI will show. Stored data is not secure, uses JSON + * [NOTE] Heuristics controls Form Autofill on forms without @autocomplete attributes + * [SETTING] Privacy & Security>Forms and Autofill>Autofill addresses + * [1] https://wiki.mozilla.org/Firefox/Features/Form_Autofill ***/ + // user_pref("extensions.formautofill.addresses.enabled", false); // [FF55+] + // user_pref("extensions.formautofill.creditCards.enabled", false); // [FF56+] + // user_pref("extensions.formautofill.heuristics.enabled", false); // [FF55+] /*** [SECTION 5500]: OPTIONAL HARDENING Not recommended. Overriding these can cause breakage and performance issues, @@ -1051,6 +1041,8 @@ user_pref("_user.js.parrot", "5500 syntax error: this is an ex-parrot!"); * [2] https://spectrum.ieee.org/tech-talk/telecom/security/more-worries-over-the-security-of-web-assembly * [3] https://www.zdnet.com/article/half-of-the-websites-using-webassembly-use-it-for-malicious-purposes ***/ // user_pref("javascript.options.wasm", false); +/* 5507: disable rendering of SVG OpenType fonts ***/ + // user_pref("gfx.font_rendering.opentype_svg.enabled", false); /*** [SECTION 6000]: DON'T TOUCH ***/ user_pref("_user.js.parrot", "6000 syntax error: the parrot's 'istory!"); @@ -1080,8 +1072,6 @@ user_pref("security.tls.version.enable-deprecated", false); // [DEFAULT: false] * Web Compatibility Reporter adds a "Report Site Issue" button to send data to Mozilla * [WHY] To prevent wasting Mozilla's time with a custom setup ***/ user_pref("extensions.webcompat-reporter.enabled", false); // [DEFAULT: false] -/* 6012: disable SHA-1 certificates ***/ -user_pref("security.pki.sha1_enforcement_level", 1); // [DEFAULT: 1 FF102+] /* 6050: prefsCleaner: reset items removed from arkenfox FF92+ ***/ // user_pref("browser.urlbar.trimURLs", ""); // user_pref("dom.caches.enabled", ""); @@ -1095,6 +1085,11 @@ user_pref("security.pki.sha1_enforcement_level", 1); // [DEFAULT: 1 FF102+] // user_pref("privacy.firstparty.isolate.use_site", ""); // user_pref("privacy.window.name.update.enabled", ""); // user_pref("security.insecure_connection_text.enabled", ""); +/* 6051: prefsCleaner: reset items removed from arkenfox FF102+ ***/ + // user_pref("extensions.formautofill.available", ""); + // user_pref("extensions.formautofill.addresses.supported", ""); + // user_pref("extensions.formautofill.creditCards.available", ""); + // user_pref("extensions.formautofill.creditCards.supported", ""); /*** [SECTION 7000]: DON'T BOTHER ***/ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies!"); @@ -1176,7 +1171,7 @@ user_pref("_user.js.parrot", "7000 syntax error: the parrot's pushing up daisies // user_pref("privacy.donottrackheader.enabled", true); /* 7016: customize ETP settings * [WHY] Arkenfox only supports strict (2701) which sets these at runtime ***/ - // user_pref("network.cookie.cookieBehavior", 5); + // user_pref("network.cookie.cookieBehavior", 5); // [DEFAULT: 5 FF103+] // user_pref("network.http.referer.disallowCrossSiteRelaxingDefault", true); // user_pref("network.http.referer.disallowCrossSiteRelaxingDefault.top_navigation", true); // [FF100+] // user_pref("privacy.partition.network_state.ocsp_cache", true); @@ -1242,7 +1237,7 @@ user_pref("browser.startup.homepage_override.mstone", "ignore"); // master switc // user_pref("startup.homepage_welcome_url.additional", ""); // user_pref("startup.homepage_override_url", ""); // What's New page after updates /* WARNINGS ***/ - // user_pref("browser.tabs.warnOnClose", false); // [DEFAULT false FF94+] + // user_pref("browser.tabs.warnOnClose", false); // [DEFAULT: false FF94+] // user_pref("browser.tabs.warnOnCloseOtherTabs", false); // user_pref("browser.tabs.warnOnOpen", false); // user_pref("browser.warnOnQuitShortcut", false); // [FF94+] @@ -1269,6 +1264,14 @@ user_pref("browser.startup.homepage_override.mstone", "ignore"); // master switc // user_pref("accessibility.typeaheadfind", true); // enable "Find As You Type" // user_pref("clipboard.autocopy", false); // disable autocopy default [LINUX] // user_pref("layout.spellcheckDefault", 2); // 0=none, 1-multi-line, 2=multi-line & single-line +/* HTML5 MEDIA AUTOPLAY ***/ + // [NOTE] You can set exceptions under site permissions + // user_pref("media.autoplay.default", 5); // [FF63+] + // 0=Allow all, 1=Block non-muted media (default), 5=Block all + // [SETTING] Privacy & Security>Permissions>Autoplay>Settings>Default for all websites + // user_pref("media.autoplay.blocking_policy", 2); // disable autoplay if you interacted with the site [FF78+] + // 0=sticky (default), 1=transient, 2=user + // [1] https://support.mozilla.org/questions/1293231 // links to Autoplay Policy Documentation (PDF) /* UX BEHAVIOR ***/ // 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+] @@ -1349,5 +1352,18 @@ user_pref("security.password_lifetime", 5); // [DEFAULT: 30] user_pref("dom.storage.next_gen", true); // [DEFAULT: true FF92+] // ***/ +/* ESR102.x still uses all the following prefs +// [NOTE] replace the * with a slash in the line above to re-enable them +// FF103 + // 2801: delete cookies and site data on exit - replaced by sanitizeOnShutdown* (2810) + // 0=keep until they expire (default), 2=keep until you close Firefox + // [SETTING] Privacy & Security>Cookies and Site Data>Delete cookies and site data when Firefox is closed + // [-] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1681493,1681495,1681498,1759665,1764761 +user_pref("network.cookie.lifetimePolicy", 2); +// 6012: disable SHA-1 certificates + // [-] https://bugzilla.mozilla.org/1766687 +user_pref("security.pki.sha1_enforcement_level", 1); // [DEFAULT: 1 FF102+] +// ***/ + /* END: internal custom pref to test for syntax errors ***/ user_pref("_user.js.parrot", "SUCCESS: No no he's not dead, he's, he's restin'!");