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

Compare commits

..

17 Commits

Author SHA1 Message Date
yokoffing 6553b186be jit and wasm 2026-04-19 13:25:51 -04:00
yokoffing a0f4e6d5ee policies remove pocket and generativeAI 2026-04-18 14:12:10 -04:00
yokoffing 66b7f2b72b comment 2026-04-18 12:06:58 -04:00
yokoffing f1575e2e80 https only 2026-04-13 17:32:02 -04:00
yokoffing 9c1762e7bb enable privacy.antitracking.isolateContentScriptResources 2026-04-13 10:38:01 -04:00
yokoffing 8f218bceab disable cookie banner behavior 2026-04-13 10:37:11 -04:00
yokoffing 93d249cead Create README.md 2026-04-10 18:44:10 -04:00
yokoffing 39fcc224e1 security.webauthn.always_allow_direct_attestation 2026-04-10 15:53:05 -04:00
yokoffing eaf5e8cb6d spacing 2026-04-09 15:50:39 -04:00
yokoffing a88a132b14 Update user.js 2026-04-09 15:49:25 -04:00
yokoffing 273e93fd64 Update user-overrides.js 2026-04-09 15:46:57 -04:00
yokoffing 1b1a1b213b Merge branch 'main' into 150 2026-04-09 15:37:48 -04:00
yokoffing a926692197 comment out gfx.webrender.layer-compositor 2026-04-08 16:39:00 -04:00
yokoffing e11924d100 add Perplexity, remove Pocket 2026-04-07 08:56:13 -04:00
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
4 changed files with 60 additions and 10 deletions
+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']
+39
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 *
******************************************************************************/ ******************************************************************************/
+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)"),
+1 -1
View File
@@ -10,7 +10,7 @@
"DisableDeveloperTools": false, "DisableDeveloperTools": false,
"DontCheckDefaultBrowser": true, "DontCheckDefaultBrowser": true,
"DNSOverHTTPS": { "DNSOverHTTPS": {
"Enabled": false, "Enabled": true,
"ProviderURL": "", "ProviderURL": "",
"Locked": false "Locked": false
}, },