1
0
mirror of https://github.com/yokoffing/Betterfox.git synced 2026-06-28 15:41:46 +05:30

Compare commits

..

3 Commits

Author SHA1 Message Date
yokoffing 4c60b3d734 add note on safe browsing migration 2026-04-06 15:19:40 -04:00
yokoffing 4573daf3ba add browser.urlbar.trimURLs 2026-04-06 14:50:13 -04:00
yokoffing 083141d5e8 remove gfx.canvas.accelerated.cache-size 2026-03-26 15:16:46 -04:00
9 changed files with 233 additions and 263 deletions
-1
View File
@@ -1 +0,0 @@
* text=auto
+13
View File
@@ -0,0 +1,13 @@
# These are supported funding model platforms
github: yokoffing
patreon: # Replace with a single Patreon username
open_collective: # Replace with a single Open Collective username
ko_fi: yokoffing
tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel
community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry
liberapay: yokoffing
issuehunt: # Replace with a single IssueHunt username
otechie: # Replace with a single Otechie username
lfx_crowdfunding: # Replace with a single LFX Crowdfunding project-name e.g., cloud-foundry
custom: # Replace with up to 4 custom sponsorship URLs e.g., ['link1', 'link2']
+3 -3
View File
@@ -3,7 +3,7 @@
* Fastfox * * Fastfox *
* "Non ducor duco" * * "Non ducor duco" *
* priority: speedy browsing * * priority: speedy browsing *
* version: 150 * * version: 148 *
* url: https://github.com/yokoffing/Betterfox * * url: https://github.com/yokoffing/Betterfox *
***************************************************************************************/ ***************************************************************************************/
@@ -121,10 +121,10 @@
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1945683 // [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1945683
// [2] https://www.reddit.com/r/firefox/comments/1p58qre/firefox_is_getting_ready_to_make_youtube_fast/ // [2] https://www.reddit.com/r/firefox/comments/1p58qre/firefox_is_getting_ready_to_make_youtube_fast/
// [3] https://www.ghacks.net/2025/11/24/these-two-tweaks-should-improve-firefoxs-performance-on-youtube-significantly/ // [3] https://www.ghacks.net/2025/11/24/these-two-tweaks-should-improve-firefoxs-performance-on-youtube-significantly/
//user_pref("gfx.webrender.layer-compositor", true); user_pref("gfx.webrender.layer-compositor", true);
// If your PC uses an AMD GPU, you might want to make a second change. // If your PC uses an AMD GPU, you might want to make a second change.
// This one improves CPU usage on AMD systems. // This one improves CPU usage on AMD systems.
//user_pref("media.wmf.zero-copy-nv12-textures-force-enabled", true); //user_pref("media.wmf.zero-copy-nv12-textures-force-enabled", true);
// PREF: if your hardware doesn't support Webrender, you can fallback to Webrender's software renderer // PREF: if your hardware doesn't support Webrender, you can fallback to Webrender's software renderer
// [1] https://www.ghacks.net/2020/12/14/how-to-find-out-if-webrender-is-enabled-in-firefox-and-how-to-enable-it-if-it-is-not/ // [1] https://www.ghacks.net/2020/12/14/how-to-find-out-if-webrender-is-enabled-in-firefox-and-how-to-enable-it-if-it-is-not/
+49 -22
View File
@@ -690,6 +690,45 @@ user_pref("network.prefetch-next", false);
//user_pref("network.early-hints.preconnect.enabled", true); //user_pref("network.early-hints.preconnect.enabled", true);
//user_pref("network.early-hints.preconnect.max_connections", 10); // DEFAULT //user_pref("network.early-hints.preconnect.max_connections", 10); // DEFAULT
// PREF: Network Predictor (NP)
// When enabled, it trains and uses Firefox's algorithm to preload page resource
// by tracking past page resources. It uses a local file (history) of needed images,
// scripts, etc. to request them preemptively when navigating.
// [NOTE] By default, it only preconnects DNS, TCP, and SSL handshakes.
// No data sends until clicking. With "network.predictor.enable-prefetch" enabled,
// it also performs prefetches.
// [1] https://wiki.mozilla.org/Privacy/Reviews/Necko
// [2] https://www.ghacks.net/2014/05/11/seer-disable-firefox/
// [3] https://github.com/dillbyrne/random-agent-spoofer/issues/238#issuecomment-110214518
// [4] https://www.igvita.com/posa/high-performance-networking-in-google-chrome/#predictor
//user_pref("network.predictor.enabled", false); // [DEFAULT: false FF144+]
// PREF: Network Predictor fetch for resources ahead of time
// Prefetch page resources based on past user behavior.
//user_pref("network.predictor.enable-prefetch", false); // [FF48+] [DEFAULT: false]
// PREF: make Network Predictor active when hovering over links
// When hovering over links, Network Predictor uses past resource history to
// preemptively request what will likely be needed instead of waiting for the document.
// Predictive connections automatically open when hovering over links to speed up
// loading, starting some work in advance.
//user_pref("network.predictor.enable-hover-on-ssl", false); // DEFAULT
// PREF: assign Network Predictor confidence levels
// [NOTE] Keep in mind that Network Predictor must LEARN your browsing habits.
// Editing these lower will cause more speculative connections to occur,
// which reduces accuracy over time and has privacy implications.
//user_pref("network.predictor.preresolve-min-confidence", 60); // DEFAULT
//user_pref("network.predictor.preconnect-min-confidence", 90); // DEFAULT
//user_pref("network.predictor.prefetch-min-confidence", 100); // DEFAULT
// PREF: other Network Predictor values
// [NOTE] Keep in mmind that Network Predictor must LEARN your browsing habits.
//user_pref("network.predictor.prefetch-force-valid-for", 10); // DEFAULT; how long prefetched resources are considered valid and usable (in seconds) for the prediction modeling
//user_pref("network.predictor.prefetch-rolling-load-count", 10); // DEFAULT; the maximum number of resources that Firefox will prefetch in memory at one time based on prediction modeling
//user_pref("network.predictor.max-resources-per-entry", 250); // default=100
//user_pref("network.predictor.max-uri-length", 1000); // default=500
/****************************************************************************** /******************************************************************************
* SECTION: SEARCH / URL BAR * * SECTION: SEARCH / URL BAR *
******************************************************************************/ ******************************************************************************/
@@ -1069,10 +1108,6 @@ user_pref("editor.truncate_user_pastes", false);
// [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1695693,1719301 // [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1695693,1719301
//user_pref("network.http.windows-sso.enabled", false); // DEFAULT //user_pref("network.http.windows-sso.enabled", false); // DEFAULT
// PREF: enforce no direct attestation in passkeys [FF144+]
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1981587 ***/
//user_pref("security.webauthn.always_allow_direct_attestation", false); // [DEFAULT: false]
/**************************************************************************** /****************************************************************************
* SECTION: ADDRESS + CREDIT CARD MANAGER * * SECTION: ADDRESS + CREDIT CARD MANAGER *
****************************************************************************/ ****************************************************************************/
@@ -1259,7 +1294,7 @@ user_pref("privacy.userContext.ui.enabled", true);
//user_pref("browser.eme.ui.enabled", false); //user_pref("browser.eme.ui.enabled", false);
/****************************************************************************** /******************************************************************************
* SECTION: JIT & WASM * * SECTION: JIT *
******************************************************************************/ ******************************************************************************/
// PREF: Just-In-Time Compilation // PREF: Just-In-Time Compilation
// Around half of zero-day exploits are directly related to "just in time" // Around half of zero-day exploits are directly related to "just in time"
@@ -1268,7 +1303,8 @@ user_pref("privacy.userContext.ui.enabled", true);
// [1] https://microsoftedge.github.io/edgevr/posts/Super-Duper-Secure-Mode/ // [1] https://microsoftedge.github.io/edgevr/posts/Super-Duper-Secure-Mode/
// [2] https://www.youtube.com/watch?v=i7qlZeDt9o4 // [2] https://www.youtube.com/watch?v=i7qlZeDt9o4
// PREF: Ion and Baseline JIT // PREF: JavaScript JIT
// PREF: disable Ion and baseline JIT to harden against JS exploits
// [NOTE] When both Ion and JIT are disabled, and trustedprincipals // [NOTE] When both Ion and JIT are disabled, and trustedprincipals
// is enabled, then Ion can still be used by extensions [4]. // is enabled, then Ion can still be used by extensions [4].
// Tor Browser doesn't even ship with these disabled by default. // Tor Browser doesn't even ship with these disabled by default.
@@ -1278,40 +1314,31 @@ user_pref("privacy.userContext.ui.enabled", true);
// [4] https://bugzilla.mozilla.org/show_bug.cgi?id=1599226 // [4] https://bugzilla.mozilla.org/show_bug.cgi?id=1599226
// [5] https://wiki.mozilla.org/IonMonkey // [5] https://wiki.mozilla.org/IonMonkey
// [6] https://github.com/arkenfox/user.js/issues/1791#issuecomment-1891273681 // [6] https://github.com/arkenfox/user.js/issues/1791#issuecomment-1891273681
//user_pref("javascript.options.baselinejit", false); // DO NOT TOUCH //user_pref("javascript.options.baselinejit", false);
//user_pref("javascript.options.ion", false); //user_pref("javascript.options.ion", false);
//user_pref("javascript.options.jit_trustedprincipals", true); // HIDDEN PREF //user_pref("javascript.options.jit_trustedprincipals", false);
// PREF: Blinterp (JIT-like)
// You do not need to touch blinterp unless you want to go even slower
// than the Baseline JIT (which I do not recommend).
//user_pref("javascript.options.blinterp", false);
// PREF: WebAssembly JIT [FF52+] // PREF: WebAssembly JIT [FF52+]
// Vulnerabilities [1] have increasingly been found, including those known and fixed // Vulnerabilities [1] have increasingly been found, including those known and fixed
// in native programs years ago [2]. WASM has powerful low-level access, making // in native programs years ago [2]. WASM has powerful low-level access, making
// certain attacks (brute-force) and vulnerabilities more possible. // certain attacks (brute-force) and vulnerabilities more possible.
// trustedprincipals: This controls whether WebAssembly is allowed in "privileged" contexts
// (like your extensions or internal browser scripts).
// [STATS] ~0.2% of websites, about half of which are for cryptomining / malvertising [2][3] // [STATS] ~0.2% of websites, about half of which are for cryptomining / malvertising [2][3]
// [1] https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=wasm // [1] https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=wasm
// [2] https://spectrum.ieee.org/tech-talk/telecom/security/more-worries-over-the-security-of-web-assembly // [2] https://spectrum.ieee.org/tech-talk/telecom/security/more-worries-over-the-security-of-web-assembly
// [3] https://www.zdnet.com/article/half-of-the-websites-using-webassembly-use-it-for-malicious-purposes // [3] https://www.zdnet.com/article/half-of-the-websites-using-webassembly-use-it-for-malicious-purposes
//user_pref("javascript.options.wasm", false); //user_pref("javascript.options.wasm", false);
//user_pref("javascript.options.wasm_trustedprincipals", false); //user_pref("javascript.options.wasm_trustedprincipals", false);
//user_pref("javascript.options.wasm_baselinejit", true); // DO NOT TOUCH //user_pref("javascript.options.wasm_baselinejit", false);
//user_pref("javascript.options.wasm_optimizingjit", false); //user_pref("javascript.options.wasm_optimizingjit", false);
// PREF: Asm.js JIT [FF22+] // PREF: Asm.js JIT [FF22+]
// Asm.js is essentially the "ancestor" of WebAssembly. It was a strict subset of JavaScript
// designed to allow browsers to pre-compile code into highly efficient machine instructions.
// However, WebAssembly was created specifically to replace Asm.js and has done so almost entirely.
// Disabling Asm.js removes the "legacy" risk surface without affecting your ability to run modern WebAssembly sites.
// [1] http://asmjs.org/ // [1] http://asmjs.org/
// [2] https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=asm.js // [2] https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=asm.js
// [3] https://rh0dev.github.io/blog/2017/the-return-of-the-jit/ // [3] https://rh0dev.github.io/blog/2017/the-return-of-the-jit/
// [4] https://github.com/rh0dev/slides/blob/master/OffensiveCon2018_From_Assembly_to_JavaScript_and_back.pdf //user_pref("javascript.options.asmjs", false);
//user_pref("javascript.options.asmjs", false); // DEFAULT
// PREF: Blinterp (JIT-like)
//user_pref("javascript.options.blinterp", false);
/****************************************************************************** /******************************************************************************
* SECTION: VARIOUS * * SECTION: VARIOUS *
+7 -9
View File
@@ -99,7 +99,7 @@ def _get_default_profile_folder(firefox_root):
print(f"Reading {config_path}...") print(f"Reading {config_path}...")
config_parser = ConfigParser(strict=False) config_parser = ConfigParser(strict=False)
config_parser.read(config_path, encoding = "utf8") config_parser.read(config_path)
path = None path = None
for section in config_parser.sections(): for section in config_parser.sections():
@@ -174,17 +174,12 @@ def download_betterfox(url):
def extract_betterfox(data, profile_folder): def extract_betterfox(data, profile_folder):
zipfile = ZipFile(data) zipfile = ZipFile(data)
userjs_zipinfo = None 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: for file in zipfile.filelist:
path = file.filename.split("/") if "/zen/" in file.filename and not args.zen:
if len(path)-1 != depth or (args.browser not in path and depth != 1) :
continue continue
if file.filename.endswith("user.js"): if file.filename.endswith("user.js"):
userjs_zipinfo = file userjs_zipinfo = file
userjs_zipinfo.filename = Path(userjs_zipinfo.filename).name userjs_zipinfo.filename = Path(userjs_zipinfo.filename).name
break
if not userjs_zipinfo: if not userjs_zipinfo:
raise BaseException("Could not find user.js!") raise BaseException("Could not find user.js!")
@@ -217,15 +212,18 @@ if __name__ == "__main__":
default_profile_folder = _get_default_profile_folder(firefox_root) default_profile_folder = _get_default_profile_folder(firefox_root)
argparser = ArgumentParser() 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"))), 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"))),
argparser.add_argument("--zen", "-z", action="store_true", default=False, help="Install user.js for the Zen browser instead. Defaults to False"),
advanced = argparser.add_argument_group("Advanced") 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("--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("--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-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("--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 = 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-backup", "-nb", action="store_true", default=False, help="disable backup of current profile (not recommended)"),
+157 -202
View File
@@ -1,202 +1,157 @@
/**************************************************************************** /****************************************************************************
* * * *
* DISCLAIMER * * DISCLAIMER *
* * * *
* This file is NOT INTENDED FOR OFFICIAL USE * * This file is NOT INTENDED FOR OFFICIAL USE *
* It is a mix of PERSONAL and TESTING prefs and * * It is a mix of PERSONAL and TESTING prefs and *
* may cause breakage or contain changes you do not want! * * may cause breakage or contain changes you do not want! *
* DO NOT USE unless you know what you are doing! * * DO NOT USE unless you know what you are doing! *
* * * *
****************************************************************************/ ****************************************************************************/
/**************************************************************************** /****************************************************************************
* START: MY OVERRIDES * * START: MY OVERRIDES *
****************************************************************************/ ****************************************************************************/
/** SETUP ON FIRST INSTALLATION ***/ /** SETUP ON FIRST INSTALLATION ***/
//user_pref("network.trr.uri", "https://dns.nextdns.io/******/Firefox"); // TRR/DoH //user_pref("network.trr.uri", "https://dns.nextdns.io/******/Firefox"); // TRR/DoH
/** FASTFOX ***/ /** FASTFOX ***/
user_pref("browser.sessionstore.restore_pinned_tabs_on_demand", true); user_pref("browser.sessionstore.restore_pinned_tabs_on_demand", true);
/** SECUREFOX ***/ // SPECULATIVE LOADING WITHOUT PREDICTOR
user_pref("privacy.trackingprotection.allow_list.convenience.enabled", false); // disable Strict allowlist of convenience features user_pref("network.http.speculative-parallel-limit", 20);
user_pref("signon.rememberSignons", false); // disable password manager //user_pref("network.dns.disablePrefetch", false);
user_pref("extensions.formautofill.addresses.enabled", false); // disable address manager //user_pref("network.dns.disablePrefetchFromHTTPS", false);
user_pref("extensions.formautofill.creditCards.enabled", false); // disable credit card manager //user_pref("dom.prefetch_dns_for_anchor_https_document", true);
user_pref("browser.urlbar.suggest.recentsearches", false); // unselect "Show recent searches" for clean UI user_pref("browser.urlbar.speculativeConnect.enabled", true);
user_pref("browser.urlbar.showSearchSuggestionsFirst", false); // unselect "Show search suggestions ahead of browsing history in address bar results" for clean UI user_pref("browser.places.speculativeConnect.enabled", true);
//user_pref("browser.urlbar.groupLabels.enabled", false); // hide Firefox Suggest label in URL dropdown box user_pref("network.prefetch-next", true);
user_pref("signon.management.page.breach-alerts.enabled", false); // extra hardening user_pref("network.http.max-persistent-connections-per-server", 20); // increase download connections
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 /** SECUREFOX ***/
user_pref("signon.firefoxRelay.feature", ""); // unselect suggestions from Firefox Relay for clean UI user_pref("privacy.trackingprotection.allow_list.convenience.enabled", false); // disable Strict allowlist of convenience features
user_pref("browser.safebrowsing.downloads.enabled", false); // deny SB to scan downloads to identify suspicious files; local checks only user_pref("signon.rememberSignons", false); // disable password manager
user_pref("browser.safebrowsing.downloads.remote.url", ""); // enforce no remote checks for downloads by SB user_pref("extensions.formautofill.addresses.enabled", false); // disable address manager
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("extensions.formautofill.creditCards.enabled", false); // disable credit card manager
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.urlbar.suggest.recentsearches", false); // unselect "Show recent searches" for clean UI
user_pref("browser.safebrowsing.allowOverride", false); // do not allow user to override SB user_pref("browser.urlbar.showSearchSuggestionsFirst", false); // unselect "Show search suggestions ahead of browsing history in address bar results" for clean UI
user_pref("browser.search.update", false); // do not update opensearch engines //user_pref("browser.urlbar.groupLabels.enabled", false); // hide Firefox Suggest label in URL dropdown box
user_pref("network.trr.confirmationNS", "skip"); // skip TRR confirmation request user_pref("signon.management.page.breach-alerts.enabled", false); // extra hardening
user_pref("extensions.webextensions.restrictedDomains", ""); // remove Mozilla domains so adblocker works on pages user_pref("signon.autofillForms", false); // unselect "Autofill logins and passwords" for clean UI
user_pref("identity.fxaccounts.enabled", false); // disable Firefox Sync user_pref("signon.generation.enabled", false); // unselect "Suggest and generate strong passwords" for clean UI
user_pref("browser.firefox-view.feature-tour", "{\"screen\":\"\",\"complete\":true}"); // disable the Firefox View tour from popping up for new profiles user_pref("signon.firefoxRelay.feature", ""); // unselect suggestions from Firefox Relay for clean UI
user_pref("accessibility.force_disabled", 1); // disable Accessibility features user_pref("browser.safebrowsing.downloads.enabled", false); // deny SB to scan downloads to identify suspicious files; local checks only
user_pref("security.cert_pinning.enforcement_level", 2); // strict public key pinning user_pref("browser.safebrowsing.downloads.remote.url", ""); // enforce no remote checks for downloads by SB
user_pref("captivedetect.canonicalURL", ""); // disable captive portal detection 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("network.captive-portal-service.enabled", false); // disable captive portal detection user_pref("browser.safebrowsing.downloads.remote.block_uncommon", false); // clean up UI; not needed in user.js if remote downloads are disabled
user_pref("network.connectivity-service.enabled", false); // disable captive portal detection user_pref("browser.safebrowsing.allowOverride", false); // do not allow user to override SB
user_pref("browser.download.enableDeletePrivate", true); // Delete files downloaded in private browsing when all private windows are closed user_pref("browser.search.update", false); // do not update opensearch engines
user_pref("browser.download.deletePrivateChosen", true); // Delete files downloaded in private browsing when all private windows are closed user_pref("network.trr.confirmationNS", "skip"); // skip TRR confirmation request
user_pref("browser.download.deletePrivate", true); // Delete files downloaded in private browsing when all private windows are closed user_pref("extensions.webextensions.restrictedDomains", ""); // remove Mozilla domains so adblocker works on pages
user_pref("identity.fxaccounts.enabled", false); // disable Firefox Sync
/** PESKYFOX ***/ user_pref("browser.firefox-view.feature-tour", "{\"screen\":\"\",\"complete\":true}"); // disable the Firefox View tour from popping up for new profiles
user_pref("devtools.accessibility.enabled", false); // removes un-needed "Inspect Accessibility Properties" on right-click user_pref("accessibility.force_disabled", 1); // disable Accessibility features
user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false); // Settings>Home>Firefox Home Content>Recent Activity>Shortcuts>Sponsored shortcuts user_pref("security.cert_pinning.enforcement_level", 2); // strict public key pinning
user_pref("browser.newtabpage.activity-stream.showSponsored", false); // Settings>Home>Firefox Home Content>Recent Activity>Recommended by Pocket>Sponsored Stories user_pref("captivedetect.canonicalURL", ""); // disable captive portal detection
user_pref("browser.newtabpage.activity-stream.section.highlights.includeBookmarks", false); // Settings>Home>Firefox Home Content>Recent Activity>Bookmarks user_pref("network.captive-portal-service.enabled", false); // disable captive portal detection
user_pref("browser.newtabpage.activity-stream.section.highlights.includeDownloads", false); // Settings>Home>Firefox Home Content>Recent Activity>Most Recent Download user_pref("network.connectivity-service.enabled", false); // disable captive portal detection
user_pref("browser.newtabpage.activity-stream.section.highlights.includeVisited", false); // Settings>Home>Firefox Home Content>Recent Activity>Visited Pages user_pref("browser.download.enableDeletePrivate", true); // Delete files downloaded in private browsing when all private windows are closed
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.deletePrivateChosen", true); // Delete files downloaded in private browsing when all private windows are closed
//user_pref("browser.download.useDownloadDir", true); // use direct downloads user_pref("browser.download.deletePrivate", true); // Delete files downloaded in private browsing when all private windows are closed
//user_pref("browser.download.folderList", 0); // 0=desktop, 1=downloads, 2=last used
user_pref("browser.toolbars.bookmarks.visibility", "never"); // always hide bookmark bar /** PESKYFOX ***/
user_pref("browser.startup.homepage_override.mstone", "ignore"); // What's New page after updates; master switch user_pref("devtools.accessibility.enabled", false); // removes un-needed "Inspect Accessibility Properties" on right-click
user_pref("browser.urlbar.suggest.history", false); // Browsing history; hide URL bar dropdown suggestions user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false); // Settings>Home>Firefox Home Content>Recent Activity>Shortcuts>Sponsored shortcuts
user_pref("browser.urlbar.suggest.bookmark", false); // Bookmarks; hide URL bar dropdown suggestions user_pref("browser.newtabpage.activity-stream.showSponsored", false); // Settings>Home>Firefox Home Content>Recent Activity>Recommended by Pocket>Sponsored Stories
user_pref("browser.urlbar.suggest.openpage", false); // Open tabs; hide URL bar dropdown suggestions user_pref("browser.newtabpage.activity-stream.section.highlights.includeBookmarks", false); // Settings>Home>Firefox Home Content>Recent Activity>Bookmarks
user_pref("browser.urlbar.suggest.topsites", false); // Shortcuts; disable dropdown suggestions with empty query user_pref("browser.newtabpage.activity-stream.section.highlights.includeDownloads", false); // Settings>Home>Firefox Home Content>Recent Activity>Most Recent Download
user_pref("browser.urlbar.suggest.engines", false); // Search engines; tab-to-search user_pref("browser.newtabpage.activity-stream.section.highlights.includeVisited", false); // Settings>Home>Firefox Home Content>Recent Activity>Visited Pages
user_pref("browser.urlbar.quicksuggest.enabled", false); // hide Firefox Suggest UI in the settings user_pref("browser.newtabpage.activity-stream.section.highlights.includePocket", false); // Settings>Home>Firefox Home Content>Recent Activity>Pages Saved to Pocket
//user_pref("browser.urlbar.maxRichResults", 1); // minimum suggestion needed for URL bar autofill //user_pref("browser.download.useDownloadDir", true); // use direct downloads
user_pref("browser.bookmarks.max_backups", 0); // minimize disk use; manually back-up //user_pref("browser.download.folderList", 0); // 0=desktop, 1=downloads, 2=last used
user_pref("view_source.wrap_long_lines", true); // wrap source lines user_pref("browser.toolbars.bookmarks.visibility", "never"); // always hide bookmark bar
user_pref("devtools.debugger.ui.editor-wrapping", true); // wrap lines in devtools user_pref("browser.startup.homepage_override.mstone", "ignore"); // What's New page after updates; master switch
user_pref("browser.zoom.full", false); // text-only zoom, not all elements on page user_pref("browser.urlbar.suggest.history", false); // Browsing history; hide URL bar dropdown suggestions
//user_pref("pdfjs.sidebarViewOnLoad", 2); // force showing of Table of Contents in sidebar for PDFs (if available) user_pref("browser.urlbar.suggest.bookmark", false); // Bookmarks; hide URL bar dropdown suggestions
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.urlbar.suggest.openpage", false); // Open tabs; hide URL bar dropdown suggestions
//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.urlbar.suggest.topsites", false); // Shortcuts; disable dropdown suggestions with empty query
user_pref("browser.tabs.loadBookmarksInTabs", true); // force bookmarks to open in a new tab, not the current tab user_pref("browser.urlbar.suggest.engines", false); // Search engines; tab-to-search
user_pref("ui.key.menuAccessKey", 0); // remove underlined characters from various settings user_pref("browser.urlbar.quicksuggest.enabled", false); // hide Firefox Suggest UI in the settings
user_pref("general.autoScroll", false); // disable unintentional behavior for middle click //user_pref("browser.urlbar.maxRichResults", 1); // minimum suggestion needed for URL bar autofill
user_pref("ui.SpellCheckerUnderlineStyle", 1); // [HIDDEN] dots for spell check errors user_pref("browser.bookmarks.max_backups", 0); // minimize disk use; manually back-up
user_pref("media.videocontrols.picture-in-picture.display-text-tracks.size", "small"); // PiP user_pref("view_source.wrap_long_lines", true); // wrap source lines
user_pref("media.videocontrols.picture-in-picture.urlbar-button.enabled", false); // PiP in address bar user_pref("devtools.debugger.ui.editor-wrapping", true); // wrap lines in devtools
user_pref("reader.parse-on-load.enabled", false); // disable reader mode user_pref("browser.zoom.full", false); // text-only zoom, not all elements on page
//user_pref("reader.color_scheme", "auto"); // match system theme for when reader is enabled //user_pref("pdfjs.sidebarViewOnLoad", 2); // force showing of Table of Contents in sidebar for PDFs (if available)
//user_pref("browser.urlbar.openintab", true); // stay on current site and open new tab when typing in URL bar 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
/** DELETE IF NOT NIGHTLY ***/ user_pref("browser.tabs.loadBookmarksInTabs", true); // force bookmarks to open in a new tab, not the current tab
user_pref("privacy.userContext.enabled", false); // disable Containers functionality user_pref("ui.key.menuAccessKey", 0); // remove underlined characters from various settings
user_pref("browser.crashReports.unsubmittedCheck.enabled", false); // true by default on NIGHTLY user_pref("general.autoScroll", false); // disable unintentional behavior for middle click
//user_pref("xpinstall.signatures.required", false); // [ESR/DEV/NIGHTLY] user_pref("ui.SpellCheckerUnderlineStyle", 1); // [HIDDEN] dots for spell check errors
//user_pref("browser.urlbar.suggest.trending", false); // FF119+ disable showing trending searches; unselect for clean UI user_pref("media.videocontrols.picture-in-picture.display-text-tracks.size", "small"); // PiP
//user_pref("browser.urlbar.suggest.quickactions", false); // Quick actions; hide URL bar dropdown suggestions user_pref("media.videocontrols.picture-in-picture.urlbar-button.enabled", false); // PiP in address bar
//user_pref("browser.urlbar.suggest.clipboard", false); // Clipboard; hide URL bar dropdown suggestions 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
/** DELETE IF NOT WINDOWS DESKTOP ***/ //user_pref("browser.urlbar.openintab", true); // stay on current site and open new tab when typing in URL bar
user_pref("network.trr.mode", 3); // enable TRR (without System fallback)
//user_pref("browser.startup.preXulSkeletonUI", false); // WINDOWS /** DELETE IF NOT NIGHTLY ***/
user_pref("default-browser-agent.enabled", false); // deny Mozilla monitoring default browser (breaks "Make Default" button) user_pref("privacy.userContext.enabled", false); // disable Containers functionality
user_pref("geo.provider.ms-windows-location", false); // [WINDOWS] user_pref("browser.crashReports.unsubmittedCheck.enabled", false); // true by default on NIGHTLY
user_pref("pdfjs.defaultZoomValue", "125"); // alt=page-width; PDF zoom level //user_pref("xpinstall.signatures.required", false); // [ESR/DEV/NIGHTLY]
user_pref("gfx.font_rendering.cleartype_params.rendering_mode", 5); //user_pref("browser.urlbar.suggest.trending", false); // FF119+ disable showing trending searches; unselect for clean UI
user_pref("gfx.font_rendering.cleartype_params.cleartype_level", 100); //user_pref("browser.urlbar.suggest.quickactions", false); // Quick actions; hide URL bar dropdown suggestions
user_pref("gfx.font_rendering.cleartype_params.force_gdi_classic_for_families", ""); //user_pref("browser.urlbar.suggest.clipboard", false); // Clipboard; hide URL bar dropdown suggestions
user_pref("gfx.font_rendering.directwrite.use_gdi_table_loading", false);
//user_pref("gfx.font_rendering.cleartype_params.enhanced_contrast", 100); /** DELETE IF NOT WINDOWS DESKTOP ***/
//user_pref("font.name.serif.x-western", "Roboto Slab"); // serif font user_pref("network.trr.mode", 3); // enable TRR (without System fallback)
//user_pref("font.name.sans-serif.x-western", "Roboto"); // sans-serif font //user_pref("browser.startup.preXulSkeletonUI", false); // WINDOWS
//user_pref("font.name.monospace.x-western", "Fira Code"); // monospace font 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]
/** DELETE IF NOT ENTERPRISE WINDOWS LAPTOP ***/ user_pref("pdfjs.defaultZoomValue", "125"); // alt=page-width; PDF zoom level
user_pref("urlclassifier.trackingSkipURLs", ""); // do not allow embedded tweets, Instagram, Reddit, and Tiktok posts user_pref("gfx.font_rendering.cleartype_params.rendering_mode", 5);
user_pref("urlclassifier.features.socialtracking.skipURLs", ""); // do not allow embedded tweets, Instagram, Reddit, and Tiktok posts user_pref("gfx.font_rendering.cleartype_params.cleartype_level", 100);
user_pref("browser.search.suggest.enabled", true); // search suggestions user_pref("gfx.font_rendering.cleartype_params.force_gdi_classic_for_families", "");
user_pref("browser.urlbar.showSearchSuggestionsFirst", true); // Show search suggestions ahead of browsing history in address bar results user_pref("gfx.font_rendering.directwrite.use_gdi_table_loading", false);
//user_pref("network.connectivity-service.enabled", true); // public wifi //user_pref("gfx.font_rendering.cleartype_params.enhanced_contrast", 100);
//user_pref("network.trr.confirmationNS", "example.com"); // TRR confirmation request //user_pref("font.name.serif.x-western", "Roboto Slab"); // serif font
//user_pref("network.trr.mode", 2); // enable TRR (without System fallback) //user_pref("font.name.sans-serif.x-western", "Roboto"); // sans-serif font
//user_pref("browser.startup.preXulSkeletonUI", false); // WINDOWS //user_pref("font.name.monospace.x-western", "Fira Code"); // monospace font
user_pref("gfx.font_rendering.cleartype_params.rendering_mode", 5);
user_pref("gfx.font_rendering.cleartype_params.cleartype_level", 100); /** DELETE IF NOT ENTERPRISE WINDOWS LAPTOP ***/
user_pref("gfx.font_rendering.cleartype_params.force_gdi_classic_for_families", ""); user_pref("urlclassifier.trackingSkipURLs", ""); // do not allow embedded tweets, Instagram, Reddit, and Tiktok posts
user_pref("gfx.font_rendering.directwrite.use_gdi_table_loading", false); user_pref("urlclassifier.features.socialtracking.skipURLs", ""); // do not allow embedded tweets, Instagram, Reddit, and Tiktok posts
user_pref("gfx.font_rendering.cleartype_params.enhanced_contrast", 100); user_pref("browser.search.suggest.enabled", true); // search suggestions
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", false); // no need for userChrome user_pref("browser.urlbar.showSearchSuggestionsFirst", true); // Show search suggestions ahead of browsing history in address bar results
//user_pref("browser.urlbar.suggest.history", true); // Browsing history //user_pref("network.connectivity-service.enabled", true); // public wifi
//user_pref("browser.urlbar.suggest.bookmark", true); // Bookmarks //user_pref("network.trr.confirmationNS", "example.com"); // TRR confirmation request
//user_pref("browser.urlbar.suggest.openpage", true); // Open tabs //user_pref("network.trr.mode", 2); // enable TRR (without System fallback)
//user_pref("browser.urlbar.suggest.topsites", true); // Shortcuts //user_pref("browser.startup.preXulSkeletonUI", false); // WINDOWS
user_pref("gfx.font_rendering.cleartype_params.rendering_mode", 5);
/** DELETE IF NOT macOS LAPTOP ***/ user_pref("gfx.font_rendering.cleartype_params.cleartype_level", 100);
user_pref("network.trr.mode", 2); // enable TRR (with System fallback) user_pref("gfx.font_rendering.cleartype_params.force_gdi_classic_for_families", "");
user_pref("network.trr.max-fails", 5); // lower max attempts to use DoH user_pref("gfx.font_rendering.directwrite.use_gdi_table_loading", false);
user_pref("geo.provider.use_corelocation", false); // geolocation [MAC] user_pref("gfx.font_rendering.cleartype_params.enhanced_contrast", 100);
user_pref("pdfjs.defaultZoomValue", "page-width"); // PDF zoom level user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", false); // no need for userChrome
user_pref("app.update.auto", false); // disable auto-installing Firefox updates [NON-WINDOWS] //user_pref("browser.urlbar.suggest.history", true); // Browsing history
//user_pref("font.name.monospace.x-western", "SF Mono"); // monospace font //user_pref("browser.urlbar.suggest.bookmark", true); // Bookmarks
//user_pref("browser.urlbar.suggest.openpage", true); // Open tabs
/** DELETE IF NOT LINUX LAPTOP ***/ //user_pref("browser.urlbar.suggest.topsites", true); // Shortcuts
user_pref("network.trr.mode", 2); // enable TRR (with System fallback)
user_pref("network.trr.max-fails", 5); // lower max attempts to use DoH /** DELETE IF NOT macOS LAPTOP ***/
user_pref("geo.provider.use_geoclue", false); // [LINUX] user_pref("network.trr.mode", 2); // enable TRR (with System fallback)
user_pref("pdfjs.defaultZoomValue", "page-width"); // PDF zoom level 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
/** DELETE IF NOT WATERFOX ***/ user_pref("app.update.auto", false); // disable auto-installing Firefox updates [NON-WINDOWS]
// PREF: improve font rendering by using DirectWrite everywhere like Chrome [WINDOWS] //user_pref("font.name.monospace.x-western", "SF Mono"); // monospace font
user_pref("gfx.font_rendering.cleartype_params.rendering_mode", 5);
user_pref("gfx.font_rendering.cleartype_params.cleartype_level", 100); /** DELETE IF NOT LINUX LAPTOP ***/
user_pref("gfx.font_rendering.cleartype_params.enhanced_contrast", 100); user_pref("network.trr.mode", 2); // enable TRR (with System fallback)
user_pref("gfx.font_rendering.directwrite.use_gdi_table_loading", false); user_pref("network.trr.max-fails", 5); // lower max attempts to use DoH
user_pref("geo.provider.use_geoclue", false); // [LINUX]
// UI user_pref("pdfjs.defaultZoomValue", "page-width"); // PDF zoom level
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
+2 -11
View File
@@ -6,6 +6,7 @@
"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,
@@ -14,15 +15,6 @@
"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,
@@ -44,8 +36,7 @@
"PreventInstalls": false, "PreventInstalls": false,
"Remove": [ "Remove": [
"Amazon.com", "Amazon.com",
"eBay", "eBay"
"Perplexity"
], ],
"Default": "DuckDuckGo", "Default": "DuckDuckGo",
"Add": [ "Add": [
-8
View File
@@ -1,8 +0,0 @@
### 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.
+2 -7
View File
@@ -22,7 +22,7 @@ user_pref("browser.contentblocking.category", "strict");
user_pref("browser.download.start_downloads_in_tmp_dir", true); user_pref("browser.download.start_downloads_in_tmp_dir", true);
/** OCSP & CERTS / HPKP ***/ /** OCSP & CERTS / HPKP ***/
user_pref("privacy.antitracking.isolateContentScriptResources", true); // needed for next ESR if not a default pref //user_pref("privacy.antitracking.isolateContentScriptResources", true); // needed for next ESR if not a default pref
user_pref("security.csp.reporting.enabled", false); user_pref("security.csp.reporting.enabled", false);
/** DISK AVOIDANCE ***/ /** DISK AVOIDANCE ***/
@@ -102,6 +102,7 @@ user_pref("browser.newtabpage.activity-stream.showSponsoredCheckboxes", false);
// visit https://github.com/yokoffing/Betterfox/blob/main/Smoothfox.js // visit https://github.com/yokoffing/Betterfox/blob/main/Smoothfox.js
// Enter your scrolling overrides below this line: // Enter your scrolling overrides below this line:
/**************************************************************************** /****************************************************************************
* START: MY OVERRIDES * * START: MY OVERRIDES *
****************************************************************************/ ****************************************************************************/
@@ -109,12 +110,6 @@ user_pref("browser.newtabpage.activity-stream.showSponsoredCheckboxes", false);
// visit https://github.com/yokoffing/Betterfox/wiki/Optional-Hardening // visit https://github.com/yokoffing/Betterfox/wiki/Optional-Hardening
// Enter your personal overrides below this line: // 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 * * END: BETTERFOX *