mirror of
https://github.com/yokoffing/Betterfox.git
synced 2026-06-12 15:40:48 +05:30
Compare commits
115 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 229d6697ba | |||
| d12492db46 | |||
| 9b7b0e68bc | |||
| 876d0fdabb | |||
| 40b30c550a | |||
| f9b73ef2fb | |||
| a1258c93a7 | |||
| 02b814cdc5 | |||
| 9f4f3ac94f | |||
| 5526f98e36 | |||
| 47296c3db7 | |||
| c6d825c2e0 | |||
| b38e21923a | |||
| ccc5c19347 | |||
| ec00fcc8b5 | |||
| df898d612c | |||
| 64e25ca5a6 | |||
| d1922b36b3 | |||
| a581701b4c | |||
| 16d5acbc00 | |||
| 1f0591765c | |||
| cfab690e59 | |||
| ac700e6059 | |||
| e377ae10ee | |||
| 3404a2149b | |||
| e968e81b9d | |||
| d822d3f15e | |||
| 7a2884f474 | |||
| ad624c0dba | |||
| 2d7db5a003 | |||
| 739e44c4dd | |||
| 0bd34c0e38 | |||
| 6275cc4b89 | |||
| ab193f3d8d | |||
| ded2f4e39c | |||
| b142f7ee3c | |||
| b9fbb68e01 | |||
| 15164e057f | |||
| 406e15fe45 | |||
| da5d381581 | |||
| f4c4f2c92e | |||
| adcc0b9495 | |||
| 2ee90c6aea | |||
| 1f430a55e0 | |||
| 7652235ba5 | |||
| 820ef8630d | |||
| d59b4c6ca4 | |||
| 2e70eae32e | |||
| 9c80d3aa4d | |||
| 65447bc01c | |||
| 855727791b | |||
| 3ecee6db5b | |||
| f07fcf289e | |||
| 9d68a4a0be | |||
| 89850bb04d | |||
| 6b81e65bc7 | |||
| 9603397a98 | |||
| 96bd585870 | |||
| 463de7b7b4 | |||
| bd19921244 | |||
| 6a879397f5 | |||
| 353540bf7c | |||
| f41d06c2a4 | |||
| bc3c8f84de | |||
| 32705478d2 | |||
| 3ff20e8efc | |||
| f85d2d09a9 | |||
| 11fb448317 | |||
| d38de11c8e | |||
| 078a8fa5ca | |||
| fa159e12e4 | |||
| ef04b0bd37 | |||
| b2cc5f3ca8 | |||
| 3577f4d70c | |||
| 62d43d24fc | |||
| 08ba8fb771 | |||
| 683e3c805c | |||
| 349ed50ebd | |||
| f2408dd157 | |||
| 6a732503bb | |||
| cd3a4c162b | |||
| 2003c8d989 | |||
| 00c018e4ae | |||
| 1bdf238075 | |||
| ec601dcbdc | |||
| 2bc1dd8fb2 | |||
| b7e389eec4 | |||
| 48dd1dfbb3 | |||
| bb9e5c1ea3 | |||
| 14f27cd5f8 | |||
| 3f533f236f | |||
| 01fab3ca34 | |||
| 351b685659 | |||
| 645de9a604 | |||
| 41850d9cfd | |||
| dbf6515187 | |||
| ca15a55a49 | |||
| 2f0999939e | |||
| 2b2e375228 | |||
| 4b049633ab | |||
| 30bc1e69de | |||
| 54d453dec5 | |||
| c29fe2b939 | |||
| a8e9aaa5f0 | |||
| c3eb95ae41 | |||
| 405cbc7a86 | |||
| 733dfe2dfd | |||
| f9fae4f3c2 | |||
| da0e4c2e2e | |||
| 85b84dd669 | |||
| c7dc352e60 | |||
| 00acc684f6 | |||
| 9aa77019ff | |||
| 103e2866fa | |||
| 2f576bc100 |
+137
-76
@@ -1,25 +1,39 @@
|
|||||||
//
|
|
||||||
/* Do not COPY+PASTE this file. If you do, only COPY+PASTE the user_pref itself.
|
|
||||||
*
|
|
||||||
* If you make changes to your about:config while the program is running, the
|
|
||||||
* changes will be overwritten when the application restarts.
|
|
||||||
*
|
|
||||||
* To make a change to preferences, you will have to edit the user.js file.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/****************************************************************************************
|
/****************************************************************************************
|
||||||
* Fastfox *
|
* Fastfox *
|
||||||
* "Non ducor duco" *
|
* "Non ducor duco" *
|
||||||
* priority: speedy browsing *
|
* priority: speedy browsing *
|
||||||
* version: 107a *
|
* version: 108 *
|
||||||
* url: https://github.com/yokoffing/Betterfox *
|
* url: https://github.com/yokoffing/Betterfox *
|
||||||
***************************************************************************************/
|
***************************************************************************************/
|
||||||
|
|
||||||
// PREF: initial paint delay
|
// PREF: initial paint delay
|
||||||
// How long FF will wait before rendering the page
|
// How long FF will wait before rendering the page, in milliseconds
|
||||||
// [1] https://kb.mozillazine.org/Nglayout.initialpaint.delay
|
// Reduce the 5ms Firefox waits to render the page
|
||||||
|
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1283302
|
||||||
|
// [2] https://docs.google.com/document/d/1BvCoZzk2_rNZx3u9ESPoFjSADRI0zIPeJRXFLwWXx_4/edit#heading=h.28ki6m8dg30z
|
||||||
user_pref("nglayout.initialpaint.delay", 0); // default=5; used to be 250
|
user_pref("nglayout.initialpaint.delay", 0); // default=5; used to be 250
|
||||||
user_pref("nglayout.initialpaint.delay_in_oopif", 0); // default=5; used to be 250
|
user_pref("nglayout.initialpaint.delay_in_oopif", 0); // default=5
|
||||||
|
|
||||||
|
// PREF: notification interval (in microseconds)
|
||||||
|
// When Firefox is loading a page, it periodically reformats
|
||||||
|
// or "reflows" the page as it loads. The page displays new elements
|
||||||
|
// every 0.12 seconds by default. These redraws increase the total page load time.
|
||||||
|
// Lowering the interval will decrease the perceived page load time
|
||||||
|
// but increase the total loading time.
|
||||||
|
// The notification interval has a dramatic effect on how long it takes to
|
||||||
|
// initially display content for slow connections. The default value
|
||||||
|
// provides good incremental display of content without causing an increase
|
||||||
|
// in page load time. If this value is set below 1/10 of a second it starts
|
||||||
|
// to impact page load performance.
|
||||||
|
// [1] https://searchfox.org/mozilla-central/rev/c1180ea13e73eb985a49b15c0d90e977a1aa919c/modules/libpref/init/StaticPrefList.yaml#1824-1834
|
||||||
|
user_pref("content.notify.interval", 360000); // (.36s), default=120000 (.12s)
|
||||||
|
//user_pref("content.notify.ontimer", true); // DEFAULT
|
||||||
|
|
||||||
|
// PREF: set the minimum interval between session save operations
|
||||||
|
// Increasing this can help on older machines and some websites, as well as reducing writes
|
||||||
|
// [1] https://bugzilla.mozilla.org/1304389
|
||||||
|
//user_pref("browser.sessionstore.interval", 30000); // [DEFAULT: 15000]
|
||||||
|
|
||||||
// PREF: control how tabs are loaded when a session is restored
|
// PREF: control how tabs are loaded when a session is restored
|
||||||
// true=Tabs are not loaded until they are selected (default)
|
// true=Tabs are not loaded until they are selected (default)
|
||||||
@@ -35,11 +49,6 @@ user_pref("nglayout.initialpaint.delay_in_oopif", 0); // default=5; used to be 2
|
|||||||
// PREF: disable preSkeletonUI on startup
|
// PREF: disable preSkeletonUI on startup
|
||||||
user_pref("browser.startup.preXulSkeletonUI", false);
|
user_pref("browser.startup.preXulSkeletonUI", false);
|
||||||
|
|
||||||
// PREF: set the minimum interval between session save operations
|
|
||||||
// Increasing this can help on older machines and some websites, as well as reducing writes
|
|
||||||
// [1] https://bugzilla.mozilla.org/1304389
|
|
||||||
//user_pref("browser.sessionstore.interval", 30000); // [DEFAULT: 15000]
|
|
||||||
|
|
||||||
// PREF: OffscreenCanvas
|
// PREF: OffscreenCanvas
|
||||||
// [1] https://yashints.dev/blog/2019/05/11/offscreen-canvas
|
// [1] https://yashints.dev/blog/2019/05/11/offscreen-canvas
|
||||||
// [2] https://www.youtube.com/watch?v=CWvRA9E0DqU
|
// [2] https://www.youtube.com/watch?v=CWvRA9E0DqU
|
||||||
@@ -62,6 +71,14 @@ user_pref("browser.startup.preXulSkeletonUI", false);
|
|||||||
* SECTION: EXPERIMENTAL *
|
* SECTION: EXPERIMENTAL *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
|
// PREF: WebGPU [HIGHLY EXPERIMENTAL!] [NIGHTLY]
|
||||||
|
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1746245
|
||||||
|
// [2] https://github.com/gpuweb/gpuweb/wiki/Implementation-Status
|
||||||
|
// [3] https://hacks.mozilla.org/2020/04/experimental-webgpu-in-firefox/
|
||||||
|
// [4] https://developer.chrome.com/docs/web-platform/webgpu/
|
||||||
|
//user_pref("dom.webgpu.enabled", true);
|
||||||
|
//user_pref("gfx.webgpu.force-enabled", true);
|
||||||
|
|
||||||
// PREF: about:home startup cache [NIGHTLY]
|
// PREF: about:home startup cache [NIGHTLY]
|
||||||
// A cache for the initial about:home document that is loaded by default at startup
|
// A cache for the initial about:home document that is loaded by default at startup
|
||||||
// The purpose of the cache is to improve startup performance
|
// The purpose of the cache is to improve startup performance
|
||||||
@@ -75,7 +92,7 @@ user_pref("layout.css.grid-template-masonry-value.enabled", true);
|
|||||||
// [2] https://medium.com/airbnb-engineering/building-a-faster-web-experience-with-the-posttask-scheduler-276b83454e91
|
// [2] https://medium.com/airbnb-engineering/building-a-faster-web-experience-with-the-posttask-scheduler-276b83454e91
|
||||||
user_pref("dom.enable_web_task_scheduling", true);
|
user_pref("dom.enable_web_task_scheduling", true);
|
||||||
|
|
||||||
// PREF: enable animation-composition [NIGHTLY]
|
// PREF: enable CSS Animation Composition [NIGHTLY]
|
||||||
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1785329
|
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1785329
|
||||||
// [2] https://bugzilla.mozilla.org/show_bug.cgi?id=1293490
|
// [2] https://bugzilla.mozilla.org/show_bug.cgi?id=1293490
|
||||||
// [3] https://developer.mozilla.org/en-US/docs/Web/CSS/animation-composition
|
// [3] https://developer.mozilla.org/en-US/docs/Web/CSS/animation-composition
|
||||||
@@ -85,54 +102,25 @@ user_pref("layout.css.animation-composition.enabled", true);
|
|||||||
// [1] https://github.com/tc39/proposal-shadowrealm/blob/main/explainer.md#introduction
|
// [1] https://github.com/tc39/proposal-shadowrealm/blob/main/explainer.md#introduction
|
||||||
//user_pref("javascript.options.experimental.shadow_realms", true);
|
//user_pref("javascript.options.experimental.shadow_realms", true);
|
||||||
|
|
||||||
// PREF: Wasm GC [NIGHTLY]
|
// PREF: Wasm GC + References [NIGHTLY]
|
||||||
// [1] https://github.com/WebAssembly/gc/blob/main/proposals/gc/Overview.md
|
// [1] https://github.com/WebAssembly/gc/blob/main/proposals/gc/Overview.md
|
||||||
|
// [2] https://github.com/WebAssembly/function-references/blob/master/proposals/function-references/Overview.md
|
||||||
//user_pref("javascript.options.wasm_gc", true);
|
//user_pref("javascript.options.wasm_gc", true);
|
||||||
|
|
||||||
// PREF: Wasm Function References [NIGHTLY]
|
|
||||||
// [1] https://github.com/WebAssembly/function-references/blob/master/proposals/function-references/Overview.md
|
|
||||||
//user_pref("javascript.options.wasm_function_references", true);
|
//user_pref("javascript.options.wasm_function_references", true);
|
||||||
|
|
||||||
/****************************************************************************
|
// PREF: Array.fromAsync [NIGHTLY]
|
||||||
* SECTION: NETWORK *
|
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1795452
|
||||||
****************************************************************************/
|
//user_pref("javascript.options.experimental.array_grouping", true);
|
||||||
|
//user_pref("javascript.options.experimental.enable_change_array_by_copy", true);
|
||||||
|
|
||||||
// PREF: faster SSL
|
// PREF: not yet categorized / need documentation [NIGHTLY]
|
||||||
user_pref("network.ssl_tokens_cache_capacity", 32768); // more TLS token caching (fast reconnects)
|
//user_pref("javascript.options.experimental.iterator_helpers", true);
|
||||||
|
//user_pref("javascript.options.experimental.weakrefs.expose_cleanupSome", true);
|
||||||
// PREF: increase DNS cache
|
|
||||||
user_pref("network.dnsCacheEntries", 20000);
|
|
||||||
user_pref("network.dnsCacheExpiration", 3600);
|
|
||||||
user_pref("network.dnsCacheExpirationGracePeriod", 240);
|
|
||||||
|
|
||||||
// PREF: use bigger packets
|
|
||||||
// [1] https://www.mail-archive.com/support-seamonkey@lists.mozilla.org/msg74561.html
|
|
||||||
// [2] https://www.mail-archive.com/support-seamonkey@lists.mozilla.org/msg74570.html
|
|
||||||
user_pref("network.buffer.cache.size", 262144); // preferred=327680; default=32768
|
|
||||||
user_pref("network.buffer.cache.count", 128); // preferred=240; default=24
|
|
||||||
|
|
||||||
// PREF: DoH requests
|
|
||||||
//user_pref("network.trr.request_timeout_ms", 1500); // DEFAULT
|
|
||||||
//user_pref("network.trr.retry-timeout-ms", 125); // DEFAULT
|
|
||||||
|
|
||||||
// These do not affect anything, probably:
|
|
||||||
|
|
||||||
// PREF: close a connection if tls handshake does not finish in given number of seconds
|
|
||||||
//user_pref("network.http.tls-handshake-timeout", 3); // default=30
|
|
||||||
|
|
||||||
// PREF: timeout connections if an initial response is not received in number of seconds
|
|
||||||
//user_pref("network.http.response.timeout", 5); // default=300
|
|
||||||
|
|
||||||
// PREF: increase the absolute number of http connections
|
|
||||||
// [1] https://kb.mozillazine.org/Network.http.max-connections
|
|
||||||
// [2] https://kb.mozillazine.org/Network.http.max-persistent-connections-per-server
|
|
||||||
//user_pref("network.http.max-connections", 1800); // default=900
|
|
||||||
//user_pref("network.http.max-persistent-connections-per-server", 8); // default=6; download connections; anything above 10 is excessive
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* SECTION: MAKE FIREFOX FAST *
|
* SECTION: MAKE FIREFOX FAST *
|
||||||
* [NOTE] The following is not recommended for low-end machines *
|
* [NOTE] The following is not recommended for low-end machines *
|
||||||
* Credit for most of these: *
|
* Credit for many of these: *
|
||||||
* https://gist.github.com/RubenKelevra/fd66c2f856d703260ecdf0379c4f59db *
|
* https://gist.github.com/RubenKelevra/fd66c2f856d703260ecdf0379c4f59db *
|
||||||
* [NOTE] For best performance on older hardware, you will need to test *
|
* [NOTE] For best performance on older hardware, you will need to test *
|
||||||
* these settings individually. *
|
* these settings individually. *
|
||||||
@@ -143,20 +131,25 @@ user_pref("network.buffer.cache.count", 128); // preferred=240; default=24
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
// PREF: Webrender tweaks
|
// PREF: Webrender tweaks
|
||||||
// [1] https://hacks.mozilla.org/2017/10/the-whole-web-at-maximum-fps-how-webrender-gets-rid-of-jank/
|
// [1] https://searchfox.org/mozilla-central/rev/6e6332bbd3dd6926acce3ce6d32664eab4f837e5/modules/libpref/init/StaticPrefList.yaml#6202-6219
|
||||||
// [2] https://wiki.mozilla.org/Platform/GFX/WebRender_Where
|
// [2] https://hacks.mozilla.org/2017/10/the-whole-web-at-maximum-fps-how-webrender-gets-rid-of-jank/
|
||||||
// [3] https://www.reddit.com/r/firefox/comments/fo1jwz/make_firefox_faster/flhh5l2/
|
// [3] https://www.troddit.com/r/firefox/comments/tbphok/is_setting_gfxwebrenderprecacheshaders_to_true/i0bxs2r/
|
||||||
// [4] https://www.troddit.com/r/firefox/comments/tbphok/is_setting_gfxwebrenderprecacheshaders_to_true/i0bxs2r/
|
// [4] https://www.troddit.com/r/firefox/comments/z5auzi/comment/ixw65gb?context=3
|
||||||
user_pref("gfx.webrender.all", true); // enables WR (GPU) + additional features
|
user_pref("gfx.webrender.all", true); // enables WR (GPU) + additional features
|
||||||
user_pref("gfx.webrender.precache-shaders", true);
|
user_pref("gfx.webrender.precache-shaders", true);
|
||||||
user_pref("gfx.webrender.compositor", true);
|
user_pref("gfx.webrender.compositor", true);
|
||||||
//user_pref("gfx.webrender.compositor.force-enabled", true); // reinforce
|
//user_pref("gfx.webrender.compositor.force-enabled", true); // reinforce
|
||||||
|
user_pref("layers.gpu-process.enabled", true);
|
||||||
|
//user_pref("layers.gpu-process.force-enabled", true); // reinforce
|
||||||
|
user_pref("media.hardware-video-decoding.enabled", true);
|
||||||
|
//user_pref("media.hardware-video-decoding.force-enabled", true); // reinforce
|
||||||
|
|
||||||
// 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/
|
||||||
//user_pref("gfx.webrender.enabled", true);
|
//user_pref("gfx.webrender.enabled", true);
|
||||||
//user_pref("gfx.webrender.software", true); // Webrender uses the CPU and not the GPU
|
//user_pref("gfx.webrender.software", true); // Webrender uses the CPU and not the GPU
|
||||||
//user_pref("gfx.webrender.software.opengl", true); [LINUX]
|
//user_pref("gfx.webrender.software.opengl", true); // [LINUX]
|
||||||
|
//user_pref("media.ffmpeg.vaapi.enabled", true); // [LINUX]
|
||||||
|
|
||||||
// PREF: GPU-accelerated Canvas2D tweaks
|
// PREF: GPU-accelerated Canvas2D tweaks
|
||||||
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1739448
|
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1739448
|
||||||
@@ -169,48 +162,116 @@ user_pref("gfx.content.skia-font-cache-size", 80);
|
|||||||
user_pref("image.cache.size", 10485760);
|
user_pref("image.cache.size", 10485760);
|
||||||
user_pref("image.mem.decode_bytes_at_a_time", 131072); // alt=65536; preferred=262144; chunk size for calls to the image decoders
|
user_pref("image.mem.decode_bytes_at_a_time", 131072); // alt=65536; preferred=262144; chunk size for calls to the image decoders
|
||||||
user_pref("image.mem.shared.unmap.min_expiration_ms", 120000); // default=60000; minimum timeout to unmap shared surfaces since they have been last used
|
user_pref("image.mem.shared.unmap.min_expiration_ms", 120000); // default=60000; minimum timeout to unmap shared surfaces since they have been last used
|
||||||
user_pref("layers.gpu-process.enabled", true);
|
|
||||||
//user_pref("layers.gpu-process.force-enabled", true); // reinforce
|
|
||||||
|
|
||||||
// PREF: increase media cache
|
// PREF: increase media cache
|
||||||
user_pref("media.memory_cache_max_size", 1048576); // alt=512000; also in Securefox (inactive there)
|
user_pref("media.memory_cache_max_size", 1048576); // alt=512000; also in Securefox (inactive there)
|
||||||
user_pref("media.memory_caches_combined_limit_kb", 2560000); // preferred=3145728; // default=524288
|
user_pref("media.memory_caches_combined_limit_kb", 2560000); // preferred=3145728; // default=524288
|
||||||
//user_pref("media.memory_caches_combined_limit_pc_sysmem", 20); // default=5
|
//user_pref("media.memory_caches_combined_limit_pc_sysmem", 20); // default=5
|
||||||
//user_pref("media.ffmpeg.vaapi.enabled", true); // [LINUX]
|
|
||||||
//user_pref("media.hardware-video-decoding.enabled", true);
|
|
||||||
//user_pref("media.hardware-video-decoding.force-enabled", true); // reinforce
|
|
||||||
|
|
||||||
// PREF: decrease video buffering
|
// PREF: decrease video buffering
|
||||||
// [NOTE] Does not affect YouTube since it uses DASH playback [1]
|
// [NOTE] Does not affect YouTube since it uses DASH playback [1]
|
||||||
// [1] https://lifehacker.com/preload-entire-youtube-videos-by-disabling-dash-playbac-1186454034
|
// [1] https://lifehacker.com/preload-entire-youtube-videos-by-disabling-dash-playbac-1186454034
|
||||||
user_pref("media.cache_size", 2048000); // default=512000
|
//user_pref("media.cache_size", 2048000); // default=512000
|
||||||
user_pref("media.cache_readahead_limit", 9000); // default=60; stop reading ahead when our buffered data is this many seconds ahead of the current playback
|
user_pref("media.cache_readahead_limit", 9000); // default=60; stop reading ahead when our buffered data is this many seconds ahead of the current playback
|
||||||
user_pref("media.cache_resume_threshold", 6000); // default=30; when a network connection is suspended, don't resume it until the amount of buffered data falls below this threshold (in seconds)
|
user_pref("media.cache_resume_threshold", 6000); // default=30; when a network connection is suspended, don't resume it until the amount of buffered data falls below this threshold (in seconds)
|
||||||
|
|
||||||
// PREF: faster upload speed
|
// PREF: disable QUIC for faster upload speeds
|
||||||
// Firefox currently has a bug with impacting upload speeds with HTTP3/QUIC
|
// Firefox currently has a bug with impacting upload speeds with HTTP3
|
||||||
// [TEST] https://speedof.me/
|
// [TEST] https://speedof.me/
|
||||||
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1753486
|
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1753486
|
||||||
// [2] https://bugzilla.mozilla.org/show_bug.cgi?id=1596576
|
// [2] https://bugzilla.mozilla.org/show_bug.cgi?id=1596576
|
||||||
//user_pref("network.http.http3.enable", false); // disables HTTP3/QUIC
|
//user_pref("network.http.http3.enable", false); // disables HTTP3/QUIC
|
||||||
//user_pref("network.http.http2.chunk-size", 32000); // preferred=48000; default=16000 [needed?]
|
//user_pref("network.http.http2.chunk-size", 32000); // preferred=48000; default=16000 [needed?]
|
||||||
|
|
||||||
|
// PREF: disable AV1 for hardware decodeable videos
|
||||||
|
// AV1 uses software (CPU-based) decoding
|
||||||
|
// Firefox sometimes uses AV1 video decoding even to GPUs which do not support it
|
||||||
|
// [1] https://www.troddit.com/r/AV1/comments/s5xyph/youtube_av1_codec_have_worse_quality_than_old_vp9
|
||||||
|
//user_pref("media.av1.enabled", false);
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* SECTION: BROWSER CACHE *
|
* SECTION: BROWSER CACHE *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
// PREF: re-enable disk cache (optional)
|
// PREF: disk cache
|
||||||
// [EXTENSION] https://addons.mozilla.org/en-US/firefox/addon/cache-longer/
|
// [EXTENSION] https://addons.mozilla.org/en-US/firefox/addon/cache-longer/
|
||||||
//user_pref("browser.cache.disk.enable", true); // SecureFox override
|
//user_pref("browser.cache.disk.enable", true); // overrides Securefox
|
||||||
//user_pref("browser.cache.disk.max_entry_size", 51200); // DEFAULT
|
//user_pref("browser.cache.disk.max_entry_size", 51200); // DEFAULT
|
||||||
//user_pref("browser.cache.disk.smart_size.enabled", false); // disable adaptive cache size on disk
|
//user_pref("browser.cache.disk.smart_size.enabled", false); // disable adaptive cache size on disk
|
||||||
//user_pref("browser.cache.disk.capacity", 8192000); // 8 GB cache on disk
|
//user_pref("browser.cache.disk.capacity", 8192000); // 8 GB cache on disk
|
||||||
//user_pref("browser.cache.max_shutdown_io_lag", 16); // number of seconds the cache spends writing pending data and closing files after shutdown has been signalled
|
//user_pref("browser.cache.max_shutdown_io_lag", 16); // number of seconds the cache spends writing pending data and closing files after shutdown has been signalled
|
||||||
//user_pref("browser.cache.frecency_half_life_hours", 128); // lower cache sweep intervals, the half life used to re-compute cache entries frecency (in hours)
|
//user_pref("browser.cache.frecency_half_life_hours", 128); // lower cache sweep intervals, the half life used to re-compute cache entries frecency (in hours)
|
||||||
// disable clearing cache on shutdown:
|
|
||||||
//user_pref("privacy.clearOnShutdown.cache", false);
|
|
||||||
|
|
||||||
// PREF: increase memory cache size (recommended)
|
// PREF: increase memory cache size
|
||||||
// [1] https://www.makeuseof.com/tag/how-much-data-does-youtube-use/
|
// [1] https://www.makeuseof.com/tag/how-much-data-does-youtube-use/
|
||||||
//user_pref("browser.cache.memory.capacity", 5242880); // default=-1; 256000=256MB, 512000=512MB, 1024000=1GB, 2097152=2GB, 5242880=5GB, 8388608=8GB
|
//user_pref("browser.cache.memory.capacity", -1); // enforce DEFAULT; 256000=256MB, 512000=512MB, 1024000=1GB, 2097152=2GB, 5242880=5GB, 8388608=8GB
|
||||||
user_pref("browser.cache.memory.max_entry_size", 153600); // alt=51200; preferred=327680 ; -1 -> entries bigger than than 90% of the mem-cache are never cached
|
user_pref("browser.cache.memory.max_entry_size", 153600); // alt=51200; preferred=327680 ; -1 -> entries bigger than than 90% of the mem-cache are never cached
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* SECTION: NETWORK *
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
// PREF: use bigger packets
|
||||||
|
// [1] https://www.mail-archive.com/support-seamonkey@lists.mozilla.org/msg74561.html
|
||||||
|
// [2] https://www.mail-archive.com/support-seamonkey@lists.mozilla.org/msg74570.html
|
||||||
|
user_pref("network.buffer.cache.size", 262144); // preferred=327680; default=32768
|
||||||
|
user_pref("network.buffer.cache.count", 128); // preferred=240; default=24
|
||||||
|
|
||||||
|
// PREF: increase the absolute number of HTTP connections
|
||||||
|
// [1] https://kb.mozillazine.org/Network.http.max-connections
|
||||||
|
// [2] https://kb.mozillazine.org/Network.http.max-persistent-connections-per-server
|
||||||
|
//user_pref("network.http.max-connections", 1800); // default=900
|
||||||
|
//user_pref("network.http.max-persistent-connections-per-server", 9); // default=6; download connections; anything above 10 is excessive
|
||||||
|
//user_pref("network.http.max-persistent-connections-per-proxy", 48); // default=32
|
||||||
|
//user_pref("network.http.max-urgent-start-excessive-connections-per-host", 6); // default=3
|
||||||
|
//user_pref("network.http.pacing.requests.min-parallelism", 18); // default=6
|
||||||
|
|
||||||
|
// PREF: increase DNS cache
|
||||||
|
user_pref("network.dnsCacheEntries", 20000);
|
||||||
|
user_pref("network.dnsCacheExpiration", 3600); // keep entries for 1 hour
|
||||||
|
user_pref("network.dnsCacheExpirationGracePeriod", 240);
|
||||||
|
|
||||||
|
// PREF: increase TLS token caching
|
||||||
|
user_pref("network.ssl_tokens_cache_capacity", 32768); // default=2048; faster SSL (fast reconnects)
|
||||||
|
|
||||||
|
// These do not help speed:
|
||||||
|
// PREF: DoH requests
|
||||||
|
//user_pref("network.trr.request_timeout_ms", 800); // default=1500
|
||||||
|
//user_pref("network.trr.retry-timeout-ms", 125); // DEFAULT
|
||||||
|
//user_pref("network.trr.request_timeout_mode_trronly_ms", 15000); // default=30000
|
||||||
|
// PREF: close a connection if tls handshake does not finish in given number of seconds
|
||||||
|
//user_pref("network.http.tls-handshake-timeout", 20); // default=30
|
||||||
|
// PREF: timeout connections if an initial response is not received in number of seconds
|
||||||
|
//user_pref("network.http.response.timeout", 200); // default=300
|
||||||
|
|
||||||
|
/****************************************************************************
|
||||||
|
* SECTION: SPECULATIVE CONNECTIONS *
|
||||||
|
****************************************************************************/
|
||||||
|
|
||||||
|
// [NOTE] FF85+ partitions (isolates) pooled connections, prefetch connections,
|
||||||
|
// pre-connect connections, speculative connections, TLS session identifiers,
|
||||||
|
// and other connections. We can take advantage of the speed of pre-connections
|
||||||
|
// while preserving privacy. Users may relax hardening to maximize their preference.
|
||||||
|
// For more information, see SecureFox: "PREF: State Paritioning" and "PREF: Network Partitioning" [1]
|
||||||
|
// [1] https://github.com/yokoffing/Betterfox/blob/e9621b0062914da5fdb5f83b8da64041965b7a50/Securefox.js#L74-L108
|
||||||
|
// [NOTE] To activate and increase network predictions, go to settings in uBlock Origin, and make this setting is DISABLED:
|
||||||
|
// - "Disable pre-fetching (to prevent any connection for blocked network requests)"
|
||||||
|
// [NOTE] Add prefs to "MY OVERRIDES" section and uncomment to enable them in your user.js.
|
||||||
|
|
||||||
|
// PREF: increase network predictions
|
||||||
|
//user_pref("network.http.speculative-parallel-limit", 18); // default=6; overrides SecureFox
|
||||||
|
//user_pref("network.dns.disablePrefetch", false); // overrides SecureFox
|
||||||
|
//user_pref("network.dns.disablePrefetchFromHTTPS", false);
|
||||||
|
//user_pref("browser.urlbar.speculativeConnect.enabled", true); // overrides SecureFox
|
||||||
|
//user_pref("browser.places.speculativeConnect.enabled", true); // overrides SecureFox
|
||||||
|
//user_pref("network.prefetch-next", true); // overrides SecureFox
|
||||||
|
//user_pref("network.predictor.enabled", true); // overrides SecureFox
|
||||||
|
//user_pref("network.predictor.enable-prefetch", true); // overrides SecureFox
|
||||||
|
//user_pref("network.predictor.enable-hover-on-ssl", true);
|
||||||
|
//user_pref("network.predictor.preresolve-min-confidence", 10); // default=60; alt=40
|
||||||
|
//user_pref("network.predictor.preconnect-min-confidence", 20); // default=90; alt=70
|
||||||
|
//user_pref("network.predictor.prefetch-min-confidence", 30); // default=100; alt=80
|
||||||
|
//user_pref("network.predictor.prefetch-force-valid-for", 3600); // default=10
|
||||||
|
//user_pref("network.predictor.prefetch-rolling-load-count", 120); // default=10
|
||||||
|
//user_pref("network.predictor.max-resources-per-entry", 250); // default=100
|
||||||
|
//user_pref("network.predictor.max-uri-length", 1000); // default=500
|
||||||
|
|||||||
+29
-24
@@ -1,17 +1,9 @@
|
|||||||
//
|
|
||||||
/* Do not COPY+PASTE this file. If you do, only COPY+PASTE the user_pref itself.
|
|
||||||
*
|
|
||||||
* If you make changes to your about:config while the program is running, the
|
|
||||||
* changes will be overwritten when the application restarts.
|
|
||||||
*
|
|
||||||
* To make a change to preferences, you will have to edit the user.js file.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Peskyfox *
|
* Peskyfox *
|
||||||
* "Aquila non capit muscas" *
|
* "Aquila non capit muscas" *
|
||||||
* priority: remove annoyances *
|
* priority: remove annoyances *
|
||||||
* version: 107a *
|
* version: 108 *
|
||||||
* url: https://github.com/yokoffing/Betterfox *
|
* url: https://github.com/yokoffing/Betterfox *
|
||||||
***************************************************************************/
|
***************************************************************************/
|
||||||
|
|
||||||
@@ -47,8 +39,14 @@ user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true);
|
|||||||
// Will still show green arrow in menu bar
|
// Will still show green arrow in menu bar
|
||||||
user_pref("app.update.suppressPrompts", true);
|
user_pref("app.update.suppressPrompts", true);
|
||||||
|
|
||||||
// PREF: disable Accessibility services
|
// PREF: prevent accessibility services from accessing your browser [RESTART]
|
||||||
// Performance improvement
|
// Accessibility Service may negatively impact Firefox browsing performance
|
||||||
|
// Disable it if you’re not using any type of physical impairment assistive software
|
||||||
|
// [1] https://support.mozilla.org/kb/accessibility-services
|
||||||
|
// [2] https://www.ghacks.net/2021/08/25/firefox-tip-turn-off-accessibility-services-to-improve-performance/
|
||||||
|
// [3] https://www.troddit.com/r/firefox/comments/p8g5zd/why_does_disabling_accessibility_services_improve
|
||||||
|
// [4] https://winaero.com/firefox-has-accessibility-service-memory-leak-you-should-disable-it/
|
||||||
|
// [5] https://www.ghacks.net/2022/12/26/firefoxs-accessibility-performance-is-getting-a-huge-boost/
|
||||||
user_pref("accessibility.force_disabled", 1);
|
user_pref("accessibility.force_disabled", 1);
|
||||||
|
|
||||||
// PREF: disable the Accessibility panel
|
// PREF: disable the Accessibility panel
|
||||||
@@ -136,22 +134,24 @@ user_pref("browser.privatebrowsing.enable-new-indicator", false);
|
|||||||
//user_pref("browser.theme.dark-private-windows", false);
|
//user_pref("browser.theme.dark-private-windows", false);
|
||||||
|
|
||||||
// PREF: Cookie Banner handling [NIGHTLY]
|
// PREF: Cookie Banner handling [NIGHTLY]
|
||||||
// [NOTE] Feature still enforces Total Cookie Protection to limit 3rd-party cookie tracking
|
// [NOTE] Feature still enforces Total Cookie Protection to limit 3rd-party cookie tracking [1]
|
||||||
// [1] https://github.com/mozilla/cookie-banner-rules-list/issues/33#issuecomment-1318460084
|
// [1] https://github.com/mozilla/cookie-banner-rules-list/issues/33#issuecomment-1318460084
|
||||||
// [2] https://phabricator.services.mozilla.com/D153642
|
// [2] https://phabricator.services.mozilla.com/D153642
|
||||||
// 0: Disables all cookie banner handling (default)
|
// [3] https://winaero.com/make-firefox-automatically-click-on-reject-all-in-cookie-banner-consent/
|
||||||
// 1: reject banners if it is a one-click option; otherwise, keep banners on screen
|
// [4] https://docs.google.com/spreadsheets/d/1Nb4gVlGadyxix4i4FBDnOeT_eJp2Zcv69o-KfHtK-aA/edit#gid=0
|
||||||
// 2: reject banners if it is a one-click option; otherwise, fall back to the accept button to remove banner
|
// 2: reject banners if it is a one-click option; otherwise, fall back to the accept button to remove banner
|
||||||
|
// 1: reject banners if it is a one-click option; otherwise, keep banners on screen
|
||||||
|
// 0: disable all cookie banner handling
|
||||||
//user_pref("cookiebanners.service.mode", 2);
|
//user_pref("cookiebanners.service.mode", 2);
|
||||||
//user_pref("cookiebanners.service.mode.privateBrowsing", 1);
|
//user_pref("cookiebanners.service.mode.privateBrowsing", 2);
|
||||||
//user_pref("cookiebanners.bannerClicking.enabled", true);
|
//user_pref("cookiebanners.bannerClicking.enabled", true); // DEFAULT [FF108]
|
||||||
//user_pref("cookiebanners.cookieInjector.enabled", true); // DEFAULT
|
//user_pref("cookiebanners.cookieInjector.enabled", true); // DEFAULT
|
||||||
|
|
||||||
// PREF: enable global CookieBannerRules
|
// PREF: enable global CookieBannerRules
|
||||||
// This is used for click rules that can handle common Consent Management Providers (CMP).
|
// This is used for click rules that can handle common Consent Management Providers (CMP)
|
||||||
// [NOTE] Enabling this (when the cookie handling feature is enabled) may
|
// [NOTE] Enabling this (when the cookie handling feature is enabled) may
|
||||||
// negatively impact site performance since it requires us to run rule-defined
|
// negatively impact site performance since it requires us to run rule-defined
|
||||||
// query selectors for every page.
|
// query selectors for every page
|
||||||
//user_pref("cookiebanners.service.enableGlobalRules", true);
|
//user_pref("cookiebanners.service.enableGlobalRules", true);
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
@@ -188,6 +188,7 @@ user_pref("browser.urlbar.suggest.engines", false);
|
|||||||
//user_pref("browser.urlbar.suggest.openpage", true);
|
//user_pref("browser.urlbar.suggest.openpage", true);
|
||||||
//user_pref("browser.urlbar.suggest.quickactions", false); // [NIGHTLY]
|
//user_pref("browser.urlbar.suggest.quickactions", false); // [NIGHTLY]
|
||||||
//user_pref("browser.urlbar.suggest.searches", false);
|
//user_pref("browser.urlbar.suggest.searches", false);
|
||||||
|
//user_pref("browser.urlbar.suggest.weather", true); // DEFAULT [FF108]
|
||||||
// Disable dropdown suggestions with empty query:
|
// Disable dropdown suggestions with empty query:
|
||||||
user_pref("browser.urlbar.suggest.topsites", false);
|
user_pref("browser.urlbar.suggest.topsites", false);
|
||||||
// enable helpful features:
|
// enable helpful features:
|
||||||
@@ -196,7 +197,7 @@ user_pref("browser.urlbar.unitConversion.enabled", true);
|
|||||||
|
|
||||||
// PREF: Adaptive History Autofill
|
// PREF: Adaptive History Autofill
|
||||||
// [1] https://docs.google.com/document/u/1/d/e/2PACX-1vRBLr_2dxus-aYhZRUkW9Q3B1K0uC-a0qQyE3kQDTU3pcNpDHb36-Pfo9fbETk89e7Jz4nkrqwRhi4j/pub
|
// [1] https://docs.google.com/document/u/1/d/e/2PACX-1vRBLr_2dxus-aYhZRUkW9Q3B1K0uC-a0qQyE3kQDTU3pcNpDHb36-Pfo9fbETk89e7Jz4nkrqwRhi4j/pub
|
||||||
//user_pref("browser.urlbar.autoFill", true); [DEFAULT]
|
//user_pref("browser.urlbar.autoFill", true); // [DEFAULT]
|
||||||
//user_pref("browser.urlbar.autoFill.adaptiveHistory.enabled", false);
|
//user_pref("browser.urlbar.autoFill.adaptiveHistory.enabled", false);
|
||||||
|
|
||||||
// PREF: Quick Actions in the URL Bar
|
// PREF: Quick Actions in the URL Bar
|
||||||
@@ -212,6 +213,9 @@ user_pref("browser.urlbar.unitConversion.enabled", true);
|
|||||||
// default=10, disable=0
|
// default=10, disable=0
|
||||||
//user_pref("browser.urlbar.maxRichResults", 1);
|
//user_pref("browser.urlbar.maxRichResults", 1);
|
||||||
|
|
||||||
|
// PREF: show search query in URL bar instead of URL upon navigation
|
||||||
|
//user_pref("browser.urlbar.showSearchTerms.enabled", true); // DEFAULT
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* SECTION: AUTOPLAY *
|
* SECTION: AUTOPLAY *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
@@ -255,7 +259,7 @@ user_pref("browser.urlbar.unitConversion.enabled", true);
|
|||||||
// PREF: Home / New Tab page items
|
// PREF: Home / New Tab page items
|
||||||
// [SETTINGS] Home>Firefox Home Content
|
// [SETTINGS] Home>Firefox Home Content
|
||||||
// [1] https://github.com/arkenfox/user.js/issues/1556
|
// [1] https://github.com/arkenfox/user.js/issues/1556
|
||||||
//user_pref("browser.newtabpage.activity-stream.discoverystream.enabled", false); /// unnecessary?
|
//user_pref("browser.newtabpage.activity-stream.discoverystream.enabled", false); // unnecessary?
|
||||||
//user_pref("browser.newtabpage.activity-stream.showSearch", true); // NTP Web Search [DEFAULT]
|
//user_pref("browser.newtabpage.activity-stream.showSearch", true); // NTP Web Search [DEFAULT]
|
||||||
user_pref("browser.newtabpage.activity-stream.feeds.topsites", false); // Shortcuts
|
user_pref("browser.newtabpage.activity-stream.feeds.topsites", false); // Shortcuts
|
||||||
//user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false); // Sponsored shortcuts [FF83+]
|
//user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false); // Sponsored shortcuts [FF83+]
|
||||||
@@ -336,11 +340,11 @@ user_pref("browser.download.always_ask_before_handling_new_types", true);
|
|||||||
// PREF: open PDFs inline (FF103+)
|
// PREF: open PDFs inline (FF103+)
|
||||||
user_pref("browser.download.open_pdf_attachments_inline", true);
|
user_pref("browser.download.open_pdf_attachments_inline", true);
|
||||||
|
|
||||||
// PREF: PDF sidebar on load
|
// PREF: PDF sidebar on load [HIDDEN]
|
||||||
// 2=table of contents (if not available, will default to 1)
|
// 2=table of contents (if not available, will default to 1)
|
||||||
// 1=view pages
|
// 1=view pages
|
||||||
// -1=disabled (default)
|
// -1=disabled (default)
|
||||||
//user_pref("pdfjs.sidebarViewOnLoad", 1);
|
//user_pref("pdfjs.sidebarViewOnLoad", 2);
|
||||||
|
|
||||||
// PREF: default zoom for PDFs [HIDDEN]
|
// PREF: default zoom for PDFs [HIDDEN]
|
||||||
// [NOTE] "page-width" not needed if using sidebar on load
|
// [NOTE] "page-width" not needed if using sidebar on load
|
||||||
@@ -433,8 +437,9 @@ user_pref("dom.disable_window_move_resize", true);
|
|||||||
//user_pref("accessibility.blockautorefresh", true);
|
//user_pref("accessibility.blockautorefresh", true);
|
||||||
//user_pref("browser.meta_refresh_when_inactive.disabled", true);
|
//user_pref("browser.meta_refresh_when_inactive.disabled", true);
|
||||||
|
|
||||||
// PREF: Plain Text only when copying text
|
// PREF: Controls if a double click word selection also deletes one adjacent whitespace
|
||||||
user_pref("clipboard.plainTextOnly", true);
|
// (if feasible). This mimics native behavior on macOS.
|
||||||
|
//user_pref("editor.word_select.delete_space_after_doubleclick_selection", true);
|
||||||
|
|
||||||
// PREF: limit events that can cause a pop-up
|
// PREF: limit events that can cause a pop-up
|
||||||
// Firefox provides an option to provide exceptions for sites, remembered in your Site Settings.
|
// Firefox provides an option to provide exceptions for sites, remembered in your Site Settings.
|
||||||
|
|||||||
@@ -30,7 +30,7 @@ about:config tweaks to enhance [Mozilla Firefox](https://www.mozilla.org/en-US/f
|
|||||||
| [Peskyfox](https://github.com/yokoffing/Betterfox/blob/master/Peskyfox.js) | Unclutter the new tab page. Remove Pocket and form autofill. Prevent Firefox from serving annoying webpage notifications. |
|
| [Peskyfox](https://github.com/yokoffing/Betterfox/blob/master/Peskyfox.js) | Unclutter the new tab page. Remove Pocket and form autofill. Prevent Firefox from serving annoying webpage notifications. |
|
||||||
| [Fastfox](https://github.com/yokoffing/Betterfox/blob/master/Fastfox.js) | Immensely increase Firefox's browsing speed. Give Chrome a run for its money!|
|
| [Fastfox](https://github.com/yokoffing/Betterfox/blob/master/Fastfox.js) | Immensely increase Firefox's browsing speed. Give Chrome a run for its money!|
|
||||||
| [Smoothfox](https://github.com/yokoffing/Betterfox/blob/master/Smoothfox.js) | Get Microsoft Edge-like smooth scrolling on your favorite browser. |
|
| [Smoothfox](https://github.com/yokoffing/Betterfox/blob/master/Smoothfox.js) | Get Microsoft Edge-like smooth scrolling on your favorite browser. |
|
||||||
| [user.js](https://github.com/yokoffing/Betterfox/blob/master/user.js) | All the essentails. None of the breakage. Users may download this list as their own user.js. |
|
| [user.js](https://github.com/yokoffing/Betterfox/blob/master/user.js) | All the essentials. None of the breakage. Users may download this list as their own user.js. |
|
||||||
|
|
||||||
:bulb: `Securefox`, `Peskyfox`, `Fastfox`, and `Smoothfox` are guides to relevant prefs in Firefox. The `user.js` is curated from the prefs located in these documents, so just because a pref is in one of the guides doesn't mean it is included in the final document, the `user.js`. Please use the descriptions and references as a guide for the prefs in Firefox, and open a [feature request](https://github.com/yokoffing/Betterfox/issues/new/choose) if you think one can be improved upon.
|
:bulb: `Securefox`, `Peskyfox`, `Fastfox`, and `Smoothfox` are guides to relevant prefs in Firefox. The `user.js` is curated from the prefs located in these documents, so just because a pref is in one of the guides doesn't mean it is included in the final document, the `user.js`. Please use the descriptions and references as a guide for the prefs in Firefox, and open a [feature request](https://github.com/yokoffing/Betterfox/issues/new/choose) if you think one can be improved upon.
|
||||||
|
|
||||||
@@ -41,15 +41,15 @@ Betterfox was created with a [less is more](https://medium.com/the-mission/less-
|
|||||||
|
|
||||||
## Assumptions
|
## Assumptions
|
||||||
If you use any of the features below, please view the [common overrides](https://github.com/yokoffing/Betterfox/issues/87) sticky to restore functionality.
|
If you use any of the features below, please view the [common overrides](https://github.com/yokoffing/Betterfox/issues/87) sticky to restore functionality.
|
||||||
* **Google Safe Browsing** (GSB) is disabled. We recommend use DNS-level protection like [NextDNS](https://nextdns.io/?from=xujj63g5), so check out our configuration guide [here](https://github.com/yokoffing/NextDNS-Config). If you have no other form of protection, then please re-enable GSB.
|
* **Google Safe Browsing** (GSB) is disabled. We recommend use DNS-level protection like [NextDNS](https://nextdns.io/?from=xujj63g5), so check out our configuration guide [here](https://github.com/yokoffing/NextDNS-Config). :warning: If you have no other form of protection, then please enable GSB!
|
||||||
* The native **password manager** is also disabled. If you don't use something like [KeePass](https://addons.mozilla.org/en-US/firefox/addon/keepassxc-browser/), [Bitwarden](https://addons.mozilla.org/en-US/firefox/addon/bitwarden-password-manager/), or [1Password](https://addons.mozilla.org/en-US/firefox/addon/1password-x-password-manager), then re-enable Firefox's password management.
|
* Firefox **Accessibility Service** is disabled to improve resource utilization and security. This will impact external application autofill capability (the ability to use a keyboard shortcut to fill in forms including logins) and screen readers. If you use assistive software, override this.
|
||||||
|
* The native **password manager** is also disabled. If you don't use something like [KeePass](https://addons.mozilla.org/en-US/firefox/addon/keepassxc-browser/), [Bitwarden](https://addons.mozilla.org/en-US/firefox/addon/bitwarden-password-manager/), or [1Password](https://addons.mozilla.org/en-US/firefox/addon/1password-x-password-manager), then enable Firefox's password management.
|
||||||
|
* **Embedded tweets, instagram, reddit posts, and tiktoks** load on webpages, even though these requests are usually blocked when using Firefox's [Strict Enhanced Tracking Protection](https://support.mozilla.org/en-US/kb/enhanced-tracking-protection-firefox-desktop#w_strict-enhanced-tracking-protection).
|
||||||
* **Firefox Sync** and **Firefox View** are disabled.
|
* **Firefox Sync** and **Firefox View** are disabled.
|
||||||
* **Site notifications** are disabled.
|
* **Site notifications** are disabled.
|
||||||
* **Location requests** are rejected.
|
* **Location requests** are rejected.
|
||||||
* **Embedded tweets, instagram, and reddit posts** load on webpages, even though these requests are usually blocked when using Firefox's [Strict Enhanced Tracking Protection](https://support.mozilla.org/en-US/kb/enhanced-tracking-protection-firefox-desktop#w_strict-enhanced-tracking-protection).
|
* Since Firefox implemented [state](https://github.com/yokoffing/Betterfox/blob/537eb902106f5cacebfd7a77555193ba4573dc6e/SecureFox.js#L73-L88) and [network](https://github.com/yokoffing/Betterfox/blob/537eb902106f5cacebfd7a77555193ba4573dc6e/SecureFox.js#L93-L100) **partitioning**, it is recommended but no longer necessary to clear browsing data after every session.
|
||||||
* Advanced users: We suggest that you [selectively allow](https://github.com/gorhill/uBlock/wiki/Dynamic-filtering:-quick-guide) these requests in [uBlock Origin](https://addons.mozilla.org/blog/ublock-origin-everything-you-need-to-know-about-the-ad-blocker/) with [medium mode](https://github.com/gorhill/uBlock/wiki/Blocking-mode:-medium-mode) enabled + add the [Privacy Essentials](https://github.com/yokoffing/filterlists/blob/main/privacy_essentials.txt) filter to your [custom lists](https://github.com/gorhill/uBlock/wiki/Dashboard:-Filter-lists#3rd-party-filter-lists).
|
* [Fingerprinting](https://smartframe.io/blog/browser-fingerprinting-everything-you-need-to-know/) is a high [threat model](https://thenewoil.org/threatmodel.html) issue and is only addressed reasonably by TOR.<sup>[1](https://youtu.be/5NrbdO4yWek?t=4334)</sup> If your threat level calls for _anonymity_ and not just reasonable _privacy_, then please use the [TOR browser](https://www.torproject.org).
|
||||||
* Since Firefox implemented [state](https://github.com/yokoffing/Betterfox/blob/537eb902106f5cacebfd7a77555193ba4573dc6e/SecureFox.js#L73-L88) and [network](https://github.com/yokoffing/Betterfox/blob/537eb902106f5cacebfd7a77555193ba4573dc6e/SecureFox.js#L93-L100) partitioning, it is recommended but no longer necessary to **clear browsing data** after every session.
|
|
||||||
* If your threat level calls for _anonymity_ and not just reasonable _privacy_,<sup>[1](https://thenewoil.org/secprivanon.html)</sup> please use the [TOR browser](https://www.torproject.org).
|
|
||||||
|
|
||||||
## Mentions
|
## Mentions
|
||||||
|
|
||||||
@@ -58,11 +58,13 @@ If you use any of the features below, please view the [common overrides](https:/
|
|||||||
[2](https://old.reddit.com/r/technology/comments/m4qdvt/google_accused_of_tracking_users_in_incognito/gqwzzgr/?context=2)
|
[2](https://old.reddit.com/r/technology/comments/m4qdvt/google_accused_of_tracking_users_in_incognito/gqwzzgr/?context=2)
|
||||||
[3](https://old.reddit.com/r/Ubuntu/comments/pke4wz/suspicious_file_found_after_using_brave/hc568jg/?context=2)
|
[3](https://old.reddit.com/r/Ubuntu/comments/pke4wz/suspicious_file_found_after_using_brave/hc568jg/?context=2)
|
||||||
[4](https://old.reddit.com/r/browsers/comments/y7w57n/which_browser_do_you_use_on_your_devices/it30hqi/?context=3)
|
[4](https://old.reddit.com/r/browsers/comments/y7w57n/which_browser_do_you_use_on_your_devices/it30hqi/?context=3)
|
||||||
|
[5](https://www.troddit.com/r/firefox/comments/z5auzi/firefox_not_properly_usingrecognizing_gpu_poor/iy0kru3)
|
||||||
|
[6](https://www.troddit.com/r/firefox/comments/z5auzi/firefox_not_properly_usingrecognizing_gpu_poor/iy36hyz)
|
||||||
|
|
||||||
#### Browser Integration
|
#### Browser Integration
|
||||||
* [Pulse Browser](https://github.com/pulse-browser/browser#%EF%B8%8F-credits) | [files](https://github.com/pulse-browser/browser/tree/alpha/src/browser/app/profile)
|
* [Pulse Browser](https://github.com/pulse-browser/browser#%EF%B8%8F-credits) (Dec 2021) | [files](https://github.com/pulse-browser/browser/tree/alpha/src/browser/app/profile)
|
||||||
* [Ghostery Dawn](https://github.com/ghostery/user-agent-desktop#community) | [files](https://github.com/ghostery/user-agent-desktop/tree/main/brands/ghostery/branding/pref)
|
* [Ghostery Dawn](https://github.com/ghostery/user-agent-desktop#community) (Feb 2021) | [files](https://github.com/ghostery/user-agent-desktop/tree/main/brands/ghostery/branding/pref)
|
||||||
* [Betterfox adopted into Ghostery Dawn](https://web.archive.org/web/20210509171835/https://www.ghostery.com/ghostery-dawn-update-more/) (Feb 2021)<sup>[1](https://web.archive.org/web/20210921114333/https://www.ghostery.com/ghostery-dawn-product-update/)</sup>
|
* [Betterfox adopted into Ghostery Dawn](https://web.archive.org/web/20210509171835/https://www.ghostery.com/ghostery-dawn-update-more/)<sup>[1](https://web.archive.org/web/20210921114333/https://www.ghostery.com/ghostery-dawn-product-update/)</sup>
|
||||||
|
|
||||||
#### Guides
|
#### Guides
|
||||||
* [FMHY Browser Tools: Privacy Hardened Firefox](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/storage/#wiki_privacy_hardened_firefox)
|
* [FMHY Browser Tools: Privacy Hardened Firefox](https://www.reddit.com/r/FREEMEDIAHECKYEAH/wiki/storage/#wiki_privacy_hardened_firefox)
|
||||||
|
|||||||
+49
-71
@@ -1,17 +1,9 @@
|
|||||||
//
|
|
||||||
/* Do not COPY+PASTE this file. If you do, only COPY+PASTE the user_pref itself.
|
|
||||||
*
|
|
||||||
* If you make changes to your about:config while the program is running, the
|
|
||||||
* changes will be overwritten when the application restarts.
|
|
||||||
*
|
|
||||||
* To make a change to preferences, you will have to edit the user.js file.
|
|
||||||
*/
|
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Securefox *
|
* Securefox *
|
||||||
* "Natura non constristatur" *
|
* "Natura non constristatur" *
|
||||||
* priority: provide sensible security and privacy *
|
* priority: provide sensible security and privacy *
|
||||||
* version: 107a *
|
* version: 108 *
|
||||||
* url: https://github.com/yokoffing/Betterfox *
|
* url: https://github.com/yokoffing/Betterfox *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
@@ -24,10 +16,8 @@
|
|||||||
// Firefox deletes all stored site data (incl. cookies, browser storage) if the site is a known tracker and hasn’t
|
// Firefox deletes all stored site data (incl. cookies, browser storage) if the site is a known tracker and hasn’t
|
||||||
// been interacted with in the last 30 days.
|
// been interacted with in the last 30 days.
|
||||||
// [NOTE] FF86: "Strict" tracking protection enables dFPI.
|
// [NOTE] FF86: "Strict" tracking protection enables dFPI.
|
||||||
// [1] https://blog.mozilla.org/firefox/control-trackers-with-firefox/
|
// [1] https://support.mozilla.org/en-US/kb/enhanced-tracking-protection-firefox-desktop
|
||||||
// [2] 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
|
||||||
// [3] https://blog.mozilla.org/security/2020/01/07/firefox-72-fingerprinting/
|
|
||||||
// [4] https://www.reddit.com/r/firefox/comments/l7xetb/network_priority_for_firefoxs_enhanced_tracking/gle2mqn/?web2x&context=3
|
|
||||||
//user_pref("privacy.trackingprotection.enabled", true); // DEFAULT
|
//user_pref("privacy.trackingprotection.enabled", true); // DEFAULT
|
||||||
//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
|
||||||
@@ -106,7 +96,7 @@ user_pref("urlclassifier.features.socialtracking.skipURLs", "*.instagram.com, *.
|
|||||||
//user_pref("privacy.partition.network_state.ocsp_cache", true); // enabled with "Strict"
|
//user_pref("privacy.partition.network_state.ocsp_cache", true); // enabled with "Strict"
|
||||||
//user_pref("privacy.partition.bloburl_per_agent_cluster", true); [REGRESSIONS]
|
//user_pref("privacy.partition.bloburl_per_agent_cluster", true); [REGRESSIONS]
|
||||||
// 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+]
|
||||||
user_pref("privacy.partition.always_partition_third_party_non_cookie_storage.exempt_sessionstorage", false); // [DEFAULT: false FF109+]
|
user_pref("privacy.partition.always_partition_third_party_non_cookie_storage.exempt_sessionstorage", false); // [DEFAULT: false FF109+]
|
||||||
|
|
||||||
// PREF: Smartblock
|
// PREF: Smartblock
|
||||||
@@ -148,10 +138,9 @@ user_pref("privacy.partition.always_partition_third_party_non_cookie_storage.exe
|
|||||||
// PREF: Beacon API
|
// PREF: Beacon API
|
||||||
// Disabling this API sometimes causes breakage:
|
// Disabling this API sometimes causes breakage:
|
||||||
// [TEST] https://vercel.com/
|
// [TEST] https://vercel.com/
|
||||||
// Instead of disable, block in uBlock Origin with rule `$ping`
|
// [1] https://developer.mozilla.org/docs/Web/API/Navigator/sendBeacon
|
||||||
// [1] https://github.com/arkenfox/user.js/issues/1586#issuecomment-1320372943
|
// [2] https://github.com/arkenfox/user.js/issues/1586
|
||||||
// [2] https://developer.mozilla.org/docs/Web/API/Navigator/sendBeacon
|
//user_pref("beacon.enabled", false);
|
||||||
user_pref("beacon.enabled", false);
|
|
||||||
|
|
||||||
// PREF: battery status tracking
|
// PREF: battery status tracking
|
||||||
// [NOTE] Pref remains, but API is depreciated
|
// [NOTE] Pref remains, but API is depreciated
|
||||||
@@ -294,10 +283,10 @@ user_pref("security.tls.enable_0rtt_data", false); // disable 0 RTT to improve t
|
|||||||
// In Private Browsing windows: uses the most restrictive between normal and private
|
// In Private Browsing windows: uses the most restrictive between normal and private
|
||||||
// 1=only base system fonts, 2=also fonts from optional language packs, 3=also user-installed fonts
|
// 1=only base system fonts, 2=also fonts from optional language packs, 3=also user-installed fonts
|
||||||
// [1] https://searchfox.org/mozilla-central/search?path=StandardFonts*.inc
|
// [1] https://searchfox.org/mozilla-central/search?path=StandardFonts*.inc
|
||||||
//user_pref("layout.css.font-visibility.standard", 1); // Normal Browsing windows with tracking protection disabled(?)
|
|
||||||
user_pref("layout.css.font-visibility.trackingprotection", 1); // Normal Browsing windows with tracking protection enabled
|
|
||||||
user_pref("layout.css.font-visibility.private", 1); // Private Browsing windows
|
|
||||||
//user_pref("layout.css.font-visibility.resistFingerprinting", 1); // DEFAULT
|
//user_pref("layout.css.font-visibility.resistFingerprinting", 1); // DEFAULT
|
||||||
|
//user_pref("layout.css.font-visibility.trackingprotection", 1); // Normal Browsing windows with tracking protection enabled
|
||||||
|
//user_pref("layout.css.font-visibility.private", 1); // Private Browsing windows
|
||||||
|
//user_pref("layout.css.font-visibility.standard", 1); // Normal Browsing windows with tracking protection disabled(?)
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* SECTION: RESIST FINGERPRINTING (RFP) *
|
* SECTION: RESIST FINGERPRINTING (RFP) *
|
||||||
@@ -363,7 +352,7 @@ user_pref("browser.sessionstore.privacy_level", 2);
|
|||||||
|
|
||||||
// PREF: remove temp files opened with an external application
|
// PREF: remove temp files opened with an external application
|
||||||
// [1] https://bugzilla.mozilla.org/302433
|
// [1] https://bugzilla.mozilla.org/302433
|
||||||
user_pref("browser.helperApps.deleteTempFileOnExit", true);
|
//user_pref("browser.helperApps.deleteTempFileOnExit", true); // DEFAULT [FF108]
|
||||||
|
|
||||||
// PREF: disable page thumbnails capturing
|
// PREF: disable page thumbnails capturing
|
||||||
user_pref("browser.pagethumbnails.capturing_disabled", true); // [HIDDEN PREF]
|
user_pref("browser.pagethumbnails.capturing_disabled", true); // [HIDDEN PREF]
|
||||||
@@ -432,13 +421,13 @@ user_pref("privacy.history.custom", true);
|
|||||||
//user_pref("privacy.clearOnShutdown.history", true); // [DEFAULT]
|
//user_pref("privacy.clearOnShutdown.history", true); // [DEFAULT]
|
||||||
//user_pref("privacy.clearOnShutdown.formdata", true); // [DEFAULT]
|
//user_pref("privacy.clearOnShutdown.formdata", true); // [DEFAULT]
|
||||||
//user_pref("privacy.clearOnShutdown.sessions", true); // [DEFAULT]
|
//user_pref("privacy.clearOnShutdown.sessions", true); // [DEFAULT]
|
||||||
//user_pref("privacy.clearOnShutdown.offlineApps", false); // [DEFAULT]
|
//user_pref("privacy.clearOnShutdown.offlineApps", true);
|
||||||
//user_pref("privacy.clearOnShutdown.siteSettings", false); // [DEFAULT]
|
//user_pref("privacy.clearOnShutdown.siteSettings", false); // [DEFAULT]
|
||||||
|
|
||||||
// PREF: configure site exceptions
|
// PREF: configure site exceptions
|
||||||
// [NOTE] Currently, there is no way to add sites via about:config
|
// [NOTE] Currently, there is no way to add sites via about:config
|
||||||
// [SETTING] to manage site exceptions: Options>Privacy & Security>Cookies & Site Data>Manage Exceptions
|
// [SETTING] to manage site exceptions: Options>Privacy & Security>Cookies & Site Data>Manage Exceptions
|
||||||
// [SETTING] to add site exceptions: Ctrl+I>Permissions>Cookies>Allow (when on the website in question)
|
// or when on the website in question: Ctrl+I>Permissions>Cookies>Allow
|
||||||
// For cross-domain logins, add exceptions for both sites:
|
// For cross-domain logins, add exceptions for both sites:
|
||||||
// e.g. https://www.youtube.com (site) + https://accounts.google.com (single sign on)
|
// e.g. https://www.youtube.com (site) + https://accounts.google.com (single sign on)
|
||||||
// [WARNING] Be selective with what cookies you keep, as they also disable partitioning [1]
|
// [WARNING] Be selective with what cookies you keep, as they also disable partitioning [1]
|
||||||
@@ -447,15 +436,6 @@ user_pref("privacy.history.custom", true);
|
|||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* SECTION: SPECULATIVE CONNECTIONS *
|
* SECTION: SPECULATIVE CONNECTIONS *
|
||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
// [NOTE] FF85+ partitions (isolates) pooled connections, prefetch connections,
|
|
||||||
// pre-connect connections, speculative connections, TLS session identifiers,
|
|
||||||
// and other connections. We can take advantage of the speed of pre-connections
|
|
||||||
// while preserving privacy. Users may relax hardening to maximize their preference.
|
|
||||||
// For more information, see SecureFox: "PREF: State Paritioning" and "PREF: Network Partitioning" [1]
|
|
||||||
// [1] https://github.com/yokoffing/Betterfox/blob/e9621b0062914da5fdb5f83b8da64041965b7a50/Securefox.js#L74-L108
|
|
||||||
// [NOTE] To activate and increase network predictions, go to settings in uBlock Origin, and make this setting is DISABLED:
|
|
||||||
// - "Disable pre-fetching (to prevent any connection for blocked network requests)"
|
|
||||||
// [NOTE] Add prefs to "MY OVERRIDES" section to enable.
|
|
||||||
|
|
||||||
// PREF: new tab preload
|
// PREF: new tab preload
|
||||||
// [WARNING] Disabling this may cause a delay when opening a new tab in Firefox
|
// [WARNING] Disabling this may cause a delay when opening a new tab in Firefox
|
||||||
@@ -463,18 +443,32 @@ user_pref("privacy.history.custom", true);
|
|||||||
// [2] https://github.com/arkenfox/user.js/issues/1556
|
// [2] https://github.com/arkenfox/user.js/issues/1556
|
||||||
//user_pref("browser.newtab.preload", true); // DEFAULT
|
//user_pref("browser.newtab.preload", true); // DEFAULT
|
||||||
|
|
||||||
// PREF: Speculative connections on New Tab page
|
// PREF: Speculative Connections
|
||||||
// Firefox will open predictive connections to sites when the user hovers their mouse over thumbnails
|
// Firefox will open predictive connections to sites when the user hovers their mouse over thumbnails
|
||||||
// on the New Tab Page or the user starts to search in the Search Bar, or in the search field on the
|
// on the New Tab Page or the user starts to search in the Search Bar, or in the search field on the
|
||||||
// New Tab Page. In case the user follows through with the action, the page can begin loading faster
|
// New Tab Page [1]. This pref may control speculative connects for normal links, too [2].
|
||||||
|
// The maximum number of current global half open sockets allowable when starting a new speculative connection [3].
|
||||||
|
// In case the user follows through with the action, the page can begin loading faster
|
||||||
// since some of the work was already started in advance.
|
// since some of the work was already started in advance.
|
||||||
// [NOTE] TCP and SSL handshakes are set up in advance but page contents are not downloaded until a click on the link is registered
|
// [NOTE] TCP and SSL handshakes are set up in advance but page contents are not downloaded until a click on the link is registered
|
||||||
// [1] https://support.mozilla.org/en-US/kb/how-stop-firefox-making-automatic-connections?redirectslug=how-stop-firefox-automatically-making-connections&redirectlocale=en-US#:~:text=Speculative%20pre%2Dconnections
|
// [1] https://support.mozilla.org/en-US/kb/how-stop-firefox-making-automatic-connections?redirectslug=how-stop-firefox-automatically-making-connections&redirectlocale=en-US#:~:text=Speculative%20pre%2Dconnections
|
||||||
// [2] https://news.slashdot.org/story/15/08/14/2321202/how-to-quash-firefoxs-silent-requests
|
// [2] https://news.slashdot.org/story/15/08/14/2321202/how-to-quash-firefoxs-silent-requests
|
||||||
// [3] https://www.keycdn.com/blog/resource-hints#prefetch
|
// [3] https://searchfox.org/mozilla-central/rev/028c68d5f32df54bca4cf96376f79e48dfafdf08/modules/libpref/init/all.js#1280-1282
|
||||||
// [4] https://3perf.com/blog/link-rels/#prefetch
|
// [4] https://www.keycdn.com/blog/resource-hints#prefetch
|
||||||
|
// [5] https://3perf.com/blog/link-rels/#prefetch
|
||||||
user_pref("network.http.speculative-parallel-limit", 0);
|
user_pref("network.http.speculative-parallel-limit", 0);
|
||||||
|
|
||||||
|
// PREF: Preconnect to the autocomplete URL in the address bar
|
||||||
|
// Firefox preloads URLs that autocomplete when a user types into the address bar.
|
||||||
|
// Connects to destination server ahead of time, to avoid TCP handshake latency.
|
||||||
|
// [NOTE] Firefox will perform DNS lookup (if enabled) and TCP and TLS handshake,
|
||||||
|
// but will not start sending or receiving HTTP data.
|
||||||
|
// [1] https://www.ghacks.net/2017/07/24/disable-preloading-firefox-autocomplete-urls/
|
||||||
|
user_pref("browser.urlbar.speculativeConnect.enabled", false);
|
||||||
|
|
||||||
|
// PREF: disable mousedown speculative connections on bookmarks and history
|
||||||
|
user_pref("browser.places.speculativeConnect.enabled", false);
|
||||||
|
|
||||||
// PREF: DNS pre-resolve <link rel="dns-prefetch">
|
// PREF: DNS pre-resolve <link rel="dns-prefetch">
|
||||||
// Resolve hostnames ahead of time, to avoid DNS latency.
|
// Resolve hostnames ahead of time, to avoid DNS latency.
|
||||||
// In order to reduce latency, Firefox will proactively perform domain name resolution on links that
|
// In order to reduce latency, Firefox will proactively perform domain name resolution on links that
|
||||||
@@ -484,10 +478,7 @@ user_pref("network.http.speculative-parallel-limit", 0);
|
|||||||
// [3] https://www.keycdn.com/blog/resource-hints#2-dns-prefetching
|
// [3] https://www.keycdn.com/blog/resource-hints#2-dns-prefetching
|
||||||
// [4] http://www.mecs-press.org/ijieeb/ijieeb-v7-n5/IJIEEB-V7-N5-2.pdf
|
// [4] http://www.mecs-press.org/ijieeb/ijieeb-v7-n5/IJIEEB-V7-N5-2.pdf
|
||||||
user_pref("network.dns.disablePrefetch", true);
|
user_pref("network.dns.disablePrefetch", true);
|
||||||
//user_pref("network.dns.disablePrefetchFromHTTPS", true); // DEFAULT
|
user_pref("network.dns.disablePrefetchFromHTTPS", true); // enforce DEFAULT
|
||||||
//user_pref("network.dnsCacheEntries", 20000);
|
|
||||||
//user_pref("network.dnsCacheExpiration", 3600);
|
|
||||||
//user_pref("network.dnsCacheExpirationGracePeriod", 240);
|
|
||||||
|
|
||||||
// PREF: Preload <link rel=preload>
|
// PREF: Preload <link rel=preload>
|
||||||
// This tells the browser that the resource should be loaded as part of the current navigation
|
// This tells the browser that the resource should be loaded as part of the current navigation
|
||||||
@@ -508,17 +499,6 @@ user_pref("network.dns.disablePrefetch", true);
|
|||||||
// [9] https://web.dev/preload-critical-assets/
|
// [9] https://web.dev/preload-critical-assets/
|
||||||
//user_pref("network.preload", true); // DEFAULT
|
//user_pref("network.preload", true); // DEFAULT
|
||||||
|
|
||||||
// PREF: Preconnect to the autocomplete URL in the address bar
|
|
||||||
// Firefox preloads URLs that autocomplete when a user types into the address bar.
|
|
||||||
// Connects to destination server ahead of time, to avoid TCP handshake latency.
|
|
||||||
// [NOTE] Firefox will perform DNS lookup (if enabled) and TCP and TLS handshake,
|
|
||||||
// but will not start sending or receiving HTTP data.
|
|
||||||
// [1] https://www.ghacks.net/2017/07/24/disable-preloading-firefox-autocomplete-urls/
|
|
||||||
user_pref("browser.urlbar.speculativeConnect.enabled", false);
|
|
||||||
|
|
||||||
// PREF: disable mousedown speculative connections on bookmarks and history
|
|
||||||
user_pref("browser.places.speculativeConnect.enabled", false);
|
|
||||||
|
|
||||||
// PREF: Link prefetching <link rel="prefetch">
|
// PREF: Link prefetching <link rel="prefetch">
|
||||||
// Firefox will prefetch certain links if any of the websites you are viewing uses the special prefetch-link tag.
|
// Firefox will prefetch certain links if any of the websites you are viewing uses the special prefetch-link tag.
|
||||||
// A directive that tells a browser to fetch a resource that will likely be needed for the next navigation.
|
// A directive that tells a browser to fetch a resource that will likely be needed for the next navigation.
|
||||||
@@ -538,11 +518,11 @@ user_pref("network.prefetch-next", false);
|
|||||||
// needed when the user visits a webpage (such as image.jpg and script.js), so that the next time the
|
// needed when the user visits a webpage (such as image.jpg and script.js), so that the next time the
|
||||||
// user prepares to go to that webpage (upon navigation? URL bar? mouseover?), this history can be used
|
// user prepares to go to that webpage (upon navigation? URL bar? mouseover?), this history can be used
|
||||||
// to predict what resources will be needed rather than wait for the document to link those resources.
|
// to predict what resources will be needed rather than wait for the document to link those resources.
|
||||||
/// NP only performs pre-connect, not prefetch, by default, including DNS pre-resolve and TCP preconnect
|
// NP only performs pre-connect, not prefetch, by default, including DNS pre-resolve and TCP preconnect
|
||||||
// (which includes SSL handshake). No data is actually sent to the site until a user actively clicks
|
// (which includes SSL handshake). No data is actually sent to the site until a user actively clicks
|
||||||
// a link. However, NP is still opening TCP connections and doing SSL handshakes, so there is still
|
// a link. However, NP is still opening TCP connections and doing SSL handshakes, so there is still
|
||||||
// information leakage about your browsing patterns. This isn't desirable from a privacy perspective.
|
// information leakage about your browsing patterns. This isn't desirable from a privacy perspective.
|
||||||
// [NOTE] Disabling DNS prefetching disables the DNS prefetching behavior of NP
|
// [NOTE] Disabling DNS prefetching disables the DNS prefetching behavior of NP.
|
||||||
// [1] https://wiki.mozilla.org/Privacy/Reviews/Necko
|
// [1] https://wiki.mozilla.org/Privacy/Reviews/Necko
|
||||||
// [2] https://www.ghacks.net/2014/05/11/seer-disable-firefox/
|
// [2] https://www.ghacks.net/2014/05/11/seer-disable-firefox/
|
||||||
// [3] https://github.com/dillbyrne/random-agent-spoofer/issues/238#issuecomment-110214518
|
// [3] https://github.com/dillbyrne/random-agent-spoofer/issues/238#issuecomment-110214518
|
||||||
@@ -563,11 +543,6 @@ user_pref("network.predictor.enable-prefetch", false);
|
|||||||
// faster since some of the work was already started in advance. Focuses on fetching a resource
|
// faster since some of the work was already started in advance. Focuses on fetching a resource
|
||||||
// for the NEXT navigation.
|
// for the NEXT navigation.
|
||||||
//user_pref("network.predictor.enable-hover-on-ssl", false); // DEFAULT
|
//user_pref("network.predictor.enable-hover-on-ssl", false); // DEFAULT
|
||||||
//user_pref("network.predictor.preresolve-min-confidence", 10); // default=60; alt=20
|
|
||||||
//user_pref("network.predictor.preconnect-min-confidence", 20); // default=90; alt=40
|
|
||||||
//user_pref("network.predictor.prefetch-min-confidence", 20); // default 100; alt=60
|
|
||||||
//user_pref("network.predictor.prefetch-force-valid-for", 3600); // default=10
|
|
||||||
//user_pref("network.predictor.prefetch-rolling-load-count", 120); // default=10
|
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* SECTION: SEARCH / URL BAR *
|
* SECTION: SEARCH / URL BAR *
|
||||||
@@ -648,11 +623,11 @@ user_pref("network.IDN_show_punycode", true);
|
|||||||
// [NOTE] HTTPS-Only Mode needs to be disabled for HTTPS First to work.
|
// [NOTE] HTTPS-Only Mode needs to be disabled for HTTPS First to work.
|
||||||
// [TEST] http://example.com [upgrade]
|
// [TEST] http://example.com [upgrade]
|
||||||
// [TEST] http://httpforever.com/ [no upgrade]
|
// [TEST] http://httpforever.com/ [no upgrade]
|
||||||
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1706552
|
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1704453
|
||||||
// [2] https://web.dev/why-https-matters/
|
// [2] https://web.dev/why-https-matters/
|
||||||
// [3] https://www.cloudflare.com/learning/ssl/why-use-https/
|
// [3] https://www.cloudflare.com/learning/ssl/why-use-https/
|
||||||
//user_pref("dom.security.https_first", true);
|
//user_pref("dom.security.https_first", true);
|
||||||
//user_pref("dom.security.https_first_pbm", true); // default
|
//user_pref("dom.security.https_first_pbm", true); // DEFAULT
|
||||||
|
|
||||||
/******************************************************************************
|
/******************************************************************************
|
||||||
* SECTION: HTTPS-ONLY MODE *
|
* SECTION: HTTPS-ONLY MODE *
|
||||||
@@ -687,7 +662,7 @@ user_pref("dom.security.https_only_mode_error_page_user_suggestions", true);
|
|||||||
// [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1642387,1660945
|
// [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1642387,1660945
|
||||||
// [2] https://blog.mozilla.org/attack-and-defense/2021/03/10/insights-into-https-only-mode/
|
// [2] https://blog.mozilla.org/attack-and-defense/2021/03/10/insights-into-https-only-mode/
|
||||||
//user_pref("dom.security.https_only_mode_send_http_background_request", true); // DEFAULT
|
//user_pref("dom.security.https_only_mode_send_http_background_request", true); // DEFAULT
|
||||||
//user_pref("dom.security.https_only_fire_http_request_background_timer_ms", 1250); // default=3000
|
//user_pref("dom.security.https_only_fire_http_request_background_timer_ms", 2000); // default=3000
|
||||||
|
|
||||||
// PREF: Enable HTTPS-Only mode for local resources
|
// PREF: Enable HTTPS-Only mode for local resources
|
||||||
//user_pref("dom.security.https_only_mode.upgrade_local", true);
|
//user_pref("dom.security.https_only_mode.upgrade_local", true);
|
||||||
@@ -888,7 +863,7 @@ user_pref("network.auth.subresource-http-auth-allow", 1);
|
|||||||
//user_pref("security.mixed_content.block_display_content", true);
|
//user_pref("security.mixed_content.block_display_content", true);
|
||||||
|
|
||||||
// PREF: upgrade passive content to use HTTPS on secure pages
|
// PREF: upgrade passive content to use HTTPS on secure pages
|
||||||
//user_pref("security.mixed_content.upgrade_display_content", true);
|
//user_pref("security.mixed_content.upgrade_display_content", true); // DEFAULT [FF 110]
|
||||||
|
|
||||||
// PREF: block insecure downloads from secure sites
|
// PREF: block insecure downloads from secure sites
|
||||||
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1660952
|
// [1] https://bugzilla.mozilla.org/show_bug.cgi?id=1660952
|
||||||
@@ -1046,14 +1021,16 @@ user_pref("media.peerconnection.ice.default_address_only", true);
|
|||||||
******************************************************************************/
|
******************************************************************************/
|
||||||
|
|
||||||
// PREF: disable GSB (master switch)
|
// PREF: disable GSB (master switch)
|
||||||
// Increased privacy away from Google, but less protection against threats.
|
// Increased privacy away from Google, but less protection against threats
|
||||||
// [WARNING] Be sure to have alternate security measures if you disable Safe Browsing.
|
// [WARNING] Be sure to have alternate security measures if you disable GSB!
|
||||||
// [SETTING] Privacy & Security>Security>... Block dangerous and deceptive content
|
// [SETTING] Privacy & Security>Security>... Block dangerous and deceptive content
|
||||||
// [1] https://www.wikiwand.com/en/Google_Safe_Browsing#/Privacy
|
// [ALTERNATIVE] Enable local checks only: https://github.com/yokoffing/Betterfox/issues/87
|
||||||
// [2] https://ashkansoltani.org/2012/02/25/cookies-from-nowhere
|
// [1] https://github.com/privacyguides/privacyguides.org/discussions/423#discussioncomment-1752006
|
||||||
// [3] https://blog.cryptographyengineering.com/2019/10/13/dear-apple-safe-browsing-might-not-be-that-safe/
|
// [2] https://github.com/privacyguides/privacyguides.org/discussions/423#discussioncomment-1767546
|
||||||
// [4] https://github.com/privacyguides/privacyguides.org/discussions/423#discussioncomment-1752006
|
// [3] https://ashkansoltani.org/2012/02/25/cookies-from-nowhere
|
||||||
// [5] https://github.com/privacyguides/privacyguides.org/discussions/423#discussioncomment-1767546
|
// [4] https://blog.cryptographyengineering.com/2019/10/13/dear-apple-safe-browsing-might-not-be-that-safe/
|
||||||
|
// [5] https://the8-bit.com/apple-proxies-google-safe-browsing-privacy/
|
||||||
|
// [6] https://github.com/brave/brave-browser/wiki/Deviations-from-Chromium-(features-we-disable-or-remove)#services-we-proxy-through-brave-servers
|
||||||
user_pref("browser.safebrowsing.malware.enabled", false);
|
user_pref("browser.safebrowsing.malware.enabled", false);
|
||||||
user_pref("browser.safebrowsing.phishing.enabled", false);
|
user_pref("browser.safebrowsing.phishing.enabled", false);
|
||||||
//user_pref("browser.safebrowsing.provider.google4.gethashURL", "");
|
//user_pref("browser.safebrowsing.provider.google4.gethashURL", "");
|
||||||
@@ -1127,7 +1104,7 @@ user_pref("geo.provider.use_geoclue", false); // [FF102+] [LINUX]
|
|||||||
|
|
||||||
// PREF: disable region updates
|
// PREF: disable region updates
|
||||||
// [1] https://firefox-source-docs.mozilla.org/toolkit/modules/toolkit_modules/Region.html
|
// [1] https://firefox-source-docs.mozilla.org/toolkit/modules/toolkit_modules/Region.html
|
||||||
user_pref("browser.region.update.enabled", false);
|
//user_pref("browser.region.update.enabled", false);
|
||||||
//user_pref("browser.region.network.url", "");
|
//user_pref("browser.region.network.url", "");
|
||||||
|
|
||||||
// PREF: Enforce Firefox blocklist for extensions + No hiding tabs
|
// PREF: Enforce Firefox blocklist for extensions + No hiding tabs
|
||||||
@@ -1170,6 +1147,7 @@ user_pref("toolkit.telemetry.shutdownPingSender.enabled", false);
|
|||||||
user_pref("toolkit.telemetry.updatePing.enabled", false);
|
user_pref("toolkit.telemetry.updatePing.enabled", false);
|
||||||
user_pref("toolkit.telemetry.bhrPing.enabled", false);
|
user_pref("toolkit.telemetry.bhrPing.enabled", false);
|
||||||
user_pref("toolkit.telemetry.firstShutdownPing.enabled", false);
|
user_pref("toolkit.telemetry.firstShutdownPing.enabled", false);
|
||||||
|
user_pref("toolkit.telemetry.dap_enabled", false); // DEFAULT [FF108]
|
||||||
|
|
||||||
// PREF: Corroborator
|
// PREF: Corroborator
|
||||||
//user_pref("corroborator.enabled", false);
|
//user_pref("corroborator.enabled", false);
|
||||||
|
|||||||
+34
-16
@@ -34,6 +34,9 @@ user_pref("browser.search.update", false); // do not update opensearch engines
|
|||||||
user_pref("network.trr.mode", 3); // enable TRR (without System fallback)
|
user_pref("network.trr.mode", 3); // enable TRR (without System fallback)
|
||||||
user_pref("network.trr.confirmationNS", "skip"); // skip TRR confirmation request
|
user_pref("network.trr.confirmationNS", "skip"); // skip TRR confirmation request
|
||||||
user_pref("network.notify.checkForProxies", false); // skip proxy request check
|
user_pref("network.notify.checkForProxies", false); // skip proxy request check
|
||||||
|
// HTTPS-First instead of HTTPS-only
|
||||||
|
user_pref("dom.security.https_only_mode", false); // disable in user.js
|
||||||
|
user_pref("dom.security.https_first", true); // HTTPS-First instead of HTTPS-only
|
||||||
|
|
||||||
/** PESKYFOX ***/
|
/** PESKYFOX ***/
|
||||||
user_pref("devtools.accessibility.enabled", false); // removes annoying "Inspect Accessibility Properties" on right-click
|
user_pref("devtools.accessibility.enabled", false); // removes annoying "Inspect Accessibility Properties" on right-click
|
||||||
@@ -55,7 +58,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); // show Table of Contents in sidebar for PDFs (if available)
|
user_pref("pdfjs.sidebarViewOnLoad", 2); // [HIDDEN] force showing of Table of Contents in sidebar for PDFs (if available)
|
||||||
user_pref("ui.key.menuAccessKey", 0); // remove underlined characters from various settings
|
user_pref("ui.key.menuAccessKey", 0); // remove underlined characters from various settings
|
||||||
user_pref("general.autoScroll", false); // disable unintentional behavior for middle click
|
user_pref("general.autoScroll", false); // disable unintentional behavior for middle click
|
||||||
user_pref("ui.SpellCheckerUnderlineStyle", 1); // dots for spell check errors
|
user_pref("ui.SpellCheckerUnderlineStyle", 1); // dots for spell check errors
|
||||||
@@ -63,6 +66,7 @@ user_pref("browser.tabs.loadInBackground", false); // CTRL+SHIFT+CLICK for backg
|
|||||||
user_pref("media.videocontrols.picture-in-picture.improved-video-controls.enabled", true);
|
user_pref("media.videocontrols.picture-in-picture.improved-video-controls.enabled", true);
|
||||||
user_pref("media.videocontrols.picture-in-picture.display-text-tracks.size", "small");
|
user_pref("media.videocontrols.picture-in-picture.display-text-tracks.size", "small");
|
||||||
user_pref("image.jxl.enabled", true);
|
user_pref("image.jxl.enabled", true);
|
||||||
|
user_pref("extensions.unifiedExtensions.enabled", false); // disable MV3 unified extensions button [FF 109+]
|
||||||
user_pref("reader.parse-on-load.enabled", false); // disable reader mode
|
user_pref("reader.parse-on-load.enabled", false); // disable reader mode
|
||||||
//user_pref("reader.color_scheme", "auto"); // match system theme for when reader is enabled
|
//user_pref("reader.color_scheme", "auto"); // match system theme for when reader is enabled
|
||||||
//user_pref("browser.urlbar.openintab", true); // stay on current site and open new tab when typing in URL bar
|
//user_pref("browser.urlbar.openintab", true); // stay on current site and open new tab when typing in URL bar
|
||||||
@@ -70,46 +74,60 @@ user_pref("reader.parse-on-load.enabled", false); // disable reader mode
|
|||||||
/** FASTFOX ***/
|
/** FASTFOX ***/
|
||||||
user_pref("browser.sessionstore.restore_pinned_tabs_on_demand", true);
|
user_pref("browser.sessionstore.restore_pinned_tabs_on_demand", true);
|
||||||
user_pref("browser.sessionstore.interval", 30000); // set minimum interval between session save operations
|
user_pref("browser.sessionstore.interval", 30000); // set minimum interval between session save operations
|
||||||
// high-end machine:
|
|
||||||
user_pref("gfx.webrender.compositor.force-enabled", true); // reinforce
|
user_pref("gfx.webrender.compositor.force-enabled", true); // reinforce
|
||||||
user_pref("image.mem.decode_bytes_at_a_time", 262144);
|
|
||||||
user_pref("layers.gpu-process.force-enabled", true); // reinforce
|
user_pref("layers.gpu-process.force-enabled", true); // reinforce
|
||||||
user_pref("media.memory_cache_max_size", 1048576);
|
|
||||||
user_pref("media.memory_caches_combined_limit_kb", 3145728);
|
|
||||||
user_pref("media.memory_caches_combined_limit_pc_sysmem", 40);
|
|
||||||
user_pref("media.hardware-video-decoding.force-enabled", true); // reinforce
|
user_pref("media.hardware-video-decoding.force-enabled", true); // reinforce
|
||||||
user_pref("network.http.http3.enable", false); // disables QUIC
|
user_pref("network.http.http3.enable", false); // disable QUIC for faster upload speeds
|
||||||
user_pref("browser.cache.memory.capacity", 5242880);
|
user_pref("media.av1.enabled", false); // disable AV1 to force video hardware decoding
|
||||||
user_pref("browser.cache.memory.max_entry_size", 327680);
|
user_pref("network.http.speculative-parallel-limit", 18);
|
||||||
|
//user_pref("network.dns.disablePrefetch", false);
|
||||||
|
//user_pref("network.dns.disablePrefetchFromHTTPS", false);
|
||||||
|
//user_pref("network.prefetch-next", true);
|
||||||
|
user_pref("network.predictor.enabled", true);
|
||||||
|
user_pref("network.predictor.enable-prefetch", true);
|
||||||
|
user_pref("network.predictor.enable-hover-on-ssl", true);
|
||||||
|
user_pref("network.predictor.preresolve-min-confidence", 10);
|
||||||
|
user_pref("network.predictor.preconnect-min-confidence", 20);
|
||||||
|
user_pref("network.predictor.prefetch-min-confidence", 30);
|
||||||
|
user_pref("network.predictor.prefetch-force-valid-for", 3600);
|
||||||
|
user_pref("network.predictor.prefetch-rolling-load-count", 120);
|
||||||
|
user_pref("network.predictor.max-resources-per-entry", 250);
|
||||||
|
user_pref("network.predictor.max-uri-length", 1000);
|
||||||
|
|
||||||
/** DELETE IF NOT NIGHTLY ***/
|
/** DELETE IF NOT NIGHTLY ***/
|
||||||
user_pref("javascript.options.experimental.import_assertions", true);
|
user_pref("javascript.options.experimental.import_assertions", true);
|
||||||
user_pref("javascript.options.experimental.shadow_realms", true);
|
user_pref("javascript.options.experimental.shadow_realms", true);
|
||||||
user_pref("javascript.options.wasm_gc", true);
|
user_pref("javascript.options.wasm_gc", true);
|
||||||
user_pref("javascript.options.wasm_function_references", true);
|
user_pref("javascript.options.wasm_function_references", true);
|
||||||
|
//user_pref("javascript.options.experimental.array_grouping", true);
|
||||||
|
//user_pref("javascript.options.experimental.enable_change_array_by_copy", true);
|
||||||
user_pref("cookiebanners.service.mode", 2);
|
user_pref("cookiebanners.service.mode", 2);
|
||||||
user_pref("cookiebanners.service.mode.privateBrowsing", 1);
|
user_pref("cookiebanners.service.mode.privateBrowsing", 1);
|
||||||
user_pref("privacy.globalprivacycontrol.enabled", true);
|
user_pref("privacy.globalprivacycontrol.enabled", true);
|
||||||
user_pref("privacy.globalprivacycontrol.functionality.enabled", true);
|
user_pref("privacy.globalprivacycontrol.functionality.enabled", true);
|
||||||
user_pref("privacy.userContext.enabled", false);
|
user_pref("privacy.userContext.enabled", false);
|
||||||
|
user_pref("browser.crashReports.unsubmittedCheck.enabled", false); // true by default on NIGHTLY
|
||||||
user_pref("browser.urlbar.suggest.quickactions", false);
|
user_pref("browser.urlbar.suggest.quickactions", false);
|
||||||
user_pref("extensions.unifiedExtensions.enabled", false);
|
|
||||||
//user_pref("xpinstall.signatures.required", false); // [ESR/DEV/NIGHTLY]
|
//user_pref("xpinstall.signatures.required", false); // [ESR/DEV/NIGHTLY]
|
||||||
user_pref("extensions.webextensions.restrictedDomains", ""); // remove Mozilla restricted domains [DEV/NIGHTLY]
|
user_pref("extensions.webextensions.restrictedDomains", ""); // remove Mozilla restricted domains [DEV/NIGHTLY]
|
||||||
|
|
||||||
/** DELETE IF NOT WINDOWS ***/
|
/** DELETE IF NOT WINDOWS ***/
|
||||||
user_pref("pdfjs.defaultZoomValue", "page-fit"); // DESKTOP; alt=125; PDF zoom level
|
//user_pref("pdfjs.defaultZoomValue", "page-fit"); // DESKTOP; alt=125; PDF zoom level
|
||||||
user_pref("gfx.webrender.quality.force-subpixel-aa-where-possible", true); // font improvement
|
user_pref("gfx.webrender.quality.force-subpixel-aa-where-possible", true); // font improvement
|
||||||
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", "");
|
||||||
user_pref("gfx.font_rendering.cleartype_params.force_gdi_classic_max_size", 6);
|
user_pref("gfx.font_rendering.cleartype_params.force_gdi_classic_max_size", 6);
|
||||||
user_pref("gfx.font_rendering.directwrite.use_gdi_table_loading", false);
|
user_pref("gfx.font_rendering.directwrite.use_gdi_table_loading", false);
|
||||||
//user_pref("font.name.monospace.x-western", "Cascadia Code"); // preferred font [WINDOWS]
|
user_pref("image.mem.decode_bytes_at_a_time", 262144); // alt=512000
|
||||||
//user_pref("font.name.monospace.x-western", "Fira Code"); // preferred font [WINDOWS]
|
user_pref("browser.cache.memory.capacity", 5242880);
|
||||||
//user_pref("layout.css.font-visibility.trackingprotection", 3); // unbreaks using custom font on pages in normal windows
|
user_pref("browser.cache.memory.max_entry_size", 327680);
|
||||||
|
user_pref("media.memory_caches_combined_limit_pc_sysmem", 40);
|
||||||
|
user_pref("media.memory_caches_combined_limit_kb", 3145728);
|
||||||
|
//user_pref("font.name.serif.x-western", "Roboto Slab"); // serif font
|
||||||
|
//user_pref("font.name.sans-serif.x-western", "Roboto"); // sans-serif font
|
||||||
|
//user_pref("font.name.monospace.x-western", "Fira Code"); // monospace font
|
||||||
|
|
||||||
/** DELETE IF NOT macOS ***/
|
/** DELETE IF NOT macOS ***/
|
||||||
user_pref("pdfjs.defaultZoomValue", "page-width"); // LAPTOP; PDF zoom level
|
user_pref("pdfjs.defaultZoomValue", "page-width"); // LAPTOP; PDF zoom level
|
||||||
//user_pref("font.name.monospace.x-western", "SF Mono"); // preferred font [macOS]
|
//user_pref("font.name.monospace.x-western", "SF Mono"); // monospace font
|
||||||
//user_pref("layout.css.font-visibility.trackingprotection", 3); // breaks using custom font on pages
|
|
||||||
|
|||||||
@@ -10,7 +10,7 @@
|
|||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* Betterfox *
|
* Betterfox *
|
||||||
* "Ad meliora" *
|
* "Ad meliora" *
|
||||||
* version: 107a1 *
|
* version: 108 *
|
||||||
* url: https://github.com/yokoffing/Betterfox *
|
* url: https://github.com/yokoffing/Betterfox *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|
||||||
@@ -24,7 +24,6 @@ user_pref("urlclassifier.trackingSkipURLs", "*.reddit.com, *.twitter.com, *.twim
|
|||||||
user_pref("urlclassifier.features.socialtracking.skipURLs", "*.instagram.com, *.twitter.com, *.twimg.com");
|
user_pref("urlclassifier.features.socialtracking.skipURLs", "*.instagram.com, *.twitter.com, *.twimg.com");
|
||||||
user_pref("privacy.partition.always_partition_third_party_non_cookie_storage", true);
|
user_pref("privacy.partition.always_partition_third_party_non_cookie_storage", true);
|
||||||
user_pref("privacy.partition.always_partition_third_party_non_cookie_storage.exempt_sessionstorage", false);
|
user_pref("privacy.partition.always_partition_third_party_non_cookie_storage.exempt_sessionstorage", false);
|
||||||
user_pref("beacon.enabled", false);
|
|
||||||
user_pref("browser.uitour.enabled", false);
|
user_pref("browser.uitour.enabled", false);
|
||||||
|
|
||||||
/** OCSP & CERTS / HPKP ***/
|
/** OCSP & CERTS / HPKP ***/
|
||||||
@@ -38,10 +37,6 @@ user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true);
|
|||||||
user_pref("browser.xul.error_pages.expert_bad_cert", true);
|
user_pref("browser.xul.error_pages.expert_bad_cert", true);
|
||||||
user_pref("security.tls.enable_0rtt_data", false);
|
user_pref("security.tls.enable_0rtt_data", false);
|
||||||
|
|
||||||
/** FONTS ***/
|
|
||||||
user_pref("layout.css.font-visibility.private", 1);
|
|
||||||
user_pref("layout.css.font-visibility.trackingprotection", 1);
|
|
||||||
|
|
||||||
/** RFP ***/
|
/** RFP ***/
|
||||||
user_pref("browser.startup.blankWindow", false);
|
user_pref("browser.startup.blankWindow", false);
|
||||||
user_pref("browser.display.use_system_colors", false);
|
user_pref("browser.display.use_system_colors", false);
|
||||||
@@ -50,7 +45,6 @@ user_pref("browser.display.use_system_colors", false);
|
|||||||
user_pref("browser.cache.disk.enable", false);
|
user_pref("browser.cache.disk.enable", false);
|
||||||
user_pref("browser.privatebrowsing.forceMediaMemoryCache", true);
|
user_pref("browser.privatebrowsing.forceMediaMemoryCache", true);
|
||||||
user_pref("browser.sessionstore.privacy_level", 2);
|
user_pref("browser.sessionstore.privacy_level", 2);
|
||||||
user_pref("browser.helperApps.deleteTempFileOnExit", true);
|
|
||||||
user_pref("browser.pagethumbnails.capturing_disabled", true);
|
user_pref("browser.pagethumbnails.capturing_disabled", true);
|
||||||
|
|
||||||
/** SHUTDOWN & SANITIZING ***/
|
/** SHUTDOWN & SANITIZING ***/
|
||||||
@@ -59,6 +53,7 @@ user_pref("privacy.history.custom", true);
|
|||||||
/** SPECULATIVE CONNECTIONS ***/
|
/** SPECULATIVE CONNECTIONS ***/
|
||||||
user_pref("network.http.speculative-parallel-limit", 0);
|
user_pref("network.http.speculative-parallel-limit", 0);
|
||||||
user_pref("network.dns.disablePrefetch", true);
|
user_pref("network.dns.disablePrefetch", true);
|
||||||
|
user_pref("network.dns.disablePrefetchFromHTTPS", true);
|
||||||
user_pref("browser.urlbar.speculativeConnect.enabled", false);
|
user_pref("browser.urlbar.speculativeConnect.enabled", false);
|
||||||
user_pref("browser.places.speculativeConnect.enabled", false);
|
user_pref("browser.places.speculativeConnect.enabled", false);
|
||||||
user_pref("network.prefetch-next", false);
|
user_pref("network.prefetch-next", false);
|
||||||
@@ -133,7 +128,6 @@ user_pref("geo.provider.ms-windows-location", false); // WINDOWS
|
|||||||
user_pref("geo.provider.use_corelocation", false); // MAC
|
user_pref("geo.provider.use_corelocation", false); // MAC
|
||||||
user_pref("geo.provider.use_gpsd", false); // LINUX
|
user_pref("geo.provider.use_gpsd", false); // LINUX
|
||||||
user_pref("geo.provider.use_geoclue", false); // LINUX
|
user_pref("geo.provider.use_geoclue", false); // LINUX
|
||||||
user_pref("browser.region.update.enabled", false);
|
|
||||||
user_pref("permissions.manager.defaultsUrl", "");
|
user_pref("permissions.manager.defaultsUrl", "");
|
||||||
user_pref("webchannel.allowObject.urlWhitelist", "");
|
user_pref("webchannel.allowObject.urlWhitelist", "");
|
||||||
|
|
||||||
@@ -230,6 +224,7 @@ user_pref("layout.css.has-selector.enabled", true);
|
|||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
user_pref("nglayout.initialpaint.delay", 0);
|
user_pref("nglayout.initialpaint.delay", 0);
|
||||||
user_pref("nglayout.initialpaint.delay_in_oopif", 0);
|
user_pref("nglayout.initialpaint.delay_in_oopif", 0);
|
||||||
|
user_pref("content.notify.interval", 360000);
|
||||||
user_pref("browser.startup.preXulSkeletonUI", false);
|
user_pref("browser.startup.preXulSkeletonUI", false);
|
||||||
|
|
||||||
/** EXPERIMENTAL ***/
|
/** EXPERIMENTAL ***/
|
||||||
@@ -237,18 +232,12 @@ user_pref("layout.css.grid-template-masonry-value.enabled", true);
|
|||||||
user_pref("dom.enable_web_task_scheduling", true);
|
user_pref("dom.enable_web_task_scheduling", true);
|
||||||
user_pref("layout.css.animation-composition.enabled", true);
|
user_pref("layout.css.animation-composition.enabled", true);
|
||||||
|
|
||||||
/** NETWORK ***/
|
|
||||||
user_pref("network.ssl_tokens_cache_capacity", 32768);
|
|
||||||
user_pref("network.dnsCacheEntries", 20000);
|
|
||||||
user_pref("network.dnsCacheExpiration", 3600);
|
|
||||||
user_pref("network.dnsCacheExpirationGracePeriod", 240);
|
|
||||||
user_pref("network.buffer.cache.size", 262144);
|
|
||||||
user_pref("network.buffer.cache.count", 128);
|
|
||||||
|
|
||||||
/** GFX ***/
|
/** GFX ***/
|
||||||
user_pref("gfx.webrender.all", true);
|
user_pref("gfx.webrender.all", true);
|
||||||
user_pref("gfx.webrender.precache-shaders", true);
|
user_pref("gfx.webrender.precache-shaders", true);
|
||||||
user_pref("gfx.webrender.compositor", true);
|
user_pref("gfx.webrender.compositor", true);
|
||||||
|
user_pref("layers.gpu-process.enabled", true);
|
||||||
|
user_pref("media.hardware-video-decoding.enabled", true);
|
||||||
user_pref("gfx.canvas.accelerated", true);
|
user_pref("gfx.canvas.accelerated", true);
|
||||||
user_pref("gfx.canvas.accelerated.cache-items", 32768);
|
user_pref("gfx.canvas.accelerated.cache-items", 32768);
|
||||||
user_pref("gfx.canvas.accelerated.cache-size", 4096);
|
user_pref("gfx.canvas.accelerated.cache-size", 4096);
|
||||||
@@ -256,16 +245,23 @@ user_pref("gfx.content.skia-font-cache-size", 80);
|
|||||||
user_pref("image.cache.size", 10485760);
|
user_pref("image.cache.size", 10485760);
|
||||||
user_pref("image.mem.decode_bytes_at_a_time", 131072);
|
user_pref("image.mem.decode_bytes_at_a_time", 131072);
|
||||||
user_pref("image.mem.shared.unmap.min_expiration_ms", 120000);
|
user_pref("image.mem.shared.unmap.min_expiration_ms", 120000);
|
||||||
user_pref("layers.gpu-process.enabled", true);
|
|
||||||
user_pref("media.memory_cache_max_size", 1048576);
|
user_pref("media.memory_cache_max_size", 1048576);
|
||||||
user_pref("media.memory_caches_combined_limit_kb", 2560000);
|
user_pref("media.memory_caches_combined_limit_kb", 2560000);
|
||||||
user_pref("media.cache_size", 2048000);
|
|
||||||
user_pref("media.cache_readahead_limit", 9000);
|
user_pref("media.cache_readahead_limit", 9000);
|
||||||
user_pref("media.cache_resume_threshold", 6000);
|
user_pref("media.cache_resume_threshold", 6000);
|
||||||
|
|
||||||
/** CACHE ***/
|
/** BROWSER CACHE ***/
|
||||||
|
user_pref("browser.cache.memory.capacity", -1);
|
||||||
user_pref("browser.cache.memory.max_entry_size", 153600);
|
user_pref("browser.cache.memory.max_entry_size", 153600);
|
||||||
|
|
||||||
|
/** NETWORK ***/
|
||||||
|
user_pref("network.buffer.cache.size", 262144);
|
||||||
|
user_pref("network.buffer.cache.count", 128);
|
||||||
|
user_pref("network.dnsCacheEntries", 20000);
|
||||||
|
user_pref("network.dnsCacheExpiration", 3600);
|
||||||
|
user_pref("network.dnsCacheExpirationGracePeriod", 240);
|
||||||
|
user_pref("network.ssl_tokens_cache_capacity", 32768);
|
||||||
|
|
||||||
/****************************************************************************
|
/****************************************************************************
|
||||||
* SECTION: SMOOTHFOX *
|
* SECTION: SMOOTHFOX *
|
||||||
****************************************************************************/
|
****************************************************************************/
|
||||||
|
|||||||
Reference in New Issue
Block a user