1
0
mirror of https://github.com/yokoffing/Betterfox.git synced 2026-06-12 15:40:48 +05:30

Compare commits

...

10 Commits

Author SHA1 Message Date
HJ b833ea7300 v118 (#235) 2023-09-29 21:29:34 -04:00
HJ c574f6057f Delete personal/test.txt 2023-09-23 17:36:25 -06:00
HJ 4ed949c78b move personal/user-overrides.js 2023-09-23 17:35:59 -06:00
HJ dae0e10c1d Create personal folder 2023-09-23 17:33:50 -06:00
HJ 084b173e07 Delete personal 2023-09-23 17:32:43 -06:00
HJ d164ac1395 Create personal 2023-09-23 17:32:28 -06:00
HJ 0334bea972 v.117 (#225) 2023-09-18 12:16:13 -04:00
HJ 726f4d4a6b add backup to Getting Started 2023-09-08 14:38:29 -04:00
HJ dd49bcaae4 116.1 (#221)
* require_safe_negotiation breaks EA
2023-09-05 12:18:20 -04:00
HJ 288676b07d change Floorp link
https://github.com/yokoffing/Betterfox/issues/220
2023-08-31 08:12:21 -04:00
6 changed files with 126 additions and 145 deletions
+41 -73
View File
@@ -3,7 +3,7 @@
* Fastfox * * Fastfox *
* "Non ducor duco" * * "Non ducor duco" *
* priority: speedy browsing * * priority: speedy browsing *
* version: 116 * * version: 118 *
* url: https://github.com/yokoffing/Betterfox * * url: https://github.com/yokoffing/Betterfox *
***************************************************************************************/ ***************************************************************************************/
@@ -71,7 +71,7 @@ user_pref("nglayout.initialpaint.delay_in_oopif", 0); // default=5
// false = reflow pages whenever new data is received // false = reflow pages whenever new data is received
//user_pref("content.notify.ontimer", true); // DEFAULT //user_pref("content.notify.ontimer", true); // DEFAULT
// PREF: notification interval (in microseconds) (to avoid layout thrashing) // PREF: notification interval (in microseconds) to avoid layout thrashing
// When Firefox is loading a page, it periodically reformats // When Firefox is loading a page, it periodically reformats
// or "reflows" the page as it loads. The page displays new elements // or "reflows" the page as it loads. The page displays new elements
// every 0.12 seconds by default. These redraws increase the total page load time. // every 0.12 seconds by default. These redraws increase the total page load time.
@@ -87,13 +87,6 @@ user_pref("nglayout.initialpaint.delay_in_oopif", 0); // default=5
// [3] https://dev.opera.com/articles/efficient-javascript/?page=3#smoothspeed // [3] https://dev.opera.com/articles/efficient-javascript/?page=3#smoothspeed
user_pref("content.notify.interval", 100000); // (.10s); default=120000 (.12s) user_pref("content.notify.interval", 100000); // (.10s); default=120000 (.12s)
// PREF: frequency switch threshold [HIDDEN]
// Raising the value will make the application more responsive at the expense of page load time.
// [1] http://kb.mozillazine.org/Content.switch.threshold
// [2] https://www.reddit.com/r/firefox/comments/11m2yuh/comment/jbjxp8s/?context=3
//user_pref("content.interrupt.parsing", true); // DEFAULT [HIDDEN]
//user_pref("content.switch.threshold", 750000); // DEFAULT [HIDDEN]
// PREF: new tab preload // PREF: new tab preload
// [WARNING] Disabling this may cause a delay when opening a new tab in Firefox. // [WARNING] Disabling this may cause a delay when opening a new tab in Firefox.
// [1] https://wiki.mozilla.org/Tiles/Technical_Documentation#Ping // [1] https://wiki.mozilla.org/Tiles/Technical_Documentation#Ping
@@ -118,16 +111,18 @@ user_pref("content.notify.interval", 100000); // (.10s); default=120000 (.12s)
//user_pref("browser.sessionstore.restore_tabs_lazily", true); // DEFAULT //user_pref("browser.sessionstore.restore_tabs_lazily", true); // DEFAULT
// PREF: disable preSkeletonUI on startup [WINDOWS] // PREF: disable preSkeletonUI on startup [WINDOWS]
user_pref("browser.startup.preXulSkeletonUI", false); // WINDOWS //user_pref("browser.startup.preXulSkeletonUI", false); // WINDOWS
/**************************************************************************** /****************************************************************************
* SECTION: TAB UNLOAD * * SECTION: TAB UNLOAD *
****************************************************************************/ ****************************************************************************/
// PREF: unload tabs on low memory // PREF: unload tabs on low memory
// [ABOUT] about:unloads
// Firefox will detect if your computers memory is running low (less than 200MB) // Firefox will detect if your computers memory is running low (less than 200MB)
// and suspend tabs that you have not used in awhile. // and suspend tabs that you have not used in awhile.
// [1] https://hacks.mozilla.org/2021/10/tab-unloading-in-firefox-93/ // [1] https://support.mozilla.org/en-US/kb/unload-inactive-tabs-save-system-memory-firefox
// [2] https://hacks.mozilla.org/2021/10/tab-unloading-in-firefox-93/
//user_pref("browser.tabs.unloadOnLowMemory", true); // DEFAULT //user_pref("browser.tabs.unloadOnLowMemory", true); // DEFAULT
// PREF: determine when tabs unload [WINDOWS] [LINUX] // PREF: determine when tabs unload [WINDOWS] [LINUX]
@@ -172,7 +167,7 @@ user_pref("layout.css.has-selector.enabled", true);
// PREF: HTML Sanitizer API [NIGHTLY] // PREF: HTML Sanitizer API [NIGHTLY]
// [1] https://developer.mozilla.org/en-US/docs/Web/API/Sanitizer // [1] https://developer.mozilla.org/en-US/docs/Web/API/Sanitizer
// [2] https://caniuse.com/mdn-api_sanitizer // [2] https://caniuse.com/mdn-api_sanitizer
//user_pref("dom.security.sanitizer.enabled", true); user_pref("dom.security.sanitizer.enabled", true);
// PREF: Shadowrealms [NIGHTLY] // PREF: Shadowrealms [NIGHTLY]
// [1] https://github.com/tc39/proposal-shadowrealm/blob/main/explainer.md#introduction // [1] https://github.com/tc39/proposal-shadowrealm/blob/main/explainer.md#introduction
@@ -236,7 +231,6 @@ user_pref("layout.css.has-selector.enabled", true);
// PREF: if your hardware doesn't support Webrender, you can fallback to Webrender's software renderer // PREF: if your hardware doesn't support Webrender, you can fallback to Webrender's software renderer
// [1] https://www.ghacks.net/2020/12/14/how-to-find-out-if-webrender-is-enabled-in-firefox-and-how-to-enable-it-if-it-is-not/ // [1] https://www.ghacks.net/2020/12/14/how-to-find-out-if-webrender-is-enabled-in-firefox-and-how-to-enable-it-if-it-is-not/
//user_pref("gfx.webrender.enabled", true); // [REMOVED FF118?]
//user_pref("gfx.webrender.software", true); // Software Webrender uses CPU instead of GPU //user_pref("gfx.webrender.software", true); // Software Webrender uses CPU instead of GPU
//user_pref("gfx.webrender.software.opengl", true); // LINUX //user_pref("gfx.webrender.software.opengl", true); // LINUX
@@ -296,11 +290,11 @@ user_pref("layout.css.has-selector.enabled", true);
// More efficient to keep the browser cache instead of having to // More efficient to keep the browser cache instead of having to
// re-download objects for the websites you visit frequently. // re-download objects for the websites you visit frequently.
// [1] https://www.janbambas.cz/new-firefox-http-cache-enabled/ // [1] https://www.janbambas.cz/new-firefox-http-cache-enabled/
//user_pref("browser.cache.disk.enable", true); // DEFAULT user_pref("browser.cache.disk.enable", false);
//user_pref("browser.cache.disk.smart_size.enabled", false); // force a fixed max cache size on disk //user_pref("browser.cache.disk.smart_size.enabled", false); // force a fixed max cache size on disk
//user_pref("browser.cache.disk.capacity", 8192000); // size of disk cache; default=256000; 1024000 = 1 GB, 2048000=2GB, 5120000=5GB, 8192000=8GB //user_pref("browser.cache.disk.capacity", 5120000); // size of disk cache; default=256000; 1024000 = 1 GB, 2048000=2GB, 5120000=5GB, 8192000=8GB
//user_pref("browser.cache.disk.max_entry_size", 51200); // 51 MB; DEFAULT; maximum size of an object in disk cache //user_pref("browser.cache.disk.max_entry_size", 51200); // 51.2 MB; DEFAULT; maximum size of an object in disk cache
//user_pref("browser.cache.disk.metadata_memory_limit", 10000); // default=250; alt=15360; increase size (in KB) of intermediate memory caching of frequently used metadata (disk cache memory pool) //user_pref("browser.cache.disk.metadata_memory_limit", 750); // default=250; increase size (in KB) of intermediate memory caching of frequently used metadata (disk cache memory pool)
//user_pref("browser.cache.max_shutdown_io_lag", 4); // default=2; number of seconds the cache spends writing pending data and closing files after shutdown has been signalled //user_pref("browser.cache.max_shutdown_io_lag", 4); // default=2; number of seconds the cache spends writing pending data and closing files after shutdown has been signalled
// PREF: specify how long pages are kept before being removed from cache (in hours) // PREF: specify how long pages are kept before being removed from cache (in hours)
@@ -310,7 +304,7 @@ user_pref("layout.css.has-selector.enabled", true);
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=913808 // [1] https://bugzilla.mozilla.org/show_bug.cgi?id=913808
// [2] https://bugzilla.mozilla.org/show_bug.cgi?id=968101 // [2] https://bugzilla.mozilla.org/show_bug.cgi?id=968101
// [3] https://rockridge.hatenablog.com/entry/2014/09/15/165501 // [3] https://rockridge.hatenablog.com/entry/2014/09/15/165501
//user_pref("browser.cache.frecency_half_life_hours", 24); // default=6 //user_pref("browser.cache.frecency_half_life_hours", 18); // default=6
// PREF: memory cache // PREF: memory cache
// The "automatic" size selection (default) is based on a decade-old table // The "automatic" size selection (default) is based on a decade-old table
@@ -323,9 +317,9 @@ user_pref("layout.css.has-selector.enabled", true);
// [2] https://searchfox.org/mozilla-central/source/netwerk/cache2/CacheObserver.cpp#94-125 // [2] https://searchfox.org/mozilla-central/source/netwerk/cache2/CacheObserver.cpp#94-125
// [3] https://github.com/WaterfoxCo/Waterfox/commit/3fed16932c80a2f6b37d126fe10aed66c7f1c214 // [3] https://github.com/WaterfoxCo/Waterfox/commit/3fed16932c80a2f6b37d126fe10aed66c7f1c214
//user_pref("browser.cache.memory.capacity", -1); // DEFAULT; 1048576=1GB, 2097152=2GB //user_pref("browser.cache.memory.capacity", -1); // DEFAULT; 1048576=1GB, 2097152=2GB
//user_pref("browser.cache.memory.max_entry_size", 5120); // DEFAULT; alt=25600; -1=entries bigger than than 90% of the mem-cache are never cached //user_pref("browser.cache.memory.max_entry_size", 5120); // 5 MB DEFAULT; alt=25600; -1=entries bigger than than 90% of the mem-cache are never cached
// PREF: amount of pages stored in memory for Back/Forward // PREF: amount of Back/Forward cached pages stored in memory for each tab
// Pages that were recently visited are stored in memory in such a way // Pages that were recently visited are stored in memory in such a way
// that they don't have to be re-parsed. This improves performance // that they don't have to be re-parsed. This improves performance
// when pressing Back and Forward. This pref limits the maximum // when pressing Back and Forward. This pref limits the maximum
@@ -334,7 +328,7 @@ user_pref("layout.css.has-selector.enabled", true);
// is no reason for Firefox to keep memory for this. // is no reason for Firefox to keep memory for this.
// -1=determine automatically (8 pages) // -1=determine automatically (8 pages)
// [1] https://kb.mozillazine.org/Browser.sessionhistory.max_total_viewers#Possible_values_and_their_effects // [1] https://kb.mozillazine.org/Browser.sessionhistory.max_total_viewers#Possible_values_and_their_effects
//user_pref("browser.sessionhistory.max_total_viewers", 1); //user_pref("browser.sessionhistory.max_total_viewers", 3);
/**************************************************************************** /****************************************************************************
* SECTION: MEDIA CACHE * * SECTION: MEDIA CACHE *
@@ -398,7 +392,7 @@ user_pref("network.http.max-connections", 1800); // default=900
user_pref("network.http.max-persistent-connections-per-server", 10); // default=6; download connections; anything above 10 is excessive user_pref("network.http.max-persistent-connections-per-server", 10); // default=6; download connections; anything above 10 is excessive
user_pref("network.http.max-urgent-start-excessive-connections-per-host", 5); // default=3 user_pref("network.http.max-urgent-start-excessive-connections-per-host", 5); // default=3
//user_pref("network.http.max-persistent-connections-per-proxy", 48); // default=32 //user_pref("network.http.max-persistent-connections-per-proxy", 48); // default=32
user_pref("network.websocket.max-connections", 400); // default=200 //user_pref("network.websocket.max-connections", 200); // DEFAULT
// PREF: pacing requests [FF23+] // PREF: pacing requests [FF23+]
// Controls how many HTTP requests are sent at a time. // Controls how many HTTP requests are sent at a time.
@@ -413,47 +407,20 @@ user_pref("network.http.pacing.requests.enabled", false);
//user_pref("network.http.pacing.requests.min-parallelism", 10); // default=6 //user_pref("network.http.pacing.requests.min-parallelism", 10); // default=6
//user_pref("network.http.pacing.requests.burst", 14); // default=10 //user_pref("network.http.pacing.requests.burst", 14); // default=10
// Connection Timeouts
// [1] https://searchfox.org/mozilla-esr115/source/modules/libpref/init/all.js#1178
// [2] https://www.catchpoint.com/blog/http-transaction-steps
// PREF: timeout connections if an initial response is not received after
// a given number of seconds.
//user_pref("network.http.response.timeout", 60); // default=300 (5min)
// PREF: close a connection if TLS handshake does not finish in a
// given number of seconds
//user_pref("network.http.tls-handshake-timeout", 6); // default=30
// PREF: the number of seconds after sending initial SYN for an HTTP connection
// to give up if the OS does not give up first.
//user_pref("network.http.connection-timeout", 18); // default=90
// PREF: how long to wait before trying a different connection when the initial one fails // PREF: how long to wait before trying a different connection when the initial one fails
// The number (in ms) after sending a SYN for an HTTP connection, // The number (in ms) after sending a SYN for an HTTP connection,
// to wait before trying again with a different connection. // to wait before trying again with a different connection.
// 0=disable the second connection // 0=disable the second connection
//user_pref("network.http.connection-retry-timeout", 0); // default=250ms // [1] https://searchfox.org/mozilla-esr115/source/modules/libpref/init/all.js#1178
// [2] https://www.catchpoint.com/blog/http-transaction-steps
// PREF: keep-alive request timeout //user_pref("network.http.connection-retry-timeout", 0); // default=250
// Default timeout on IIS7 is 120 seconds. FF needs to reuse or drop the
// connection within this time. By default, FF sets the timeout a little shorter to
// keep a reserve for cases when the packet is lost or delayed on the route.
// [1] http://kb.mozillazine.org/Network.http.keep-alive.timeout
// [2] https://searchfox.org/mozilla-esr115/source/modules/libpref/init/all.js#1173-1178
//user_pref("network.http.keep-alive.timeout", 31); // default=115
// PREF: the amount of time (in seconds) to suspend pending requests, before spawning a
// new connection, once the limit on the number of persistent connections per
// host has been reached. However, a new connection will not be created if
// max-connections or max-connections-per-server has also been reached.
//user_pref("network.http.request.max-start-delay", 10); // DEFAULT
// PREF: increase DNS cache // PREF: increase DNS cache
// [1] https://developer.mozilla.org/en-US/docs/Web/Performance/Understanding_latency // [1] https://developer.mozilla.org/en-US/docs/Web/Performance/Understanding_latency
user_pref("network.dnsCacheEntries", 10000); // default=400 user_pref("network.dnsCacheEntries", 1000); // default=400
// PREF: adjust DNS expiration time // PREF: adjust DNS expiration time
// [ABOUT] about:networking#dns
// [NOTE] These prefs will be ignored by DNS resolver if using DoH/TRR. // [NOTE] These prefs will be ignored by DNS resolver if using DoH/TRR.
user_pref("network.dnsCacheExpiration", 86400); // keep entries for 1 day; alt=3600 (1 hour) user_pref("network.dnsCacheExpiration", 86400); // keep entries for 1 day; alt=3600 (1 hour)
//user_pref("network.dnsCacheExpirationGracePeriod", 240); // default=60; cache DNS entries for 4 minutes after they expire //user_pref("network.dnsCacheExpirationGracePeriod", 240); // default=60; cache DNS entries for 4 minutes after they expire
@@ -463,7 +430,7 @@ user_pref("network.dns.max_high_priority_threads", 8); // default=5
//user_pref("network.dns.max_any_priority_threads", 5); // default=3 //user_pref("network.dns.max_any_priority_threads", 5); // default=3
// PREF: increase TLS token caching // PREF: increase TLS token caching
user_pref("network.ssl_tokens_cache_capacity", 20480); // default=2048; more TLS token caching (fast reconnects) user_pref("network.ssl_tokens_cache_capacity", 10240); // default=2048; more TLS token caching (fast reconnects)
/**************************************************************************** /****************************************************************************
* SECTION: SPECULATIVE CONNECTIONS * * SECTION: SPECULATIVE CONNECTIONS *
@@ -494,7 +461,7 @@ user_pref("network.ssl_tokens_cache_capacity", 20480); // default=2048; more TLS
// [5] https://3perf.com/blog/link-rels/#prefetch // [5] https://3perf.com/blog/link-rels/#prefetch
user_pref("network.http.speculative-parallel-limit", 0); user_pref("network.http.speculative-parallel-limit", 0);
// or // or
//user_pref("network.http.speculative-parallel-limit", 10); // default=6 //user_pref("network.http.speculative-parallel-limit", 6); // DEFAULT
// PREF: DNS pre-resolve <link rel="dns-prefetch"> // PREF: DNS pre-resolve <link rel="dns-prefetch">
// Resolve hostnames ahead of time. In order to reduce latency, // Resolve hostnames ahead of time. In order to reduce latency,
@@ -545,23 +512,6 @@ user_pref("browser.places.speculativeConnect.enabled", false);
// [9] https://web.dev/preload-critical-assets/ // [9] https://web.dev/preload-critical-assets/
//user_pref("network.preload", true); // DEFAULT //user_pref("network.preload", true); // DEFAULT
// PREF: enable early hints [NIGHTLY]
// [1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/103
//user_pref("network.early-hints.enabled", false); // DEFAULT
// or
//user_pref("network.early-hints.enabled", true);
// PREF: `Link: rel=preconnect` in 103 Early Hint response
//user_pref("network.early-hints.preconnect.enabled", false); // DEFAULT
// or
//user_pref("network.early-hints.preconnect.enabled", true);
// PREF: the number of speculative connections allowed for early hints `Link: rel=preconnect`
// When 0, this is limited by "network.http.speculative-parallel-limit".
//user_pref("network.early-hints.preconnect.max_connections", 0);
// or
//user_pref("network.early-hints.preconnect.max_connections", 15); // default=10
// PREF: Link prefetching <link rel="prefetch"> // PREF: Link prefetching <link rel="prefetch">
// Firefox will prefetch certain links if any of the websites you are viewing uses the special prefetch-link tag. // Firefox will prefetch certain links if any of the websites you are viewing uses the special prefetch-link tag.
// A directive that tells a browser to fetch a resource that will likely be needed for the next navigation. // A directive that tells a browser to fetch a resource that will likely be needed for the next navigation.
@@ -580,6 +530,24 @@ user_pref("network.prefetch-next", false);
// or // or
//user_pref("network.prefetch-next", true); // DEFAULT //user_pref("network.prefetch-next", true); // DEFAULT
// PREF: enable early hints [NIGHTLY]
// [1] https://developer.mozilla.org/en-US/docs/Web/HTTP/Status/103
// [2] https://developer.chrome.com/blog/early-hints/
//user_pref("network.early-hints.enabled", false); // DEFAULT
// or
//user_pref("network.early-hints.enabled", true);
// PREF: `Link: rel=preconnect` in 103 Early Hint response
//user_pref("network.early-hints.preconnect.enabled", false); // DEFAULT
// or
//user_pref("network.early-hints.preconnect.enabled", true);
// PREF: the number of speculative connections allowed for early hints `Link: rel=preconnect`
// When 0, this is limited by "network.http.speculative-parallel-limit".
//user_pref("network.early-hints.preconnect.max_connections", 0);
// or
//user_pref("network.early-hints.preconnect.max_connections", 10); // DEFAULT
// PREF: Network Predictor (NP) // PREF: Network Predictor (NP)
// Keeps track of components that were loaded during page visits so that the browser knows next time // Keeps track of components that were loaded during page visits so that the browser knows next time
// which resources to request from the server: It uses a local file to remember which resources were // which resources to request from the server: It uses a local file to remember which resources were
+9 -10
View File
@@ -3,7 +3,7 @@
* Peskyfox * * Peskyfox *
* "Aquila non capit muscas" * * "Aquila non capit muscas" *
* priority: remove annoyances * * priority: remove annoyances *
* version: 116 * * version: 118 *
* url: https://github.com/yokoffing/Betterfox * * url: https://github.com/yokoffing/Betterfox *
***************************************************************************/ ***************************************************************************/
@@ -87,7 +87,7 @@ user_pref("browser.display.focus_ring_width", 0);
user_pref("browser.privateWindowSeparation.enabled", false); // WINDOWS user_pref("browser.privateWindowSeparation.enabled", false); // WINDOWS
// PREF: reduce the size of the "private window" indicator in tab bar [FF106+] // PREF: reduce the size of the "private window" indicator in tab bar [FF106+]
user_pref("browser.privatebrowsing.enable-new-indicator", false); //user_pref("browser.privatebrowsing.enable-new-indicator", false); // REMOVED [FF119+]
// PREF: Cookie Banner handling [NIGHTLY] // PREF: Cookie Banner handling [NIGHTLY]
// [NOTE] Feature still enforces Total Cookie Protection to limit 3rd-party cookie tracking [1] // [NOTE] Feature still enforces Total Cookie Protection to limit 3rd-party cookie tracking [1]
@@ -387,11 +387,9 @@ user_pref("pdfjs.sidebarViewOnLoad", 2);
// [1] https://kb.mozillazine.org/About:config_entries // [1] https://kb.mozillazine.org/About:config_entries
//user_pref("browser.tabs.loadDivertedInBackground", false); // DEFAULT //user_pref("browser.tabs.loadDivertedInBackground", false); // DEFAULT
// PREF: load bookmarks in the background when left-clicking in Bookmarks Menu
//user_pref("browser.tabs.loadBookmarksInBackground", true);
// PREF: force bookmarks to open in a new tab, not the current tab // PREF: force bookmarks to open in a new tab, not the current tab
user_pref("browser.tabs.loadBookmarksInTabs", true); //user_pref("browser.tabs.loadBookmarksInTabs", true);
//user_pref("browser.tabs.loadBookmarksInBackground", true); // load bookmarks in background
// PREF: leave Bookmarks Menu open when selecting a site // PREF: leave Bookmarks Menu open when selecting a site
user_pref("browser.bookmarks.openInTabClosesMenu", false); user_pref("browser.bookmarks.openInTabClosesMenu", false);
@@ -462,9 +460,9 @@ user_pref("findbar.highlightAll", true);
//user_pref("ui.key.menuAccessKeyFocuses", false); //user_pref("ui.key.menuAccessKeyFocuses", false);
//user_pref("ui.key.menuAccessKey", 18); // DEFAULT //user_pref("ui.key.menuAccessKey", 18); // DEFAULT
// PREF: CTRL+TAB cycles tabs in chronological order instead of // PREF: cycle through tabs in recently used order
// recently-used order // [SETTING] Ctrl+Tab cycles through tabs in recently used order
//user_pref("browser.ctrlTab.recentlyUsedOrder", false); //user_pref("browser.ctrlTab.sortByRecentlyUsed", true);
// PREF: Spell-check // PREF: Spell-check
// 0=none, 1-multi-line, 2=multi-line & single-line // 0=none, 1-multi-line, 2=multi-line & single-line
@@ -523,8 +521,9 @@ user_pref("findbar.highlightAll", true);
// PREF: JPEG XL image format [NIGHTLY] // PREF: JPEG XL image format [NIGHTLY]
// May not affect anything on ESR/Stable channel [2]. // May not affect anything on ESR/Stable channel [2].
// [TEST] https://jpegxl.io/tutorials/firefox/#firefoxjpegxltutorial
// [1] https://cloudinary.com/blog/the-case-for-jpeg-xl // [1] https://cloudinary.com/blog/the-case-for-jpeg-xl
// [2] https://bugzilla.mozilla.org/show_bug.cgi?id=1539075 // [2] https://bugzilla.mozilla.org/show_bug.cgi?id=1539075#c51
//user_pref("image.jxl.enabled", true); //user_pref("image.jxl.enabled", true);
// PREF: enable CSS moz document rules // PREF: enable CSS moz document rules
+8 -7
View File
@@ -34,15 +34,16 @@ The `user.js` — a configuration file that controls Firefox settings — is cur
## Getting started ## Getting started
*If you don't have it already: [Get Firefox](https://www.mozilla.org/en-US/firefox/all/#product-desktop-release)* *If you don't have it already: [Get Firefox](https://www.mozilla.org/en-US/firefox/all/#product-desktop-release)*
1) Download the user.js file [here](https://raw.githubusercontent.com/yokoffing/Betterfox/main/user.js) (Right click > `Save Link As…`). 1) Create a [backup profile](https://github.com/yokoffing/Betterfox/wiki/Backup).
2) Review [Common Overrides](https://github.com/yokoffing/Betterfox/wiki/Common-Overrides) and make any necessary changes. 2) Download the user.js file [here](https://raw.githubusercontent.com/yokoffing/Betterfox/main/user.js) (Right click > `Save Link As…`).
3) Open Firefox. In the URL bar, type `about:profiles` and press `Enter`. 3) Review [Common Overrides](https://github.com/yokoffing/Betterfox/wiki/Common-Overrides) and make any necessary changes.
4) For the profile you want to use (or use default), click `Open Folder` in the **Root Directory** section. 4) Open Firefox. In the URL bar, type `about:profiles` and press `Enter`.
5) Move the `user.js` file into the folder. 5) For the profile you want to use (or use default), click `Open Folder` in the **Root Directory** section.
6) Move the `user.js` file into the folder.
*After restarting Firefox:* *After restarting Firefox:*
1) Get an **ad blocker** like [uBlock Origin](https://addons.mozilla.org/blog/ublock-origin-everything-you-need-to-know-about-the-ad-blocker/) with our [recommended filters](https://github.com/yokoffing/filterlists#guidelines). For a simple solution, use [Ghostery](https://addons.mozilla.org/en-US/firefox/addon/ghostery/). 1) Get an **ad blocker** like [uBlock Origin](https://addons.mozilla.org/blog/ublock-origin-everything-you-need-to-know-about-the-ad-blocker/) with our [recommended filters](https://github.com/yokoffing/filterlists#guidelines). For a simple solution, use [Ghostery](https://addons.mozilla.org/en-US/firefox/addon/ghostery/).
3) Enable **DNS-level protection** with [NextDNS](https://nextdns.io/?from=xujj63g5), and check out our configuration [guide](https://github.com/yokoffing/NextDNS-Config). 2) Enable **DNS-level protection** with [NextDNS](https://nextdns.io/?from=xujj63g5), and check out our configuration [guide](https://github.com/yokoffing/NextDNS-Config).
* See how to [quickly enable](https://support.mozilla.org/en-US/kb/dns-over-https) **secure DNS** in Firefox. * See how to [quickly enable](https://support.mozilla.org/en-US/kb/dns-over-https) **secure DNS** in Firefox.
## about:Privacy ## about:Privacy
@@ -54,7 +55,7 @@ See [Optional Hardening](https://github.com/yokoffing/Betterfox/wiki/Optional-Ha
### Browser Integration ### Browser Integration
* [Waterfox](https://github.com/WaterfoxCo/Waterfox/releases/tag/G6.0b3) | [files](https://github.com/WaterfoxCo/Waterfox/tree/future/waterfox/browser/app/profile) (August 2023) * [Waterfox](https://github.com/WaterfoxCo/Waterfox/releases/tag/G6.0b3) | [files](https://github.com/WaterfoxCo/Waterfox/tree/future/waterfox/browser/app/profile) (August 2023)
* [Floorp](https://github.com/Floorp-Projects/Floorp#-betterfox) <sup>[1](https://github.com/Floorp-Projects/Floorp/issues/233#issuecomment-1543557167) [2](https://blog.ablaze.one/3135/2023-04-01/)</sup> | [files](https://github.com/Floorp-Projects/Floorp/blob/f63e87016d88535aafa2b57d690442b9a69cbaa5/toolkit/content/license.html#L200-L224) (April 2023) * [Floorp](https://github.com/Floorp-Projects/Floorp#-betterfox) <sup>[1](https://github.com/Floorp-Projects/Floorp/issues/233#issuecomment-1543557167) [2](https://blog.ablaze.one/3135/2023-04-01/)</sup> | [files](https://github.com/Floorp-Projects/Floorp/blob/ESR115/floorp/browser/components/preferences/userjs.inc.xhtml) (April 2023)
* [Pulse](https://github.com/pulse-browser/browser#%EF%B8%8F-credits) | [files](https://github.com/pulse-browser/browser/tree/alpha/src/browser/app/profile) (Dec 2021) * [Pulse](https://github.com/pulse-browser/browser#%EF%B8%8F-credits) | [files](https://github.com/pulse-browser/browser/tree/alpha/src/browser/app/profile) (Dec 2021)
* [Ghostery Private Browser](https://github.com/ghostery/user-agent-desktop#community) <sup>[1](https://web.archive.org/web/20210509171835/https://www.ghostery.com/ghostery-dawn-update-more/) [2](https://web.archive.org/web/20210921114333/https://www.ghostery.com/ghostery-dawn-product-update/)</sup> | [files](https://github.com/ghostery/user-agent-desktop/tree/main/brands/ghostery/branding/pref) (Feb 2021) * [Ghostery Private Browser](https://github.com/ghostery/user-agent-desktop#community) <sup>[1](https://web.archive.org/web/20210509171835/https://www.ghostery.com/ghostery-dawn-update-more/) [2](https://web.archive.org/web/20210921114333/https://www.ghostery.com/ghostery-dawn-product-update/)</sup> | [files](https://github.com/ghostery/user-agent-desktop/tree/main/brands/ghostery/branding/pref) (Feb 2021)
+52 -41
View File
@@ -3,7 +3,7 @@
* Securefox * * Securefox *
* "Natura non contristatur" * * "Natura non contristatur" *
* priority: provide sensible security and privacy * * priority: provide sensible security and privacy *
* version: 116 * * version: 118 *
* url: https://github.com/yokoffing/Betterfox * * url: https://github.com/yokoffing/Betterfox *
****************************************************************************/ ****************************************************************************/
@@ -47,6 +47,7 @@ user_pref("browser.contentblocking.category", "strict");
// [5] https://firefox.settings.services.mozilla.com/v1/buckets/main/collections/query-stripping/records // [5] https://firefox.settings.services.mozilla.com/v1/buckets/main/collections/query-stripping/records
//user_pref("privacy.query_stripping.enabled", true); // enabled with "Strict" //user_pref("privacy.query_stripping.enabled", true); // enabled with "Strict"
//user_pref("privacy.query_stripping.enabled.pbmode", true); // enabled with "Strict" //user_pref("privacy.query_stripping.enabled.pbmode", true); // enabled with "Strict"
//user_pref("privacy.query_stripping.strip_list", ""); // DEFAULT
//user_pref("privacy.query_stripping.strip_on_share.enabled", true); //user_pref("privacy.query_stripping.strip_on_share.enabled", true);
// PREF: allow embedded tweets, Instagram and Reddit posts, and TikTok embeds // PREF: allow embedded tweets, Instagram and Reddit posts, and TikTok embeds
@@ -98,9 +99,10 @@ user_pref("urlclassifier.features.socialtracking.skipURLs", "*.instagram.com, *.
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1549587 // [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1549587
// [2] https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Privacy/State_Partitioning // [2] https://developer.mozilla.org/en-US/docs/Mozilla/Firefox/Privacy/State_Partitioning
// [3] https://blog.mozilla.org/security/2021/02/23/total-cookie-protection/ // [3] https://blog.mozilla.org/security/2021/02/23/total-cookie-protection/
// [4] https://hacks.mozilla.org/2021/02/introducing-state-partitioning/ // [4] https://blog.mozilla.org/en/mozilla/firefox-rolls-out-total-cookie-protection-by-default-to-all-users-worldwide/
// [5] https://github.com/arkenfox/user.js/issues/1281 // [5] https://hacks.mozilla.org/2021/02/introducing-state-partitioning/
// [6] https://hacks.mozilla.org/2022/02/improving-the-storage-access-api-in-firefox/ // [6] https://github.com/arkenfox/user.js/issues/1281
// [7] https://hacks.mozilla.org/2022/02/improving-the-storage-access-api-in-firefox/
//user_pref("network.cookie.cookieBehavior", 5); // DEFAULT FF103+ //user_pref("network.cookie.cookieBehavior", 5); // DEFAULT FF103+
//user_pref("browser.contentblocking.reject-and-isolate-cookies.preferences.ui.enabled", true); // DEFAULT //user_pref("browser.contentblocking.reject-and-isolate-cookies.preferences.ui.enabled", true); // DEFAULT
@@ -116,6 +118,7 @@ user_pref("urlclassifier.features.socialtracking.skipURLs", "*.instagram.com, *.
//user_pref("privacy.partition.serviceWorkers", true); // [DEFAULT: true FF105+] //user_pref("privacy.partition.serviceWorkers", true); // [DEFAULT: true FF105+]
//user_pref("privacy.partition.network_state.ocsp_cache", true); // enabled with "Strict" //user_pref("privacy.partition.network_state.ocsp_cache", true); // enabled with "Strict"
//user_pref("privacy.partition.bloburl_per_agent_cluster", false); // DEFAULT [REGRESSIONS - DO NOT TOUCH] //user_pref("privacy.partition.bloburl_per_agent_cluster", false); // DEFAULT [REGRESSIONS - DO NOT TOUCH]
user_pref("privacy.partition.bloburl_per_partition_key", true); // [FF118+]
// enable APS (Always Partitioning Storage) [FF104+] // enable APS (Always Partitioning Storage) [FF104+]
//user_pref("privacy.partition.always_partition_third_party_non_cookie_storage", true); // [DEFAULT: true FF109+] //user_pref("privacy.partition.always_partition_third_party_non_cookie_storage", true); // [DEFAULT: true FF109+]
//user_pref("privacy.partition.always_partition_third_party_non_cookie_storage.exempt_sessionstorage", false); // [DEFAULT: false FF109+] //user_pref("privacy.partition.always_partition_third_party_non_cookie_storage.exempt_sessionstorage", false); // [DEFAULT: false FF109+]
@@ -244,7 +247,13 @@ user_pref("security.remote_settings.crlite_filters.enabled", true);
user_pref("security.pki.crlite_mode", 2); user_pref("security.pki.crlite_mode", 2);
// PREF: HTTP Public Key Pinning (HPKP) // PREF: HTTP Public Key Pinning (HPKP)
// If you rely on an antivirus to protect your web browsing // HPKP enhances the security of SSL certificates by associating
// a host with their expected public key. It prevents attackers
// from impersonating the host using fraudulent certificates,
// even if they hold a valid certificate from a trusted certification authority.
// HPKP ensures that the client maintains a secure connection with
// the correct server, thereby reducing the risk of man-in-the-middle (MITM) attacks.
// [NOTE] If you rely on an antivirus to protect your web browsing
// by inspecting ALL your web traffic, then leave at 1. // by inspecting ALL your web traffic, then leave at 1.
// [ERROR] MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE // [ERROR] MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE
// By default, pinning enforcement is not applied if a user-installed // By default, pinning enforcement is not applied if a user-installed
@@ -260,22 +269,19 @@ user_pref("security.cert_pinning.enforcement_level", 2);
//user_pref("security.enterprise_roots.enabled", false); // DEFAULT //user_pref("security.enterprise_roots.enabled", false); // DEFAULT
//user_pref("security.certerrors.mitm.auto_enable_enterprise_roots", false); //user_pref("security.certerrors.mitm.auto_enable_enterprise_roots", false);
// PREF: disable Microsoft Family Safety [WINDOWS 8-10]
// [1] https://wiki.mozilla.org/QA/Windows_Child_Mode
//user_pref("security.family_safety.mode", 0);
/**************************************************************************** /****************************************************************************
* SECTION: SSL (Secure Sockets Layer) / TLS (Transport Layer Security) * * SECTION: SSL (Secure Sockets Layer) / TLS (Transport Layer Security) *
****************************************************************************/ ****************************************************************************/
// PREF: display warning on the padlock for "broken security" // PREF: display warning on the padlock for "broken security"
// Bug: warning padlock not indicated for subresources on a secure page! [2] // [NOTE] Warning padlock not indicated for subresources on a secure page! [2]
// [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
user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true); user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true);
// PREF: require safe negotiation // PREF: require safe negotiation
// [ERROR] SSL_ERROR_UNSAFE_NEGOTIATION // [ERROR] SSL_ERROR_UNSAFE_NEGOTIATION
// [WARNING] Breaks ea.com login (Sep 2023).
// Blocks connections to servers that don't support RFC 5746 [2] // Blocks connections to servers that don't support RFC 5746 [2]
// as they're potentially vulnerable to a MiTM attack [3]. // as they're potentially vulnerable to a MiTM attack [3].
// A server without RFC 5746 can be safe from the attack if it // A server without RFC 5746 can be safe from the attack if it
@@ -288,7 +294,7 @@ user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true);
// [2] https://datatracker.ietf.org/doc/html/rfc5746 // [2] https://datatracker.ietf.org/doc/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/ // [4] https://www.ssllabs.com/ssl-pulse/
user_pref("security.ssl.require_safe_negotiation", true); //user_pref("security.ssl.require_safe_negotiation", true);
// PREF: display advanced information on Insecure Connection warning pages // PREF: display advanced information on Insecure Connection warning pages
// [TEST] https://expired.badssl.com/ // [TEST] https://expired.badssl.com/
@@ -479,6 +485,17 @@ user_pref("privacy.history.custom", true);
// [2] https://winaero.com/firefox-75-strips-https-and-www-from-address-bar-results/ // [2] https://winaero.com/firefox-75-strips-https-and-www-from-address-bar-results/
//user_pref("browser.urlbar.trimURLs", true); // DEFAULT //user_pref("browser.urlbar.trimURLs", true); // DEFAULT
// PREF: trim https:// from the URL bar [FF119+]
// Firefox will hide https:// from the address bar, but not subdomains like www.
// [TEST] http://www.http2demo.io/
// [1] https://www.ghacks.net/2023/09/19/firefox-119-will-launch-with-an-important-address-bar-change/
//user_pref("browser.urlbar.trimHttps", true);
// PREF: display "Not Secure" text on HTTP sites
// Needed with HTTPS-First Policy; not needed with HTTPS-Only Mode.
user_pref("security.insecure_connection_text.enabled", true);
user_pref("security.insecure_connection_text.pbmode.enabled", true);
// PREF: do not show search terms in URL bar [FF110+] [FF113+] // PREF: do not show search terms in URL bar [FF110+] [FF113+]
// Show search query instead of URL on search results pages. // Show search query instead of URL on search results pages.
// [SETTING] Search>Search Bar>Use the address bar for search and navigation>Show search terms instead of URL... // [SETTING] Search>Search Bar>Use the address bar for search and navigation>Show search terms instead of URL...
@@ -505,6 +522,9 @@ user_pref("browser.urlbar.update2.engineAliasRefresh", true); // HIDDEN
user_pref("browser.search.suggest.enabled", false); user_pref("browser.search.suggest.enabled", false);
//user_pref("browser.search.suggest.enabled.private", false); // DEFAULT //user_pref("browser.search.suggest.enabled.private", false); // DEFAULT
// disable showing trending searches
//user_pref("browser.urlbar.suggest.trending", false); // FF119+
// PREF: disable location bar leaking single words to a DNS provider after searching // PREF: disable location bar leaking single words to a DNS provider after searching
// 0=never resolve single words, 1=heuristic (default), 2=always resolve // 0=never resolve single words, 1=heuristic (default), 2=always resolve
// [1] https://bugzilla.mozilla.org/1642623 // [1] https://bugzilla.mozilla.org/1642623
@@ -535,13 +555,6 @@ user_pref("browser.formfill.enable", false);
// and is a security risk (e.g. common typos & malicious sites set up to exploit this). // and is a security risk (e.g. common typos & malicious sites set up to exploit this).
//user_pref("browser.fixup.alternate.enabled", false); // [DEFAULT FF104+] //user_pref("browser.fixup.alternate.enabled", false); // [DEFAULT FF104+]
// PREF: display "Not Secure" text on HTTP sites
// Needed with HTTPS-First Policy; not needed with HTTPS-Only Mode.
user_pref("security.insecure_connection_text.enabled", true);
user_pref("security.insecure_connection_text.pbmode.enabled", true);
//user_pref("security.insecure_connection_icon.enabled", true); // DEFAULT
//user_pref("security.insecure_connection_icon.pbmode.enabled", true); // DEFAULT
// PREF: Disable location bar autofill // PREF: Disable location bar autofill
// https://support.mozilla.org/en-US/kb/address-bar-autocomplete-firefox#w_url-autocomplete // 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);
@@ -630,27 +643,23 @@ user_pref("dom.security.https_only_mode_error_page_user_suggestions", true);
* SECTION: DNS-over-HTTPS * * SECTION: DNS-over-HTTPS *
******************************************************************************/ ******************************************************************************/
// PREF: DNS-over-HTTPS (DoH) mode // PREF: DNS-over-HTTPS (DoH) implementation
// Mozilla uses Cloudfare by default. NextDNS is also an option. // [NOTE] Mode 3 has site exceptions with a nice UI on the error page.
// You can set this to 0 if you are already using secure DNS for // [SETTINGS] Privacy & Security > DNS over HTTPS > Enable secure DNS using:
// your entire network (e.g. OS-level, router-level).
// [NOTE] Mode 3 has site-exceptions with a nice UI on the error page // [NOTE] Mode 3 has site-exceptions with a nice UI on the error page
// [1] https://hacks.mozilla.org/2018/05/a-cartoon-intro-to-dns-over-https/ // [1] https://hacks.mozilla.org/2018/05/a-cartoon-intro-to-dns-over-https/
// [2] https://www.internetsociety.org/blog/2018/12/dns-privacy-support-in-mozilla-firefox/ // [2] https://support.mozilla.org/en-US/kb/dns-over-https#w_protection-levels-explained
// 0=disable DoH (default) // 0= Default Protection: disable DoH (default)
// 2=use DoH; fall back to native DNS if necessary // 2= Increased Protection: use DoH and fall back to native DNS if necessary
// 3=only use DoH; do not fall back to native DNS // 3= Max Protection: only use DoH; do not fall back to native DNS
// 5=explicitly disable DoH // 5= Off: disable DoH
//user_pref("network.trr.mode", 0); // DEFAULT //user_pref("network.trr.mode", 0); // DEFAULT
// PREF: display fallback warning page [FF115+] // PREF: display fallback warning page [FF115+]
// Show a warning checkbox UI in modes 0 + 2. // Show a warning checkbox UI in modes 0 or 2 above.
//user_pref("network.trr_ui.show_fallback_warning_option", false); // DEFAULT //user_pref("network.trr_ui.show_fallback_warning_option", false); // DEFAULT
//user_pref("network.trr.display_fallback_warning", false); // DEFAULT //user_pref("network.trr.display_fallback_warning", false); // DEFAULT
// PREF: fallback to native DNS upon network errors
//user_pref("network.trr.strict_native_fallback", false); // DEFAULT
// PREF: DoH resolver // PREF: DoH resolver
// [1] https://github.com/uBlockOrigin/uBlock-issues/issues/1710 // [1] https://github.com/uBlockOrigin/uBlock-issues/issues/1710
//user_pref("network.trr.uri", "https://xxxx/dns-query"); //user_pref("network.trr.uri", "https://xxxx/dns-query");
@@ -659,6 +668,9 @@ user_pref("dom.security.https_only_mode_error_page_user_suggestions", true);
// PREF: adjust providers // PREF: adjust providers
//user_pref("network.trr.resolvers", '[{ "name": "Cloudflare", "url": "https://mozilla.cloudflare-dns.com/dns-query" },{ "name": "SecureDNS", "url": "https://doh.securedns.eu/dns-query" },{ "name": "AppliedPrivacy", "url": "https://doh.appliedprivacy.net/query" },{ "name": "Digitale Gesellschaft (CH)", "url": "https://dns.digitale-gesellschaft.ch/dns-query" }, { "name": "Quad9", "url": "https://dns.quad9.net/dns-query" }]'); //user_pref("network.trr.resolvers", '[{ "name": "Cloudflare", "url": "https://mozilla.cloudflare-dns.com/dns-query" },{ "name": "SecureDNS", "url": "https://doh.securedns.eu/dns-query" },{ "name": "AppliedPrivacy", "url": "https://doh.appliedprivacy.net/query" },{ "name": "Digitale Gesellschaft (CH)", "url": "https://dns.digitale-gesellschaft.ch/dns-query" }, { "name": "Quad9", "url": "https://dns.quad9.net/dns-query" }]');
// PREF: fallback to native DNS upon network errors
//user_pref("network.trr.strict_native_fallback", false); // DEFAULT
// PREF: EDNS Client Subnet (ECS) // PREF: EDNS Client Subnet (ECS)
// [WARNING] In some circumstances, enabling ECS may result // [WARNING] In some circumstances, enabling ECS may result
// in suboptimal routing between CDN origins and end users [2]. // in suboptimal routing between CDN origins and end users [2].
@@ -867,13 +879,6 @@ user_pref("pdfjs.enableScripting", false);
// [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1659530,1681331 // [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1659530,1681331
user_pref("extensions.postDownloadThirdPartyPrompt", false); user_pref("extensions.postDownloadThirdPartyPrompt", false);
// PREF: disable permissions delegation [deprecated in FF118]
// Currently applies to cross-origin geolocation, camera, mic and screen-sharing
// permissions, and fullscreen requests. Disabling delegation means any prompts
// for these will show/use their correct 3rd party origin.
// [1] https://groups.google.com/forum/#!topic/mozilla.dev.platform/BdFOMAuCGW8/discussion
user_pref("permissions.delegation.enabled", false);
// PREF: disable middle click on new tab button opening URLs or searches using clipboard [FF115+] // PREF: disable middle click on new tab button opening URLs or searches using clipboard [FF115+]
// Enable if you're using LINUX. // Enable if you're using LINUX.
//user_pref("browser.tabs.searchclipboardfor.middleclick", false); // DEFAULT WINDOWS macOS //user_pref("browser.tabs.searchclipboardfor.middleclick", false); // DEFAULT WINDOWS macOS
@@ -940,6 +945,7 @@ user_pref("permissions.delegation.enabled", false);
// 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
// [1] https://blog.mozilla.org/security/2021/03/22/firefox-87-trims-http-referrers-by-default-to-protect-user-privacy/ // [1] https://blog.mozilla.org/security/2021/03/22/firefox-87-trims-http-referrers-by-default-to-protect-user-privacy/
// [2] https://web.dev/referrer-best-practices/ // [2] https://web.dev/referrer-best-practices/
// [3] https://www.reddit.com/r/waterfox/comments/16px8yq/comment/k29r6bu/?context=3
user_pref("network.http.referer.XOriginTrimmingPolicy", 2); user_pref("network.http.referer.XOriginTrimmingPolicy", 2);
/****************************************************************************** /******************************************************************************
@@ -1110,10 +1116,10 @@ user_pref("browser.safebrowsing.downloads.remote.enabled", false);
// [3] https://www.reddit.com/r/firefox/comments/p8g5zd/why_does_disabling_accessibility_services_improve // [3] https://www.reddit.com/r/firefox/comments/p8g5zd/why_does_disabling_accessibility_services_improve
// [4] https://winaero.com/firefox-has-accessibility-service-memory-leak-you-should-disable-it/ // [4] https://winaero.com/firefox-has-accessibility-service-memory-leak-you-should-disable-it/
// [5] https://www.ghacks.net/2022/12/26/firefoxs-accessibility-performance-is-getting-a-huge-boost/ // [5] https://www.ghacks.net/2022/12/26/firefoxs-accessibility-performance-is-getting-a-huge-boost/
user_pref("accessibility.force_disabled", 1); //user_pref("accessibility.force_disabled", 1);
//user_pref("devtools.accessibility.enabled", false); //user_pref("devtools.accessibility.enabled", false);
// PREF: disable Firefox accounts // PREF: disable Firefox Sync
// [ALTERNATIVE] Use xBrowserSync [1] // [ALTERNATIVE] Use xBrowserSync [1]
// [1] https://addons.mozilla.org/en-US/firefox/addon/xbs // [1] https://addons.mozilla.org/en-US/firefox/addon/xbs
// [2] https://github.com/arkenfox/user.js/issues/1175 // [2] https://github.com/arkenfox/user.js/issues/1175
@@ -1122,6 +1128,10 @@ user_pref("identity.fxaccounts.enabled", false);
// PREF: disable Firefox View [FF106+] // PREF: disable Firefox View [FF106+]
// [1] https://support.mozilla.org/en-US/kb/how-set-tab-pickup-firefox-view#w_what-is-firefox-view // [1] https://support.mozilla.org/en-US/kb/how-set-tab-pickup-firefox-view#w_what-is-firefox-view
user_pref("browser.tabs.firefox-view", false); user_pref("browser.tabs.firefox-view", false);
//user_pref("browser.tabs.firefox-view-next", false); // [FF119+]
// PREF: disable the Firefox View tour from popping up
//user_pref("browser.firefox-view.feature-tour", "{\"screen\":\"\",\"complete\":true}");
// PREF: disable Push Notifications API [FF44+] // PREF: disable Push Notifications API [FF44+]
// Push is an API that allows websites to send you (subscribed) messages even when the site // Push is an API that allows websites to send you (subscribed) messages even when the site
@@ -1250,7 +1260,7 @@ user_pref("datareporting.policy.dataSubmissionEnabled", false);
// [SETTING] Privacy & Security>Firefox Data Collection & Use>Allow Firefox to install and run studies // [SETTING] Privacy & Security>Firefox Data Collection & Use>Allow Firefox to install and run studies
user_pref("app.shield.optoutstudies.enabled", false); user_pref("app.shield.optoutstudies.enabled", false);
// Personalized Extension Recommendations in about:addons and AMO // PREF: Personalized Extension Recommendations in about:addons and AMO
// [NOTE] This pref has no effect when Health Reports are disabled. // [NOTE] This pref has no effect when Health Reports are disabled.
// [SETTING] Privacy & Security>Firefox Data Collection & Use>Allow Firefox to make personalized extension recommendations // [SETTING] Privacy & Security>Firefox Data Collection & Use>Allow Firefox to make personalized extension recommendations
user_pref("browser.discovery.enabled", false); user_pref("browser.discovery.enabled", false);
@@ -1310,3 +1320,4 @@ user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false);
//user_pref("signon.recipes.remoteRecipes.enabled", false); //user_pref("signon.recipes.remoteRecipes.enabled", false);
//user_pref("security.identitypopup.recordEventTelemetry", false); // ESR only; removed FF116+ [1] //user_pref("security.identitypopup.recordEventTelemetry", false); // ESR only; removed FF116+ [1]
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1837979 // [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1837979
//user_pref("privacy.trackingprotection.emailtracking.data_collection.enabled", false);
@@ -21,9 +21,10 @@
//user_pref("dom.ipc.processCount.webIsolated", 2); // process per site //user_pref("dom.ipc.processCount.webIsolated", 2); // process per site
//user_pref("dom.ipc.processPrelaunch.fission.number", 1); // number of Preallocated processes //user_pref("dom.ipc.processPrelaunch.fission.number", 1); // number of Preallocated processes
user_pref("browser.sessionstore.restore_pinned_tabs_on_demand", true); user_pref("browser.sessionstore.restore_pinned_tabs_on_demand", true);
user_pref("browser.sessionhistory.max_total_viewers", 2); // only remember two pages in Back-Forward cache
user_pref("network.http.speculative-parallel-limit", 6); // DEFAULT user_pref("network.http.speculative-parallel-limit", 6); // DEFAULT
user_pref("network.dns.disablePrefetch", false); // DEFAULT; using DoH / ODNS user_pref("network.dns.disablePrefetch", false); // DEFAULT
user_pref("network.dns.disablePrefetchFromHTTPS", false); // using DoH / ODNS user_pref("network.dns.disablePrefetchFromHTTPS", false);
user_pref("browser.urlbar.speculativeConnect.enabled", true); // DEFAULT user_pref("browser.urlbar.speculativeConnect.enabled", true); // DEFAULT
user_pref("browser.places.speculativeConnect.enabled", true); // DEFAULT user_pref("browser.places.speculativeConnect.enabled", true); // DEFAULT
user_pref("network.early-hints.enabled", true); // DEFAULT NIGHTLY user_pref("network.early-hints.enabled", true); // DEFAULT NIGHTLY
@@ -36,6 +37,7 @@ user_pref("network.predictor.enable-prefetch", false);
/** SECUREFOX ***/ /** SECUREFOX ***/
//user_pref("urlclassifier.features.socialtracking.skipURLs", "*.twitter.com, *.twimg.com"); // removed *.instagram.com //user_pref("urlclassifier.features.socialtracking.skipURLs", "*.twitter.com, *.twimg.com"); // removed *.instagram.com
user_pref("browser.urlbar.showSearchSuggestionsFirst", false); // unselect "Show search suggestions ahead of browsing history in address bar results" for clean UI user_pref("browser.urlbar.showSearchSuggestionsFirst", false); // unselect "Show search suggestions ahead of browsing history in address bar results" for clean UI
//user_pref("browser.urlbar.suggest.trending", false); // FF119+ disable showing trending searches; unselect for clean UI
user_pref("browser.urlbar.groupLabels.enabled", false); // hide Firefox Suggest label in URL dropdown box user_pref("browser.urlbar.groupLabels.enabled", false); // hide Firefox Suggest label in URL dropdown box
user_pref("signon.management.page.breach-alerts.enabled", false); // extra hardening user_pref("signon.management.page.breach-alerts.enabled", false); // extra hardening
user_pref("signon.autofillForms", false); // unselect "Autofill logins and passwords" for clean UI user_pref("signon.autofillForms", false); // unselect "Autofill logins and passwords" for clean UI
@@ -53,6 +55,8 @@ user_pref("browser.search.update", false); // do not update opensearch engines
user_pref("network.dns.skipTRR-when-parental-control-enabled", false); // bypass parental controls when using DoH user_pref("network.dns.skipTRR-when-parental-control-enabled", false); // bypass parental controls when using DoH
user_pref("network.trr.confirmationNS", "skip"); // skip TRR confirmation request user_pref("network.trr.confirmationNS", "skip"); // skip TRR confirmation request
user_pref("extensions.webextensions.restrictedDomains", ""); // remove Mozilla domains so adblocker works on pages user_pref("extensions.webextensions.restrictedDomains", ""); // remove Mozilla domains so adblocker works on pages
user_pref("browser.firefox-view.feature-tour", "{\"screen\":\"\",\"complete\":true}"); // disable the Firefox View tour from popping up for new profiles
user_pref("accessibility.force_disabled", 1); // disable Accessibility features
/** PESKYFOX ***/ /** PESKYFOX ***/
user_pref("devtools.accessibility.enabled", false); // removes un-needed "Inspect Accessibility Properties" on right-click user_pref("devtools.accessibility.enabled", false); // removes un-needed "Inspect Accessibility Properties" on right-click
@@ -75,7 +79,8 @@ user_pref("browser.bookmarks.max_backups", 0); // minimize disk use; manually ba
user_pref("view_source.wrap_long_lines", true); // wrap source lines user_pref("view_source.wrap_long_lines", true); // wrap source lines
user_pref("devtools.debugger.ui.editor-wrapping", true); // wrap lines in devtools user_pref("devtools.debugger.ui.editor-wrapping", true); // wrap lines in devtools
user_pref("browser.zoom.full", false); // text-only zoom, not all elements on page user_pref("browser.zoom.full", false); // text-only zoom, not all elements on page
user_pref("pdfjs.sidebarViewOnLoad", 2); // [HIDDEN] force showing of Table of Contents in sidebar for PDFs (if available) //user_pref("pdfjs.sidebarViewOnLoad", 2); // [HIDDEN] force showing of Table of Contents in sidebar for PDFs (if available)
user_pref("browser.tabs.loadBookmarksInTabs", true); // force bookmarks to open in a new tab, not the current tab
user_pref("ui.key.menuAccessKey", 0); // remove underlined characters from various settings user_pref("ui.key.menuAccessKey", 0); // remove underlined characters from various settings
user_pref("general.autoScroll", false); // disable unintentional behavior for middle click user_pref("general.autoScroll", false); // disable unintentional behavior for middle click
user_pref("ui.SpellCheckerUnderlineStyle", 1); // dots for spell check errors user_pref("ui.SpellCheckerUnderlineStyle", 1); // dots for spell check errors
@@ -91,10 +96,12 @@ user_pref("privacy.userContext.enabled", false); // disable Containers functiona
user_pref("browser.crashReports.unsubmittedCheck.enabled", false); // true by default on NIGHTLY user_pref("browser.crashReports.unsubmittedCheck.enabled", false); // true by default on NIGHTLY
//user_pref("browser.urlbar.suggest.quickactions", false); // Quick Actions in URL bar //user_pref("browser.urlbar.suggest.quickactions", false); // Quick Actions in URL bar
//user_pref("xpinstall.signatures.required", false); // [ESR/DEV/NIGHTLY] //user_pref("xpinstall.signatures.required", false); // [ESR/DEV/NIGHTLY]
user_pref("browser.urlbar.trimHttps", true); // hide https in URL bar [FF119]
/** DELETE IF NOT WINDOWS DESKTOP ***/ /** DELETE IF NOT WINDOWS DESKTOP ***/
user_pref("network.trr.mode", 3); // enable TRR (without System fallback) user_pref("network.trr.mode", 3); // enable TRR (without System fallback)
user_pref("gfx.canvas.accelerated", true); // DEFAULT except on WINDOWS; enable if not using an integrated GPU user_pref("gfx.canvas.accelerated", true); // DEFAULT except on WINDOWS; enable if not using an integrated GPU
user_pref("browser.startup.preXulSkeletonUI", false); // WINDOWS
user_pref("default-browser-agent.enabled", false); // deny Mozilla monitoring default browser (breaks "Make Default" button) user_pref("default-browser-agent.enabled", false); // deny Mozilla monitoring default browser (breaks "Make Default" button)
user_pref("pdfjs.defaultZoomValue", "125"); // alt=page-width; PDF zoom level user_pref("pdfjs.defaultZoomValue", "125"); // alt=page-width; PDF zoom level
user_pref("gfx.font_rendering.cleartype_params.rendering_mode", 5); user_pref("gfx.font_rendering.cleartype_params.rendering_mode", 5);
+5 -10
View File
@@ -10,7 +10,7 @@
/**************************************************************************** /****************************************************************************
* Betterfox * * Betterfox *
* "Ad meliora" * * "Ad meliora" *
* version: 116 * * version: 118 *
* url: https://github.com/yokoffing/Betterfox * * url: https://github.com/yokoffing/Betterfox *
****************************************************************************/ ****************************************************************************/
@@ -20,12 +20,12 @@
user_pref("nglayout.initialpaint.delay", 0); user_pref("nglayout.initialpaint.delay", 0);
user_pref("nglayout.initialpaint.delay_in_oopif", 0); user_pref("nglayout.initialpaint.delay_in_oopif", 0);
user_pref("content.notify.interval", 100000); user_pref("content.notify.interval", 100000);
user_pref("browser.startup.preXulSkeletonUI", false); // WINDOWS
/** EXPERIMENTAL ***/ /** EXPERIMENTAL ***/
user_pref("layout.css.grid-template-masonry-value.enabled", true); user_pref("layout.css.grid-template-masonry-value.enabled", true);
user_pref("dom.enable_web_task_scheduling", true); user_pref("dom.enable_web_task_scheduling", true);
user_pref("layout.css.has-selector.enabled", true); user_pref("layout.css.has-selector.enabled", true);
user_pref("dom.security.sanitizer.enabled", true);
/** GFX ***/ /** GFX ***/
//user_pref("gfx.canvas.accelerated", true); // enable if using a dedicated GPU on WINDOWS //user_pref("gfx.canvas.accelerated", true); // enable if using a dedicated GPU on WINDOWS
@@ -50,12 +50,11 @@ user_pref("network.buffer.cache.count", 128);
user_pref("network.http.max-connections", 1800); user_pref("network.http.max-connections", 1800);
user_pref("network.http.max-persistent-connections-per-server", 10); user_pref("network.http.max-persistent-connections-per-server", 10);
user_pref("network.http.max-urgent-start-excessive-connections-per-host", 5); user_pref("network.http.max-urgent-start-excessive-connections-per-host", 5);
user_pref("network.websocket.max-connections", 400);
user_pref("network.http.pacing.requests.enabled", false); user_pref("network.http.pacing.requests.enabled", false);
user_pref("network.dnsCacheEntries", 10000); user_pref("network.dnsCacheEntries", 1000);
user_pref("network.dnsCacheExpiration", 86400); user_pref("network.dnsCacheExpiration", 86400);
user_pref("network.dns.max_high_priority_threads", 8); user_pref("network.dns.max_high_priority_threads", 8);
user_pref("network.ssl_tokens_cache_capacity", 20480); user_pref("network.ssl_tokens_cache_capacity", 10240);
/** SPECULATIVE CONNECTIONS ***/ /** SPECULATIVE CONNECTIONS ***/
user_pref("network.http.speculative-parallel-limit", 0); user_pref("network.http.speculative-parallel-limit", 0);
@@ -73,6 +72,7 @@ user_pref("network.predictor.enable-prefetch", false);
user_pref("browser.contentblocking.category", "strict"); user_pref("browser.contentblocking.category", "strict");
user_pref("urlclassifier.trackingSkipURLs", "*.reddit.com, *.twitter.com, *.twimg.com, *.tiktok.com"); user_pref("urlclassifier.trackingSkipURLs", "*.reddit.com, *.twitter.com, *.twimg.com, *.tiktok.com");
user_pref("urlclassifier.features.socialtracking.skipURLs", "*.instagram.com, *.twitter.com, *.twimg.com"); user_pref("urlclassifier.features.socialtracking.skipURLs", "*.instagram.com, *.twitter.com, *.twimg.com");
user_pref("privacy.partition.bloburl_per_partition_key", true);
user_pref("browser.uitour.enabled", false); user_pref("browser.uitour.enabled", false);
user_pref("privacy.globalprivacycontrol.enabled", true); user_pref("privacy.globalprivacycontrol.enabled", true);
user_pref("privacy.globalprivacycontrol.functionality.enabled", true); user_pref("privacy.globalprivacycontrol.functionality.enabled", true);
@@ -85,7 +85,6 @@ user_pref("security.cert_pinning.enforcement_level", 2);
/** SSL / TLS ***/ /** SSL / TLS ***/
user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true); user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true);
user_pref("security.ssl.require_safe_negotiation", true);
user_pref("browser.xul.error_pages.expert_bad_cert", true); user_pref("browser.xul.error_pages.expert_bad_cert", true);
user_pref("security.tls.enable_0rtt_data", false); user_pref("security.tls.enable_0rtt_data", false);
@@ -123,7 +122,6 @@ user_pref("network.auth.subresource-http-auth-allow", 1);
user_pref("security.mixed_content.block_display_content", true); user_pref("security.mixed_content.block_display_content", true);
user_pref("pdfjs.enableScripting", false); user_pref("pdfjs.enableScripting", false);
user_pref("extensions.postDownloadThirdPartyPrompt", false); user_pref("extensions.postDownloadThirdPartyPrompt", false);
user_pref("permissions.delegation.enabled", false);
/** HEADERS / REFERERS ***/ /** HEADERS / REFERERS ***/
user_pref("network.http.referer.XOriginTrimmingPolicy", 2); user_pref("network.http.referer.XOriginTrimmingPolicy", 2);
@@ -139,7 +137,6 @@ user_pref("media.peerconnection.ice.default_address_only", true);
user_pref("browser.safebrowsing.downloads.remote.enabled", false); user_pref("browser.safebrowsing.downloads.remote.enabled", false);
/** MOZILLA ***/ /** MOZILLA ***/
user_pref("accessibility.force_disabled", 1);
user_pref("identity.fxaccounts.enabled", false); user_pref("identity.fxaccounts.enabled", false);
user_pref("browser.tabs.firefox-view", false); user_pref("browser.tabs.firefox-view", false);
user_pref("permissions.default.desktop-notification", 2); user_pref("permissions.default.desktop-notification", 2);
@@ -198,7 +195,6 @@ user_pref("browser.display.focus_ring_on_anything", true);
user_pref("browser.display.focus_ring_style", 0); user_pref("browser.display.focus_ring_style", 0);
user_pref("browser.display.focus_ring_width", 0); user_pref("browser.display.focus_ring_width", 0);
user_pref("browser.privateWindowSeparation.enabled", false); // WINDOWS user_pref("browser.privateWindowSeparation.enabled", false); // WINDOWS
user_pref("browser.privatebrowsing.enable-new-indicator", false);
user_pref("cookiebanners.service.mode", 2); user_pref("cookiebanners.service.mode", 2);
user_pref("cookiebanners.service.mode.privateBrowsing", 2); user_pref("cookiebanners.service.mode.privateBrowsing", 2);
user_pref("browser.translations.enable", true); user_pref("browser.translations.enable", true);
@@ -233,7 +229,6 @@ user_pref("browser.download.open_pdf_attachments_inline", true);
user_pref("pdfjs.sidebarViewOnLoad", 2); user_pref("pdfjs.sidebarViewOnLoad", 2);
/** TAB BEHAVIOR ***/ /** TAB BEHAVIOR ***/
user_pref("browser.tabs.loadBookmarksInTabs", true);
user_pref("browser.bookmarks.openInTabClosesMenu", false); user_pref("browser.bookmarks.openInTabClosesMenu", false);
user_pref("browser.menu.showViewImageInfo", true); user_pref("browser.menu.showViewImageInfo", true);
user_pref("findbar.highlightAll", true); user_pref("findbar.highlightAll", true);