mirror of
https://github.com/yokoffing/Betterfox.git
synced 2026-06-12 15:40:48 +05:30
Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 6ef4cdbbe7 | |||
| 9c1d652299 | |||
| 09dd87a3ab | |||
| d70e3cdebe |
+13
-11
@@ -3,7 +3,7 @@
|
|||||||
* Fastfox *
|
* Fastfox *
|
||||||
* "Non ducor duco" *
|
* "Non ducor duco" *
|
||||||
* priority: speedy browsing *
|
* priority: speedy browsing *
|
||||||
* version: 131 *
|
* version: 135 *
|
||||||
* url: https://github.com/yokoffing/Betterfox *
|
* url: https://github.com/yokoffing/Betterfox *
|
||||||
***************************************************************************************/
|
***************************************************************************************/
|
||||||
|
|
||||||
@@ -109,7 +109,7 @@ user_pref("content.notify.interval", 100000); // (.10s); default=120000 (.12s)
|
|||||||
// [2] https://github.com/yokoffing/Betterfox/issues/153
|
// [2] https://github.com/yokoffing/Betterfox/issues/153
|
||||||
// [3] https://github.com/yokoffing/Betterfox/issues/198
|
// [3] https://github.com/yokoffing/Betterfox/issues/198
|
||||||
//user_pref("gfx.canvas.accelerated", true); // [DEFAULT FF133+]
|
//user_pref("gfx.canvas.accelerated", true); // [DEFAULT FF133+]
|
||||||
user_pref("gfx.canvas.accelerated.cache-items", 4096); // default=2048; Chrome=4096
|
//user_pref("gfx.canvas.accelerated.cache-items", 8192); // DEFAULT FF135+; Chrome=4096
|
||||||
user_pref("gfx.canvas.accelerated.cache-size", 512); // default=256; Chrome=512
|
user_pref("gfx.canvas.accelerated.cache-size", 512); // default=256; Chrome=512
|
||||||
user_pref("gfx.content.skia-font-cache-size", 20); // default=5; Chrome=20
|
user_pref("gfx.content.skia-font-cache-size", 20); // default=5; Chrome=20
|
||||||
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1239151#c2
|
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1239151#c2
|
||||||
@@ -144,7 +144,7 @@ user_pref("content.notify.interval", 100000); // (.10s); default=120000 (.12s)
|
|||||||
// More efficient to keep the browser cache instead of having to
|
// More efficient to keep the browser cache instead of having to
|
||||||
// re-download objects for the websites you visit frequently.
|
// re-download objects for the websites you visit frequently.
|
||||||
// [1] https://www.janbambas.cz/new-firefox-http-cache-enabled/
|
// [1] https://www.janbambas.cz/new-firefox-http-cache-enabled/
|
||||||
//user_pref("browser.cache.disk.enable", true); // DEFAULT
|
user_pref("browser.cache.disk.enable", false);
|
||||||
|
|
||||||
// PREF: disk cache size
|
// PREF: disk cache size
|
||||||
// [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=913808,968106,968101
|
// [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=913808,968106,968101
|
||||||
@@ -210,8 +210,9 @@ user_pref("content.notify.interval", 100000); // (.10s); default=120000 (.12s)
|
|||||||
//user_pref("browser.cache.disk.max_priority_chunks_memory_usage", 40960); // DEFAULT (40 MB)
|
//user_pref("browser.cache.disk.max_priority_chunks_memory_usage", 40960); // DEFAULT (40 MB)
|
||||||
|
|
||||||
// PREF: how often to validate document in cache
|
// PREF: how often to validate document in cache
|
||||||
// [1] https://searchfox.org/mozilla-release/source/modules/libpref/init/StaticPrefList.yaml#1092-1096
|
|
||||||
// 0 = once-per-session
|
// 0 = once-per-session
|
||||||
|
// 1 = each-time
|
||||||
|
// 2 = never
|
||||||
// 3 = when-appropriate/automatically (default)
|
// 3 = when-appropriate/automatically (default)
|
||||||
//user_pref("browser.cache.check_doc_frequency", 3); // DEFAULT
|
//user_pref("browser.cache.check_doc_frequency", 3); // DEFAULT
|
||||||
|
|
||||||
@@ -230,7 +231,7 @@ user_pref("content.notify.interval", 100000); // (.10s); default=120000 (.12s)
|
|||||||
// 0 = do not compress (default)
|
// 0 = do not compress (default)
|
||||||
// 1 = minimal compression
|
// 1 = minimal compression
|
||||||
// 9 = maximal compression
|
// 9 = maximal compression
|
||||||
user_pref("browser.cache.jsbc_compression_level", 3);
|
//user_pref("browser.cache.jsbc_compression_level", 3);
|
||||||
|
|
||||||
// PREF: strategy to use for when the bytecode should be encoded and saved [TESTING ONLY]
|
// PREF: strategy to use for when the bytecode should be encoded and saved [TESTING ONLY]
|
||||||
// -1 makes page load times marginally longer when a page is being loaded for the first time, while
|
// -1 makes page load times marginally longer when a page is being loaded for the first time, while
|
||||||
@@ -541,12 +542,13 @@ user_pref("network.predictor.enabled", false);
|
|||||||
user_pref("layout.css.grid-template-masonry-value.enabled", true);
|
user_pref("layout.css.grid-template-masonry-value.enabled", true);
|
||||||
|
|
||||||
// PREF: Prioritized Task Scheduling API [NIGHTLY]
|
// PREF: Prioritized Task Scheduling API [NIGHTLY]
|
||||||
// [1] https://blog.mozilla.org/performance/2022/06/02/prioritized-task-scheduling-api-is-prototyped-in-nightly/
|
// [1] https://github.com/yokoffing/Betterfox/issues/355
|
||||||
// [2] https://medium.com/airbnb-engineering/building-a-faster-web-experience-with-the-posttask-scheduler-276b83454e91
|
// [2] https://blog.mozilla.org/performance/2022/06/02/prioritized-task-scheduling-api-is-prototyped-in-nightly/
|
||||||
// [3] https://github.com/WICG/scheduling-apis/blob/main/explainers/prioritized-post-task.md
|
// [3] https://medium.com/airbnb-engineering/building-a-faster-web-experience-with-the-posttask-scheduler-276b83454e91
|
||||||
// [4] https://wicg.github.io/scheduling-apis/
|
// [4] https://github.com/WICG/scheduling-apis/blob/main/explainers/prioritized-post-task.md
|
||||||
// [5] https://caniuse.com/mdn-api_taskcontroller
|
// [5] https://wicg.github.io/scheduling-apis/
|
||||||
user_pref("dom.enable_web_task_scheduling", true);
|
// [6] https://caniuse.com/mdn-api_taskcontroller
|
||||||
|
//user_pref("dom.enable_web_task_scheduling", true);
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* SECTION: TAB UNLOAD *
|
* SECTION: TAB UNLOAD *
|
||||||
|
|||||||
+4
-3
@@ -3,7 +3,7 @@
|
|||||||
* Peskyfox *
|
* Peskyfox *
|
||||||
* "Aquila non capit muscas" *
|
* "Aquila non capit muscas" *
|
||||||
* priority: remove annoyances *
|
* priority: remove annoyances *
|
||||||
* version: 131 *
|
* version: 135 *
|
||||||
* url: https://github.com/yokoffing/Betterfox *
|
* url: https://github.com/yokoffing/Betterfox *
|
||||||
* credit: Some prefs are reproduced and adapted from the arkenfox project *
|
* credit: Some prefs are reproduced and adapted from the arkenfox project *
|
||||||
* credit urL: https://github.com/arkenfox/user.js *
|
* credit urL: https://github.com/arkenfox/user.js *
|
||||||
@@ -102,7 +102,7 @@ user_pref("browser.privateWindowSeparation.enabled", false);
|
|||||||
//user_pref("browser.search.widget.inNavBar", true);
|
//user_pref("browser.search.widget.inNavBar", true);
|
||||||
|
|
||||||
// PREF: new tab page wallpapers
|
// PREF: new tab page wallpapers
|
||||||
user_pref("browser.newtabpage.activity-stream.newtabWallpapers.v2.enabled", true);
|
//user_pref("browser.newtabpage.activity-stream.newtabWallpapers.v2.enabled", true); // [DEFAULT FF132+]
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* SECTION: COOKIE BANNER HANDLING *
|
* SECTION: COOKIE BANNER HANDLING *
|
||||||
@@ -165,7 +165,7 @@ user_pref("full-screen-api.warning.timeout", 0); // default=3000
|
|||||||
// [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.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);
|
||||||
@@ -204,6 +204,7 @@ user_pref("browser.urlbar.trending.featureGate", false);
|
|||||||
|
|
||||||
// PREF: disable urlbar suggestions
|
// PREF: disable urlbar suggestions
|
||||||
//user_pref("browser.urlbar.addons.featureGate", false); // [FF115+]
|
//user_pref("browser.urlbar.addons.featureGate", false); // [FF115+]
|
||||||
|
//user_pref("browser.urlbar.fakespot.featureGate", false); // [FF130+] [DEFAULT: false]
|
||||||
//user_pref("browser.urlbar.mdn.featureGate", false); // [FF117+] [HIDDEN PREF]
|
//user_pref("browser.urlbar.mdn.featureGate", false); // [FF117+] [HIDDEN PREF]
|
||||||
//user_pref("browser.urlbar.pocket.featureGate", false); // [FF116+] [DEFAULT: false]
|
//user_pref("browser.urlbar.pocket.featureGate", false); // [FF116+] [DEFAULT: false]
|
||||||
//user_pref("browser.urlbar.weather.featureGate", false); // [FF108+] [DEFAULT: false]
|
//user_pref("browser.urlbar.weather.featureGate", false); // [FF108+] [DEFAULT: false]
|
||||||
|
|||||||
@@ -74,6 +74,7 @@ The `user.js` — a configuration file that controls Firefox settings — is cur
|
|||||||
* [GhoSTORIES with Franz & Pete](https://anchor.fm/ghostories/episodes/S2E6-We-Talking-Ghostery-Dawn----Again-er0q02/a-a4o5vmh) | 17:05–18:40 (Feb 2021)
|
* [GhoSTORIES with Franz & Pete](https://anchor.fm/ghostories/episodes/S2E6-We-Talking-Ghostery-Dawn----Again-er0q02/a-a4o5vmh) | 17:05–18:40 (Feb 2021)
|
||||||
|
|
||||||
### Articles
|
### Articles
|
||||||
|
* [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)
|
* [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)
|
* [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)
|
* [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)
|
||||||
@@ -107,6 +108,7 @@ If you like the project, leave a :star: (top right) and become a [stargazer](htt
|
|||||||
## Credit
|
## 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.
|
* 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.
|
||||||
|
|
||||||
|
|||||||
+17
-8
@@ -3,7 +3,7 @@
|
|||||||
* Securefox *
|
* Securefox *
|
||||||
* "Natura non contristatur" *
|
* "Natura non contristatur" *
|
||||||
* priority: provide sensible security and privacy *
|
* priority: provide sensible security and privacy *
|
||||||
* version: 131 *
|
* version: 135 *
|
||||||
* url: https://github.com/yokoffing/Betterfox *
|
* url: https://github.com/yokoffing/Betterfox *
|
||||||
* credit: Most prefs are reproduced and adapted from the arkenfox project *
|
* credit: Most prefs are reproduced and adapted from the arkenfox project *
|
||||||
* credit urL: https://github.com/arkenfox/user.js *
|
* credit urL: https://github.com/arkenfox/user.js *
|
||||||
@@ -21,10 +21,10 @@
|
|||||||
// [NOTE] FF86: "Strict" tracking protection enables dFPI.
|
// [NOTE] FF86: "Strict" tracking protection enables dFPI.
|
||||||
// [1] https://support.mozilla.org/en-US/kb/enhanced-tracking-protection-firefox-desktop
|
// [1] https://support.mozilla.org/en-US/kb/enhanced-tracking-protection-firefox-desktop
|
||||||
// [2] https://www.reddit.com/r/firefox/comments/l7xetb/network_priority_for_firefoxs_enhanced_tracking/gle2mqn/?web2x&context=3
|
// [2] https://www.reddit.com/r/firefox/comments/l7xetb/network_priority_for_firefoxs_enhanced_tracking/gle2mqn/?web2x&context=3
|
||||||
|
user_pref("browser.contentblocking.category", "strict"); // [HIDDEN]
|
||||||
//user_pref("privacy.trackingprotection.enabled", true); // enabled with "Strict"
|
//user_pref("privacy.trackingprotection.enabled", true); // enabled with "Strict"
|
||||||
//user_pref("privacy.trackingprotection.pbmode.enabled", true); // DEFAULT
|
//user_pref("privacy.trackingprotection.pbmode.enabled", true); // DEFAULT
|
||||||
//user_pref("browser.contentblocking.customBlockList.preferences.ui.enabled", false); // DEFAULT
|
//user_pref("browser.contentblocking.customBlockList.preferences.ui.enabled", false); // DEFAULT
|
||||||
user_pref("browser.contentblocking.category", "strict"); // [HIDDEN]
|
|
||||||
//user_pref("privacy.trackingprotection.socialtracking.enabled", true); // enabled with "Strict"
|
//user_pref("privacy.trackingprotection.socialtracking.enabled", true); // enabled with "Strict"
|
||||||
//user_pref("privacy.socialtracking.block_cookies.enabled", true); // DEFAULT
|
//user_pref("privacy.socialtracking.block_cookies.enabled", true); // DEFAULT
|
||||||
//user_pref("privacy.trackingprotection.cryptomining.enabled", true); // DEFAULT
|
//user_pref("privacy.trackingprotection.cryptomining.enabled", true); // DEFAULT
|
||||||
@@ -61,10 +61,14 @@ user_pref("browser.contentblocking.category", "strict"); // [HIDDEN]
|
|||||||
// [TEST - instagram embed] https://www.ndtv.com/entertainment/bharti-singh-and-husband-haarsh-limbachiyaa-announce-pregnancy-see-trending-post-2646359
|
// [TEST - instagram embed] https://www.ndtv.com/entertainment/bharti-singh-and-husband-haarsh-limbachiyaa-announce-pregnancy-see-trending-post-2646359
|
||||||
// [TEST - tweet embed] https://www.newsweek.com/cryptic-tweet-britney-spears-shows-elton-john-collab-may-date-back-2015-1728036
|
// [TEST - tweet embed] https://www.newsweek.com/cryptic-tweet-britney-spears-shows-elton-john-collab-may-date-back-2015-1728036
|
||||||
// [TEST - tiktok embed] https://www.vulture.com/article/snl-adds-four-new-cast-members-for-season-48.html
|
// [TEST - tiktok embed] https://www.vulture.com/article/snl-adds-four-new-cast-members-for-season-48.html
|
||||||
|
// [TEST - truthsocial embed] https://www.newsweek.com/donald-trump-congratulates-patrick-brittany-mahomes-new-baby-2027097
|
||||||
// [1] https://www.reddit.com/r/firefox/comments/l79nxy/firefox_dev_is_ignoring_social_tracking_preference/gl84ukk
|
// [1] https://www.reddit.com/r/firefox/comments/l79nxy/firefox_dev_is_ignoring_social_tracking_preference/gl84ukk
|
||||||
// [2] https://www.reddit.com/r/firefox/comments/pvds9m/reddit_embeds_not_loading/
|
// [2] https://www.reddit.com/r/firefox/comments/pvds9m/reddit_embeds_not_loading/
|
||||||
user_pref("urlclassifier.trackingSkipURLs", "*.reddit.com, *.twitter.com, *.twimg.com, *.tiktok.com"); // MANUAL
|
//user_pref("urlclassifier.trackingSkipURLs", "embed.reddit.com"); // MANUAL
|
||||||
user_pref("urlclassifier.features.socialtracking.skipURLs", "*.instagram.com, *.twitter.com, *.twimg.com"); // MANUAL
|
// originals:
|
||||||
|
user_pref("urlclassifier.trackingSkipURLs", "*.reddit.com, *.twitter.com, *.twimg.com, *.tiktok.com"); // MANUAL
|
||||||
|
user_pref("urlclassifier.features.socialtracking.skipURLs", "*.instagram.com, *.twitter.com, *.twimg.com"); // MANUAL
|
||||||
|
//user_pref("extensions.webcompat.smartblockEmbeds.enabled", true); // NIGHTLY-ONLY
|
||||||
|
|
||||||
// PREF: lower the priority of network loads for resources on the tracking protection list [NIGHTLY]
|
// PREF: lower the priority of network loads for resources on the tracking protection list [NIGHTLY]
|
||||||
// [1] https://github.com/arkenfox/user.js/issues/102#issuecomment-298413904
|
// [1] https://github.com/arkenfox/user.js/issues/102#issuecomment-298413904
|
||||||
@@ -110,6 +114,7 @@ user_pref("urlclassifier.features.socialtracking.skipURLs", "*.instagram.com, *.
|
|||||||
// [6] https://github.com/arkenfox/user.js/issues/1281
|
// [6] https://github.com/arkenfox/user.js/issues/1281
|
||||||
// [7] https://hacks.mozilla.org/2022/02/improving-the-storage-access-api-in-firefox/
|
// [7] https://hacks.mozilla.org/2022/02/improving-the-storage-access-api-in-firefox/
|
||||||
//user_pref("network.cookie.cookieBehavior", 5); // DEFAULT FF103+
|
//user_pref("network.cookie.cookieBehavior", 5); // DEFAULT FF103+
|
||||||
|
//user_pref("network.cookie.cookieBehavior.optInPartitioning", true); // [ETP FF132+]
|
||||||
//user_pref("browser.contentblocking.reject-and-isolate-cookies.preferences.ui.enabled", true); // DEFAULT
|
//user_pref("browser.contentblocking.reject-and-isolate-cookies.preferences.ui.enabled", true); // DEFAULT
|
||||||
|
|
||||||
// PREF: Network Partitioning
|
// PREF: Network Partitioning
|
||||||
@@ -122,7 +127,7 @@ user_pref("urlclassifier.features.socialtracking.skipURLs", "*.instagram.com, *.
|
|||||||
// [3] https://blog.mozilla.org/security/2021/01/26/supercookie-protections/
|
// [3] https://blog.mozilla.org/security/2021/01/26/supercookie-protections/
|
||||||
//user_pref("privacy.partition.network_state", true); // DEFAULT
|
//user_pref("privacy.partition.network_state", true); // DEFAULT
|
||||||
//user_pref("privacy.partition.serviceWorkers", true); // [DEFAULT: true FF105+]
|
//user_pref("privacy.partition.serviceWorkers", true); // [DEFAULT: true FF105+]
|
||||||
//user_pref("privacy.partition.network_state.ocsp_cache", true); // enabled with "Strict" [DEFAULT: true FF123+]
|
//user_pref("privacy.partition.network_state.ocsp_cache", true); // [DEFAULT: true FF123+]
|
||||||
//user_pref("privacy.partition.bloburl_per_partition_key", true); // [FF118+]
|
//user_pref("privacy.partition.bloburl_per_partition_key", true); // [FF118+]
|
||||||
// enable APS (Always Partitioning Storage) [FF104+]
|
// enable APS (Always Partitioning Storage) [FF104+]
|
||||||
//user_pref("privacy.partition.always_partition_third_party_non_cookie_storage", true); // [DEFAULT: true FF109+]
|
//user_pref("privacy.partition.always_partition_third_party_non_cookie_storage", true); // [DEFAULT: true FF109+]
|
||||||
@@ -473,6 +478,9 @@ user_pref("browser.sessionstore.interval", 60000); // 1 minute; default=15000 (1
|
|||||||
//user_pref("privacy.cpd.siteSettings", false);
|
//user_pref("privacy.cpd.siteSettings", false);
|
||||||
//user_pref("privacy.clearHistory.siteSettings", false);
|
//user_pref("privacy.clearHistory.siteSettings", false);
|
||||||
|
|
||||||
|
// PREF: purge session icon in Private Browsing windows
|
||||||
|
user_pref("browser.privatebrowsing.resetPBM.enabled", true);
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* SECTION: SHUTDOWN & SANITIZING *
|
* SECTION: SHUTDOWN & SANITIZING *
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
@@ -1298,15 +1306,16 @@ user_pref("permissions.default.geo", 2);
|
|||||||
//user_pref("extensions.update.enabled", false);
|
//user_pref("extensions.update.enabled", false);
|
||||||
|
|
||||||
// PREF: disable search engine updates (e.g. OpenSearch)
|
// PREF: disable search engine updates (e.g. OpenSearch)
|
||||||
|
// Prevent Firefox from adding back search engines after you removed them.
|
||||||
// [NOTE] This does not affect Mozilla's built-in or Web Extension search engines.
|
// [NOTE] This does not affect Mozilla's built-in or Web Extension search engines.
|
||||||
//user_pref("browser.search.update", false);
|
user_pref("browser.search.update", false);
|
||||||
|
|
||||||
// PREF: remove special permissions for certain mozilla domains [FF35+]
|
// PREF: remove special permissions for certain mozilla domains [FF35+]
|
||||||
// default = resource://app/defaults/permissions
|
// default = resource://app/defaults/permissions
|
||||||
user_pref("permissions.manager.defaultsUrl", "");
|
user_pref("permissions.manager.defaultsUrl", "");
|
||||||
|
|
||||||
// PREF: remove webchannel whitelist
|
// PREF: remove webchannel whitelist
|
||||||
user_pref("webchannel.allowObject.urlWhitelist", "");
|
//user_pref("webchannel.allowObject.urlWhitelist", ""); // [DEFAULT FF132+]
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* SECTION: TELEMETRY *
|
* SECTION: TELEMETRY *
|
||||||
@@ -1373,7 +1382,7 @@ user_pref("browser.tabs.crashReporting.sendReport", false);
|
|||||||
|
|
||||||
// PREF: enforce no submission of backlogged crash reports
|
// PREF: enforce no submission of backlogged crash reports
|
||||||
// [SETTING] Privacy & Security>Firefox Data Collection & Use>Allow Firefox to send backlogged crash reports
|
// [SETTING] Privacy & Security>Firefox Data Collection & Use>Allow Firefox to send backlogged crash reports
|
||||||
user_pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false);
|
//user_pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false); // [DEFAULT FF132+]
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* SECTION: DETECTION *
|
* SECTION: DETECTION *
|
||||||
|
|||||||
+27
-5
@@ -32,7 +32,7 @@ Limitations:
|
|||||||
Building into an exe (on Windows):
|
Building into an exe (on Windows):
|
||||||
- pipx install pyinstaller (note: you can try without pipx, but this didn't work for me)
|
- pipx install pyinstaller (note: you can try without pipx, but this didn't work for me)
|
||||||
- Run:
|
- 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`
|
- 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`
|
- 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)
|
(Sorry, didn't want to add a .gitignore solely for the install script)
|
||||||
- Done!
|
- Done!
|
||||||
@@ -66,12 +66,25 @@ def _get_default_profile_folder():
|
|||||||
config_parser = ConfigParser(strict=False)
|
config_parser = ConfigParser(strict=False)
|
||||||
config_parser.read(config_path)
|
config_parser.read(config_path)
|
||||||
|
|
||||||
|
path = None
|
||||||
for section in config_parser.sections():
|
for section in config_parser.sections():
|
||||||
if "Default" in config_parser[section]:
|
if "Default" in config_parser[section]:
|
||||||
if config_parser[section]["Default"] == "1":
|
section_default_value = config_parser[section]["Default"]
|
||||||
print("Default detected: " + section)
|
if section_default_value:
|
||||||
return FIREFOX_ROOT.joinpath(config_parser[section]["Path"])
|
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):
|
def _get_releases(repository_owner, repository_name):
|
||||||
releases = []
|
releases = []
|
||||||
@@ -110,7 +123,16 @@ def _get_latest_compatible_release(releases):
|
|||||||
if firefox_version in release["supported"]:
|
if firefox_version in release["supported"]:
|
||||||
return release
|
return release
|
||||||
return None
|
return None
|
||||||
|
def _get_firefox_version(bin="firefox"):
|
||||||
|
try:
|
||||||
|
ver_string = check_output([bin, "--version"], encoding="UTF-8")
|
||||||
|
return ver_string[ver_string.rindex(" ")+1:].strip()
|
||||||
|
except FileNotFoundError:
|
||||||
|
default_path = str(DEFAULT_FIREFOX_INSTALL.joinpath("firefox"))
|
||||||
|
if bin != default_path: # Avoid infinite recursion
|
||||||
|
return _get_firefox_version(default_path)
|
||||||
|
else:
|
||||||
|
raise Exception("Firefox binary not found. Please ensure Firefox is installed and the path is correct.")
|
||||||
|
|
||||||
def backup_profile(src):
|
def backup_profile(src):
|
||||||
dest = f"{src}-backup-{datetime.today().strftime('%Y-%m-%d-%H-%M-%S')}"
|
dest = f"{src}-backup-{datetime.today().strftime('%Y-%m-%d-%H-%M-%S')}"
|
||||||
|
|||||||
@@ -75,7 +75,7 @@ user_pref("browser.bookmarks.max_backups", 0); // minimize disk use; manually ba
|
|||||||
user_pref("view_source.wrap_long_lines", true); // wrap source lines
|
user_pref("view_source.wrap_long_lines", true); // wrap source lines
|
||||||
user_pref("devtools.debugger.ui.editor-wrapping", true); // wrap lines in devtools
|
user_pref("devtools.debugger.ui.editor-wrapping", true); // wrap lines in devtools
|
||||||
user_pref("browser.zoom.full", false); // text-only zoom, not all elements on page
|
user_pref("browser.zoom.full", false); // text-only zoom, not all elements on page
|
||||||
user_pref("pdfjs.sidebarViewOnLoad", 2); // force showing of Table of Contents in sidebar for PDFs (if available)
|
//user_pref("pdfjs.sidebarViewOnLoad", 2); // force showing of Table of Contents in sidebar for PDFs (if available)
|
||||||
user_pref("layout.word_select.eat_space_to_next_word", false); // do not select the space next to a word when selecting a word
|
user_pref("layout.word_select.eat_space_to_next_word", false); // do not select the space next to a word when selecting a word
|
||||||
//user_pref("browser.tabs.loadInBackground", false); // CTRL+SHIFT+CLICK for background tabs; Settings>General>Tabs>When you open a link, image or media in a new tab, switch to it immediately
|
//user_pref("browser.tabs.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("browser.tabs.loadBookmarksInTabs", true); // force bookmarks to open in a new tab, not the current tab
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Betterfox *
|
* Betterfox *
|
||||||
* "Ad meliora" *
|
* "Ad meliora" *
|
||||||
* version: 131 *
|
* version: 135 *
|
||||||
* url: https://github.com/yokoffing/Betterfox *
|
* url: https://github.com/yokoffing/Betterfox *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
@@ -21,12 +21,11 @@
|
|||||||
user_pref("content.notify.interval", 100000);
|
user_pref("content.notify.interval", 100000);
|
||||||
|
|
||||||
/** GFX ***/
|
/** GFX ***/
|
||||||
user_pref("gfx.canvas.accelerated.cache-items", 4096);
|
|
||||||
user_pref("gfx.canvas.accelerated.cache-size", 512);
|
user_pref("gfx.canvas.accelerated.cache-size", 512);
|
||||||
user_pref("gfx.content.skia-font-cache-size", 20);
|
user_pref("gfx.content.skia-font-cache-size", 20);
|
||||||
|
|
||||||
/** DISK CACHE ***/
|
/** DISK CACHE ***/
|
||||||
user_pref("browser.cache.jsbc_compression_level", 3);
|
user_pref("browser.cache.disk.enable", false);
|
||||||
|
|
||||||
/** MEDIA CACHE ***/
|
/** MEDIA CACHE ***/
|
||||||
user_pref("media.memory_cache_max_size", 65536);
|
user_pref("media.memory_cache_max_size", 65536);
|
||||||
@@ -53,7 +52,6 @@ user_pref("network.predictor.enable-prefetch", false);
|
|||||||
|
|
||||||
/** EXPERIMENTAL ***/
|
/** EXPERIMENTAL ***/
|
||||||
user_pref("layout.css.grid-template-masonry-value.enabled", true);
|
user_pref("layout.css.grid-template-masonry-value.enabled", true);
|
||||||
user_pref("dom.enable_web_task_scheduling", true);
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* SECTION: SECUREFOX *
|
* SECTION: SECUREFOX *
|
||||||
@@ -82,6 +80,7 @@ user_pref("browser.privatebrowsing.forceMediaMemoryCache", true);
|
|||||||
user_pref("browser.sessionstore.interval", 60000);
|
user_pref("browser.sessionstore.interval", 60000);
|
||||||
|
|
||||||
/** SHUTDOWN & SANITIZING ***/
|
/** SHUTDOWN & SANITIZING ***/
|
||||||
|
user_pref("browser.privatebrowsing.resetPBM.enabled", true);
|
||||||
user_pref("privacy.history.custom", true);
|
user_pref("privacy.history.custom", true);
|
||||||
|
|
||||||
/** SEARCH / URL BAR ***/
|
/** SEARCH / URL BAR ***/
|
||||||
@@ -125,8 +124,8 @@ user_pref("browser.safebrowsing.downloads.remote.enabled", false);
|
|||||||
/** MOZILLA ***/
|
/** MOZILLA ***/
|
||||||
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("browser.search.update", false);
|
||||||
user_pref("permissions.manager.defaultsUrl", "");
|
user_pref("permissions.manager.defaultsUrl", "");
|
||||||
user_pref("webchannel.allowObject.urlWhitelist", "");
|
|
||||||
|
|
||||||
/** TELEMETRY ***/
|
/** TELEMETRY ***/
|
||||||
user_pref("datareporting.policy.dataSubmissionEnabled", false);
|
user_pref("datareporting.policy.dataSubmissionEnabled", false);
|
||||||
@@ -154,7 +153,6 @@ user_pref("app.normandy.api_url", "");
|
|||||||
/** CRASH REPORTS ***/
|
/** CRASH REPORTS ***/
|
||||||
user_pref("breakpad.reportURL", "");
|
user_pref("breakpad.reportURL", "");
|
||||||
user_pref("browser.tabs.crashReporting.sendReport", false);
|
user_pref("browser.tabs.crashReporting.sendReport", false);
|
||||||
user_pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false);
|
|
||||||
|
|
||||||
/** DETECTION ***/
|
/** DETECTION ***/
|
||||||
user_pref("captivedetect.canonicalURL", "");
|
user_pref("captivedetect.canonicalURL", "");
|
||||||
@@ -181,7 +179,6 @@ user_pref("browser.profiles.enabled", true);
|
|||||||
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
|
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
|
||||||
user_pref("browser.compactmode.show", true);
|
user_pref("browser.compactmode.show", true);
|
||||||
user_pref("browser.privateWindowSeparation.enabled", false); // WINDOWS
|
user_pref("browser.privateWindowSeparation.enabled", false); // WINDOWS
|
||||||
user_pref("browser.newtabpage.activity-stream.newtabWallpapers.v2.enabled", true);
|
|
||||||
|
|
||||||
/** COOKIE BANNER HANDLING ***/
|
/** COOKIE BANNER HANDLING ***/
|
||||||
user_pref("cookiebanners.service.mode", 1);
|
user_pref("cookiebanners.service.mode", 1);
|
||||||
|
|||||||
Reference in New Issue
Block a user