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

Compare commits

...

66 Commits

Author SHA1 Message Date
minh2134 c97bc06396 install.py: Waterfox compatibility and default to firefox user.js always (#485)
* install.py: Integrate waterfox and default to firefox user.js always

This commit:
- Removes the old --zen switch
- Adds a new --browser/-b switch to specify the browser. Available
  options: firefox, waterfox, zen
- Now defaults to the firefox user.js even if there's new user.js added

* install.py: Remove the redundant --zen flag
2026-05-30 22:03:12 -04:00
Vadim Zyamalov 392c62a03c New profile system aloows for non-ascii characters (#470) 2026-05-03 12:22:57 -04:00
yokoffing 0bc76714a9 Delete .github/FUNDING.yml 2026-05-01 17:35:42 -04:00
yokoffing 5fcaade85e 150.0 (#478) 2026-04-21 15:40:42 -04:00
Reshad Ahammed Ayon a9b4b8803a feat: end-of-line conversion (#475) 2026-04-09 15:34:29 -04:00
yokoffing fd29d4d313 149.0 (#474) 2026-03-26 15:12:53 -04:00
yokoffing f1c8e3809d 148.0 (#461) 2026-02-28 16:44:08 -05:00
gumballriggy 310cbdee6c Update Fastfox.js (#462)
fix a typo and remove a trailing space.
2026-01-22 12:55:36 -05:00
yokoffing eee6e58b2b 146.0 (#447) 2025-12-13 16:59:25 -05:00
NewKidOnTheBlock 3b159ac8fb Removed outdated VPN Promo & Quickactions lines (#442) 2025-10-28 23:00:52 -04:00
balacij 9d7e6acb9c install.py: add support for macOS (#434) 2025-10-22 20:54:50 -04:00
NewKidOnTheBlock 9f3e90876f Remove outdated Pocket line (#439)
As described in issue #438
2025-10-22 20:32:40 -04:00
yokoffing 9efeb601f6 144.0 (#429) 2025-10-18 21:03:42 -04:00
Vadim Zyamalov 7b3cee24cc Allow Firefox installed as non-admin (#423) 2025-09-05 14:53:22 -04:00
yokoffing 2d81cd4094 142.0 (#420) 2025-08-20 17:21:59 -04:00
Cat ad9a3b4693 install.py: BetterZen compatibility (#418) 2025-08-20 14:52:16 -04:00
yokoffing 9727810114 140.0 (#404) 2025-07-22 12:28:37 -04:00
sykoram e66de491ac fix install.py (quotes in f-strings) (#405) 2025-06-21 00:29:56 -04:00
mr. m 82553f0167 Remove experiemental rounded flag (#403) 2025-06-16 16:45:55 -04:00
yokoffing 9052068d89 138.0 (#392) 2025-06-02 00:45:46 -04:00
NewKidOnTheBlock 8c39175a02 SoGo calendar integration issues 2025-05-14 21:15:43 -04:00
sykoram 1a6be093dc Improve install.py (#373)
* install.py: add shebang

* install.py: remove old version of _get_firefox_version

* install.py: search for Firefox installation, including flatpak version

* install.py: add option to disable 'Press ENTER to exit'

* install.py: fix windows root
2025-04-28 10:06:35 -04:00
yokoffing efee151779 Delete .github/ISSUE_TEMPLATE/bug_report.md 2025-04-16 12:21:48 -04:00
Danila Kononov 77983c7431 Create YML version of bug report form (#376) 2025-04-16 12:08:16 -04:00
yokoffing d3c53532eb v137.0 (#379) 2025-04-16 10:10:06 -04:00
yokoffing 6ef4cdbbe7 135.0 (#361) 2025-02-25 17:43:16 -05:00
Michael Weems 9c1d652299 Update install.py (#369)
Updating to Check Location of Firefox Install
2025-02-25 17:30:05 -05:00
yokoffing 09dd87a3ab v132-133 (#350) 2024-12-09 14:25:38 -05:00
Cat d70e3cdebe Updated install.py _get_default_profile_folder (#346) 2024-12-09 14:21:25 -05:00
Cat 429abb61f5 Added installer.py (#318) 2024-11-08 15:40:11 -05:00
yokoffing 80261756ca v131 (#328) 2024-11-01 18:02:48 -04:00
yokoffing ab5ede0fef v130 (#321) 2024-09-26 14:43:48 -04:00
yokoffing d07af83ee0 Sanitizer 2024-09-24 15:21:09 -04:00
yokoffing e026ed7d3a v.129 (#315) 2024-08-20 22:08:38 -04:00
yokoffing 29f0816962 tab preview pref changes
https://github.com/yokoffing/Betterfox/issues/309
2024-07-22 10:19:34 -04:00
yokoffing c0d65d409d fix dashes 2024-07-16 13:45:46 -04:00
yokoffing c5fca2dbf7 v127-128 (#301) 2024-07-16 10:30:49 -04:00
Hal 9756922ee9 update NTP setting text 2024-05-24 14:23:00 -04:00
Hal dfb297bbfb some values need quotation marks
https://github.com/yokoffing/Betterfox/issues/294
2024-05-21 09:59:03 -04:00
Hal cf2c13a45f v123-126 (#276) 2024-05-20 14:37:07 -04:00
Hal c366439145 fix 2024-03-18 18:12:48 -04:00
Hal bd128d8d56 add counter 2024-03-18 18:11:55 -04:00
Hal d4f1744b0c v122.1 (#280)
* network.buffer.cache.size causes HTML issue
2024-03-13 11:47:02 -04:00
Hal 14de7b101d v120-122 (#268) 2024-02-19 12:06:22 -05:00
Hal 27bcd885b7 AF credit 2024-01-30 13:29:18 -05:00
e-tho 64774680a9 fix typo (#273) 2024-01-26 17:43:37 -05:00
system32.eth 4d23050c74 Update Fastfox.js (#269)
Missing closing quote on variable
2024-01-03 09:14:15 -05:00
Hal 042bcc1c56 Update README.md
https://github.com/yokoffing/Betterfox/issues/266
2023-12-12 09:03:56 -05:00
Hal 396a465b73 GitHub sponsor 2023-11-28 20:50:51 -05:00
Hal d7a530164e Create FUNDING.yml 2023-11-28 15:09:38 -05:00
Hal 1653fc9014 fix broken link
https://github.com/yokoffing/Betterfox/issues/262
2023-11-22 20:17:38 -05:00
Hal 6657c83ae2 clean up List descriptions 2023-11-12 15:14:19 -05:00
yokoffing 4b75f957f9 v119 (#237) 2023-11-10 11:44:04 -05:00
yokoffing 52e6deb863 Delete .github/ISSUE_TEMPLATE/feature_request.md 2023-11-06 12:28:48 +00:00
yokoffing 6887c6d2f9 Update bug_report.md 2023-11-06 12:27:21 +00:00
yokoffing 099fe168ba Update user-overrides.js 2023-10-17 13:17:14 -04:00
HJ 4c0b1791dc geo-location 2023-09-30 15:42:34 -04:00
HJ 687785a8d3 Update README.md 2023-09-30 00:07:12 -04:00
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
18 changed files with 2577 additions and 1627 deletions
+1
View File
@@ -0,0 +1 @@
* text=auto
-43
View File
@@ -1,43 +0,0 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: ''
assignees: yokoffing
---
## BEFORE YOU BEGIN
I have attempted the following troubleshooting suggestions:
- [ ] The issue persists when using Firefox in [Troubleshoot Mode](https://support.mozilla.org/en-US/kb/diagnose-firefox-issues-using-troubleshoot-mode).
- [ ] Disabled DNS-level content blocking (AdGuard Home, NextDNS, Control D, RethinkDNS, PiHole, etc), [cleared my DNS cache](https://www.pcmag.com/how-to/how-to-flush-your-dns-cache), and used my ISP's DNS resolver (if applicable).
- [ ] [Cleared website data](https://support.mozilla.org/en-US/kb/clear-cookies-and-site-data-firefox), restarted Firefox, and my issue persists.
- [ ] I have created a [new profile](https://support.mozilla.org/en-US/kb/profile-manager-create-remove-switch-firefox-profiles). The issue persists when using the current [user.js](https://github.com/yokoffing/Betterfox/blob/master/user.js) file on GitHub. (Must be in a new profile and a new user.js!)
## REPORT
**Describe the bug**
*A clear and concise description of what the bug is.*
**To Reproduce**
*Steps to reproduce the behavior:*
```
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
```
**Expected behavior**
*A clear and concise description of what you expected to happen.*
**Screenshots**
*If applicable, add screenshots to help explain your problem.*
**Desktop (please complete the following information):**
- OS: [e.g. iOS]
- Browser [e.g. chrome, safari]
- Version [e.g. 22]
**Additional context**
*Add any other context about the problem here.*
+105
View File
@@ -0,0 +1,105 @@
name: Bug Report
description: File a bug report
assignees: yokoffing
body:
- type: markdown
attributes:
value: |
Please confirm the issue relates to Betterfox user.js before submitting a report.
To troubleshoot your installation, try solutions below and test the issue after each step:
* Launch Firefox in [Troubleshoot Mode](https://support.mozilla.org/en-US/kb/diagnose-firefox-issues-using-troubleshoot-mode).
* Disable DNS-level content blocking (such ad AdGuard Home, NextDNS, Control D, PiHole, etc) and [clear the DNS cache](https://www.pcmag.com/how-to/how-to-flush-your-dns-cache) and use ISP's DNS resolver (if applicable).
* [Clear website data](https://support.mozilla.org/en-US/kb/clear-cookies-and-site-data-firefox) and restart Firefox.
* Create a [new clean profile](https://support.mozilla.org/en-US/kb/profile-manager-create-remove-switch-firefox-profiles).
- type: checkboxes
attributes:
label: Prerequisites
options:
- label: The issue persists when using Firefox in Troubleshoot Mode.
required: true
- label: "The issue persists after I disabled DNS-level content blocking (PiHole, NextDNS, etc.), cleared DNS cache, and tried to use ISP's DNS resolver (if applicable)."
required: true
- label: The issue persists after I cleared website data and restarted Firefox.
required: true
- label: I have created a new, clean profile. The issue persists after adding the user.js, but it is not reproducible in a new, unedited Firefox profile.
required: true
- type: textarea
attributes:
label: Bug description
description: Describe the issue.
placeholder: A bug causes this and that...
validations:
required: true
- type: textarea
attributes:
label: Steps to reproduce
description: Explain the steps required to reproduce the issue.
placeholder: |
1. Go to `...`
2. Click on `...`
3. Scroll down to `...`
validations:
required: true
- type: textarea
attributes:
label: Expected behavior
description: What did you expect to happen instead?
placeholder: Firefox should do [this]. Instead, it did [that].
validations:
required: false
- type: textarea
attributes:
label: Screenshots
description: Add screenshots to help explain your problem (optional).
validations:
required: false
- type: dropdown
attributes:
label: Operating System (OS)
options:
- Windows (10 or later)
- macOS (ARM-based device)
- macOS (Intel-based device)
- Linux
- Other
validations:
required: true
- type: dropdown
attributes:
label: Browser
options:
- Firefox
- Firefox Beta
- Firefox Developer Edition
- Firefox Nightly
- Firefox ESR
- Floorp
- LibreWolf
- Zen Browser
- Waterfox
- Other
validations:
required: true
- type: input
attributes:
label: Version
placeholder: 136 stable
validations:
required: false
- type: textarea
attributes:
label: Additional information
description: Include any other information that may be helpful.
validations:
required: false
-10
View File
@@ -1,10 +0,0 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: ''
assignees: yokoffing
---
+447 -577
View File
File diff suppressed because it is too large Load Diff
+264 -162
View File
@@ -3,46 +3,27 @@
* Peskyfox * * Peskyfox *
* "Aquila non capit muscas" * * "Aquila non capit muscas" *
* priority: remove annoyances * * priority: remove annoyances *
* version: 116 * * version: 148 *
* url: https://github.com/yokoffing/Betterfox * * 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 *
***************************************************************************/ ***************************************************************************/
/**************************************************************************** /****************************************************************************
* SECTION: MOZILLA UI * * SECTION: MOZILLA UI *
****************************************************************************/ ****************************************************************************/
// PREF: preferred color scheme for websites
// [SETTING] General>Language and Appearance>Website appearance
// By default, color scheme matches the theme of your browser toolbar (3).
// Set this pref to choose Dark on sites that support it (0) or Light (1).
// Before FF95, the pref was 2, which determined site color based on OS theme.
// Dark (0), Light (1), System (2), Browser (3) (default [FF95+])
// [1] https://www.reddit.com/r/firefox/comments/rfj6yc/how_to_stop_firefoxs_dark_theme_from_overriding/hoe82i5/?context=3
user_pref("layout.css.prefers-color-scheme.content-override", 2);
// PREF: disable always using dark theme for private browsing windows [FF106+]
//user_pref("browser.theme.dark-private-windows", false);
// PREF: enable Firefox to use userChome, userContent, etc.
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
// PREF: disable annoying update restart prompts
// Delay update available prompts for ~1 week.
// Will still show green arrow in menu bar.
user_pref("app.update.suppressPrompts", true);
// PREF: add compact mode back to options
user_pref("browser.compactmode.show", true);
// PREF: Mozilla VPN
// [1] https://github.com/yokoffing/Betterfox/issues/169
user_pref("browser.privatebrowsing.vpnpromourl", "");
//user_pref("browser.vpn_promo.enabled", false);
// PREF: disable about:addons' Recommendations pane (uses Google Analytics) // PREF: disable about:addons' Recommendations pane (uses Google Analytics)
user_pref("extensions.getAddons.showPane", false); // HIDDEN user_pref("extensions.getAddons.showPane", false); // HIDDEN
// PREF: disable recommendations in about:addons' Extensions and Themes panes
user_pref("extensions.htmlaboutaddons.recommendations.enabled", false); user_pref("extensions.htmlaboutaddons.recommendations.enabled", false);
// PREF: Personalized Extension Recommendations in about:addons and AMO
// [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
user_pref("browser.discovery.enabled", false);
// PREF: disable Firefox from asking to set as the default browser // PREF: disable Firefox from asking to set as the default browser
// [1] https://github.com/yokoffing/Betterfox/issues/166 // [1] https://github.com/yokoffing/Betterfox/issues/166
user_pref("browser.shell.checkDefaultBrowser", false); user_pref("browser.shell.checkDefaultBrowser", false);
@@ -55,20 +36,14 @@ user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features",
// PREF: hide "More from Mozilla" in Settings // PREF: hide "More from Mozilla" in Settings
user_pref("browser.preferences.moreFromMozilla", false); user_pref("browser.preferences.moreFromMozilla", false);
// PREF: only show List All Tabs icon when needed // PREF: tab and about:config warnings
// true=always show tab overflow dropdown (FF106+ default)
// false=only display tab dropdown when there are too many tabs
// [1] https://www.ghacks.net/2022/10/19/how-to-hide-firefoxs-list-all-tabs-icon/
user_pref("browser.tabs.tabmanager.enabled", false);
// PREF: Warnings
//user_pref("browser.tabs.warnOnClose", false); // DEFAULT [FF94+] //user_pref("browser.tabs.warnOnClose", false); // DEFAULT [FF94+]
//user_pref("browser.tabs.warnOnCloseOtherTabs", true); // DEFAULT //user_pref("browser.tabs.warnOnCloseOtherTabs", true); // DEFAULT
//user_pref("browser.tabs.warnOnOpen", true); // DEFAULT //user_pref("browser.tabs.warnOnOpen", true); // DEFAULT
user_pref("browser.aboutConfig.showWarning", false); user_pref("browser.aboutConfig.showWarning", false);
// PREF: disable welcome notices // PREF: disable welcome notices
//user_pref("browser.startup.homepage_override.mstone", "ignore"); // What's New page after updates; master switch user_pref("browser.startup.homepage_override.mstone", "ignore");
user_pref("browser.aboutwelcome.enabled", false); // disable Intro screens user_pref("browser.aboutwelcome.enabled", false); // disable Intro screens
//user_pref("startup.homepage_welcome_url", ""); //user_pref("startup.homepage_welcome_url", "");
//user_pref("startup.homepage_welcome_url.additional", ""); //user_pref("startup.homepage_welcome_url.additional", "");
@@ -77,63 +52,102 @@ user_pref("browser.aboutwelcome.enabled", false); // disable Intro screens
// PREF: disable "What's New" toolbar icon [FF69+] // PREF: disable "What's New" toolbar icon [FF69+]
//user_pref("browser.messaging-system.whatsNewPanel.enabled", false); //user_pref("browser.messaging-system.whatsNewPanel.enabled", false);
// PREF: remove focus indicator for links // PREF: new profile switcher
// [1] https://www.askvg.com/firefox-tip-restore-classic-dotted-outline-focus-indicator-for-links/ user_pref("browser.profiles.enabled", true);
user_pref("browser.display.focus_ring_on_anything", true);
user_pref("browser.display.focus_ring_style", 0); // PREF: use native title bar buttons [LINUX]
user_pref("browser.display.focus_ring_width", 0); // [1] https://github.com/yokoffing/Betterfox/issues/320
//user_pref("widget.gtk.non-native-titlebar-buttons.enabled", true);
// PREF: disable search engine switcher in the URL bar [FF136+]
//user_pref("browser.urlbar.scotchBonnet.enableOverride", false);
/****************************************************************************
* SECTION: THEME ADJUSTMENTS *
****************************************************************************/
// PREF: enable Firefox to use userChome, userContent, etc.
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
// PREF: add compact mode back to options
user_pref("browser.compactmode.show", true);
// PREF: preferred color scheme for websites
// [SETTING] General>Language and Appearance>Website appearance
// By default, color scheme matches the theme of your browser toolbar (3).
// Set this pref to choose Dark on sites that support it (0) or Light (1).
// Before FF95, the pref was 2, which determined site color based on OS theme.
// Dark (0), Light (1), System (2), Browser (3) [DEFAULT FF95+]
// [1] https://www.reddit.com/r/firefox/comments/rfj6yc/how_to_stop_firefoxs_dark_theme_from_overriding/hoe82i5/?context=3
user_pref("layout.css.prefers-color-scheme.content-override", 2);
// PREF: disable always using dark theme for private browsing windows [FF106+]
//user_pref("browser.theme.dark-private-windows", false);
// PREF: prevent private windows being separate from normal windows in taskbar [WINDOWS] [FF106+] // PREF: prevent private windows being separate from normal windows in taskbar [WINDOWS] [FF106+]
user_pref("browser.privateWindowSeparation.enabled", false); // WINDOWS user_pref("browser.privateWindowSeparation.enabled", false);
// PREF: reduce the size of the "private window" indicator in tab bar [FF106+] // PREF: show search bar [FF122+]
user_pref("browser.privatebrowsing.enable-new-indicator", false); // Mozilla has removed the search bar option from the settings window.
//user_pref("browser.search.widget.inNavBar", true);
// PREF: Cookie Banner handling [NIGHTLY] // PREF: new tab page wallpapers
// [NOTE] Feature still enforces Total Cookie Protection to limit 3rd-party cookie tracking [1] //user_pref("browser.newtabpage.activity-stream.newtabWallpapers.v2.enabled", true); // [DEFAULT FF132+]
// [1] https://github.com/mozilla/cookie-banner-rules-list/issues/33#issuecomment-1318460084
// [2] https://phabricator.services.mozilla.com/D153642
// [3] https://winaero.com/make-firefox-automatically-click-on-reject-all-in-cookie-banner-consent/
// [4] https://docs.google.com/spreadsheets/d/1Nb4gVlGadyxix4i4FBDnOeT_eJp2Zcv69o-KfHtK-aA/edit#gid=0
// 2: reject banners if it is a one-click option; otherwise, fall back to the accept button to remove banner
// 1: reject banners if it is a one-click option; otherwise, keep banners on screen
// 0: disable all cookie banner handling
user_pref("cookiebanners.service.mode", 2);
user_pref("cookiebanners.service.mode.privateBrowsing", 2);
//user_pref("cookiebanners.bannerClicking.enabled", true); // DEFAULT [FF108]
//user_pref("cookiebanners.cookieInjector.enabled", true); // DEFAULT
// PREF: global CookieBannerRules [WiP] /****************************************************************************
// Global rules that can handle a list of cookie banner libraries / providers on any site. * SECTION: AI *
// This is used for click rules that can handle common Consent Management Providers (CMP) ****************************************************************************/
// [WARNING] Beware of potential bugs and performance issues. Enabling this may negatively // PREF: AI default controls
// impact site performance. It requires Firefox to run rule-defined query selectors for // [1] https://blog.mozilla.org/en/firefox/how-to-use-ai-controls/
// every page. user_pref("browser.ai.control.default", "blocked");
//user_pref("cookiebanners.service.enableGlobalRules", false); // DEFAULT user_pref("browser.ml.enable", false);
// PREF: Firefox Translations [NIGHTLY] // PREF: Translations
//user_pref("browser.ai.control.translations", "blocked");
// PREF: Image alt text in Nightly PDF viewer
//user_pref("browser.ai.control.pdfjsAltText", "blocked");
// PREF: Tab group suggestions
// [1] https://support.mozilla.org/kb/how-use-ai-enhanced-tab-groups
//user_pref("browser.ai.control.smartTabGroups", "blocked");
user_pref("browser.tabs.groups.smart.enabled", false);
// PREF: Key points in link previews
//user_pref("browser.ai.control.linkPreviewKeyPoints", "blocked");
user_pref("browser.ml.linkPreview.enabled", false);
// PREF: Chatbot in sidebar
//user_pref("browser.ai.control.sidebarChatbot", "blocked");
user_pref("browser.ml.chat.enabled", false);
user_pref("browser.ml.chat.menu", false);
/****************************************************************************
* SECTION: TRANSLATIONS *
****************************************************************************/
// PREF: Firefox Translations [FF118+]
// Automated translation of web content is done locally in Firefox, so that // Automated translation of web content is done locally in Firefox, so that
// the text being translated does not leave your machine. // the text being translated does not leave your machine.
// [ABOUT] Visit about:translations to translate your own text as well. // [ABOUT] Visit about:translations to translate your own text as well.
// [1] https://blog.mozilla.org/en/mozilla/local-translation-add-on-project-bergamot/ // [1] https://blog.mozilla.org/en/mozilla/local-translation-add-on-project-bergamot/
// [2] https://blog.nightly.mozilla.org/2023/06/01/firefox-translations-and-other-innovations-these-weeks-in-firefox-issue-139/ // [2] https://blog.nightly.mozilla.org/2023/06/01/firefox-translations-and-other-innovations-these-weeks-in-firefox-issue-139/
// [3] https://www.ghacks.net/2023/08/02/mozilla-firefox-117-beta-brings-an-automatic-language-translator-for-websites-and-it-works-offline/ // [3] https://www.ghacks.net/2023/08/02/mozilla-firefox-117-beta-brings-an-automatic-language-translator-for-websites-and-it-works-offline/
user_pref("browser.translations.enable", true); //user_pref("browser.translations.enable", true); // DEFAULT
//user_pref("browser.translations.autoTranslate", true); //user_pref("browser.translations.autoTranslate", true);
// PREF: Mozilla Shopping [FF116+]
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1836265
//user_pref("browser.shopping.experience2023.enabled", false); // DEFAULT
/**************************************************************************** /****************************************************************************
* SECTION: FULLSCREEN NOTICE * * SECTION: FULLSCREEN NOTICE *
****************************************************************************/ ****************************************************************************/
// PREF: disable fullscreen delay and notice // PREF: remove fullscreen delay
user_pref("full-screen-api.transition-duration.enter", "0 0"); user_pref("full-screen-api.transition-duration.enter", "0 0"); // default=200 200
user_pref("full-screen-api.transition-duration.leave", "0 0"); user_pref("full-screen-api.transition-duration.leave", "0 0"); // default=200 200
user_pref("full-screen-api.warning.delay", -1);
user_pref("full-screen-api.warning.timeout", 0); // PREF: disable fullscreen notice
// [NOTE] Adjust to a sensible value, like 1250, if you have security concerns.
//user_pref("full-screen-api.warning.timeout", 0); // default=3000; alt=1250
//user_pref("full-screen-api.warning.delay", -1); // default=500
/**************************************************************************** /****************************************************************************
* SECTION: FONT APPEARANCE * * SECTION: FONT APPEARANCE *
@@ -148,8 +162,7 @@ user_pref("full-screen-api.warning.timeout", 0);
// [2] https://reddit.com/r/firefox/comments/wvs04y/comment/ilklzy1/?context=3 // [2] https://reddit.com/r/firefox/comments/wvs04y/comment/ilklzy1/?context=3
//user_pref("gfx.font_rendering.cleartype_params.rendering_mode", 5); //user_pref("gfx.font_rendering.cleartype_params.rendering_mode", 5);
//user_pref("gfx.font_rendering.cleartype_params.cleartype_level", 100); //user_pref("gfx.font_rendering.cleartype_params.cleartype_level", 100);
//user_pref("gfx.font_rendering.cleartype_params.force_gdi_classic_for_families", ""); //user_pref("gfx.font_rendering.cleartype_params.force_gdi_classic_for_families", ""); // DEFAULT FF135+
//user_pref("gfx.font_rendering.cleartype_params.force_gdi_classic_max_size", 6);
//user_pref("gfx.font_rendering.directwrite.use_gdi_table_loading", false); //user_pref("gfx.font_rendering.directwrite.use_gdi_table_loading", false);
// Some users find these helpful: // Some users find these helpful:
//user_pref("gfx.font_rendering.cleartype_params.gamma", 1750); //user_pref("gfx.font_rendering.cleartype_params.gamma", 1750);
@@ -165,32 +178,51 @@ user_pref("full-screen-api.warning.timeout", 0);
// PREF: minimize URL bar suggestions (bookmarks, history, open tabs) // PREF: minimize URL bar suggestions (bookmarks, history, open tabs)
// Dropdown options in the URL bar: // Dropdown options in the URL bar:
//user_pref("browser.urlbar.suggest.bookmark", true);
user_pref("browser.urlbar.suggest.engines", false);
//user_pref("browser.urlbar.suggest.history", false); //user_pref("browser.urlbar.suggest.history", false);
//user_pref("browser.urlbar.suggest.bookmark", true); // DEFAULT
//user_pref("browser.urlbar.suggest.clipboard", false);
//user_pref("browser.urlbar.suggest.openpage", false); //user_pref("browser.urlbar.suggest.openpage", false);
//user_pref("browser.urlbar.suggest.quickactions", false); // [NIGHTLY-only] user_pref("browser.urlbar.suggest.engines", false);
//user_pref("browser.urlbar.suggest.searches", false); //user_pref("browser.urlbar.suggest.searches", false);
//user_pref("browser.urlbar.quickactions.enabled", false);
//user_pref("browser.urlbar.suggest.weather", true); // DEFAULT [FF108] //user_pref("browser.urlbar.suggest.weather", true); // DEFAULT [FF108]
//user_pref("browser.urlbar.weather.ignoreVPN", false); // DEFAULT //user_pref("browser.urlbar.weather.ignoreVPN", false); // DEFAULT
//user_pref("browser.urlbar.suggest.calculator", true); // [DEFAULT FF137+]
//user_pref("browser.urlbar.unitConversion.enabled", true); // [DEFAULT FF141+]
// PREF: disable dropdown suggestions with empty query: // PREF: disable dropdown suggestions with empty query
user_pref("browser.urlbar.suggest.topsites", false); //user_pref("browser.urlbar.suggest.topsites", false);
// PREF: enable helpful features: // PREF: disable urlbar trending search suggestions [FF118+]
user_pref("browser.urlbar.suggest.calculator", true); // [SETTING] Search>Search Suggestions>Show trending search suggestions (FF119)
user_pref("browser.urlbar.unitConversion.enabled", true); user_pref("browser.urlbar.trending.featureGate", false);
//user_pref("browser.urlbar.suggest.trending", false);
// PREF: disable urlbar suggestions
//user_pref("browser.urlbar.addons.featureGate", false); // [FF115+]
//user_pref("browser.urlbar.amp.featureGate", false); // [FF141+] adMarketplace
//user_pref("browser.urlbar.fakespot.featureGate", false); // [FF130+] [DEFAULT: false]
//user_pref("browser.urlbar.mdn.featureGate", false); // [FF117+] [HIDDEN PREF]
//user_pref("browser.urlbar.weather.featureGate", false); // [FF108+] [DEFAULT: false]
//user_pref("browser.urlbar.wikipedia.featureGate", false); // [FF141+]
//user_pref("browser.urlbar.clipboard.featureGate", false); // [FF118+] [DEFAULT: true FF125+]
//user_pref("browser.urlbar.yelp.featureGate", false); // [FF124+] [DEFAULT: false]
// PREF: disable recent searches [FF120+]
// [NOTE] Recent searches are cleared with history.
// [1] https://support.mozilla.org/kb/search-suggestions-firefox
//user_pref("browser.urlbar.recentsearches.featureGate", false);
// PREF: disable tab-to-search [FF85+]
// Alternatively, you can exclude on a per-engine basis by unchecking them in Options>Search
// [SETTING] Privacy & Security>Address Bar>When using the address bar, suggest>Search engines
//user_pref("browser.urlbar.suggest.engines", false);
// PREF: Adaptive History Autofill // PREF: Adaptive History Autofill
// [1] https://docs.google.com/document/u/1/d/e/2PACX-1vRBLr_2dxus-aYhZRUkW9Q3B1K0uC-a0qQyE3kQDTU3pcNpDHb36-Pfo9fbETk89e7Jz4nkrqwRhi4j/pub // [1] https://docs.google.com/document/u/1/d/e/2PACX-1vRBLr_2dxus-aYhZRUkW9Q3B1K0uC-a0qQyE3kQDTU3pcNpDHb36-Pfo9fbETk89e7Jz4nkrqwRhi4j/pub
//user_pref("browser.urlbar.autoFill", true); // [DEFAULT] //user_pref("browser.urlbar.autoFill", true); // [DEFAULT]
//user_pref("browser.urlbar.autoFill.adaptiveHistory.enabled", false); //user_pref("browser.urlbar.autoFill.adaptiveHistory.enabled", false);
// PREF: Quick Actions in the URL Bar [NIGHTLY-only]
// [1] https://www.ghacks.net/2022/07/19/mozilla-is-testing-quick-actions-in-firefoxs-address-bar/
//user_pref("browser.urlbar.quickactions.enabled", false);
//user_pref("browser.urlbar.shortcuts.quickactions", false);
// PREF: adjust the amount of Address bar / URL bar dropdown results // PREF: adjust the amount of Address bar / URL bar dropdown results
// This value controls the total number of entries to appear in the location bar dropdown. // This value controls the total number of entries to appear in the location bar dropdown.
// [NOTE] Items (bookmarks/history/openpages) with a high "frequency"/"bonus" will always // [NOTE] Items (bookmarks/history/openpages) with a high "frequency"/"bonus" will always
@@ -199,6 +231,15 @@ user_pref("browser.urlbar.unitConversion.enabled", true);
// disable=0 // disable=0
//user_pref("browser.urlbar.maxRichResults", 5); // default=10 //user_pref("browser.urlbar.maxRichResults", 5); // default=10
// PREF: text fragments
// [WARNING] Enabling can cause tab crashes [4]
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1753933#c6
// [2] https://developer.mozilla.org/en-US/docs/Web/Text_fragments
// [3] https://web.dev/articles/text-fragments
// [4] https://github.com/yokoffing/Betterfox/issues/397
//user_pref("dom.text_fragments.enabled", true); // [DEFAULT]
//user_pref("dom.text_fragments.create_text_fragment.enabled", true);
/**************************************************************************** /****************************************************************************
* SECTION: AUTOPLAY * * SECTION: AUTOPLAY *
****************************************************************************/ ****************************************************************************/
@@ -221,13 +262,13 @@ user_pref("browser.urlbar.unitConversion.enabled", true);
* SECTION: NEW TAB PAGE * * SECTION: NEW TAB PAGE *
****************************************************************************/ ****************************************************************************/
// PREF: open windows/tabs from last session // PREF: startup / new tab page
// 0=blank, 1=home, 2=last visited page, 3=resume previous session // 0=blank, 1=home, 2=last visited page, 3=resume previous session
// [NOTE] Session Restore is cleared with history and not used in Private Browsing mode // [NOTE] Session Restore is cleared with history and not used in Private Browsing mode
// [SETTING] General>Startup>Restore previous session // [SETTING] General>Startup>Open previous windows and tabs
//user_pref("browser.startup.page", 3); //user_pref("browser.startup.page", 3);
// PREF: set HOME+NEWWINDOW page to blank tab // PREF: set HOME+NEW WINDOW page to blank tab
// about:home=Activity Stream, custom URL, about:blank // about:home=Activity Stream, custom URL, about:blank
// [SETTING] Home>New Windows and Tabs>Homepage and new windows // [SETTING] Home>New Windows and Tabs>Homepage and new windows
// [Custom URLs] Set two or more websites in Home Page Field delimited by | // [Custom URLs] Set two or more websites in Home Page Field delimited by |
@@ -244,17 +285,26 @@ user_pref("browser.urlbar.unitConversion.enabled", true);
// [1] https://github.com/arkenfox/user.js/issues/1556 // [1] https://github.com/arkenfox/user.js/issues/1556
//user_pref("browser.newtabpage.activity-stream.discoverystream.enabled", false); //user_pref("browser.newtabpage.activity-stream.discoverystream.enabled", false);
//user_pref("browser.newtabpage.activity-stream.showSearch", true); // NTP Web Search [DEFAULT] //user_pref("browser.newtabpage.activity-stream.showSearch", true); // NTP Web Search [DEFAULT]
user_pref("browser.newtabpage.activity-stream.feeds.topsites", false); // Shortcuts //user_pref("browser.newtabpage.activity-stream.feeds.topsites", false); // Shortcuts
//user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false); // Sponsored shortcuts [FF83+] user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false); // Sponsored shortcuts [FF83+]
//user_pref("browser.newtabpage.activity-stream.showWeather", false); // Weather [FF130+]
//user_pref("browser.newtabpage.activity-stream.system.showWeather", false); // hides Weather as an UI option
user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false); // Recommended by Pocket user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false); // Recommended by Pocket
//user_pref("browser.newtabpage.activity-stream.showSponsored", false); // Sponsored Stories [FF58+] user_pref("browser.newtabpage.activity-stream.showSponsored", false); // Sponsored stories [FF58+]
user_pref("browser.newtabpage.activity-stream.showSponsoredCheckboxes", false); // [FF140+] Support Firefox
//user_pref("browser.newtabpage.activity-stream.feeds.section.highlights", false); // Recent Activity [DEFAULT] //user_pref("browser.newtabpage.activity-stream.feeds.section.highlights", false); // Recent Activity [DEFAULT]
//user_pref("browser.newtabpage.activity-stream.section.highlights.includeBookmarks", false); //user_pref("browser.newtabpage.activity-stream.section.highlights.includeBookmarks", false);
//user_pref("browser.newtabpage.activity-stream.section.highlights.includeDownloads", false); //user_pref("browser.newtabpage.activity-stream.section.highlights.includeDownloads", false);
//user_pref("browser.newtabpage.activity-stream.section.highlights.includePocket", false);
//user_pref("browser.newtabpage.activity-stream.section.highlights.includeVisited", false); //user_pref("browser.newtabpage.activity-stream.section.highlights.includeVisited", false);
//user_pref("browser.newtabpage.activity-stream.feeds.snippets", false); // [DEFAULT] //user_pref("browser.newtabpage.activity-stream.feeds.snippets", false); // [DEFAULT]
// PREF: wallpapers on New Tab [FF128+ NIGHTLY]
//user_pref("browser.newtabpage.activity-stream.newtabWallpapers.enabled", false); // Wallpapers
// PREF: clear default topsites
// [NOTE] This does not block you from adding your own.
user_pref("browser.newtabpage.activity-stream.default.sites", "");
// PREF: keep search in the search box; prevent from jumping to address bar // PREF: keep search in the search box; prevent from jumping to address bar
// [1] https://www.reddit.com/r/firefox/comments/oxwvbo/firefox_start_page_search_options/ // [1] https://www.reddit.com/r/firefox/comments/oxwvbo/firefox_start_page_search_options/
//user_pref("browser.newtabpage.activity-stream.improvesearch.handoffToAwesomebar", false); //user_pref("browser.newtabpage.activity-stream.improvesearch.handoffToAwesomebar", false);
@@ -270,8 +320,9 @@ user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
* SECTION: POCKET * * SECTION: POCKET *
******************************************************************************/ ******************************************************************************/
// PREF: Disable built-in Pocket extension // PREF: disable built-in Pocket extension
user_pref("extensions.pocket.enabled", false); // [1] https://support.mozilla.org/kb/future-of-pocket
//user_pref("extensions.pocket.enabled", false); // DEFAULT
//user_pref("extensions.pocket.api"," "); //user_pref("extensions.pocket.api"," ");
//user_pref("extensions.pocket.oAuthConsumerKey", " "); //user_pref("extensions.pocket.oAuthConsumerKey", " ");
//user_pref("extensions.pocket.site", " "); //user_pref("extensions.pocket.site", " ");
@@ -281,31 +332,35 @@ user_pref("extensions.pocket.enabled", false);
* SECTION: DOWNLOADS * * SECTION: DOWNLOADS *
******************************************************************************/ ******************************************************************************/
// PREF: autohide the downloads button
//user_pref("browser.download.autohideButton", true); // DEFAULT
// PREF: choose download location // PREF: choose download location
// [SETTING] To set your default "downloads": General>Downloads>Save files to... // [SETTING] To set your default "downloads": General>Downloads>Save files to...
// 0=desktop, 1=downloads (default), 2=last used // 0=desktop, 1=downloads (default), 2=last used
//user_pref("browser.download.folderList", 1); // DEFAULT //user_pref("browser.download.folderList", 1); // DEFAULT
// PREF: always ask where to download // PREF: always ask how to handle new mimetypes [FF101+]
// Enforce user interaction for greater security. // Enforce user interaction for greater security.
// [SETTING] General>Downloads>Always ask you where to save files // [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);
// PREF: always ask where to download
// [OPTIONAL HARDENING] Enforce user interaction for greater security.
// [SETTING] General>Files and Applications>Downloads>Always ask you where to save files
// [DIALOGUE] "Ask whether to open or save files" // [DIALOGUE] "Ask whether to open or save files"
// true=direct download (default) // true=direct download (default)
// false=the user is asked what to do // false=the user is asked what to do
// [1] https://github.com/yokoffing/Betterfox/issues/216 // [1] https://github.com/yokoffing/Betterfox/issues/267
user_pref("browser.download.useDownloadDir", false); //user_pref("browser.download.useDownloadDir", false);
//user_pref("browser.download.dir", "C:\Users\<YOUR_USERNAME>\AppData\Local\Temp"); // [WINDOWS] //user_pref("browser.download.dir", "C:\Users\<YOUR_USERNAME>\AppData\Local\Temp"); // [WINDOWS]
// PREF: always ask how to handle new mimetypes // PREF: autohide the downloads button
// Enforce user interaction for greater security. //user_pref("browser.download.autohideButton", true); // DEFAULT
// [SETTING] General>Files and Applications>What should Firefox do with other files
user_pref("browser.download.always_ask_before_handling_new_types", true);
// PREF: disable downloads panel opening on every download // PREF: disable download panel opening on every download [non-functional?]
user_pref("browser.download.alwaysOpenPanel", false); // Controls whether to open the download panel every time a download begins.
// [NOTE] The first download ever ran in a new profile will still open the panel.
//user_pref("browser.download.alwaysOpenPanel", false);
// PREF: disable adding downloads to the system's "recent documents" list // PREF: disable adding downloads to the system's "recent documents" list
user_pref("browser.download.manager.addToRecentDocs", false); user_pref("browser.download.manager.addToRecentDocs", false);
@@ -317,6 +372,7 @@ user_pref("browser.download.manager.addToRecentDocs", false);
// PREF: enforce Firefox's built-in PDF reader // PREF: enforce Firefox's built-in PDF reader
// This setting controls if the option "Display in Firefox" is available in the setting below // This setting controls if the option "Display in Firefox" is available in the setting below
// and by effect controls whether PDFs are handled in-browser or externally ("Ask" or "Open With"). // and by effect controls whether PDFs are handled in-browser or externally ("Ask" or "Open With").
// [1] https://mozilla.github.io/pdf.js/
//user_pref("pdfjs.disabled", false); // DEFAULT //user_pref("pdfjs.disabled", false); // DEFAULT
// PREF: allow viewing of PDFs even if the response HTTP headers // PREF: allow viewing of PDFs even if the response HTTP headers
@@ -326,16 +382,28 @@ user_pref("browser.download.manager.addToRecentDocs", false);
// PREF: open PDFs inline (FF103+) // PREF: open PDFs inline (FF103+)
user_pref("browser.download.open_pdf_attachments_inline", true); user_pref("browser.download.open_pdf_attachments_inline", true);
// PREF: PDF sidebar on load [HIDDEN] // PREF: PDF sidebar on load
// 2=table of contents (if not available, will default to 1) // 2=table of contents (if not available, will default to 1)
// 1=view pages // 1=view pages
// -1=disabled (default) // 0=disabled
user_pref("pdfjs.sidebarViewOnLoad", 2); // -1=remember previous state (default)
//user_pref("pdfjs.sidebarViewOnLoad", 2);
// PREF: default zoom for PDFs [HIDDEN] // PREF: default zoom for PDFs [HIDDEN]
// [NOTE] "page-width" not needed if using sidebar on load // [NOTE] "page-width" not needed if using sidebar on load
//user_pref("pdfjs.defaultZoomValue", page-width); //user_pref("pdfjs.defaultZoomValue", page-width);
/****************************************************************************
* SECTION: DOM (DOCUMENT OBJECT MODEL) *
****************************************************************************/
// PREF: prevent scripts from moving and resizing open windows
//user_pref("dom.disable_window_move_resize", true);
// PREF: disable beforeunload event
// [WHY] The method is commonly abused by scam and spyware sites.
// [1] https://developer.mozilla.org/docs/Web/API/Window/beforeunload_event
//user_pref("dom.disable_beforeunload", true);
/**************************************************************************** /****************************************************************************
* SECTION: TAB BEHAVIOR * * SECTION: TAB BEHAVIOR *
****************************************************************************/ ****************************************************************************/
@@ -359,7 +427,7 @@ user_pref("pdfjs.sidebarViewOnLoad", 2);
// 0 = force all new windows opened by JavaScript into tabs // 0 = force all new windows opened by JavaScript into tabs
// [NOTE] Most advertising popups also open in new windows with values set // [NOTE] Most advertising popups also open in new windows with values set
// [1] https://kb.mozillazine.org/About:config_entries // [1] https://kb.mozillazine.org/About:config_entries
//user_pref("browser.link.open_newwindow.restriction", 0); //user_pref("browser.link.open_newwindow.restriction", 2); // DEFAULT
// PREF: override <browser.link.open_newwindow> for external links // PREF: override <browser.link.open_newwindow> for external links
// Set if a different destination for external links is needed // Set if a different destination for external links is needed
@@ -387,11 +455,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);
@@ -413,9 +479,6 @@ user_pref("findbar.highlightAll", true);
// [1] https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/10089 // [1] https://gitlab.torproject.org/tpo/applications/tor-browser/-/issues/10089
//user_pref("middlemouse.contentLoadURL", false); //user_pref("middlemouse.contentLoadURL", false);
// PREF: Prevent scripts from moving and resizing open windows
//user_pref("dom.disable_window_move_resize", true);
// PREF: insert new tabs after groups like it // PREF: insert new tabs after groups like it
// true(default) = open new tabs to the right of the parent tab // true(default) = open new tabs to the right of the parent tab
// false = new tabs are opened at the far right of the tab bar // false = new tabs are opened at the far right of the tab bar
@@ -428,15 +491,21 @@ user_pref("findbar.highlightAll", true);
//user_pref("browser.tabs.closeWindowWithLastTab", false); //user_pref("browser.tabs.closeWindowWithLastTab", false);
// PREF: stop websites from reloading pages automatically // PREF: stop websites from reloading pages automatically
// [WARNING] Breakage with some sites. // [WARNING] Breaks some sites.
// [1] https://www.ghacks.net/2018/08/19/stop-websites-from-reloading-pages-automatically/ // [1] https://www.ghacks.net/2018/08/19/stop-websites-from-reloading-pages-automatically/
//user_pref("accessibility.blockautorefresh", true); //user_pref("accessibility.blockautorefresh", true);
//user_pref("browser.meta_refresh_when_inactive.disabled", true); //user_pref("browser.meta_refresh_when_inactive.disabled", true);
// PREF: Controls if a double click word selection also deletes one adjacent whitespace // PREF: do not select the space next to a word when selecting a word
// (if feasible). This mimics native behavior on macOS. user_pref("layout.word_select.eat_space_to_next_word", false);
// PREF: controls if a double-click word selection also deletes one adjacent whitespace
// This mimics native behavior on macOS.
//user_pref("editor.word_select.delete_space_after_doubleclick_selection", true); //user_pref("editor.word_select.delete_space_after_doubleclick_selection", true);
// PREF: do not hide the pointer while typing [LINUX]
//user_pref("widget.gtk.hide-pointer-while-typing.enabled", false);
// PREF: limit events that can cause a pop-up // PREF: limit events that can cause a pop-up
// Firefox provides an option to provide exceptions for sites, remembered in your Site Settings. // Firefox provides an option to provide exceptions for sites, remembered in your Site Settings.
// (default) "change click dblclick auxclick mouseup pointerup notificationclick reset submit touchend contextmenu" // (default) "change click dblclick auxclick mouseup pointerup notificationclick reset submit touchend contextmenu"
@@ -445,26 +514,46 @@ user_pref("findbar.highlightAll", true);
//user_pref("dom.disable_open_during_load", true); // DEFAULT //user_pref("dom.disable_open_during_load", true); // DEFAULT
//user_pref("privacy.popups.showBrowserMessage", true); // DEFAULT //user_pref("privacy.popups.showBrowserMessage", true); // DEFAULT
// PREF: enable Tab Previews [FF122+, FF128+]
// [1] https://github.com/yokoffing/Betterfox/issues/309
//user_pref("browser.tabs.hoverPreview.enabled", true);
//user_pref("browser.tabs.hoverPreview.showThumbnails", true); // DEFAULT
/**************************************************************************** /****************************************************************************
* SECTION: UNCATEGORIZED * * SECTION: KEYBOARD AND SHORTCUTS *
****************************************************************************/ ****************************************************************************/
// PREF: disable backspace action // PREF: disable backspace action
// 0=previous page, 1=scroll up, 2=do nothing // 0=previous page, 1=scroll up, 2=do nothing
//user_pref("browser.backspace_action", 2); // DEFAULT //user_pref("browser.backspace_action", 2); // DEFAULT
// PREF: disable Reader mode
// Firefox will not have to parse webpage for Reader when navigating.
// Extremely minimal performance impact, if you enable.
//user_pref("reader.parse-on-load.enabled", false);
// PREF: disable ALT key toggling the menu bar // PREF: disable ALT key toggling the menu bar
//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: 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 // PREF: Spell-check
// 0=none, 1-multi-line, 2=multi-line & single-line // 0=none, 1-multi-line, 2=multi-line & single-line
@@ -474,9 +563,25 @@ user_pref("findbar.highlightAll", true);
// [1] https://kb.mozillazine.org/Ui.SpellCheckerUnderlineStyle#Possible_values_and_their_effects // [1] https://kb.mozillazine.org/Ui.SpellCheckerUnderlineStyle#Possible_values_and_their_effects
//user_pref("ui.SpellCheckerUnderlineStyle", 1); //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 // PREF: limit the number of bookmark backups Firefox keeps
//user_pref("browser.bookmarks.max_backups", 1); // default=15 //user_pref("browser.bookmarks.max_backups", 1); // default=15
/****************************************************************************
* SECTION: ZOOM AND DISPLAY SETTINGS *
****************************************************************************/
// PREF: zoom only text on webpage, not other elements // PREF: zoom only text on webpage, not other elements
//user_pref("browser.zoom.full", false); //user_pref("browser.zoom.full", false);
@@ -491,43 +596,40 @@ user_pref("findbar.highlightAll", true);
//user_pref("mousewheel.with_control.action", 3); //user_pref("mousewheel.with_control.action", 3);
//user_pref("mousewheel.with_meta.action", 3); //user_pref("mousewheel.with_meta.action", 3);
// PREF: hide image placeholders // PREF: adjust the minimum tab width
//user_pref("browser.display.show_image_placeholders", false); // 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 // PREF: wrap long lines of text when using source / debugger
//user_pref("view_source.wrap_long_lines", true); //user_pref("view_source.wrap_long_lines", true);
//user_pref("devtools.debugger.ui.editor-wrapping", 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 // [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); //user_pref("browser.newtabpage.activity-stream.asrouter.devtoolsEnabled", true);
// show user agent styles in the inspector // show user agent styles in the inspector
//user_pref("devtools.inspector.showUserAgentStyles", true); //user_pref("devtools.inspector.showUserAgentStyles", true);
// show native anonymous content (like scrollbars or tooltips) and user agent shadow roots (like the components of an <input> element) in the inspector
// show native anonymous content (like scrollbars or tooltips) and user
// agent shadow roots (like the components of an <input> element) in the inspector
//user_pref("devtools.inspector.showAllAnonymousContent", true); //user_pref("devtools.inspector.showAllAnonymousContent", true);
// PREF: print preview /****************************************************************************
//user_pref("print.tab_modal.enabled", true); // DEFAULT * SECTION: IMAGE AND MEDIA HANDLING *
****************************************************************************/
// 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);
// 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: 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://www.jpegxl.io/firefox#firefox-jpegxl-tutorial
// [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
// 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);
+45 -49
View File
@@ -1,16 +1,24 @@
![GitHub Maintained](https://img.shields.io/badge/open%20source-yes-orange) ![Badge](https://hitscounter.dev/api/hit?url=https%3A%2F%2Fgithub.com%2Fyokoffing%2FBetterfox&label=&icon=github&color=%23198754&message=&style=flat&tz=US%2FEastern)![GitHub Maintained](https://img.shields.io/badge/maintained-yes-green)![GitHub last commit](https://img.shields.io/github/last-commit/yokoffing/betterfox)![GitHub issues](https://img.shields.io/github/issues/yokoffing/betterfox)![GitHub closed issues](https://img.shields.io/github/issues-closed/yokoffing/betterfox)![GitHub repo size](https://img.shields.io/github/repo-size/yokoffing/betterfox)[![shields.io Stars](https://img.shields.io/github/stars/yokoffing/betterfox)](https://github.com/yokoffing/betterfox/stargazers)
![GitHub Maintained](https://img.shields.io/badge/maintained-yes-yellow)
[![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 # Betterfox
[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/). [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 ## Made for everyday browsing
**A secure, blazing fast browsing experience. Without breakage.** Make Firefox more private and secure — without using third-party code.
Betterfox is an opinionated preference list inspired by the [law of diminishing returns](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). Betterfox is an opinionated preference list inspired by the [law of diminishing returns](https://miro.medium.com/v2/resize:fit:1206/1*lcOcxriV_II_lZuXQYLoXg.jpeg) and the [minimum effective dose](https://medium.com/the-mission/less-is-more-the-minimum-effective-dose-e6d56625931e).
## Required reading
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 both [Common Overrides](https://github.com/yokoffing/Betterfox/wiki/Common-Overrides) and [Optional Hardening](https://github.com/yokoffing/Betterfox/wiki/Optional-Hardening) to make any necessary changes.
3) Open Firefox. In the URL bar, type `about:profiles` and press **Enter**.
4) For the profile you want to use, click **Open Folder** in the **Root Directory** section.
5) Move the `user.js` file into the folder.
*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).
2) Enable **DNS-level protection** with your chosen [provider](https://github.com/yokoffing/Betterfox/wiki/Optional-Hardening#secure-dns) to further protect against security threats, ads, and trackers.
## Simple goals ## Simple goals
1) **Minimalism:** get what isn't needed out of the way 1) **Minimalism:** get what isn't needed out of the way
@@ -19,47 +27,33 @@ Betterfox is an opinionated preference list inspired by the [law of diminishing
## Simple configs ## Simple configs
`Securefox`, `Peskyfox`, and `Smoothfox` are guides to settings within Firefox. The `user.js` — a configuration file that controls Firefox settings — is curated from these guides.
| List | Description | | List | Description |
|:---------:|-------------| |:---------:|-------------|
| [Fastfox](https://github.com/yokoffing/Betterfox/blob/main/Fastfox.js) | Immensely increase Firefox's browsing speed. Give Chrome a run for its money!|
| [Securefox](https://github.com/yokoffing/Betterfox/blob/main/Securefox.js) | [Global Privacy Control](https://blog.mozilla.org/netpolicy/2021/10/28/implementing-global-privacy-control/). [HTTPS-by-Default](https://blog.mozilla.org/security/2021/08/10/firefox-91-introduces-https-by-default-in-private-browsing/). [Total Cookie Protection](https://blog.mozilla.org/security/2021/02/23/total-cookie-protection/) with [site isolation](https://blog.mozilla.org/security/2021/05/18/introducing-site-isolation-in-firefox/). Enhanced [state](https://developer.mozilla.org/en-US/docs/Web/Privacy/State_Partitioning) and [network](https://blog.mozilla.org/security/2021/01/26/supercookie-protections/) partitioning. [Telemetry](https://github.com/yokoffing/Betterfox/blob/e66a549985f6b0db4b14226904b8c09eaaea998f/Securefox.js#L1262-L1265) disabled. |
| [Peskyfox](https://github.com/yokoffing/Betterfox/blob/main/Peskyfox.js) | Unclutter the new tab page. Remove [Pocket](https://support.mozilla.org/en-US/kb/what-pocket). Restore [compact mode](https://support.mozilla.org/en-US/kb/compact-mode-workaround-firefox) as an option. Stop webpage notifications, pop-ups, and other annoyances. |
| [Smoothfox](https://github.com/yokoffing/Betterfox/blob/main/Smoothfox.js) | Get Edge-like smooth scrolling on your favorite browser — or choose something more your style. |
| [user.js](https://github.com/yokoffing/Betterfox/blob/main/user.js) | All the essentials. None of the breakage. This is your `user.js`. | | [user.js](https://github.com/yokoffing/Betterfox/blob/main/user.js) | All the essentials. None of the breakage. This is your `user.js`. |
| [Securefox](https://github.com/yokoffing/Betterfox/blob/main/Securefox.js) | Protect user data without causing site breakage. |
`Fastfox`, `Securefox`, `Peskyfox`, and `Smoothfox` are guides to settings within Firefox. | [Peskyfox](https://github.com/yokoffing/Betterfox/blob/main/Peskyfox.js) | Provide a clean, distraction-free browsing experience. |
| [Smoothfox](https://github.com/yokoffing/Betterfox/blob/main/Smoothfox.js)<br>(optional) | Get Edge-like smooth scrolling on your favorite browser — or choose something more your style. |
The `user.js` — a configuration file that controls Firefox settings — is curated from these guides.
## Getting started
*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…`).
2) Review [Common Overrides](https://github.com/yokoffing/Betterfox/wiki/Common-Overrides) and make any necessary changes.
3) Open Firefox. In the URL bar, type `about:profiles` and press `Enter`.
4) For the profile you want to use (or use default), click `Open Folder` in the **Root Directory** section.
5) Move the `user.js` file into the folder.
*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/).
3) 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.
## about:Privacy
Betterfox is a great balance of privacy and convenience.
See [Optional Hardening](https://github.com/yokoffing/Betterfox/wiki/Optional-Hardening) for other suggestions.
## Recognition ## Recognition
### 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) > [!IMPORTANT]
* [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) > 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/tree/stable/prefs) (July 2024)
* [FireDragon](https://github.com/dr460nf1r3/firedragon-browser/blob/master/README.md) | [files](https://github.com/dr460nf1r3/firedragon-browser/blob/55fc6e5029542cd90fabe23cb44c89568d74d006/firedragon.cfg#L822-L824) (Jan 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/docs/releases/G6.0/) | [files](https://github.com/WaterfoxCo/Waterfox/tree/current/waterfox/browser/app/profile) (Sep 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) (Apr 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)
### YouTube ### YouTube
* [Ukrainian] [Firefox is NOT private. I show how to fix it.](https://youtu.be/mVBxBPwI_gE?si=CdPhYN8OezQbvazX&t=222) (Aug 2023) * [A Better Firefox](https://youtu.be/JuHIwCFx34Q?si=1dx39t3HX5kzNVj-&t=133) (Mar 2025)
* [Ditch Chrome for One Of These BETTER BROWSERS!](https://youtu.be/ygkxFc8SZlc?si=m5NQe-b_oFXs5crb&t=230) (Aug 2024)
* [The ULTIMATE Browser Tier List](https://youtu.be/j5r6jFE8gic?t=560) (Mar 2023) * [The ULTIMATE Browser Tier List](https://youtu.be/j5r6jFE8gic?t=560) (Mar 2023)
* [I Hate Firefox. But I'm Still Switching Back to It.](https://youtu.be/w0SJFED5xK0?t=220) (Nov 2022) * [I Hate Firefox. But I'm Still Switching Back to It.](https://youtu.be/w0SJFED5xK0?t=220) (Nov 2022)
* [Español] [Optimize and Accelerate Firefox](https://www.youtube.com/watch?v=3XtoONmq5_Q) (Nov 2022) * [Español] [Optimize and Accelerate Firefox](https://www.youtube.com/watch?v=3XtoONmq5_Q) (Nov 2022)
@@ -70,7 +64,12 @@ See [Optional Hardening](https://github.com/yokoffing/Betterfox/wiki/Optional-Ha
* [GhoSTORIES with Franz & Pete](https://anchor.fm/ghostories/episodes/S2E6-We-Talking-Ghostery-Dawn----Again-er0q02/a-a4o5vmh) | 17:0518:40 (Feb 2021) * [GhoSTORIES with Franz & Pete](https://anchor.fm/ghostories/episodes/S2E6-We-Talking-Ghostery-Dawn----Again-er0q02/a-a4o5vmh) | 17:0518:40 (Feb 2021)
### Articles ### Articles
* [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) (April 2023) * [How I Set Up Firefox for True Privacy ](https://dtptips.com/how-i-set-up-firefox-for-true-privacy-hint-its-not-the-default-setup/) (Oct 2025)
* [Phishing Bank Logins Over Plain HTTP in 2025](https://vrls.ws/posts/phishing-bank-logins-over-plain-http-in-2025/) (Oct 2025)
* [Español] [Firefox is an excellent browser, but this small modification makes it much faster and more private](https://www.genbeta.com/a-fondo/firefox-excelente-navegador-esta-pequena-modificacion-hace-mucho-rapido-privado-asi-funciona-betterfox) (Jan 2025)
* [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) * [2023 Browser Showdown: Comparing Chrome, Brave, Firefox, Vivaldi, and Opera](https://www.appdate.lk/technology/2023-browser-showdown/) (Jan 2023)
### Guides ### Guides
@@ -83,9 +82,10 @@ See [Optional Hardening](https://github.com/yokoffing/Betterfox/wiki/Optional-Ha
* “I use this one ... The performance is absolutely amazing. Theres definitely a huge difference when it comes to loading sites.” - [DIRIKtv](https://youtu.be/N8IOJiOFVEk?t=16) * “I use this one ... The performance is absolutely amazing. Theres definitely a huge difference when it comes to loading sites.” - [DIRIKtv](https://youtu.be/N8IOJiOFVEk?t=16)
* "BetterFox ... will provide good-enough privacy and help with performance." - [Qdoit12Super](https://old.reddit.com/r/browsers/comments/139h4my/suggestion_for_finding_3_good_privacy_focus/jj3n3qn/?context=2) * "BetterFox ... will provide good-enough privacy and help with performance." - [Qdoit12Super](https://old.reddit.com/r/browsers/comments/139h4my/suggestion_for_finding_3_good_privacy_focus/jj3n3qn/?context=2)
* "...drastically changed the experience with Firefox for me. Improved speed, security, smoothness, and removed clutter." - [AppDate](https://www.appdate.lk/technology/2023-browser-showdown/#:~:text=Used%20the%20BetterFox%20user%20config%20settings%20with%20some%20overrides%20which%20drastically%20changed%20the%20experience) * "...drastically changed the experience with Firefox for me. Improved speed, security, smoothness, and removed clutter." - [AppDate](https://www.appdate.lk/technology/2023-browser-showdown/#:~:text=Used%20the%20BetterFox%20user%20config%20settings%20with%20some%20overrides%20which%20drastically%20changed%20the%20experience)
* "Firefox with uBlock Origin extension and tuned with Betterfox is faster than Safari." - [cugeloid](https://elephas.app/blog/best-browsers-mac#what-is-the-best-browser-for-mac-according-to-redditandnbsp)
* "I don't think I could use Firefox without Betterfox." - [Professional_Fun4616](https://old.reddit.com/r/nextdns/comments/15y815f/the_people_behind_betterfox_have_this_awesome/jxb7cir/?context=3) * "I don't think I could use Firefox without Betterfox." - [Professional_Fun4616](https://old.reddit.com/r/nextdns/comments/15y815f/the_people_behind_betterfox_have_this_awesome/jxb7cir/?context=3)
* "The best collection of tweaks available." - [AuRiMaS](https://old.reddit.com/r/MozillaFirefox/comments/15cc1vk/about_changes_in_aboutconfig/jtyx910/?context=3) * "The best collection of tweaks available." - [AuRiMaS](https://old.reddit.com/r/MozillaFirefox/comments/15cc1vk/about_changes_in_aboutconfig/jtyx910/?context=3)
* "FF is now much snappier! Thanks a lot for the suggestions!" - [whotheff](https://old.reddit.com/r/firefox/comments/z5auzi/firefox_not_properly_usingrecognizing_gpu_poor/iy36hyz/) * "FF is now much snappier!" - [whotheff](https://old.reddit.com/r/firefox/comments/z5auzi/firefox_not_properly_usingrecognizing_gpu_poor/iy36hyz/)
* "...the experience is so good now I dont think Ill go back to any of the chromium based browsers." - [Mr_Compromise](https://old.reddit.com/r/pcmasterrace/comments/zwioe1/what_browser_will_you_be_using_in_2023_please/j1wmbxo/) * "...the experience is so good now I dont think Ill go back to any of the chromium based browsers." - [Mr_Compromise](https://old.reddit.com/r/pcmasterrace/comments/zwioe1/what_browser_will_you_be_using_in_2023_please/j1wmbxo/)
## Support ## Support
@@ -94,16 +94,12 @@ If you like the project, leave a :star: (top right) and become a [stargazer](htt
[![Stargazers repo roster for @yokoffing/Betterfox](https://reporoster.com/stars/dark/yokoffing/Betterfox)](https://github.com/yokoffing/Betterfox/stargazers) [![Stargazers repo roster for @yokoffing/Betterfox](https://reporoster.com/stars/dark/yokoffing/Betterfox)](https://github.com/yokoffing/Betterfox/stargazers)
## Credit <a href='https://ko-fi.com/Q5Q5G8EPH' target='_blank'><img height='36' style='border:0px;height:36px;' src='https://storage.ko-fi.com/cdn/kofi2.png?v=3' border='0' alt='Buy Me a Coffee at ko-fi.com' /></a>
<div> <noscript><a href="https://liberapay.com/yokoffing/donate"><img alt="Donate using Liberapay" src="https://liberapay.com/assets/widgets/donate.svg"></a></noscript>
<img align="right" src="https://media.tenor.com/m_knf6IKaJwAAAAC/hi-fox.gif" width="110" height="120"/>
</div>
* This repository benefits from the ongoing research provided by [arkenfox](https://github.com/arkenfox/user.js). ## Credit
* Betterfox mirrors the ongoing work provided by [arkenfox](https://github.com/arkenfox/user.js). Additionally, this repository includes content reproduced or adapted from other sources. Credit for overlapping material goes to the original authors.
* Appreciation goes to the [Firefox](https://www.mozilla.org/en-US/firefox/new/) team and developers working on [Bugzilla](https://bugzilla.mozilla.org/home), fighting for the open web. * Appreciation goes to the [Firefox](https://www.mozilla.org/en-US/firefox/new/) team and developers working on [Bugzilla](https://bugzilla.mozilla.org/home), fighting for the open web.
* Thanks to [Denperidge](https://github.com/Denperidge) for adding [`install.py`](https://github.com/yokoffing/Betterfox/blob/main/install.py) for advanced users in v.131.
* A special thanks to [Alex Kontos](https://github.com/MrAlex94) of [Waterfox](https://github.com/WaterfoxCo/Waterfox) for his collaboration in v.116. * A special thanks to [Alex Kontos](https://github.com/MrAlex94) of [Waterfox](https://github.com/WaterfoxCo/Waterfox) for his collaboration in v.116.
* Many thanks to the 2021 [Ghostery](https://github.com/ghostery) team for testing Betterfox at scale in its early days. * Many thanks to the 2021 [Ghostery](https://github.com/ghostery) team for testing Betterfox at scale in its early days.
<div align='center'>
<a href='https://www.websitecounterfree.com'><img src='https://www.websitecounterfree.com/c.php?d=9&id=19653&s=1' border='0' alt='Free Website Counter'></a><br / >
since 23 July 2022</div>
+740 -409
View File
File diff suppressed because it is too large Load Diff
+38 -16
View File
@@ -1,43 +1,65 @@
/**************************************************************************************** /****************************************************************************************
* Smoothfox * * Smoothfox *
* "Faber est suae quisque fortunae" * * "Faber est suae quisque fortunae" *
* priority: better scrolling * * priority: better scrolling *
* version: July 2023 * * version: 137 *
* url: https://github.com/yokoffing/Betterfox * * url: https://github.com/yokoffing/Betterfox *
***************************************************************************************/ ***************************************************************************************/
/**************************************************************************************** // Use only one option at a time!
* OPTION 1: INSTANT SCROLLING (SIMPLE ADJUSTMENT) * // Reset prefs if you decide to use different option.
****************************************************************************************/
// recommended for 60hz+ displays
user_pref("apz.overscroll.enabled", true); // not DEFAULT on Linux
user_pref("general.smoothScroll", true); // DEFAULT
user_pref("mousewheel.default.delta_multiplier_y", 275); // 250-400; adjust this number to your liking
/**************************************************************************************** /****************************************************************************************
* OPTION 2: SMOOTH SCROLLING * * OPTION: SHARPEN SCROLLING *
****************************************************************************************/
// credit: https://github.com/black7375/Firefox-UI-Fix
// only sharpen scrolling
user_pref("apz.overscroll.enabled", true); // DEFAULT NON-LINUX
user_pref("general.smoothScroll", true); // DEFAULT
user_pref("mousewheel.min_line_scroll_amount", 10); // adjust this number to your liking; default=5
user_pref("general.smoothScroll.mouseWheel.durationMinMS", 80); // default=50
user_pref("general.smoothScroll.currentVelocityWeighting", "0.15"); // default=.25
user_pref("general.smoothScroll.stopDecelerationWeighting", "0.6"); // default=.4
// Firefox Nightly only:
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1846935
user_pref("general.smoothScroll.msdPhysics.enabled", false); // [FF122+ Nightly]
/****************************************************************************************
* OPTION: INSTANT SCROLLING (SIMPLE ADJUSTMENT) *
****************************************************************************************/
// recommended for 60hz+ displays
user_pref("apz.overscroll.enabled", true); // DEFAULT NON-LINUX
user_pref("general.smoothScroll", true); // DEFAULT
user_pref("mousewheel.default.delta_multiplier_y", 275); // 250-400; adjust this number to your liking
// Firefox Nightly only:
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1846935
user_pref("general.smoothScroll.msdPhysics.enabled", false); // [FF122+ Nightly]
/****************************************************************************************
* OPTION: SMOOTH SCROLLING *
****************************************************************************************/ ****************************************************************************************/
// recommended for 90hz+ displays // recommended for 90hz+ displays
user_pref("apz.overscroll.enabled", true); // not DEFAULT on Linux user_pref("apz.overscroll.enabled", true); // DEFAULT NON-LINUX
user_pref("general.smoothScroll", true); // DEFAULT user_pref("general.smoothScroll", true); // DEFAULT
user_pref("general.smoothScroll.msdPhysics.enabled", true); user_pref("general.smoothScroll.msdPhysics.enabled", true);
user_pref("mousewheel.default.delta_multiplier_y", 300); // 250-400; adjust this number to your liking user_pref("mousewheel.default.delta_multiplier_y", 300); // 250-400; adjust this number to your liking
/**************************************************************************************** /****************************************************************************************
* OPTION 3: NATURAL SMOOTH SCROLLING V3 [MODIFIED] * * OPTION: NATURAL SMOOTH SCROLLING V3 [MODIFIED] *
****************************************************************************************/ ****************************************************************************************/
// credit: https://github.com/AveYo/fox/blob/cf56d1194f4e5958169f9cf335cd175daa48d349/Natural%20Smooth%20Scrolling%20for%20user.js
// recommended for 120hz+ displays // recommended for 120hz+ displays
// largely matches Chrome flags: Windows Scrolling Personality and Smooth Scrolling // largely matches Chrome flags: Windows Scrolling Personality and Smooth Scrolling
// from https://github.com/AveYo/fox/blob/cf56d1194f4e5958169f9cf335cd175daa48d349/Natural%20Smooth%20Scrolling%20for%20user.js user_pref("apz.overscroll.enabled", true); // DEFAULT NON-LINUX
user_pref("apz.overscroll.enabled", true); // not DEFAULT on Linux
user_pref("general.smoothScroll", true); // DEFAULT user_pref("general.smoothScroll", true); // DEFAULT
user_pref("general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 12); user_pref("general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 12);
user_pref("general.smoothScroll.msdPhysics.enabled", true); user_pref("general.smoothScroll.msdPhysics.enabled", true);
user_pref("general.smoothScroll.msdPhysics.motionBeginSpringConstant", 600); user_pref("general.smoothScroll.msdPhysics.motionBeginSpringConstant", 600);
user_pref("general.smoothScroll.msdPhysics.regularSpringConstant", 650); user_pref("general.smoothScroll.msdPhysics.regularSpringConstant", 650);
user_pref("general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 25); user_pref("general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 25);
user_pref("general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", 2.0); user_pref("general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", "2");
user_pref("general.smoothScroll.msdPhysics.slowdownSpringConstant", 250); user_pref("general.smoothScroll.msdPhysics.slowdownSpringConstant", 250);
user_pref("general.smoothScroll.currentVelocityWeighting", 1.0); user_pref("general.smoothScroll.currentVelocityWeighting", "1");
user_pref("general.smoothScroll.stopDecelerationWeighting", 1.0); user_pref("general.smoothScroll.stopDecelerationWeighting", "1");
user_pref("mousewheel.default.delta_multiplier_y", 300); // 250-400; adjust this number to your liking user_pref("mousewheel.default.delta_multiplier_y", 300); // 250-400; adjust this number to your liking
+301
View File
@@ -0,0 +1,301 @@
#!/usr/bin/env python3
from datetime import datetime
from os import name, getenv
from json import loads
from re import compile, IGNORECASE, sub
from pathlib import Path
from configparser import ConfigParser
from argparse import ArgumentParser
from shutil import copytree, ignore_patterns
from urllib.request import urlopen
from subprocess import check_output
from io import BytesIO
from zipfile import ZipFile
"""
install(-betterfox).py
Usage:
python install.py
When called without arguments, it will:
- Backup your current firefox profile
- Automatically download user.js from the latest Betterfox release compatible with your Firefox version into the profile
- Apply user-overrides in the same directory
However, you can check out install.py/betterfox-install.exe --help to customise most behaviours!
Limitations:
- When using a different repositoy as a source, that repository needs to use the same releases workflow
- Over time, the get_releases might not list older releases due to limited page size. This can be expanded down the road, though
Building into an exe (on Windows):
- pipx install pyinstaller (note: you can try without pipx, but this didn't work for me)
- Run:
- CMD: `pyinstaller --onefile --name install-betterfox install.py && move %cd%\\dist\\install-betterfox.exe %cd% && del install-betterfox.spec && rmdir /S /Q build && rmdir dist`
- BASH: `pyinstaller --onefile --name install-betterfox install.py && && mv dist/install-betterfox.exe . && rm install-betterfox.spec && rm -rf ./build/ && rmdir dist`
(Sorry, didn't want to add a .gitignore solely for the install script)
- Done!
If there's any problems with the script, feel free to mention @Denperidge on GitHub!
"""
re_find_version = compile(r"mozilla.org/.*?/firefox/(?P<version>[\d.]*?)/", IGNORECASE)
re_find_overrides = r"(overrides|prefs).*\n(?P<space>\n)"
INSTALLATIONS_TO_CHECK = [
# windows
{
"command": [str(Path("C:/Program Files/Mozilla Firefox/firefox"))],
"root": Path(getenv("APPDATA") or "").joinpath("Mozilla/Firefox").resolve(),
},
{
"command": [str(Path(getenv("LOCALAPPDATA") or "").joinpath("Mozilla Firefox/firefox").resolve())],
"root": Path(getenv("APPDATA") or "").joinpath("Mozilla/Firefox").resolve(),
},
# linux
{
"command": ["firefox"],
"root": Path.home().joinpath(".mozilla/firefox").absolute(),
},
# flatpak
{
"command": ["flatpak", "run", "org.mozilla.firefox"],
"root": Path.home().joinpath(".var/app/org.mozilla.firefox/.mozilla/firefox").absolute(),
},
# macOS
{
"command": ["/Applications/Firefox.app/Contents/MacOS/firefox"],
"root": Path.home().joinpath("Library/Application Support/Firefox").absolute(),
},
]
# command is a list, eg. ["firefox"] or ["flatpak", "run", "org.mozilla.firefox"]
def _get_firefox_version(command):
ver_string = check_output(command + ["--version"], encoding="UTF-8")
return ver_string[ver_string.rindex(" ")+1:].strip()
def _get_default_firefox_version_and_root():
print("Searching for Firefox installation...")
for installation in INSTALLATIONS_TO_CHECK:
try:
print(f" '{' '.join(installation['command'])}': ", end="")
version = _get_firefox_version(installation["command"])
print("YES")
print(f"Root: {installation['root']}")
return version, installation["root"]
except Exception:
print("no")
continue
raise Exception("Firefox binary not found. Please ensure Firefox is installed and the path is correct.")
def _get_default_profile_folder(firefox_root):
config_path = firefox_root.joinpath("profiles.ini")
print(f"Reading {config_path}...")
config_parser = ConfigParser(strict=False)
config_parser.read(config_path, encoding = "utf8")
path = None
for section in config_parser.sections():
if "Default" in config_parser[section]:
section_default_value = config_parser[section]["Default"]
if section_default_value:
print("Default detected from section: " + section)
# Confirm whether a 0 value is possible, keep fallback until then
if section_default_value == "0":
continue
if section_default_value == "1":
path = config_parser[section]["Path"]
else:
path = section_default_value
break
if path is not None:
return firefox_root.joinpath(path)
else:
raise Exception("Could not determine default Firefox profile! Exiting...")
def _get_releases(repository_owner, repository_name):
releases = []
raw_releases = loads(urlopen(f"https://api.github.com/repos/{repository_owner}/{repository_name}/releases").read())
for raw_release in raw_releases:
name = raw_release["name"] or raw_release["tag_name"] # or fixes 126.0 not being lodaded
body = raw_release["body"]
# Find which firefox releases are supported. Manual overrides for ones that don't have it written in their thing!
if name == "user.js v.122.1":
supported = ["107.0", "107.1", "108.0", "108.0.1", "108.0.2", "109.0", "109.0", "110.1", "110.0.1", "111.0", "111.0.1", "112.0", "112.0.1", "112.0.2", "113.0", "113.0.1", "113.0.2", "114.0", "114.0.1", "114.0.2", "115.0", "115.0.1", "115.0.2", "115.0.3", "115.1.0", "115.10.0", "115.11.0", "115.12.0", "115.13.0", "115.14.0", "115.15.0", "115.16.0", "115.16.1", "115.17.0", "115.2.0", "115.2.1", "115.3.0", "115.3.1", "115.4.0", "115.5.0", "115.6.0", "115.7.0", "115.8.0", "115.9.0", "115.9.1", "116.0", "116.0.1", "116.0.2", "116.0.3", "117.0", "117.0.1", "118.0", "118.0.1", "118.0.2", "119.0", "119.0.1", "120.0", "120.0.1", "121.0", "121.0.1", "122.0", "122.0.1"]
elif name == "user.js 116.1":
supported = ["116.0", "116.0.1", "116.0.2", "116.0.3"]
elif name == "Betterfox v.107":
supported = ["107.0"]
elif "firefox release" in body.lower():
trim_body = body.lower()[body.lower().index("firefox release"):]
supported = re_find_version.findall(trim_body)
if len(supported) == 0:
print(f"Could not parse release in '{name}'. Please post this error message on https://github.com/{repository_owner}/{repository_name}/issues")
continue
else:
print(f"Could not find firefox release header '{name}'. Please post this error message on https://github.com/{repository_owner}/{repository_name}/issues")
continue
releases.append({
"name": name,
"url": raw_release["zipball_url"],
"supported": supported,
})
return releases
def _get_latest_compatible_release(releases):
for release in releases:
if firefox_version in release["supported"]:
return release
return None
def backup_profile(src):
dest = f"{src}-backup-{datetime.today().strftime('%Y-%m-%d-%H-%M-%S')}"
copytree(src, dest, ignore=ignore_patterns("*lock"))
print("Backed up profile to " + dest)
def download_betterfox(url):
data = BytesIO()
data.write(urlopen(url).read())
return data
def extract_betterfox(data, profile_folder):
zipfile = ZipFile(data)
userjs_zipinfo = None
depth = 1 # default to firefox user.js living at root dir
if args.browser != "firefox":
depth = 2 # ignore the outside
for file in zipfile.filelist:
path = file.filename.split("/")
if len(path)-1 != depth or (args.browser not in path and depth != 1) :
continue
if file.filename.endswith("user.js"):
userjs_zipinfo = file
userjs_zipinfo.filename = Path(userjs_zipinfo.filename).name
break
if not userjs_zipinfo:
raise BaseException("Could not find user.js!")
return zipfile.extract(userjs_zipinfo, profile_folder)
def list_releases(releases, only_supported=False, add_index=False):
print()
print(f"Listing {'compatible' if only_supported else 'all'} Betterfox releases:")
if only_supported:
print("Use --list-all to view all available releases")
else:
print(f"Releases marked with '> ' are documented to be compatible with your Firefox version ({firefox_version})")
print()
i = 0
for release in releases:
supported = firefox_version in release["supported"]
if not only_supported or (only_supported and supported):
print(f"{f'[{i}]' if add_index else ''}{'> ' if supported else ' '}{release['name'].ljust(20)}\t\t\tSupported: {','.join(release['supported'])}")
i+=1
def _press_enter_to_exit(args):
if not args.no_wait_for_exit:
input("Press ENTER to exit...")
if __name__ == "__main__":
firefox_version, firefox_root = _get_default_firefox_version_and_root()
default_profile_folder = _get_default_profile_folder(firefox_root)
argparser = ArgumentParser()
argparser.add_argument("--overrides", "-o", default=default_profile_folder.joinpath("user-overrides.js"), help="if the provided file exists, add overrides to user.js. Defaults to " + str(default_profile_folder.joinpath("user-overrides.js"))),
advanced = argparser.add_argument_group("Advanced")
advanced.add_argument("--betterfox-version", "-bv", default=None, help=f"Which version of Betterfox to install. Defaults to the latest compatible release for your installed Firefox version")
advanced.add_argument("--profile-dir", "-p", "-pd", default=default_profile_folder, help=f"Which profile dir to install user.js in. Defaults to {default_profile_folder}")
advanced.add_argument("--repository-owner", "-ro", default="yokoffing", help="owner of the Betterfox repository. Defaults to yokoffing")
advanced.add_argument("--repository-name", "-rn", default="Betterfox", help="name of the Betterfox repository. Defaults to Betterfox")
advanced.add_argument("--browser", "-b", default="firefox", help="Which browser should Betterfox install to. Defaults to firefox. Available options: firefox, zen, waterfox")
disable = argparser.add_argument_group("Disable functionality")
disable.add_argument("--no-backup", "-nb", action="store_true", default=False, help="disable backup of current profile (not recommended)"),
disable.add_argument("--no-install", "-ni", action="store_true", default=False, help="don't install Betterfox"),
modes = argparser.add_mutually_exclusive_group()
modes.add_argument("--list", action="store_true", default=False, help=f"List all Betterfox releases compatible with your version of Firefox ({firefox_version})")
modes.add_argument("--list-all", action="store_true", default=False, help=f"List all Betterfox releases")
modes.add_argument("--interactive", "-i", action="store_true", default=False, help=f"Interactively select Betterfox version")
behaviour = argparser.add_argument_group("Script behaviour")
behaviour.add_argument("--no-wait-for-exit", "-nwfe", action="store_true", default=False, help="Disable 'Press ENTER to exit...' and exit immediately"),
args = argparser.parse_args()
releases = _get_releases(args.repository_owner, args.repository_name)
selected_release = None
if args.list or args.list_all:
list_releases(releases, args.list)
_press_enter_to_exit(args)
exit()
if not args.no_backup:
backup_profile(args.profile_dir)
if args.betterfox_version:
# If not None AND not string, default value has been used
if not isinstance(args.betterfox_version, str):
selected_release = args.betterfox_version
print(f"Using latest compatible Betterfox version ({selected_release['name']})...")
# If string has been passed
else:
selected_release = next(rel for rel in releases if rel['name'] == args.betterfox_version)
print(f"Using manually selected Betterfox version ({selected_release['name']})")
if not args.betterfox_version:
selected_release = _get_latest_compatible_release(releases)
if args.interactive or not selected_release:
if not selected_release:
print("Could not find a compatible Betterfox version for your Firefox installation.")
list_releases(releases, False, True)
selection = int(input(f"Select Betterfox version, or press enter without typing a number to cancel [0-{len(releases) - 1}]: "))
selected_release = releases[selection]
if not args.no_install:
userjs_path = extract_betterfox(
download_betterfox(selected_release["url"]),
args.profile_dir
)
print(f"Installed user.js to {userjs_path} !")
if Path(args.overrides).exists():
print("Found overrides at " + str(args.overrides))
with open(str(args.overrides), "r", encoding="utf-8") as overrides_file:
overrides = overrides_file.read()
with open(userjs_path, "r", encoding="utf-8") as userjs_file:
old_content = userjs_file.read()
new_content = sub(re_find_overrides, "\n" + overrides + "\n", old_content, count=1, flags=IGNORECASE)
with open(userjs_path, "w", encoding="utf-8") as userjs_file:
userjs_file.write(new_content)
else:
print(f"Found no overrides in {args.overrides}")
_press_enter_to_exit(args)
-114
View File
@@ -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 *
****************************************************************************/
+202
View File
@@ -0,0 +1,202 @@
/****************************************************************************
* *
* DISCLAIMER *
* *
* This file is NOT INTENDED FOR OFFICIAL USE *
* It is a mix of PERSONAL and TESTING prefs and *
* may cause breakage or contain changes you do not want! *
* DO NOT USE unless you know what you are doing! *
* *
****************************************************************************/
/****************************************************************************
* START: MY OVERRIDES *
****************************************************************************/
/** SETUP ON FIRST INSTALLATION ***/
//user_pref("network.trr.uri", "https://dns.nextdns.io/******/Firefox"); // TRR/DoH
/** FASTFOX ***/
user_pref("browser.sessionstore.restore_pinned_tabs_on_demand", true);
/** SECUREFOX ***/
user_pref("privacy.trackingprotection.allow_list.convenience.enabled", false); // disable Strict allowlist of convenience features
user_pref("signon.rememberSignons", false); // disable password manager
user_pref("extensions.formautofill.addresses.enabled", false); // disable address manager
user_pref("extensions.formautofill.creditCards.enabled", false); // disable credit card manager
user_pref("browser.urlbar.suggest.recentsearches", false); // unselect "Show recent searches" 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.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.autofillForms", false); // unselect "Autofill logins and passwords" for clean UI
user_pref("signon.generation.enabled", false); // unselect "Suggest and generate strong passwords" for clean UI
user_pref("signon.firefoxRelay.feature", ""); // unselect suggestions from Firefox Relay for clean UI
user_pref("browser.safebrowsing.downloads.enabled", false); // deny SB to scan downloads to identify suspicious files; local checks only
user_pref("browser.safebrowsing.downloads.remote.url", ""); // enforce no remote checks for downloads by SB
user_pref("browser.safebrowsing.downloads.remote.block_potentially_unwanted", false); // clean up UI; not needed in user.js if remote downloads are disabled
user_pref("browser.safebrowsing.downloads.remote.block_uncommon", false); // clean up UI; not needed in user.js if remote downloads are disabled
user_pref("browser.safebrowsing.allowOverride", false); // do not allow user to override SB
user_pref("browser.search.update", false); // do not update opensearch engines
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("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.cert_pinning.enforcement_level", 2); // strict public key pinning
user_pref("captivedetect.canonicalURL", ""); // disable captive portal detection
user_pref("network.captive-portal-service.enabled", false); // disable captive portal detection
user_pref("network.connectivity-service.enabled", false); // disable captive portal detection
user_pref("browser.download.enableDeletePrivate", true); // Delete files downloaded in private browsing when all private windows are closed
user_pref("browser.download.deletePrivateChosen", true); // Delete files downloaded in private browsing when all private windows are closed
user_pref("browser.download.deletePrivate", true); // Delete files downloaded in private browsing when all private windows are closed
/** PESKYFOX ***/
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
user_pref("browser.newtabpage.activity-stream.section.highlights.includeBookmarks", false); // Settings>Home>Firefox Home Content>Recent Activity>Bookmarks
user_pref("browser.newtabpage.activity-stream.section.highlights.includeDownloads", false); // Settings>Home>Firefox Home Content>Recent Activity>Most Recent Download
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.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
user_pref("browser.urlbar.suggest.bookmark", false); // Bookmarks; hide URL bar dropdown suggestions
user_pref("browser.urlbar.suggest.openpage", false); // Open tabs; hide URL bar dropdown suggestions
user_pref("browser.urlbar.suggest.topsites", false); // Shortcuts; disable dropdown suggestions with empty query
user_pref("browser.urlbar.suggest.engines", false); // Search engines; tab-to-search
user_pref("browser.urlbar.quicksuggest.enabled", false); // hide Firefox Suggest UI in the settings
//user_pref("browser.urlbar.maxRichResults", 1); // minimum suggestion needed for URL bar autofill
user_pref("browser.bookmarks.max_backups", 0); // minimize disk use; manually back-up
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("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
user_pref("general.autoScroll", false); // disable unintentional behavior for middle click
user_pref("ui.SpellCheckerUnderlineStyle", 1); // [HIDDEN] dots for spell check errors
user_pref("media.videocontrols.picture-in-picture.display-text-tracks.size", "small"); // PiP
user_pref("media.videocontrols.picture-in-picture.urlbar-button.enabled", false); // PiP in address bar
user_pref("reader.parse-on-load.enabled", false); // disable reader mode
//user_pref("reader.color_scheme", "auto"); // match system theme for when reader is enabled
//user_pref("browser.urlbar.openintab", true); // stay on current site and open new tab when typing in URL bar
/** DELETE IF NOT NIGHTLY ***/
user_pref("privacy.userContext.enabled", false); // disable Containers functionality
user_pref("browser.crashReports.unsubmittedCheck.enabled", false); // true by default on NIGHTLY
//user_pref("xpinstall.signatures.required", false); // [ESR/DEV/NIGHTLY]
//user_pref("browser.urlbar.suggest.trending", false); // FF119+ disable showing trending searches; unselect for clean UI
//user_pref("browser.urlbar.suggest.quickactions", false); // Quick actions; hide URL bar dropdown suggestions
//user_pref("browser.urlbar.suggest.clipboard", false); // Clipboard; hide URL bar dropdown suggestions
/** DELETE IF NOT WINDOWS DESKTOP ***/
user_pref("network.trr.mode", 3); // enable TRR (without System fallback)
//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("geo.provider.ms-windows-location", false); // [WINDOWS]
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.cleartype_level", 100);
user_pref("gfx.font_rendering.cleartype_params.force_gdi_classic_for_families", "");
user_pref("gfx.font_rendering.directwrite.use_gdi_table_loading", false);
//user_pref("gfx.font_rendering.cleartype_params.enhanced_contrast", 100);
//user_pref("font.name.serif.x-western", "Roboto Slab"); // serif font
//user_pref("font.name.sans-serif.x-western", "Roboto"); // sans-serif font
//user_pref("font.name.monospace.x-western", "Fira Code"); // monospace font
/** DELETE IF NOT ENTERPRISE WINDOWS LAPTOP ***/
user_pref("urlclassifier.trackingSkipURLs", ""); // do not allow embedded tweets, Instagram, Reddit, and Tiktok posts
user_pref("urlclassifier.features.socialtracking.skipURLs", ""); // do not allow embedded tweets, Instagram, Reddit, and Tiktok posts
user_pref("browser.search.suggest.enabled", true); // search suggestions
user_pref("browser.urlbar.showSearchSuggestionsFirst", true); // Show search suggestions ahead of browsing history in address bar results
//user_pref("network.connectivity-service.enabled", true); // public wifi
//user_pref("network.trr.confirmationNS", "example.com"); // TRR confirmation request
//user_pref("network.trr.mode", 2); // enable TRR (without System fallback)
//user_pref("browser.startup.preXulSkeletonUI", false); // WINDOWS
user_pref("gfx.font_rendering.cleartype_params.rendering_mode", 5);
user_pref("gfx.font_rendering.cleartype_params.cleartype_level", 100);
user_pref("gfx.font_rendering.cleartype_params.force_gdi_classic_for_families", "");
user_pref("gfx.font_rendering.directwrite.use_gdi_table_loading", false);
user_pref("gfx.font_rendering.cleartype_params.enhanced_contrast", 100);
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", false); // no need for userChrome
//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
/** DELETE IF NOT macOS LAPTOP ***/
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("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
/** DELETE IF NOT WATERFOX ***/
// PREF: improve font rendering by using DirectWrite everywhere like Chrome [WINDOWS]
user_pref("gfx.font_rendering.cleartype_params.rendering_mode", 5);
user_pref("gfx.font_rendering.cleartype_params.cleartype_level", 100);
user_pref("gfx.font_rendering.cleartype_params.enhanced_contrast", 100);
user_pref("gfx.font_rendering.directwrite.use_gdi_table_loading", false);
// UI
user_pref("browser.urlbar.scotchBonnet.enableOverride", false); // disable unified search button
user_pref("identity.fxaccounts.enabled", false); // disable Firefox Sync and profiles
user_pref("browser.profiles.enabled", false); // disable Firefox Sync and profiles
/** FASTFOX ***/
user_pref("network.http.rcwn.enabled", false);
//user_pref("network.http.pacing.requests.enabled", false); // pacing requests
user_pref("browser.sessionhistory.max_total_viewers", 4); // default=8
// PREF: adjust DNS expiration time
// [ABOUT] about:networking#dns
// [NOTE] These prefs will be ignored by DNS resolver if using DoH/TRR.
user_pref("network.dnsCacheExpiration", 3600); // keep entries for 1 hour; default=60
user_pref("browser.sessionstore.interval", 900000); // save session every 15 minutes
/** SECUREFOX ***/
user_pref("signon.rememberSignons", false); // disable password manager
user_pref("extensions.formautofill.addresses.enabled", false); // disable address manager
user_pref("extensions.formautofill.creditCards.enabled", false); // disable credit card manager
user_pref("accessibility.force_disabled", 1); // disable Accessibility features
user_pref("dom.security.https_only_mode", false); // disable HTTPS Only in normal windows
user_pref("dom.security.https_only_mode_pbm", true); // HTTPS Only in PB windows
user_pref("media.eme.enabled", false); // disable DRM
user_pref("browser.eme.ui.enabled", false); // hide the UI setting; this also disables the DRM prompt
user_pref("network.trr.max-fails", 5); // lower max attempts to use DoH
// 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_geoclue", false); // [FF102+] [LINUX]
user_pref("privacy.userContext.enabled", false); // disable Container Tabs
/** PESKYFOX ***/
user_pref("browser.bookmarks.max_backups", 0); // minimize disk use; manually back-up
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("layout.word_select.eat_space_to_next_word", false); // do not select the space next to a word when selecting a word
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("ui.SpellCheckerUnderlineStyle", 1); // [HIDDEN] dots for spell check errors
user_pref("reader.parse-on-load.enabled", false); // disable reader mode
+11 -2
View File
@@ -6,7 +6,6 @@
"DisableFirefoxStudies": true, "DisableFirefoxStudies": true,
"DisableTelemetry": true, "DisableTelemetry": true,
"DisableFeedbackCommands": true, "DisableFeedbackCommands": true,
"DisablePocket": true,
"DisableSetDesktopBackground": true, "DisableSetDesktopBackground": true,
"DisableDeveloperTools": false, "DisableDeveloperTools": false,
"DontCheckDefaultBrowser": true, "DontCheckDefaultBrowser": true,
@@ -15,6 +14,15 @@
"ProviderURL": "", "ProviderURL": "",
"Locked": false "Locked": false
}, },
"FirefoxHome": {
"SponsoredStories": false,
"SponsoredTopSites": false,
"Stories": false
},
"GenerativeAI": {
"Enabled": false
},
"ManualAppUpdateOnly": false, "ManualAppUpdateOnly": false,
"ManualAppUpdateOnly_comment": "Change to true to disable auto-updates.", "ManualAppUpdateOnly_comment": "Change to true to disable auto-updates.",
"NoDefaultBookmarks": true, "NoDefaultBookmarks": true,
@@ -36,7 +44,8 @@
"PreventInstalls": false, "PreventInstalls": false,
"Remove": [ "Remove": [
"Amazon.com", "Amazon.com",
"eBay" "eBay",
"Perplexity"
], ],
"Default": "DuckDuckGo", "Default": "DuckDuckGo",
"Add": [ "Add": [
-115
View File
@@ -1,115 +0,0 @@
/****************************************************************************
* *
* DISCLAIMER *
* *
* This file is NOT INTENDED FOR OFFICIAL USE *
* It is a mix of PERSONAL and TESTING prefs and *
* may cause breakage or contain changes you do not want! *
* DO NOT USE unless you know what you are doing! *
* *
****************************************************************************/
/****************************************************************************
* START: MY OVERRIDES *
****************************************************************************/
/** SETUP ON FIRST INSTALLATION ***/
//user_pref("network.trr.uri", "https://dns.nextdns.io/******/Firefox"); // TRR/DoH
/** FASTFOX ***/
//user_pref("dom.ipc.processCount.webIsolated", 2); // process per site
//user_pref("dom.ipc.processPrelaunch.fission.number", 1); // number of Preallocated processes
user_pref("browser.sessionstore.restore_pinned_tabs_on_demand", true);
user_pref("network.http.speculative-parallel-limit", 6); // DEFAULT
user_pref("network.dns.disablePrefetch", false); // DEFAULT; using DoH / ODNS
user_pref("network.dns.disablePrefetchFromHTTPS", false); // using DoH / ODNS
user_pref("browser.urlbar.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.preconnect.enabled", true);
//user_pref("network.early-hints.preconnect.max_connections", 10); // DEFAULT; when 0, this is limited by "network.http.speculative-parallel-limit"
user_pref("network.prefetch-next", true); // DEFAULT if using DOH/ODNS
user_pref("network.predictor.enabled", false);
user_pref("network.predictor.enable-prefetch", false);
/** SECUREFOX ***/
//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.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.autofillForms", false); // unselect "Autofill logins and passwords" for clean UI
user_pref("signon.generation.enabled", false); // unselect "Suggest and generate strong passwords" for clean UI
user_pref("signon.firefoxRelay.feature", "unavailable"); // unselect suggestions from Firefox Relay for clean UI
//user_pref("privacy.sanitize.sanitizeOnShutdown", true); // clear browsing data on shutdown
//user_pref("privacy.clearOnShutdown.offlineApps", true); // clear Site Data on shutdown
user_pref("browser.safebrowsing.downloads.enabled", false); // deny SB to scan downloads to identify suspicious files; local checks only
user_pref("browser.safebrowsing.downloads.remote.url", ""); // enforce no remote checks for downloads by SB
user_pref("browser.safebrowsing.downloads.remote.block_potentially_unwanted", false); // clean up UI; not needed in user.js if remote downloads are disabled
user_pref("browser.safebrowsing.downloads.remote.block_uncommon", false); // clean up UI; not needed in user.js if remote downloads are disabled
user_pref("browser.safebrowsing.allowOverride", false); // do not allow user to override SB
user_pref("dom.push.enabled", false); // disable Push API; breaks FF Sync and Site Notifications
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.trr.confirmationNS", "skip"); // skip TRR confirmation request
user_pref("extensions.webextensions.restrictedDomains", ""); // remove Mozilla domains so adblocker works on pages
/** PESKYFOX ***/
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
user_pref("browser.newtabpage.activity-stream.section.highlights.includeBookmarks", false); // Settings>Home>Firefox Home Content>Recent Activity>Bookmarks
user_pref("browser.newtabpage.activity-stream.section.highlights.includeDownloads", false); // Settings>Home>Firefox Home Content>Recent Activity>Most Recent Download
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.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.translations.autoTranslate", true); // make Firefox auto-translate non-English pages
user_pref("browser.urlbar.suggest.bookmark", false); // hide URL bar dropdown suggestions
user_pref("browser.urlbar.suggest.history", false); // hide URL bar dropdown suggestions
user_pref("browser.urlbar.suggest.openpage", false); // hide URL bar dropdown suggestions
//user_pref("browser.urlbar.suggest.searches", false); // hide URL bar dropdown suggestions (needed?)
//user_pref("browser.urlbar.maxRichResults", 1); // minimum suggestion needed for URL bar autofill
user_pref("browser.bookmarks.max_backups", 0); // minimize disk use; manually back-up
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); // [HIDDEN] force showing of Table of Contents in sidebar for PDFs (if available)
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("ui.SpellCheckerUnderlineStyle", 1); // dots for spell check errors
//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("media.videocontrols.picture-in-picture.display-text-tracks.size", "small"); // PiP
user_pref("media.videocontrols.picture-in-picture.urlbar-button.enabled", false); // PiP in address bar
user_pref("reader.parse-on-load.enabled", false); // disable reader mode
//user_pref("reader.color_scheme", "auto"); // match system theme for when reader is enabled
//user_pref("browser.urlbar.openintab", true); // stay on current site and open new tab when typing in URL bar
/** DELETE IF NOT NIGHTLY ***/
user_pref("privacy.userContext.enabled", false); // disable Containers functionality
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("xpinstall.signatures.required", false); // [ESR/DEV/NIGHTLY]
/** DELETE IF NOT WINDOWS DESKTOP ***/
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("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("gfx.font_rendering.cleartype_params.rendering_mode", 5);
user_pref("gfx.font_rendering.cleartype_params.cleartype_level", 100);
user_pref("gfx.font_rendering.cleartype_params.force_gdi_classic_for_families", "");
user_pref("gfx.font_rendering.cleartype_params.force_gdi_classic_max_size", 6);
user_pref("gfx.font_rendering.directwrite.use_gdi_table_loading", false);
//user_pref("gfx.font_rendering.cleartype_params.gamma", 898); // 1000-2200; https://www.reddit.com/r/firefox/comments/10ed7o2/comment/j4qar9y/
//user_pref("font.name.serif.x-western", "Roboto Slab"); // serif font
//user_pref("font.name.sans-serif.x-western", "Roboto"); // sans-serif font
//user_pref("font.name.monospace.x-western", "Fira Code"); // monospace font
//user_pref("security.family_safety.mode", 0); // disable parental controls [WINDOWS 8-10]
/** DELETE IF NOT macOS LAPTOP ***/
user_pref("network.trr.mode", 2); // enable TRR (with System fallback)
user_pref("pdfjs.defaultZoomValue", "page-width"); // LAPTOP; 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
+75 -130
View File
@@ -10,78 +10,23 @@
/**************************************************************************** /****************************************************************************
* Betterfox * * Betterfox *
* "Ad meliora" * * "Ad meliora" *
* version: 116.1 * * version: 150 *
* url: https://github.com/yokoffing/Betterfox * * url: https://github.com/yokoffing/Betterfox *
****************************************************************************/ ****************************************************************************/
/****************************************************************************
* SECTION: FASTFOX *
****************************************************************************/
user_pref("nglayout.initialpaint.delay", 0);
user_pref("nglayout.initialpaint.delay_in_oopif", 0);
user_pref("content.notify.interval", 100000);
user_pref("browser.startup.preXulSkeletonUI", false); // WINDOWS
/** EXPERIMENTAL ***/
user_pref("layout.css.grid-template-masonry-value.enabled", true);
user_pref("dom.enable_web_task_scheduling", true);
user_pref("layout.css.has-selector.enabled", true);
/** GFX ***/
//user_pref("gfx.canvas.accelerated", true); // enable if using a dedicated GPU on WINDOWS
user_pref("gfx.canvas.accelerated.cache-items", 4096);
user_pref("gfx.canvas.accelerated.cache-size", 512);
user_pref("gfx.content.skia-font-cache-size", 20);
/** BROWSER CACHE ***/
user_pref("browser.cache.disk.enable", false);
/** MEDIA CACHE ***/
user_pref("media.memory_cache_max_size", 65536);
user_pref("media.cache_readahead_limit", 7200);
user_pref("media.cache_resume_threshold", 3600);
/** IMAGE CACHE ***/
user_pref("image.mem.decode_bytes_at_a_time", 32768);
/** NETWORK ***/
user_pref("network.buffer.cache.size", 262144);
user_pref("network.buffer.cache.count", 128);
user_pref("network.http.max-connections", 1800);
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.websocket.max-connections", 400);
user_pref("network.http.pacing.requests.enabled", false);
user_pref("network.dnsCacheEntries", 10000);
user_pref("network.dnsCacheExpiration", 86400);
user_pref("network.dns.max_high_priority_threads", 8);
user_pref("network.ssl_tokens_cache_capacity", 20480);
/** SPECULATIVE CONNECTIONS ***/
user_pref("network.http.speculative-parallel-limit", 0);
user_pref("network.dns.disablePrefetch", true);
user_pref("browser.urlbar.speculativeConnect.enabled", false);
user_pref("browser.places.speculativeConnect.enabled", false);
user_pref("network.prefetch-next", false);
user_pref("network.predictor.enabled", false);
user_pref("network.predictor.enable-prefetch", false);
/**************************************************************************** /****************************************************************************
* SECTION: SECUREFOX * * SECTION: SECUREFOX *
****************************************************************************/ ****************************************************************************/
/** TRACKING PROTECTION ***/ /** TRACKING PROTECTION ***/
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("browser.download.start_downloads_in_tmp_dir", true);
user_pref("urlclassifier.features.socialtracking.skipURLs", "*.instagram.com, *.twitter.com, *.twimg.com");
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);
/** OCSP & CERTS / HPKP ***/ /** OCSP & CERTS / HPKP ***/
user_pref("security.OCSP.enabled", 0); user_pref("security.OCSP.enabled", 0);
user_pref("security.remote_settings.crlite_filters.enabled", true); user_pref("privacy.antitracking.isolateContentScriptResources", true);
user_pref("security.pki.crlite_mode", 2); user_pref("security.csp.reporting.enabled", false);
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);
@@ -89,40 +34,45 @@ 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);
/** DISK AVOIDANCE ***/ /** DISK AVOIDANCE ***/
user_pref("browser.cache.disk.enable", false);
user_pref("browser.privatebrowsing.forceMediaMemoryCache", true); user_pref("browser.privatebrowsing.forceMediaMemoryCache", true);
user_pref("media.memory_cache_max_size", 65536);
user_pref("browser.sessionstore.interval", 60000); user_pref("browser.sessionstore.interval", 60000);
/** SHUTDOWN & SANITIZING ***/ /** SHUTDOWN & SANITIZING ***/
user_pref("privacy.history.custom", true); user_pref("privacy.history.custom", true);
user_pref("browser.privatebrowsing.resetPBM.enabled", true);
/** SPECULATIVE LOADING ***/
user_pref("network.http.speculative-parallel-limit", 0);
user_pref("network.dns.disablePrefetch", true);
user_pref("network.dns.disablePrefetchFromHTTPS", true);
user_pref("browser.urlbar.speculativeConnect.enabled", false);
user_pref("browser.places.speculativeConnect.enabled", false);
user_pref("network.prefetch-next", false);
/** SEARCH / URL BAR ***/ /** 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.search.separatePrivateDefault.ui.enabled", true);
user_pref("browser.urlbar.update2.engineAliasRefresh", true);
user_pref("browser.search.suggest.enabled", false); user_pref("browser.search.suggest.enabled", false);
user_pref("browser.urlbar.suggest.quicksuggest.sponsored", false); user_pref("browser.urlbar.quicksuggest.enabled", false);
user_pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false); user_pref("browser.urlbar.groupLabels.enabled", false);
user_pref("browser.formfill.enable", false); user_pref("browser.formfill.enable", false);
user_pref("security.insecure_connection_text.enabled", true);
user_pref("security.insecure_connection_text.pbmode.enabled", true);
user_pref("network.IDN_show_punycode", true); user_pref("network.IDN_show_punycode", true);
/** HTTPS-FIRST POLICY ***/ /** HTTPS-ONLY MODE ***/
user_pref("dom.security.https_first", true); user_pref("dom.security.https_only_mode", true);
user_pref("dom.security.https_only_mode_error_page_user_suggestions", true);
/** PASSWORDS AND AUTOFILL ***/ /** PASSWORDS ***/
user_pref("signon.rememberSignons", false); user_pref("signon.formlessCapture.enabled", false);
user_pref("signon.privateBrowsingCapture.enabled", false);
user_pref("network.auth.subresource-http-auth-allow", 1);
user_pref("editor.truncate_user_pastes", false); user_pref("editor.truncate_user_pastes", false);
/** ADDRESS + CREDIT CARD MANAGER ***/ /** EXTENSIONS ***/
user_pref("extensions.formautofill.addresses.enabled", false); user_pref("extensions.enabledScopes", 5);
user_pref("extensions.formautofill.creditCards.enabled", false);
/** MIXED CONTENT + CROSS-SITE ***/
user_pref("network.auth.subresource-http-auth-allow", 1);
user_pref("security.mixed_content.block_display_content", true);
user_pref("pdfjs.enableScripting", 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);
@@ -130,24 +80,23 @@ user_pref("network.http.referer.XOriginTrimmingPolicy", 2);
/** CONTAINERS ***/ /** CONTAINERS ***/
user_pref("privacy.userContext.ui.enabled", true); user_pref("privacy.userContext.ui.enabled", true);
/** WEBRTC ***/ /** VARIOUS ***/
user_pref("media.peerconnection.ice.proxy_only_if_behind_proxy", true); user_pref("pdfjs.enableScripting", false);
user_pref("media.peerconnection.ice.default_address_only", true);
/** SAFE BROWSING ***/ /** SAFE BROWSING ***/
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("browser.tabs.firefox-view", false);
user_pref("permissions.default.desktop-notification", 2); user_pref("permissions.default.desktop-notification", 2);
user_pref("permissions.default.geo", 2); user_pref("permissions.default.geo", 2);
user_pref("geo.provider.network.url", "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%"); user_pref("geo.provider.network.url", "https://beacondb.net/v1/geolocate");
user_pref("browser.search.update", false);
user_pref("permissions.manager.defaultsUrl", ""); user_pref("permissions.manager.defaultsUrl", "");
user_pref("webchannel.allowObject.urlWhitelist", ""); user_pref("extensions.getAddons.cache.enabled", false);
/** TELEMETRY ***/ /** TELEMETRY ***/
user_pref("datareporting.policy.dataSubmissionEnabled", false);
user_pref("datareporting.healthreport.uploadEnabled", false);
user_pref("toolkit.telemetry.unified", false); user_pref("toolkit.telemetry.unified", false);
user_pref("toolkit.telemetry.enabled", false); user_pref("toolkit.telemetry.enabled", false);
user_pref("toolkit.telemetry.server", "data:,"); user_pref("toolkit.telemetry.server", "data:,");
@@ -159,94 +108,90 @@ user_pref("toolkit.telemetry.bhrPing.enabled", false);
user_pref("toolkit.telemetry.firstShutdownPing.enabled", false); user_pref("toolkit.telemetry.firstShutdownPing.enabled", false);
user_pref("toolkit.telemetry.coverage.opt-out", true); user_pref("toolkit.telemetry.coverage.opt-out", true);
user_pref("toolkit.coverage.opt-out", true); user_pref("toolkit.coverage.opt-out", true);
user_pref("datareporting.healthreport.uploadEnabled", false); user_pref("toolkit.coverage.endpoint.base", "");
user_pref("datareporting.policy.dataSubmissionEnabled", false);
user_pref("app.shield.optoutstudies.enabled", false);
user_pref("browser.discovery.enabled", false);
user_pref("breakpad.reportURL", "");
user_pref("browser.tabs.crashReporting.sendReport", false);
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("app.normandy.enabled", false);
user_pref("app.normandy.api_url", "");
user_pref("browser.ping-centre.telemetry", false);
user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false); user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false);
user_pref("browser.newtabpage.activity-stream.telemetry", false); user_pref("browser.newtabpage.activity-stream.telemetry", false);
user_pref("datareporting.usage.uploadEnabled", false);
/** EXPERIMENTS ***/
user_pref("app.shield.optoutstudies.enabled", false);
user_pref("app.normandy.enabled", false);
user_pref("app.normandy.api_url", "");
/** CRASH REPORTS ***/
user_pref("breakpad.reportURL", "");
user_pref("browser.tabs.crashReporting.sendReport", false);
/**************************************************************************** /****************************************************************************
* SECTION: PESKYFOX * * SECTION: PESKYFOX *
****************************************************************************/ ****************************************************************************/
/** MOZILLA UI ***/ /** MOZILLA UI ***/
user_pref("layout.css.prefers-color-scheme.content-override", 2);
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
user_pref("app.update.suppressPrompts", true);
user_pref("browser.compactmode.show", true);
user_pref("browser.privatebrowsing.vpnpromourl", "");
user_pref("extensions.getAddons.showPane", false); user_pref("extensions.getAddons.showPane", false);
user_pref("extensions.htmlaboutaddons.recommendations.enabled", false); user_pref("extensions.htmlaboutaddons.recommendations.enabled", false);
user_pref("browser.discovery.enabled", false);
user_pref("browser.shell.checkDefaultBrowser", false); 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.addons", false);
user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false); user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false);
user_pref("browser.preferences.moreFromMozilla", false); user_pref("browser.preferences.moreFromMozilla", false);
user_pref("browser.tabs.tabmanager.enabled", false);
user_pref("browser.aboutConfig.showWarning", false); user_pref("browser.aboutConfig.showWarning", false);
user_pref("browser.startup.homepage_override.mstone", "ignore");
user_pref("browser.aboutwelcome.enabled", false); user_pref("browser.aboutwelcome.enabled", false);
user_pref("browser.display.focus_ring_on_anything", true); user_pref("browser.profiles.enabled", true);
user_pref("browser.display.focus_ring_style", 0);
user_pref("browser.display.focus_ring_width", 0);
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.privateBrowsing", 2);
user_pref("browser.translations.enable", true);
/** FULLSCREEN ***/ /** THEME ADJUSTMENTS ***/
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
user_pref("browser.compactmode.show", true);
user_pref("browser.privateWindowSeparation.enabled", false); // WINDOWS
/** AI ***/
user_pref("browser.ai.control.default", "blocked");
user_pref("browser.ml.enable", false);
user_pref("browser.ml.chat.enabled", false);
user_pref("browser.ml.chat.menu", false);
user_pref("browser.tabs.groups.smart.enabled", false);
user_pref("browser.ml.linkPreview.enabled", false);
/** FULLSCREEN NOTICE ***/
user_pref("full-screen-api.transition-duration.enter", "0 0"); user_pref("full-screen-api.transition-duration.enter", "0 0");
user_pref("full-screen-api.transition-duration.leave", "0 0"); user_pref("full-screen-api.transition-duration.leave", "0 0");
user_pref("full-screen-api.warning.delay", -1);
user_pref("full-screen-api.warning.timeout", 0); user_pref("full-screen-api.warning.timeout", 0);
/** URL BAR ***/ /** URL BAR ***/
user_pref("browser.urlbar.suggest.engines", false); user_pref("browser.urlbar.trending.featureGate", false);
user_pref("browser.urlbar.suggest.topsites", false);
user_pref("browser.urlbar.suggest.calculator", true);
user_pref("browser.urlbar.unitConversion.enabled", true);
/** NEW TAB PAGE ***/ /** NEW TAB PAGE ***/
user_pref("browser.newtabpage.activity-stream.feeds.topsites", false); user_pref("browser.newtabpage.activity-stream.default.sites", "");
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false);
user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false); user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
user_pref("browser.newtabpage.activity-stream.showSponsored", false);
/*** POCKET ***/ user_pref("browser.newtabpage.activity-stream.showSponsoredCheckboxes", false);
user_pref("extensions.pocket.enabled", false);
/** DOWNLOADS ***/ /** DOWNLOADS ***/
user_pref("browser.download.useDownloadDir", false);
user_pref("browser.download.always_ask_before_handling_new_types", true);
user_pref("browser.download.alwaysOpenPanel", false);
user_pref("browser.download.manager.addToRecentDocs", false); user_pref("browser.download.manager.addToRecentDocs", false);
/** PDF ***/ /** PDF ***/
user_pref("browser.download.open_pdf_attachments_inline", true); user_pref("browser.download.open_pdf_attachments_inline", true);
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);
user_pref("layout.word_select.eat_space_to_next_word", false);
/**************************************************************************** /****************************************************************************
* SECTION: SMOOTHFOX * * SECTION: SMOOTHFOX *
****************************************************************************/ ****************************************************************************/
// visit https://github.com/yokoffing/Betterfox/blob/main/Smoothfox.js // visit https://github.com/yokoffing/Betterfox/blob/main/Smoothfox.js
// Enter your scrolling prefs below this line: // Enter your scrolling overrides below this line:
/**************************************************************************** /****************************************************************************
* START: MY OVERRIDES * * START: MY OVERRIDES *
****************************************************************************/ ****************************************************************************/
// Enter your personal prefs below this line: // visit https://github.com/yokoffing/Betterfox/wiki/Common-Overrides
// visit https://github.com/yokoffing/Betterfox/wiki/Optional-Hardening
// Enter your personal overrides below this line:
/**************************************************************************** /****************************************************************************
* END: BETTERFOX * * END: BETTERFOX *
+8
View File
@@ -0,0 +1,8 @@
### Betterfox Aqua
#### A user.js for Waterfox
Just FYI: There are some long-term issues with Waterfox where the browser doesn't load certain internal settings or resets prefs after restart. For examples, see https://github.com/BrowserWorks/waterfox/issues/3196 and https://github.com/BrowserWorks/waterfox/issues/3947.
> [!IMPORTANT]
> Fork-specific files are side projects and will not update every release. When in doubt, use the standard Firefox user.js.
>
> This is also a reminder that Waterfox is based on the [Firefox ESR](https://support.mozilla.org/kb/firefox-esr-release-cycle) release cycle.
+121
View File
@@ -0,0 +1,121 @@
//
/* 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 the user.js when the application restarts.
*
* To make lasting changes to preferences, you will have to edit the user.js.
*/
/****************************************************************************
* Betterfox Aqua *
* "Ex nihilo nihil fit" *
* version: 140.10 *
* url: https://github.com/yokoffing/Betterfox *
****************************************************************************/
/****************************************************************************
* SECTION: SECUREFOX *
****************************************************************************/
/** TRACKING PROTECTION ***/
user_pref("browser.contentblocking.category", "strict");
user_pref("browser.download.start_downloads_in_tmp_dir", true);
/** OCSP & CERTS / HPKP ***/
user_pref("privacy.antitracking.isolateContentScriptResources", true); // needed for next ESR if not a default pref
user_pref("security.csp.reporting.enabled", false);
/** DISK AVOIDANCE ***/
user_pref("browser.cache.disk.enable", false);
//user_pref("browser.privatebrowsing.forceMediaMemoryCache", true); // default
user_pref("media.memory_cache_max_size", 65536);
user_pref("browser.sessionstore.interval", 60000);
/** SHUTDOWN & SANITIZING ***/
user_pref("privacy.history.custom", true);
user_pref("browser.privatebrowsing.resetPBM.enabled", true);
/** SPECULATIVE LOADING ***/
user_pref("network.http.speculative-parallel-limit", 0);
//user_pref("network.dns.disablePrefetch", true);
//user_pref("network.dns.disablePrefetchFromHTTPS", true);
user_pref("browser.urlbar.speculativeConnect.enabled", false);
user_pref("browser.places.speculativeConnect.enabled", false);
user_pref("network.prefetch-next", false);
/** SEARCH / URL BAR ***/
//user_pref("browser.urlbar.trimURLs", true); // FF default
//user_pref("browser.urlbar.trimHttps", true); // optional
//user_pref("browser.urlbar.untrimOnUserInteraction.featureGate", true); // optional
user_pref("browser.search.suggest.enabled", false);
//user_pref("browser.urlbar.quicksuggest.enabled", false);
user_pref("browser.urlbar.groupLabels.enabled", false);
user_pref("browser.formfill.enable", false);
/** HTTPS-ONLY MODE ***/
user_pref("dom.security.https_only_mode", true);
user_pref("dom.security.https_only_mode_error_page_user_suggestions", true);
/** PASSWORDS ***/
user_pref("signon.formlessCapture.enabled", false);
user_pref("signon.privateBrowsingCapture.enabled", false);
/** EXTENSIONS ***/
user_pref("extensions.enabledScopes", 5);
/** MOZILLA ***/
user_pref("permissions.default.desktop-notification", 2);
//user_pref("permissions.default.geo", 2); // optional
//user_pref("geo.provider.network.url", "https://beacondb.net/v1/geolocate"); // blank
user_pref("browser.search.update", false);
user_pref("permissions.manager.defaultsUrl", "");
user_pref("extensions.getAddons.cache.enabled", false);
/****************************************************************************
* SECTION: PESKYFOX *
****************************************************************************/
/** MOZILLA UI ***/
user_pref("browser.shell.checkDefaultBrowser", false);
user_pref("browser.startup.homepage_override.mstone", "ignore");
user_pref("browser.aboutwelcome.enabled", false);
/** THEME ADJUSTMENTS ***/
user_pref("browser.privateWindowSeparation.enabled", false); // WINDOWS
/** FULLSCREEN NOTICE ***/
user_pref("full-screen-api.transition-duration.enter", "0 0");
user_pref("full-screen-api.transition-duration.leave", "0 0");
user_pref("full-screen-api.warning.timeout", 0);
/** NEW TAB PAGE ***/
user_pref("browser.newtabpage.activity-stream.default.sites", "");
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false);
user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
user_pref("browser.newtabpage.activity-stream.showSponsoredCheckboxes", false);
/** TAB BEHAVIOR ***/
//user_pref("browser.link.open_newwindow.restriction", 2); // restore FF default
/****************************************************************************
* SECTION: SMOOTHFOX *
****************************************************************************/
// visit https://github.com/yokoffing/Betterfox/blob/main/Smoothfox.js
// Enter your scrolling overrides below this line:
/****************************************************************************
* START: MY OVERRIDES *
****************************************************************************/
// visit https://github.com/yokoffing/Betterfox/wiki/Common-Overrides
// visit https://github.com/yokoffing/Betterfox/wiki/Optional-Hardening
// Enter your personal overrides below this line:
/** WATERFOX-SPECIFIC ***/
user_pref("cookiebanners.service.mode", 0); // project depreciated
user_pref("cookiebanners.service.mode.privateBrowsing", 0); // project depreciated
//user_pref("waterfox.blocker.ui.enabled", true); // new adblocker option
//user_pref("waterfox.blocker.enabled", true);
/****************************************************************************
* END: BETTERFOX *
****************************************************************************/
+219
View File
@@ -0,0 +1,219 @@
//
/* 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 the user.js when the application restarts.
*
* To make lasting changes to preferences, you will have to edit the user.js.
*/
/****************************************************************************
* BetterZen *
* "Ex nihilo nihil fit" *
* version: 148 *
* url: https://github.com/yokoffing/Betterfox *
****************************************************************************/
/****************************************************************************
* SECTION: SECUREFOX *
****************************************************************************/
/** TRACKING PROTECTION ***/
user_pref("browser.contentblocking.category", "strict");
user_pref("browser.download.start_downloads_in_tmp_dir", true);
user_pref("browser.uitour.enabled", false);
user_pref("privacy.globalprivacycontrol.enabled", true);
/** OCSP & CERTS / HPKP ***/
user_pref("security.OCSP.enabled", 0);
user_pref("privacy.antitracking.isolateContentScriptResources", true);
user_pref("security.csp.reporting.enabled", false);
/** SSL / TLS ***/
user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true);
user_pref("browser.xul.error_pages.expert_bad_cert", true);
user_pref("security.tls.enable_0rtt_data", false);
/** DISK AVOIDANCE ***/
user_pref("browser.cache.disk.enable", false);
user_pref("browser.privatebrowsing.forceMediaMemoryCache", true);
user_pref("media.memory_cache_max_size", 65536);
user_pref("browser.sessionstore.interval", 60000);
/** SHUTDOWN & SANITIZING ***/
user_pref("privacy.history.custom", true);
user_pref("browser.privatebrowsing.resetPBM.enabled", true);
/** SPECULATIVE LOADING ***/
user_pref("network.http.speculative-parallel-limit", 0);
user_pref("network.dns.disablePrefetch", true);
user_pref("network.dns.disablePrefetchFromHTTPS", true);
user_pref("browser.urlbar.speculativeConnect.enabled", false);
user_pref("browser.places.speculativeConnect.enabled", false);
user_pref("network.prefetch-next", false);
/** 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.search.suggest.enabled", false);
user_pref("browser.urlbar.quicksuggest.enabled", false);
user_pref("browser.urlbar.groupLabels.enabled", false);
user_pref("browser.formfill.enable", false);
user_pref("network.IDN_show_punycode", true);
/** HTTPS-ONLY MODE ***/
user_pref("dom.security.https_only_mode", true);
user_pref("dom.security.https_only_mode_error_page_user_suggestions", true);
/** PASSWORDS ***/
user_pref("signon.formlessCapture.enabled", false);
user_pref("signon.privateBrowsingCapture.enabled", false);
user_pref("network.auth.subresource-http-auth-allow", 1);
user_pref("editor.truncate_user_pastes", false);
/** EXTENSIONS ***/
user_pref("extensions.enabledScopes", 5);
/** HEADERS / REFERERS ***/
user_pref("network.http.referer.XOriginTrimmingPolicy", 2);
/** CONTAINERS ***/
user_pref("privacy.userContext.ui.enabled", true);
/** VARIOUS ***/
user_pref("pdfjs.enableScripting", false);
/** SAFE BROWSING ***/
user_pref("browser.safebrowsing.downloads.remote.enabled", false);
/** MOZILLA ***/
user_pref("permissions.default.desktop-notification", 2);
user_pref("permissions.default.geo", 2);
user_pref("geo.provider.network.url", "https://beacondb.net/v1/geolocate");
user_pref("browser.search.update", false);
user_pref("permissions.manager.defaultsUrl", "");
user_pref("extensions.getAddons.cache.enabled", false);
/** TELEMETRY ***/
user_pref("datareporting.policy.dataSubmissionEnabled", false);
user_pref("datareporting.healthreport.uploadEnabled", false);
user_pref("toolkit.telemetry.unified", false);
user_pref("toolkit.telemetry.enabled", false);
user_pref("toolkit.telemetry.server", "data:,");
user_pref("toolkit.telemetry.archive.enabled", false);
user_pref("toolkit.telemetry.newProfilePing.enabled", false);
user_pref("toolkit.telemetry.shutdownPingSender.enabled", false);
user_pref("toolkit.telemetry.updatePing.enabled", false);
user_pref("toolkit.telemetry.bhrPing.enabled", false);
user_pref("toolkit.telemetry.firstShutdownPing.enabled", false);
user_pref("toolkit.telemetry.coverage.opt-out", true);
user_pref("toolkit.coverage.opt-out", true);
user_pref("toolkit.coverage.endpoint.base", "");
user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false);
user_pref("browser.newtabpage.activity-stream.telemetry", false);
user_pref("datareporting.usage.uploadEnabled", false);
/** EXPERIMENTS ***/
user_pref("app.shield.optoutstudies.enabled", false);
user_pref("app.normandy.enabled", false);
user_pref("app.normandy.api_url", "");
/** CRASH REPORTS ***/
user_pref("breakpad.reportURL", "");
user_pref("browser.tabs.crashReporting.sendReport", false);
/****************************************************************************
* SECTION: PESKYFOX *
****************************************************************************/
/** MOZILLA UI ***/
user_pref("extensions.getAddons.showPane", false);
user_pref("extensions.htmlaboutaddons.recommendations.enabled", false);
user_pref("browser.discovery.enabled", false);
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.aboutConfig.showWarning", false);
user_pref("browser.startup.homepage_override.mstone", "ignore");
user_pref("browser.aboutwelcome.enabled", false);
user_pref("browser.profiles.enabled", true);
/** THEME ADJUSTMENTS ***/
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
user_pref("browser.compactmode.show", true);
user_pref("browser.privateWindowSeparation.enabled", false); // WINDOWS
/** AI ***/
user_pref("browser.ml.enable", false);
user_pref("browser.ml.chat.enabled", false);
user_pref("browser.ml.chat.menu", false);
user_pref("browser.tabs.groups.smart.enabled", false);
user_pref("browser.ml.linkPreview.enabled", false);
/** FULLSCREEN NOTICE ***/
user_pref("full-screen-api.transition-duration.enter", "0 0");
user_pref("full-screen-api.transition-duration.leave", "0 0");
user_pref("full-screen-api.warning.timeout", 0);
/** URL BAR ***/
user_pref("browser.urlbar.trending.featureGate", false);
/** NEW TAB PAGE ***/
user_pref("browser.newtabpage.activity-stream.default.sites", "");
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false);
user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
user_pref("browser.newtabpage.activity-stream.showSponsored", false);
user_pref("browser.newtabpage.activity-stream.showSponsoredCheckboxes", false);
/** DOWNLOADS ***/
user_pref("browser.download.manager.addToRecentDocs", false);
/** PDF ***/
user_pref("browser.download.open_pdf_attachments_inline", true);
/** TAB BEHAVIOR ***/
user_pref("browser.bookmarks.openInTabClosesMenu", false);
user_pref("browser.menu.showViewImageInfo", true);
user_pref("findbar.highlightAll", true);
user_pref("layout.word_select.eat_space_to_next_word", false);
/****************************************************************************
* START: ZEN-SPECIFIC OVERRIDES *
****************************************************************************/
// Remove the slashes to enable the prefs
// PREF: re-enable Windows efficiency mode
//user_pref("dom.ipc.processPriorityManager.backgroundUsesEcoQoS", true);
// PREF: disable new tab preload since they are off by default
//user_pref("browser.newtab.preload", false);
// PREF: show Enhance Tracking Protection shield in URL bar
// Currently bugged if you click to view what's blocked
//user_pref("zen.urlbar.show-protections-icon", true);
// PREF: Disable the Picture in picture pop-out when changing tabs
//user_pref("media.videocontrols.picture-in-picture.enable-when-switching-tabs.enabled", false);
/****************************************************************************
* START: MY OVERRIDES *
****************************************************************************/
// visit https://github.com/yokoffing/Betterfox/wiki/Common-Overrides
// visit https://github.com/yokoffing/Betterfox/wiki/Optional-Hardening
// Enter your personal overrides below this line:
/****************************************************************************
* SECTION: SMOOTHFOX *
****************************************************************************/
// Reset Zen's custom scrolling prefs to their Firefox defaults before making changes!
// [1] Zen changes: https://github.com/zen-browser/desktop/blob/3932ec21f5661440c4b20796f90341a6ac725818/src/browser/app/profile/zen-browser.js#L297-L312
// [2] Firefox defaults: https://searchfox.org/mozilla-release/source/modules/libpref/init/StaticPrefList.yaml
// Then apply an example from Smoothfox
// [3] https://github.com/yokoffing/Betterfox/blob/main/Smoothfox.js
// Enter your scrolling overrides below this line:
/****************************************************************************
* END: BETTERFOX *
****************************************************************************/