Firefox user.js Settings and Improvements
Inspired by this post and this comment
- Introduction
- Memory Optimization
- Connection Speed/Responsiveness
- Open in New Tab
- Disabling Animations/Fullscreen Transitions
- Disabling Autofill/Suggestions
- Security
- Disable Saving Page Thumbnails/Icons
- Block Autoplay in Tabs Until Selected
- Miscellaneous
- Experimental Settings
Some of these settings might already be included on Arkenfox
Memory Optimization
Using memory cache instead of disk cache / limitting media cache / decreasing the frequency of saving the browsing session to disk
Connection speed/responsiveness
user_pref("network.buffer.cache.size", 262144); // in bytes. 262144=256KB (You can also try 524288 [=512KB] to see if it works even better) / "the stream buffer segment size used for most network activity." (http://forums.mozillazine.org/viewtopic.php?f=7&t=2416193) / "the default setting is 32 kB, and that corresponds with the buffer size of very old TCP/IP stacks." (https://www.mail-archive.com/[email protected]/msg74561.html) (note "buffer.cache"="segment" https://bugzilla.mozilla.org/show_bug.cgi?id=715770#c1)
user_pref("network.buffer.cache.count", 128); // https://www.mail-archive.com/[email protected]/msg74561.html
user_pref("network.http.max-connections", 1800); // default=900
user_pref("network.http.max-connections-per-server", 32); // might not be used anymore, there's no result for it in searchfox.com (last default might have been 15) https://kb.mozillazine.org/Network.http.max-connections-per-server
user_pref("network.http.max-persistent-connections-per-server", 12); // default=6
user_pref("network.http.max-urgent-start-excessive-connections-per-host", 10); // default=3. "Number of connections that we can open beyond the standard parallelism limit defined by max-persistent-connections-per-server/-proxy to handle urgent-start marked requests"
user_pref("network.http.pacing.requests.burst", 32); // default=10, controls how many HTTP requests are sent at once
user_pref("network.http.pacing.requests.min-parallelism", 10); // default=6. "Min-Parallelism is the amount of active connections that have to be in use in order for the rate limiter to be used" (https://bugzilla.mozilla.org/show_bug.cgi?id=819734#c1)
user_pref("network.websocket.max-connections", 400); // default=200. "Most communication between web browsers and web sites uses HTTP. With HTTP, the client sends a request and the server returns a response. Typically, the response occurs immediately, and the transaction is complete. Even if the network connection stays open, this will be used for a separate transaction of a request and a response. Some modern web sites use WebSockets. WebSocket connections are initiated over HTTP and are typically long-lived. Messages can be sent in either direction at any time and are not transactional in nature. The connection will normally stay open and idle until either the client or the server is ready to send a message."
user_pref("network.ssl_tokens_cache_capacity", 32768); // more TLS token caching (fast reconnects)
// also see "security.pki.crlite_mode" and "browser.cache.memory.capacity"
|
Open in new tab:
Disabling animations/fullscreen transitions:
Disabling autofill/suggestions
Security:
Disable saving page thumbnails/icons:
Block autoplay in tabs until selected:
Misc:
Experimental:
Enabling Oblivious DoH (ODoH) for enhanced DNS privacy.
The ODoH implementation is currently experimental so you will need to be prepared for bugs. If you want to test it, change the following settings to set your resolver to Cloudflare and your proxy to SURF (located in the Netherlands).
You can see it working by visiting about:telemetry#search=odoh
which will show a success count (HTTP_CHANNEL_ONSTART_SUCCESS_ODOH
) and how much slower it is (DNS_ODOH_LOOKUP_TIME
). The proxy IP address will be a permanent fixture in about:networking#sockets
. You will see much less cloudflare-dns.com
traffic compared with DoH, only connecting periodically to get new configs.