diff --git a/Fastfox.js b/Fastfox.js
index ddf4414ea..43fd57760 100644
--- a/Fastfox.js
+++ b/Fastfox.js
@@ -3,7 +3,7 @@
* Fastfox *
* "Non ducor duco" *
* priority: speedy browsing *
- * version: 128 *
+ * version: 129 *
* url: https://github.com/yokoffing/Betterfox *
***************************************************************************************/
@@ -107,8 +107,8 @@ user_pref("content.notify.interval", 100000); // (.10s); default=120000 (.12s)
// [2] https://github.com/yokoffing/Betterfox/issues/153
// [3] https://github.com/yokoffing/Betterfox/issues/198
//user_pref("gfx.canvas.accelerated", true); // DEFAULT macOS LINUX [FF110]; not compatible with WINDOWS integrated GPUs
- user_pref("gfx.canvas.accelerated.cache-items", 4096); // default=2048; alt=8192
- user_pref("gfx.canvas.accelerated.cache-size", 512); // default=256; alt=1024
+ user_pref("gfx.canvas.accelerated.cache-items", 4096); // default=2048; Chrome=4096
+ user_pref("gfx.canvas.accelerated.cache-size", 512); // default=256; Chrome=512
user_pref("gfx.content.skia-font-cache-size", 20); // default=5; Chrome=20
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1239151#c2
@@ -124,11 +124,6 @@ user_pref("content.notify.interval", 100000); // (.10s); default=120000 (.12s)
//user_pref("media.gpu-process-decoder", true); // DEFAULT WINDOWS
//user_pref("media.ffmpeg.vaapi.enabled", true); // LINUX
-// PREF: disable AV1 for hardware decodeable videos
-// Firefox sometimes uses AV1 video decoding even to GPUs which do not support it.
-// [1] https://www.reddit.com/r/AV1/comments/s5xyph/youtube_av1_codec_have_worse_quality_than_old_vp9
-//user_pref("media.av1.enabled", false);
-
// PREF: hardware and software decoded video overlay [FF116+]
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1829063
// [2] https://phabricator.services.mozilla.com/D175993
@@ -171,7 +166,8 @@ user_pref("content.notify.interval", 100000); // (.10s); default=120000 (.12s)
// [3] https://support.mozilla.org/en-US/questions/1267945
// [4] https://askubuntu.com/questions/1214862/36-syns-in-a-row-how-to-limit-firefox-connections-to-one-website
// [5] https://bugzilla.mozilla.org/show_bug.cgi?id=1622859
-//user_pref("network.http.rcwn.enabled", true); // DEFAULT
+// [6] https://soylentnews.org/comments.pl?noupdate=1&sid=40195&page=1&cid=1067867#commentwrap
+//user_pref("network.http.rcwn.enabled", false);
// PREF: attempt to RCWN only if a resource is smaller than this size
//user_pref("network.http.rcwn.small_resource_size_kb", 256); // DEFAULT
@@ -235,10 +231,12 @@ user_pref("content.notify.interval", 100000); // (.10s); default=120000 (.12s)
user_pref("browser.cache.jsbc_compression_level", 3);
// PREF: strategy to use for when the bytecode should be encoded and saved [TESTING ONLY]
-// -1 makes page load times marginally longer when a page is being loaded for the first time.
-// Subsequent reload of websites will be much much faster.
+// -1 makes page load times marginally longer when a page is being loaded for the first time, while
+// subsequent reload of websites will be much much faster.
+// 0 means that the bytecode is created every 4 page loads [3].
// [1] https://searchfox.org/mozilla-release/source/modules/libpref/init/StaticPrefList.yaml#3461-3488
// [2] https://www.reddit.com/r/firefox/comments/12786yv/improving_performance_in_firefox_android_part_ii/
+// [3] https://github.com/zen-browser/desktop/issues/217
// -1 = saved as soon as the script is seen for the first time, independently of the size or last access time
// 0 = saved in order to minimize the page-load time (default)
//user_pref("dom.script_loader.bytecode_cache.enabled", true); // DEFAULT
@@ -573,18 +571,18 @@ user_pref("dom.security.sanitizer.enabled", true);
// PREF: determine when tabs unload [WINDOWS] [LINUX]
// Notify TabUnloader or send the memory pressure if the memory resource
// notification is signaled AND the available commit space is lower than
-// this value.
-// Set this to some high value, e.g. 2/3 of total memory available in your system:
-// 4GB=2640, 8GB=5280, 16GB=10560, 32GB=21120, 64GB=42240
+// this value (in MiB).
+// Set this to some value, e.g. 4/5 of total memory available on your system:
+// 4GB=3276, 8GB=6553, 16GB=13107, 32GB=25698, 64GB=52429
// [1] https://dev.to/msugakov/taking-firefox-memory-usage-under-control-on-linux-4b02
-//user_pref("browser.low_commit_space_threshold_mb", 2640); // default=200; WINDOWS LINUX
+//user_pref("browser.low_commit_space_threshold_mb", 3276); // default=200; WINDOWS LINUX
// PREF: determine when tabs unload [LINUX]
// On Linux, Firefox checks available memory in comparison to total memory,
// and use this percent value (out of 100) to determine if Firefox is in a
// low memory scenario.
// [1] https://dev.to/msugakov/taking-firefox-memory-usage-under-control-on-linux-4b02
-//user_pref("browser.low_commit_space_threshold_percent", 33); // default=5; LINUX
+//user_pref("browser.low_commit_space_threshold_percent", 20); // default=5; LINUX
// PREF: determine how long (in ms) tabs are inactive before they unload
// 60000=1min; 300000=5min; 600000=10min (default)
diff --git a/Peskyfox.js b/Peskyfox.js
index b00e97f9d..c8dd90f29 100644
--- a/Peskyfox.js
+++ b/Peskyfox.js
@@ -3,7 +3,7 @@
* Peskyfox *
* "Aquila non capit muscas" *
* priority: remove annoyances *
- * version: 128.1 *
+ * version: 129 *
* url: https://github.com/yokoffing/Betterfox *
* credit: Some prefs are reproduced and adapted from the arkenfox project *
* credit urL: https://github.com/arkenfox/user.js *
@@ -71,8 +71,8 @@ user_pref("browser.aboutwelcome.enabled", false); // disable Intro screens
// [1] https://www.ghacks.net/2022/10/19/how-to-hide-firefoxs-list-all-tabs-icon/
user_pref("browser.tabs.tabmanager.enabled", false);
-// PREF: enable new screenshot tool [FF122+]
-//user_pref("screenshots.browser.component.enabled", true);
+// PREF: new profile switcher
+user_pref("browser.profiles.enabled", true);
/****************************************************************************
* SECTION: THEME ADJUSTMENTS *
@@ -109,6 +109,9 @@ user_pref("browser.privateWindowSeparation.enabled", false);
// Mozilla has removed the search bar option from the settings window.
//user_pref("browser.search.widget.inNavBar", true);
+// PREF: new tab page wallpapers
+user_pref("browser.newtabpage.activity-stream.newtabWallpapers.v2.enabled", true);
+
/****************************************************************************
* SECTION: COOKIE BANNER HANDLING *
****************************************************************************/
@@ -341,7 +344,7 @@ user_pref("extensions.pocket.enabled", false);
// [SETTING] General>Files and Applications>Applications>What should Firefox do with other files?
// false=Save files
// true=Ask whether to open or save files
-user_pref("browser.download.always_ask_before_handling_new_types", true);
+//user_pref("browser.download.always_ask_before_handling_new_types", true);
// PREF: always ask where to download
// [OPTIONAL HARDENING] Enforce user interaction for greater security.
@@ -511,20 +514,13 @@ user_pref("layout.word_select.eat_space_to_next_word", false);
//user_pref("browser.tabs.hoverPreview.showThumbnails", true); // DEFAULT
/****************************************************************************
- * SECTION: UNCATEGORIZED *
-****************************************************************************/
+ * SECTION: KEYBOARD AND SHORTCUTS *
+ ****************************************************************************/
// PREF: disable backspace action
// 0=previous page, 1=scroll up, 2=do nothing
//user_pref("browser.backspace_action", 2); // DEFAULT
-// PREF: disable Reader mode
-// [TIP] Use about:reader?url=%s as a keyword to open links automatically in reader mode [1].
-// Firefox will not have to parse webpage for Reader when navigating.
-// Extremely minimal performance impact, if you disable.
-// [1] https://www.reddit.com/r/firefox/comments/621sr2/i_found_out_how_to_automatically_open_a_url_in/
-//user_pref("reader.parse-on-load.enabled", false);
-
// PREF: disable ALT key toggling the menu bar
//user_pref("ui.key.menuAccessKeyFocuses", false);
//user_pref("ui.key.menuAccessKey", 18); // DEFAULT
@@ -533,6 +529,26 @@ user_pref("layout.word_select.eat_space_to_next_word", false);
// [SETTING] Ctrl+Tab cycles through tabs in recently used order
//user_pref("browser.ctrlTab.sortByRecentlyUsed", true);
+// PREF: disable websites overriding Firefox's keyboard shortcuts [FF58+]
+// 0=ask (default), 1=allow, 2=block
+// [SETTING] to add site exceptions: Ctrl+I>Permissions>Override Keyboard Shortcuts ***/
+//user_pref("permissions.default.shortcuts", 2);
+
+// PREF: hide frequent sites on right-click of taskbar icon [WINDOWS?]
+//user_pref("browser.taskbar.lists.frequent.enabled", false);
+
+/****************************************************************************
+ * SECTION: ACCESSIBILITY AND USABILITY *
+ ****************************************************************************/
+
+// PREF: disable Reader mode parse on load
+// Reader supposedly costs extra CPU after page load.
+// [TIP] Use about:reader?url=%s as a keyword to open links automatically in reader mode [1].
+// Firefox will not have to parse webpage for Reader when navigating.
+// Extremely minimal performance impact, if you disable.
+// [1] https://www.reddit.com/r/firefox/comments/621sr2/i_found_out_how_to_automatically_open_a_url_in/
+//user_pref("reader.parse-on-load.enabled", false);
+
// PREF: Spell-check
// 0=none, 1-multi-line, 2=multi-line & single-line
//user_pref("layout.spellcheckDefault", 1); // DEFAULT
@@ -541,9 +557,25 @@ user_pref("layout.word_select.eat_space_to_next_word", false);
// [1] https://kb.mozillazine.org/Ui.SpellCheckerUnderlineStyle#Possible_values_and_their_effects
//user_pref("ui.SpellCheckerUnderlineStyle", 1);
+// PREF: remove underlined characters from various settings
+//user_pref("ui.key.menuAccessKey", 0);
+
+// PREF: enable CSS moz document rules
+// Still needed for Stylus?
+// [1] https://reddit.com/r/FirefoxCSS/comments/8x2q97/reenabling_mozdocument_rules_in_firefox_61/
+//user_pref("layout.css.moz-document.content.enabled", true);
+
+/****************************************************************************
+ * SECTION: BOOKMARK MANAGEMENT *
+ ****************************************************************************/
+
// PREF: limit the number of bookmark backups Firefox keeps
//user_pref("browser.bookmarks.max_backups", 1); // default=15
+/****************************************************************************
+ * SECTION: ZOOM AND DISPLAY SETTINGS *
+ ****************************************************************************/
+
// PREF: zoom only text on webpage, not other elements
//user_pref("browser.zoom.full", false);
@@ -561,32 +593,36 @@ user_pref("layout.word_select.eat_space_to_next_word", false);
// PREF: hide image placeholders
//user_pref("browser.display.show_image_placeholders", false);
+// PREF: adjust the minimum tab width
+// Can be overridden by userChrome.css
+//user_pref("browser.tabs.tabMinWidth", 120); // default=76
+
+// PREF: always underline links [FF120+]
+//user_pref("layout.css.always_underline_links", false); // DEFAULT
+
+/****************************************************************************
+ * SECTION: DEVELOPER TOOLS *
+ ****************************************************************************/
+
// PREF: wrap long lines of text when using source / debugger
//user_pref("view_source.wrap_long_lines", true);
//user_pref("devtools.debugger.ui.editor-wrapping", true);
-// PREF: enable ASRouter Devtools at about:newtab#devtools (useful if you're making your own CSS theme)
+// PREF: enable ASRouter Devtools at about:newtab#devtools
+// This is useful if you're making your own CSS theme.
// [1] https://firefox-source-docs.mozilla.org/browser/components/newtab/content-src/asrouter/docs/debugging-docs.html
//user_pref("browser.newtabpage.activity-stream.asrouter.devtoolsEnabled", true);
+
// show user agent styles in the inspector
//user_pref("devtools.inspector.showUserAgentStyles", true);
-// show native anonymous content (like scrollbars or tooltips) and user agent shadow roots (like the components of an element) in the inspector
-//user_pref("devtools.inspector.showAllAnonymousContent", true);
-
-// PREF: print preview
-//user_pref("print.tab_modal.enabled", true); // DEFAULT
-// PREF: adjust the minimum tab width
-// Can be overridden by userChrome.css
-//user_pref("browser.tabs.tabMinWidth", 120); // default=76
-
-// PREF: remove underlined characters from various settings
-//user_pref("ui.key.menuAccessKey", 0);
+// show native anonymous content (like scrollbars or tooltips) and user
+// agent shadow roots (like the components of an element) in the inspector
+//user_pref("devtools.inspector.showAllAnonymousContent", true);
-// PREF: disable websites overriding Firefox's keyboard shortcuts [FF58+]
-// 0=ask (default), 1=allow, 2=block
-// [SETTING] to add site exceptions: Ctrl+I>Permissions>Override Keyboard Shortcuts ***/
-//user_pref("permissions.default.shortcuts", 2);
+/****************************************************************************
+ * SECTION: IMAGE AND MEDIA HANDLING *
+ ****************************************************************************/
// PREF: JPEG XL image format [NIGHTLY]
// May not affect anything on ESR/Stable channel [2].
@@ -594,14 +630,3 @@ user_pref("layout.word_select.eat_space_to_next_word", false);
// [1] https://cloudinary.com/blog/the-case-for-jpeg-xl
// [2] https://bugzilla.mozilla.org/show_bug.cgi?id=1539075#c51
//user_pref("image.jxl.enabled", true);
-
-// PREF: enable CSS moz document rules
-// Still needed for Stylus?
-// [1] https://reddit.com/r/FirefoxCSS/comments/8x2q97/reenabling_mozdocument_rules_in_firefox_61/
-//user_pref("layout.css.moz-document.content.enabled", true);
-
-// PREF: always underline links [FF120+]
-//user_pref("layout.css.always_underline_links", false); // DEFAULT
-
-// PREF: hide frequent sites on right-click of taskbar icon [WINDOWS?]
-//user_pref("browser.taskbar.lists.frequent.enabled", false);
diff --git a/README.md b/README.md
index 447cadaa2..c3a43bcec 100644
--- a/README.md
+++ b/README.md
@@ -3,20 +3,13 @@
[![Visitors](https://hits.seeyoufarm.com/api/count/incr/badge.svg?url=https%3A%2F%2Fgithub.com%2Fyokoffing%2FBetter-Fox&count_bg=%2379C83D&title_bg=%23555555&icon=&icon_color=%23E7E7E7&title=visitors&edge_flat=false)](https://hits.seeyoufarm.com)
# Betterfox
-31% faster than regular Firefox[1](https://medium.com/@mihirgrand/comparing-popular-firefox-forks-6fa83fdfdaad#:~:text=31%25%20more%20than%20vanilla%20Firefox) :rocket:
-
[about:config](https://support.mozilla.org/en-US/kb/about-config-editor-firefox) tweaks to enhance [Mozilla Firefox](https://www.mozilla.org/en-US/firefox/new/).
-:new: Now with [ESR support](https://github.com/yokoffing/Betterfox/tree/esr115#betterfox-esr).
-
-## Made for everyday browsing
-**A secure, blazing fast browsing experience. Without breakage.**
+31% [faster](https://medium.com/@mihirgrand/comparing-popular-firefox-forks-6fa83fdfdaad#:~:text=31%25%20more%20than%20vanilla%20Firefox) than regular Firefox :rocket:
-Betterfox is an opinionated preference list inspired by the [law of diminishing returns](https://web.archive.org/web/20231108092752if_/https://pmctraining.com/site/wp-content/uploads/2018/04/Law-of-Diminishing-Returns-CHART.png) and the [minimum effective dose](https://medium.com/the-mission/less-is-more-the-minimum-effective-dose-e6d56625931e).
+Now with support for ESR [128](https://github.com/yokoffing/Betterfox/tree/esr128) :new:
## Required reading
-*If you don't have it already: [Get Firefox](https://www.mozilla.org/en-US/firefox/all/#product-desktop-release)*
-
0) Create a [backup profile](https://github.com/yokoffing/Betterfox/wiki/Backup).
1) Download the user.js file [here](https://raw.githubusercontent.com/yokoffing/Betterfox/main/user.js) (Right click > `Save Link As…`).
2) Review [Common Overrides](https://github.com/yokoffing/Betterfox/wiki/Common-Overrides) and make any necessary changes.
@@ -31,6 +24,11 @@ Betterfox is an opinionated preference list inspired by the [law of diminishing
* Check out our configuration [guide](https://github.com/yokoffing/NextDNS-Config) for the best experience.
* See how to [quickly enable](https://support.mozilla.org/en-US/kb/dns-over-https) **secure DNS** in Firefox.
+## Made for everyday browsing
+**A secure, blazing fast browsing experience. Without breakage.**
+
+Betterfox is an opinionated preference list inspired by the [law of diminishing returns](https://web.archive.org/web/20231108092752if_/https://pmctraining.com/site/wp-content/uploads/2018/04/Law-of-Diminishing-Returns-CHART.png) and the [minimum effective dose](https://medium.com/the-mission/less-is-more-the-minimum-effective-dose-e6d56625931e).
+
## Simple goals
1) **Minimalism:** get what isn't needed out of the way
2) **Efficiency:** unleash Firefox's ability to be fast and performant
@@ -53,6 +51,10 @@ The `user.js` — a configuration file that controls Firefox settings — is cur
## Recognition
### Browser Integration
+> [!IMPORTANT]
+> While the browsers listed below incorporate Betterfox to some extent, they often modify it in ways that reduce its effectiveness. For optimal results, apply the `user.js` file even when using Firefox forks.
+
+* [Zen](https://github.com/zen-browser/desktop?tab=readme-ov-file) | [files](https://github.com/zen-browser/desktop/blob/main/src/browser/app/profile/better-fox.js) (July 2024)
* [Midori](https://github.com/goastian/midori-desktop/blob/ESR115/README.md) | [files](https://github.com/goastian/midori-desktop/blob/f3d8d96eb8e08f35a64e3c957bea4e839d7c7730/floorp/browser/components/userjsUtils.sys.mjs#L28-L33) (Dec 2023?)
* [Mercury](https://github.com/Alex313031/Mercury/releases/tag/v.115.3.0) | [files](https://github.com/Alex313031/Mercury/commit/eb9600f9fb8f48c8f5b5c6f3264fbcdb5caff7f5) (Sep 2023)
* [Waterfox](https://www.waterfox.net/en-US/docs/releases/G6.0/) | [files](https://github.com/WaterfoxCo/Waterfox/tree/current/waterfox/browser/app/profile) (Sep 2023)
@@ -71,7 +73,7 @@ The `user.js` — a configuration file that controls Firefox settings — is cur
* [GhoSTORIES with Franz & Pete](https://anchor.fm/ghostories/episodes/S2E6-We-Talking-Ghostery-Dawn----Again-er0q02/a-a4o5vmh) | 17:05–18:40 (Feb 2021)
### Articles
-* [Browsers for Daily Using](https://anhkhoakz.neocities.org/blog/browsers-for-daily-using) (Jan 2024)
+* [Browsers for Daily Use](https://anhkhoakz.neocities.org/blog/browsers-for-daily-using/#firefox-but-hardened) (Jan 2024)
* [Avoiding Manifest V3 – Escaping the Ad-Pocalypse](https://www.xbitlabs.com/avoiding-manifest-v3/) (Dec 2023)
* [German] [Pulse Browser Review: Firefox fork with Turbo tweaks and Opera sidebar](https://www.computerbild.de/artikel/cb-Tipps-Software-Pulse-Browser-Review-ein-Firefox-Fork-mit-Seitenleiste-wie-bei-Opera-35644139.html#:~:text=Noch%20mehr%20Speed%2DFeatures) (Apr 2023)
* [2023 Browser Showdown: Comparing Chrome, Brave, Firefox, Vivaldi, and Opera](https://www.appdate.lk/technology/2023-browser-showdown/) (Jan 2023)
diff --git a/Securefox.js b/Securefox.js
index d0c992c30..c58d45395 100644
--- a/Securefox.js
+++ b/Securefox.js
@@ -3,7 +3,7 @@
* Securefox *
* "Natura non contristatur" *
* priority: provide sensible security and privacy *
- * version: 128 *
+ * version: 129 *
* url: https://github.com/yokoffing/Betterfox *
* credit: Most prefs are reproduced and adapted from the arkenfox project *
* credit urL: https://github.com/arkenfox/user.js *
@@ -547,9 +547,7 @@ user_pref("privacy.history.custom", true);
// [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: reveal HTTPS in the URL upon double click [FF127+]
-//user_pref("browser.urlbar.untrimOnUserInteraction.featureGate", true);
+user_pref("browser.urlbar.untrimOnUserInteraction.featureGate", true);
// PREF: display "Not Secure" text on HTTP sites
// Needed with HTTPS-First Policy; not needed with HTTPS-Only Mode.
@@ -648,7 +646,7 @@ user_pref("network.IDN_show_punycode", true);
// [6] https://blog.chromium.org/2023/08/towards-https-by-default.html
user_pref("dom.security.https_first", true); // [DEFAULT FF129+]
//user_pref("dom.security.https_first_pbm", true); // [DEFAULT FF91+]
-//user_pref("dom.security.https_first_schemeless", true); // [FF120+]
+//user_pref("dom.security.https_first_schemeless", true); // [FF120+] [DEFAULT FF129+]
/******************************************************************************
* SECTION: HTTPS-ONLY MODE *
@@ -676,8 +674,7 @@ user_pref("dom.security.https_first", true); // [DEFAULT FF129+]
//user_pref("dom.security.https_only_mode", true); // Normal + Private Browsing windows
// PREF: offer suggestion for HTTPS site when available
-// [1] https://twitter.com/leli_gibts_scho/status/1371463866606059528
-// [TEST] http://speedofanimals.com/
+// [1] https://x.com/leli_gibts_scho/status/1371463866606059528
user_pref("dom.security.https_only_mode_error_page_user_suggestions", true);
// PREF: HTTP background requests in HTTPS-only Mode
@@ -753,9 +750,9 @@ user_pref("dom.security.https_only_mode_error_page_user_suggestions", true);
// PREF: assorted options
//user_pref("network.trr.confirmationNS", "skip"); // skip undesired DOH test connection
-//user_pref("network.trr.skip-AAAA-when-not-supported", true); // DEFAULT; If Firefox detects that your system does not have IPv6 connectivity, it will not request IPv6 addresses from the DoH server
-//user_pref("network.trr.clear-cache-on-pref-change", true); // DEFAULT; DNS+TRR cache will be cleared when a relevant TRR pref changes
-//user_pref("network.trr.wait-for-portal", false); // DEFAULT; set this to true to tell Firefox to wait for the captive portal detection before TRR is used
+//user_pref("network.trr.skip-AAAA-when-not-supported", true); // [DEFAULT] If Firefox detects that your system does not have IPv6 connectivity, it will not request IPv6 addresses from the DoH server
+//user_pref("network.trr.clear-cache-on-pref-change", true); // [DEFAULT] DNS+TRR cache will be cleared when a relevant TRR pref changes
+//user_pref("network.trr.wait-for-portal", false); // [DEFAULT] set this to true to tell Firefox to wait for the captive portal detection before TRR is used
// PREF: DOH exlcusions
//user_pref("network.trr.excluded-domains", ""); // DEFAULT; comma-separated list of domain names to be resolved using the native resolver instead of TRR. This pref can be used to make /etc/hosts works with DNS over HTTPS in Firefox.
@@ -1285,7 +1282,6 @@ user_pref("permissions.default.geo", 2);
// PREF: disable using the OS's geolocation service
//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]
// PREF: logging geolocation to the console
@@ -1427,9 +1423,14 @@ user_pref("network.captive-portal-service.enabled", false);
user_pref("network.connectivity-service.enabled", false);
// PREF: disable Privacy-Preserving Attribution [FF128+]
+// [NOTE] PPA disabled if main telemetry switches are disabled.
// [SETTING] Privacy & Security>Website Advertising Preferences>Allow websites to perform privacy-preserving ad measurement
// [1] https://support.mozilla.org/kb/privacy-preserving-attribution
-user_pref("dom.private-attribution.submission.enabled", false);
+// [2] https://searchfox.org/mozilla-central/rev/f3e4b33a6122ce63bf81ae8c30cc5ac37458864b/dom/privateattribution/PrivateAttributionService.sys.mjs#267
+//user_pref("dom.private-attribution.submission.enabled", false);
+ //user_pref("toolkit.telemetry.dap_helper", ""); // [OPTIONAL HARDENING]
+ //user_pref("toolkit.telemetry.dap_leader", ""); // [OPTIONAL HARDENING]
+
// PREF: software that continually reports what default browser you are using [WINDOWS]
// [WARNING] Breaks "Make Default..." button in Preferences to set Firefox as the default browser [2].
diff --git a/librewolf.overrides.cfg b/librewolf.overrides.cfg
deleted file mode 100644
index ef034f578..000000000
--- a/librewolf.overrides.cfg
+++ /dev/null
@@ -1,114 +0,0 @@
-//
-/* You may copy+paste this file and use it as it is.
- *
- * If you make changes to your about:config while the program is running, the
- * changes will be overwritten by this file when the application restarts.
- *
- * To make lasting changes to preferences, you will have to edit this file.
- */
-
-/****************************************************************************
- * Betterfox - LibreWolf overrides *
- * Quis custodiet ipsos custodes *
- * version: August 2023 *
- * url: https://github.com/yokoffing/Betterfox *
- * license: https://github.com/yokoffing/Betterfox/blob/main/LICENSE *
- * README: https://github.com/yokoffing/Betterfox/blob/main/README.md *
-****************************************************************************/
-
-// Better off just using a user.js file:
-// [1] https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/41963
-// [2] https://github.com/arkenfox/user.js/issues/1695#issuecomment-1666505218
-
-// Where do I find my librewolf.overrides.cfg? https://librewolf.net/docs/settings/#where-do-i-find-my-librewolfoverridescfg
-// LibreWolf default prefs: https://gitlab.com/librewolf-community/settings/-/blob/master/librewolf.cfg
-
-/****************************************************************************
- * SECTION: FASTFOX *
-****************************************************************************/
-defaultPref("layout.css.grid-template-masonry-value.enabled", true);
-defaultPref("dom.enable_web_task_scheduling", true);
-
-/****************************************************************************
- * SECTION: SECUREFOX *
-****************************************************************************/
-/** TRACKING PROTECTION ***/
-defaultPref("urlclassifier.trackingSkipURLs", "*.reddit.com, *.twitter.com, *.twimg.com");
-defaultPref("urlclassifier.features.socialtracking.skipURLs", "*.instagram.com, *.twitter.com, *.twimg.com");
-
-/** OCSP & CERTS / HPKP ***/
-// Use CRLite instead of OCSP
-defaultPref("security.OCSP.enabled", 0);
-defaultPref("security.OCSP.require", false);
-defaultPref("security.pki.crlite_mode", 2);
-
-/** RFP ***/
-// Limits refresh rate to 60mHz, breaks timezone, and forced light theme
-// [1] https://librewolf.net/docs/faq/#what-are-the-most-common-downsides-of-rfp-resist-fingerprinting
-defaultPref("privacy.resistFingerprinting", false);
-
-// WebGL
-// Breaks Map sites, NYT articles, Nat Geo, and more
-// [1] https://manu.ninja/25-real-world-applications-using-webgl/
-defaultPref("webgl.disabled", false);
-
-// DRM
-// Netflix, Udemy, Spotify, etc.
-defaultPref("media.eme.enabled", true);
-
-/** HTTPS-ONLY MODE ***/
-defaultPref("dom.security.https_only_mode_error_page_user_suggestions", true);
-
-/** PASSWORDS AND AUTOFILL ***/
-defaultPref("signon.generation.enabled", false);
-
-/** WEBRTC ***/
-// Breaks video conferencing
-defaultPref("media.peerconnection.ice.no_host", false);
-
-/** PERMISSIONS ***/
-defaultPref("permissions.default.geo", 2);
-defaultPref("permissions.default.desktop-notification", 2);
-defaultPref("dom.push.enabled", false);
-
-/****************************************************************************
- * SECTION: PESKYFOX *
-****************************************************************************/
-/** MOZILLA UI ***/
-defaultPref("layout.css.prefers-color-scheme.content-override", 2);
-defaultPref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
-defaultPref("browser.compactmode.show", true);
-
-/** FULLSCREEN ***/
-defaultPref("full-screen-api.transition-duration.enter", "0 0");
-defaultPref("full-screen-api.transition-duration.leave", "0 0");
-defaultPref("full-screen-api.warning.delay", 0);
-defaultPref("full-screen-api.warning.timeout", 0);
-
-/** URL BAR ***/
-defaultPref("browser.urlbar.suggest.engines", false);
-defaultPref("browser.urlbar.suggest.topsites", false);
-defaultPref("browser.urlbar.suggest.calculator", true);
-defaultPref("browser.urlbar.unitConversion.enabled", true);
-
-/** AUTOPLAY ***/
-// Default breaks some video players
-defaultPref("media.autoplay.blocking_policy", 0);
-
-/** PASSWORDS ***/
-defaultPref("editor.truncate_user_pastes", false);
-
-/** DOWNLOADS ***/
-defaultPref("browser.download.autohideButton", true);
-
-/** PDF ***/
-defaultPref("browser.download.open_pdf_attachments_inline", true);
-
-/** TAB BEHAVIOR ***/
-defaultPref("browser.tabs.loadBookmarksInTabs", true);
-defaultPref("browser.bookmarks.openInTabClosesMenu", false);
-defaultPref("findbar.highlightAll", true);
-
-/****************************************************************************
- * END: BETTERFOX *
-****************************************************************************/
diff --git a/personal/user-overrides.js b/personal/user-overrides.js
index 48041607a..cd0ffe11f 100644
--- a/personal/user-overrides.js
+++ b/personal/user-overrides.js
@@ -21,6 +21,9 @@
user_pref("browser.sessionstore.restore_pinned_tabs_on_demand", true);
user_pref("browser.sessionhistory.max_total_viewers", 4); // only remember # of pages in Back-Forward cache
user_pref("browser.cache.disk.enable", false); // disable disk cache
+user_pref("network.http.max-persistent-connections-per-server", 20); // increase download connections
+user_pref("network.buffer.cache.size", 262144); // default=32768; [WARNING] Cannot open HTML files bigger than 4 MB if changed
+user_pref("network.buffer.cache.count", 128); // default=24; use bigger packets
/** SECUREFOX ***/
//user_pref("urlclassifier.features.socialtracking.skipURLs", "*.twitter.com, *.twimg.com"); // removed *.instagram.com
@@ -47,12 +50,11 @@ user_pref("extensions.webextensions.restrictedDomains", ""); // remove Mozilla d
user_pref("identity.fxaccounts.enabled", false); // disable Firefox Sync
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
-//user_pref("security.ssl.require_safe_negotiation", true); // safe negotiation
user_pref("security.cert_pinning.enforcement_level", 2); // strict public key pinning
-//user_pref("browser.download.useDownloadDir", true); // one-click downloads
/** PESKYFOX ***/
-//user_pref("cookiebanners.service.mode", 2); // fall back to the accept button to remove banner
+user_pref("cookiebanners.service.mode", 0); // disable for performance since I'm using Easylist Cookie
+user_pref("cookiebanners.service.mode.privateBrowsing", 0); // disable for performance since I'm using Easylist Cookie
user_pref("devtools.accessibility.enabled", false); // removes un-needed "Inspect Accessibility Properties" on right-click
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false); // Settings>Home>Firefox Home Content>Recent Activity>Shortcuts>Sponsored shortcuts
user_pref("browser.newtabpage.activity-stream.showSponsored", false); // Settings>Home>Firefox Home Content>Recent Activity>Recommended by Pocket>Sponsored Stories
@@ -61,7 +63,7 @@ user_pref("browser.newtabpage.activity-stream.section.highlights.includeDownload
user_pref("browser.newtabpage.activity-stream.section.highlights.includeVisited", false); // Settings>Home>Firefox Home Content>Recent Activity>Visited Pages
user_pref("browser.newtabpage.activity-stream.section.highlights.includePocket", false); // Settings>Home>Firefox Home Content>Recent Activity>Pages Saved to Pocket
//user_pref("browser.download.useDownloadDir", true); // use direct downloads
-user_pref("browser.download.folderList", 0); // 0=desktop, 1=downloads, 2=last used
+//user_pref("browser.download.folderList", 0); // 0=desktop, 1=downloads, 2=last used
user_pref("browser.toolbars.bookmarks.visibility", "never"); // always hide bookmark bar
user_pref("browser.startup.homepage_override.mstone", "ignore"); // What's New page after updates; master switch
user_pref("browser.urlbar.suggest.history", false); // Browsing history; hide URL bar dropdown suggestions
@@ -76,7 +78,7 @@ 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("browser.zoom.full", false); // text-only zoom, not all elements on page
user_pref("pdfjs.sidebarViewOnLoad", 2); // force showing of Table of Contents in sidebar for PDFs (if available)
-//user_pref("layout.word_select.eat_space_to_next_word", false); // do not select the space next to a word when selecting a word
+user_pref("layout.word_select.eat_space_to_next_word", false); // do not select the space next to a word when selecting a word
//user_pref("browser.tabs.loadInBackground", false); // CTRL+SHIFT+CLICK for background tabs; Settings>General>Tabs>When you open a link, image or media in a new tab, switch to it immediately
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
@@ -125,13 +127,26 @@ user_pref("browser.urlbar.suggest.history", true); // Browsing history
user_pref("browser.urlbar.suggest.bookmark", true); // Bookmarks
//user_pref("browser.urlbar.suggest.openpage", true); // Open tabs
//user_pref("browser.urlbar.suggest.topsites", true); // Shortcuts
-user_pref("browser.download.folderList", 1); // 0=desktop, 1=downloads, 2=last used
-user_pref("browser.download.useDownloadDir", false); // ask where to download
+//user_pref("browser.download.folderList", 1); // 0=desktop, 1=downloads, 2=last used
+//user_pref("browser.download.useDownloadDir", false); // ask where to download
/** DELETE IF NOT macOS LAPTOP ***/
+//user_pref("browser.download.folderList", 1); // 0=desktop, 1=downloads, 2=last used
user_pref("network.trr.mode", 2); // enable TRR (with System fallback)
user_pref("network.trr.max-fails", 5); // lower max attempts to use DoH
user_pref("geo.provider.use_corelocation", false); // geolocation [MAC]
user_pref("pdfjs.defaultZoomValue", "page-width"); // PDF zoom level
user_pref("app.update.auto", false); // disable auto-installing Firefox updates [NON-WINDOWS]
//user_pref("font.name.monospace.x-western", "SF Mono"); // monospace font
+
+/** DELETE IF NOT LINUX LAPTOP ***/
+//user_pref("browser.download.folderList", 1); // 0=desktop, 1=downloads, 2=last used
+//user_pref(layers.acceleration.force-enable", true); // needed in 2024?
+//user_pref("gfx.webrender.software.opengl", true); // needed?
+user_pref("browser.low_commit_space_threshold_mb", 13107); // determine when tabs unload
+user_pref("browser.low_commit_space_threshold_percent", 20); // determine when tabs unload (percentage)
+//user_pref("middlemouse.contentLoadURL", false); // disable middle mouse click opening links from clipboard
+user_pref("network.trr.mode", 2); // enable TRR (with System fallback)
+user_pref("network.trr.max-fails", 5); // lower max attempts to use DoH
+user_pref("geo.provider.use_geoclue", false); // [LINUX]
+user_pref("pdfjs.defaultZoomValue", "page-width"); // PDF zoom level
diff --git a/user.js b/user.js
index 40f9e8b3f..8f5a41c7f 100644
--- a/user.js
+++ b/user.js
@@ -10,7 +10,7 @@
/****************************************************************************
* Betterfox *
* "Ad meliora" *
- * version: 128 *
+ * version: 129 *
* url: https://github.com/yokoffing/Betterfox *
****************************************************************************/
@@ -88,6 +88,7 @@ user_pref("privacy.history.custom", true);
/** SEARCH / URL BAR ***/
user_pref("browser.urlbar.trimHttps", true);
+user_pref("browser.urlbar.untrimOnUserInteraction.featureGate", true);
user_pref("browser.search.separatePrivateDefault.ui.enabled", true);
user_pref("browser.urlbar.update2.engineAliasRefresh", true);
user_pref("browser.search.suggest.enabled", false);
@@ -102,7 +103,6 @@ user_pref("network.IDN_show_punycode", true);
/** HTTPS-FIRST POLICY ***/
user_pref("dom.security.https_first", true);
-user_pref("dom.security.https_first_schemeless", true);
/** PASSWORDS ***/
user_pref("signon.formlessCapture.enabled", false);
@@ -166,7 +166,6 @@ user_pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false);
user_pref("captivedetect.canonicalURL", "");
user_pref("network.captive-portal-service.enabled", false);
user_pref("network.connectivity-service.enabled", false);
-user_pref("dom.private-attribution.submission.enabled", false);
/****************************************************************************
* SECTION: PESKYFOX *
@@ -180,9 +179,10 @@ user_pref("browser.shell.checkDefaultBrowser", false);
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false);
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false);
user_pref("browser.preferences.moreFromMozilla", false);
-user_pref("browser.tabs.tabmanager.enabled", false);
user_pref("browser.aboutConfig.showWarning", false);
user_pref("browser.aboutwelcome.enabled", false);
+user_pref("browser.tabs.tabmanager.enabled", false);
+user_pref("browser.profiles.enabled", true);
/** THEME ADJUSTMENTS ***/
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
@@ -192,6 +192,7 @@ user_pref("browser.display.focus_ring_style", 0);
user_pref("browser.display.focus_ring_width", 0);
user_pref("layout.css.prefers-color-scheme.content-override", 2);
user_pref("browser.privateWindowSeparation.enabled", false); // WINDOWS
+user_pref("browser.newtabpage.activity-stream.newtabWallpapers.v2.enabled", true);
/** COOKIE BANNER HANDLING ***/
user_pref("cookiebanners.service.mode", 1);
@@ -216,7 +217,6 @@ user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
user_pref("extensions.pocket.enabled", false);
/** DOWNLOADS ***/
-user_pref("browser.download.always_ask_before_handling_new_types", true);
user_pref("browser.download.manager.addToRecentDocs", false);
/** PDF ***/