diff --git a/user.js b/user.js index 32d3d04..5aac69b 100644 --- a/user.js +++ b/user.js @@ -384,8 +384,8 @@ user_pref("network.tickle-wifi.enabled", false); // SAFE BROWSING (SB) // >>>>>>>>>>>>>>>>>>>>> // Disable SB (Safe Browsing) -// [WARNING] Do this at your own risk! These are the master switches. -// [SETTING] Privacy & Security>Security>... "Block dangerous and deceptive content" +// [WARNING] Do this at your own risk! These are the master switches +// [SETTING] Privacy & Security>Security>... Block dangerous and deceptive content user_pref("browser.safebrowsing.malware.enabled", false); user_pref("browser.safebrowsing.phishing.enabled", false); user_pref("browser.safebrowsing.passwords.enabled", false); @@ -405,7 +405,7 @@ user_pref("browser.safebrowsing.downloads.remote.url", ""); user_pref("browser.safebrowsing.downloads.remote.block_potentially_unwanted", false); user_pref("browser.safebrowsing.downloads.remote.block_uncommon", false); // ------------------------------------- -// Disable 'ignore this warning' on SB warnings [FF45+] +// 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 // https://bugzilla.mozilla.org/1226490 user_pref("browser.safebrowsing.allowOverride", false); @@ -458,7 +458,7 @@ user_pref("extensions.systemAddon.update.enabled", false); // [FF62+] user_pref("extensions.systemAddon.update.url", ""); // [FF44+] // ------------------------------------- // Disable PingCentre telemetry (used in several System Add-ons) [FF57+] -// Currently blocked by 'datareporting.healthreport.uploadEnabled' +// Currently blocked by ''datareporting.healthreport.uploadEnabled'' user_pref("browser.ping-centre.telemetry", false); // ------------------------------------- // Disable Screenshots @@ -510,10 +510,10 @@ user_pref("network.http.speculative-parallel-limit", 0); // HTTP* / TCP/IP / DNS / PROXY / SOCKS etc // >>>>>>>>>>>>>>>>>>>>> // Disable IPv6 -// IPv6 can be abused, especially with MAC addresses, and can leak with VPNs. That's even -// assuming your ISP and/or router and/or website can handle it. Sites will fall back to IPv4 +// IPv6 can be abused, especially with MAC addresses, and can leak with VPNs: assuming +// your ISP and/or router and/or website is IPv6 capable. Most sites will fall back to IPv4 // [STATS] Firefox telemetry (July 2021) shows ~10% of all connections are IPv6 -// [NOTE] This is just an application level fallback. Disabling IPv6 is best done at an +// [NOTE] This is 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, // 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" @@ -523,7 +523,7 @@ user_pref("network.dns.disableIPv6", true); // ------------------------------------- // Disable HTTP2 // HTTP2 raises concerns with "multiplexing" and "server push", does nothing to -// enhance privacy, and opens up a number of server-side fingerprinting opportunities. +// enhance privacy, and opens up a number of server-side fingerprinting opportunities // [WARNING] Don't disable HTTP2. Don't be that one person using HTTP1.1 on HTTP2 sites // [STATS] ~46% of sites (July 2021) // https://http2.github.io/faq/ @@ -537,7 +537,7 @@ user_pref("network.dns.disableIPv6", true); // user_pref("network.http.spdy.websockets", false); // [FF65+] // ------------------------------------- // Disable HTTP Alternative Services [FF37+] -// [SETUP-PERF] Relax this if you have FPI enabled *AND* you understand the +// [SETUP-PERF] Relax this if you have FPI enabled and you understand the // consequences. FPI isolates these, but it was designed with the Tor protocol in mind, // and the Tor Browser has extra protection, including enhanced sanitizing per Identity. // https://tools.ietf.org/html/rfc7838#section-9 @@ -580,10 +580,10 @@ user_pref("network.trr.confirmationNS", ""); // LOCATION BAR / SEARCH BAR / SUGGESTIONS / HISTORY / FORMS // >>>>>>>>>>>>>>>>>>>>> // Disable location bar using search -// Don't leak URL typos to a search engine, give an error message instead. +// Don't leak URL typos to a search engine, give an error message instead // Examples: "secretplace,com", "secretplace/com", "secretplace com", "secret place.com" -// [NOTE] This does **not** affect explicit user action such as using search buttons in the -// dropdown, or using keyword search shortcuts you configure in options (e.g. 'd' for DuckDuckGo) +// [NOTE] This does not affect explicit user action such as using search buttons in the +// dropdown, or using keyword search shortcuts you configure in options (e.g. ''d'' for DuckDuckGo) // [SETUP-CHROME] If you don't, or rarely, type URLs, or you use a default search // engine that respects privacy, then you probably don't need this ***/ // user_pref("keyword.enabled", false); @@ -679,7 +679,7 @@ user_pref("signon.management.page.breach-alerts.enabled", false); user_pref("signon.management.page.breachAlertUrl", ""); // ------------------------------------- // Use a primary password -// There are no preferences for this. It is all handled internally. +// There are no preferences for this. It is all handled internally // [SETTING] Privacy & Security>Logins and Passwords>Use a Primary Password // https://support.mozilla.org/kb/use-primary-password-protect-stored-logins-and-pas // Set how often Firefox should ask for the primary password @@ -762,12 +762,10 @@ user_pref("browser.sessionstore.privacy_level", 2); // ------------------------------------- // Set the minimum interval between session save operations // Increasing this can help on older machines and some websites, as well as reducing writes -// 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: -// i.e. the longer the interval the more chance a quick tab open/close won't be captured. -// This longer interval *may* affect history but we cannot replicate any history not recorded +// [SETUP-CHROME] This can affect entries in "Recently Closed Tabs": i.e. the +// longer the interval the more chance a quick tab open/close won't be captured // https://bugzilla.mozilla.org/1304389 -user_pref("browser.sessionstore.interval", 30000); +user_pref("browser.sessionstore.interval", 30000); // [DEFAULT: 15000] // ------------------------------------- // Disable automatic Firefox start and session restore after reboot [FF62+] [WINDOWS] // https://bugzilla.mozilla.org/603903 @@ -778,7 +776,7 @@ user_pref("toolkit.winRegisterApplicationRestart", false); // >>>>>>>>>>>>>>>>>>>>> // Disable favicons in shortcuts // URL shortcuts use a cached randomly named .ico file which is stored in your -// profile/shortcutCache directory. The .ico remains after the shortcut is deleted. +// profile/shortcutCache directory. The .ico remains after the shortcut is deleted // If set to false then the shortcuts use a generic Firefox icon user_pref("browser.shell.shortcutFavicons", false); // ------------------------------------- @@ -808,7 +806,7 @@ user_pref("security.ssl.require_safe_negotiation", true); // ------------------------------------- // Control TLS versions with min and max // 1=TLS 1.0, 2=TLS 1.1, 3=TLS 1.2, 4=TLS 1.3 -// [WARNING] Leave these at default, otherwise you alter your TLS fingerprint. +// [WARNING] Leave these at default, otherwise you alter your TLS fingerprint // https://www.ssllabs.com/ssl-pulse/ // user_pref("security.tls.version.min", 3); // [DEFAULT: 3] // user_pref("security.tls.version.max", 4); @@ -865,9 +863,9 @@ user_pref("security.OCSP.require", false); // 2=deprecated option that now maps to 1 // 3=only allowed for locally-added roots (e.g. anti-virus) // 4=only allowed for locally-added roots or for certs in 2015 and earlier -// [SETUP-CHROME] When disabled, some man-in-the-middle devices (e.g. security scanners and -// antivirus products, may fail to connect to HTTPS sites. SHA-1 is *almost* obsolete. -// [1] https://blog.mozilla.org/security/2016/10/18/phasing-out-sha-1-on-the-public-web/ +// [SETUP-CHROME] When disabled, some man-in-the-middle devices, e.g. security scanners and +// antivirus products, may fail to connect to HTTPS sites. SHA-1 is *almost* obsolete +// https://blog.mozilla.org/security/2016/10/18/phasing-out-sha-1-on-the-public-web/ user_pref("security.pki.sha1_enforcement_level", 1); // ------------------------------------- // Disable Windows 8.1's Microsoft Family Safety cert [FF50+] [WINDOWS] @@ -928,8 +926,8 @@ user_pref("dom.security.https_only_mode_pbm", true); // [FF80+] // user_pref("dom.security.https_only_mode.upgrade_local", true); // ------------------------------------- // 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. +// 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 // https://bugzilla.mozilla.org/buglist.cgi?bug_id=1642387,1660945 user_pref("dom.security.https_only_mode_send_http_background_request", false); @@ -1153,8 +1151,8 @@ user_pref("media.autoplay.blocking_policy", 2); user_pref("dom.disable_window_move_resize", true); // ------------------------------------- // Open links targeting new windows in a new tab instead -// This stops malicious window sizes and some screen resolution leaks. -// You can still right-click a link and open in a new window. +// Stops malicious window sizes and some screen resolution leaks +// You can still right-click a link and open in a new window // [TEST] https://arkenfox.github.io/TZP/tzp.html#screen // https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/9881 user_pref("browser.link.open_newwindow", 3); // 1=most recent window or tab 2=new window, 3=new tab @@ -1171,7 +1169,6 @@ user_pref("browser.link.open_newwindow.restriction", 0); user_pref("dom.disable_open_during_load", true); // ------------------------------------- // Limit events that can cause a popup [SETUP-WEB] -// default FF86+: "change click dblclick auxclick mousedown mouseup pointerdown pointerup notificationclick reset submit touchend contextmenu" user_pref("dom.popup_allowed_events", "click dblclick mousedown pointerdown"); // // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @@ -1182,10 +1179,10 @@ user_pref("dom.popup_allowed_events", "click dblclick mousedown pointerdown"); // browser and network, are event driven, and can control the web page/site it is associated // with, intercepting and modifying navigation and resource requests, and caching resources. // [NOTE] Service worker APIs are hidden (in Firefox) and cannot be used when in PB mode. -// [NOTE] Service workers only run over HTTPS. Service workers have no DOM access. // [SETUP-WEB] Disabling service workers will break some sites. This pref is required true for // service worker notifications, push notifications and service worker // cache. If you enable this pref, then check those settings as well +// https://bugzilla.mozilla.org/show_bug.cgi?id=1320796#c7 ***/ user_pref("dom.serviceWorkers.enabled", false); // ------------------------------------- // Disable Web Notifications @@ -1196,11 +1193,10 @@ user_pref("dom.webnotifications.enabled", false); // [FF22+] // ------------------------------------- // Disable Push Notifications [FF44+] // Push is an API that allows websites to send you (subscribed) messages even when the site -// isn't loaded, by pushing messages to your userAgentID through Mozilla's Push Server. +// isn't loaded, by pushing messages to your userAgentID through Mozilla's Push Server // [NOTE] Push requires service workers to subscribe to and display, and is behind // a prompt. Disabling service workers alone doesn't stop Firefox polling the -// Mozilla Push Server. To remove all subscriptions, reset your userAgentID (in about:config -// or on start), and you will get a new one within a few seconds. +// Mozilla Push Server. To remove all subscriptions, reset your userAgentID // https://support.mozilla.org/kb/push-notifications-firefox // https://developer.mozilla.org/docs/Web/API/Push_API user_pref("dom.push.enabled", false); @@ -1225,8 +1221,8 @@ user_pref("dom.push.userAgentID", ""); // Disable website access to clipboard events/content [SETUP-HARDEN] // [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 -// [WARNING] In FF88 or lower, with clipboardevents enabled, if both 'middlemouse.paste' and -// 'general.autoScroll' are true (at least one is default false) then the clipboard can leak +// [WARNING] In FF88 or lower, with clipboardevents enabled, if both ''middlemouse.paste'' and +// ''general.autoScroll'' are true (at least one is default false) then the clipboard can leak // https://bugzilla.mozilla.org/1528289 user_pref("dom.event.clipboardevents.enabled", false); // ------------------------------------- @@ -1238,7 +1234,6 @@ user_pref("dom.allow_cut_copy", false); // Disable "Confirm you want to leave" dialog on page close // Does not prevent JS leaks of the page close event. // https://developer.mozilla.org/docs/Web/Events/beforeunload -// https://support.mozilla.org/questions/1043508 user_pref("dom.disable_beforeunload", true); // ------------------------------------- // Disable shaking the screen @@ -1368,7 +1363,7 @@ user_pref("devtools.selfxss.count", 0); user_pref("mathml.disabled", true); // ------------------------------------- // Disable in-content SVG (Scalable Vector Graphics) [FF53+] -// [WARNING] Expect breakage incl. youtube player controls. Best left for a "hardened" profile. +// [WARNING] Expect breakage including youtube player controls // https://bugzilla.mozilla.org/1216893 // user_pref("svg.disabled", true); // ------------------------------------- @@ -1401,12 +1396,12 @@ user_pref("network.IDN_show_punycode", true); // Enforce PDFJS, disable PDFJS scripting [SETUP-CHROME] // This setting controls if the option "Display in Firefox" is available in the setting below // and by effect controls whether PDFs are handled in-browser or externally ("Ask" or "Open With") -// PROS: pdfjs is lightweight, open source, and as secure/vetted as any pdf reader out there (more than most) +// PROS: pdfjs is lightweight, open source, and as secure/vetted more than most // Exploits are rare (one serious case in seven years), treated seriously and patched quickly. // It doesn't break "state separation" of browser content (by not sharing with OS, independent apps). // It maintains disk avoidance and application data isolation. It's convenient. You can still save to disk. // CONS: You may prefer a different pdf reader for security reasons -// CAVEAT: JS can still force a pdf to open in-browser by bundling its own code (rare) +// CAVEAT: JS can still force a pdf to open in-browser by bundling its own code // [SETTING] General>Applications>Portable Document Format (PDF) user_pref("pdfjs.disabled", false); // [DEFAULT: false] user_pref("pdfjs.enableScripting", false); // [FF86+] @@ -1526,8 +1521,7 @@ user_pref("network.cookie.thirdparty.nonsecureSessionOnly", true); // [FF58+] user_pref("network.cookie.lifetimePolicy", 2); // ------------------------------------- // Disable DOM (Document Object Model) Storage -// [WARNING] This will break a LOT of sites' functionality AND extensions! -// You are better off using an extension for more granular control +// [WARNING] This will break lots of sites and extensions! // user_pref("dom.storage.enabled", false); // ------------------------------------- // Disable offline cache (appCache) @@ -1564,11 +1558,10 @@ user_pref("dom.storage.next_gen", true); user_pref("privacy.sanitize.sanitizeOnShutdown", true); // ------------------------------------- // Set what items to clear on shutdown [SETUP-CHROME] -// [NOTE] If 'history' is true, downloads will also be cleared regardless of the value -// but if 'history' is false, downloads can still be cleared independently -// However, this may not always be the case. The interface combines and syncs these -// prefs when set from there, and the sanitize code may change at any time +// [NOTE] If "history" is true, downloads will also be cleared +// [NOTE] Active Logins does not refer to logins via cookies, but rather HTTP Basic Authentication // [SETTING] Privacy & Security>History>Custom Settings>Clear history when Firefox closes>Settings +// https://en.wikipedia.org/wiki/Basic_access_authentication user_pref("privacy.clearOnShutdown.cache", true); user_pref("privacy.clearOnShutdown.cookies", true); user_pref("privacy.clearOnShutdown.downloads", true); // see note above @@ -1580,9 +1573,9 @@ user_pref("privacy.clearOnShutdown.siteSettings", false); // Site Preferences // ------------------------------------- // 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. -// [NOTE] Regardless of what you set privacy.cpd.downloads to, as soon as the dialog -// for "Clear Recent History" is opened, it is synced to the same as 'history' +// Firefox remembers your last choices. This will reset them when you start Firefox +// [NOTE] Regardless of what you set "downloads" to, as soon as the dialog +// for "Clear Recent History" is opened, it is synced to the same as "history" user_pref("privacy.cpd.cache", true); user_pref("privacy.cpd.cookies", true); // user_pref("privacy.cpd.downloads", true); // not used, see note above @@ -1600,12 +1593,11 @@ user_pref("privacy.cpd.siteSettings", false); // Site Preferences // user_pref("privacy.clearOnShutdown.openWindows", true); // user_pref("privacy.cpd.openWindows", true); // ------------------------------------- -// Reset default 'Time range to clear' for 'Clear Recent History' -// 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, 5=last five minutes, 6=last twenty-four hours -// [NOTE] The values 5 + 6 are not listed in the dropdown, which will display a -// blank value if they are used, but they do work as advertised +// Reset default "Time range to clear" for "Clear Recent History" +// 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 +// [NOTE] Values 5 (last 5 minutes) and 6 (last 24 hours) are not listed in the dropdown, +// which will display a blank value, and are not guaranteed to work ***/ user_pref("privacy.sanitize.timeSpan", 0); // // >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @@ -1620,7 +1612,7 @@ user_pref("privacy.firstparty.isolate", true); // [NOTE] Setting this to false may reduce the breakage // FF65+ blocks postMessage with targetOrigin "*" if originAttributes don't match. But // to reduce breakage it ignores the 1st-party domain (FPD) originAttribute -// 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 // https://bugzilla.mozilla.org/1319773#c22 // https://bugzilla.mozilla.org/1492607 // https://developer.mozilla.org/docs/Web/API/Window/postMessage @@ -1640,14 +1632,14 @@ user_pref("privacy.partition.network_state", true); // RFP (RESIST FINGERPRINTING) // >>>>>>>>>>>>>>>>>>>>> // Enable privacy.resistFingerprinting [FF41+] -// [SETUP-WEB] RFP can cause the odd website to break in strange ways, and has a few side affects, -// but is largely robust nowadays. Give it a try. Your choice. +// [SETUP-WEB] RFP can some cause website breakage: mainly canvas, use a site exception via the urlbar +// RFP also has a few side effects: mainly timezone is UTC0, and websites will prefer light theme // https://bugzilla.mozilla.org/418986 user_pref("privacy.resistFingerprinting", true); // ------------------------------------- // 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. -// The override values are a starting point to round from if you want some control +// The max values are a starting point to round from if you want some control // https://bugzilla.mozilla.org/1330882 // user_pref("privacy.window.maxInnerWidth", 1000); // user_pref("privacy.window.maxInnerHeight", 1000); @@ -1662,8 +1654,10 @@ user_pref("extensions.webextensions.identity.redirectDomain", ""); // ------------------------------------- // Enable RFP letterboxing [FF67+] // Dynamically resizes the inner window by applying margins in stepped ranges -// If you use the dimension pref, then it will only apply those resolutions. The format is -// "width1xheight1, width2xheight2, ..." (e.g. "800x600, 1000x1000, 1600x900") +// If you use the dimension pref, then it will only apply those resolutions. +// The format is "width1xheight1, width2xheight2, ..." (e.g. "800x600, 1000x1000") +// [SETUP-WEB] This is independent of RFP. If you're not using RFP, or you are but +// dislike the margins, then flip this pref, keeping in mind that it is effectively fingerprintable // [WARNING] DO NOT USE: the dimension pref is only meant for testing // https://bugzilla.mozilla.org/1407366 // https://hg.mozilla.org/mozilla-central/rev/6d2d7856e468#l2.32 ***/