Kieran's opinionated (and probably slightly dumb) nix config
1// 2/* You may copy+paste this file and use it as it is. 3 * 4 * If you make changes to your about:config while the program is running, the 5 * changes will be overwritten by the user.js when the application restarts. 6 * 7 * To make lasting changes to preferences, you will have to edit the user.js. 8 */ 9 10/**************************************************************************** 11 * Betterfox * 12 * "Ad meliora" * 13 * version: 129 * 14 * url: https://github.com/yokoffing/Betterfox * 15 ****************************************************************************/ 16 17/**************************************************************************** 18 * SECTION: FASTFOX * 19 ****************************************************************************/ 20/** GENERAL ***/ 21user_pref("content.notify.interval", 100000); 22 23/** GFX ***/ 24user_pref("gfx.canvas.accelerated.cache-items", 4096); 25user_pref("gfx.canvas.accelerated.cache-size", 512); 26user_pref("gfx.content.skia-font-cache-size", 20); 27 28/** DISK CACHE ***/ 29user_pref("browser.cache.jsbc_compression_level", 3); 30 31/** MEDIA CACHE ***/ 32user_pref("media.memory_cache_max_size", 65536); 33user_pref("media.cache_readahead_limit", 7200); 34user_pref("media.cache_resume_threshold", 3600); 35 36/** IMAGE CACHE ***/ 37user_pref("image.mem.decode_bytes_at_a_time", 32768); 38 39/** NETWORK ***/ 40user_pref("network.http.max-connections", 1800); 41user_pref("network.http.max-persistent-connections-per-server", 10); 42user_pref("network.http.max-urgent-start-excessive-connections-per-host", 5); 43user_pref("network.http.pacing.requests.enabled", false); 44user_pref("network.dnsCacheExpiration", 3600); 45user_pref("network.ssl_tokens_cache_capacity", 10240); 46 47/** SPECULATIVE LOADING ***/ 48user_pref("network.dns.disablePrefetch", true); 49user_pref("network.dns.disablePrefetchFromHTTPS", true); 50user_pref("network.prefetch-next", false); 51user_pref("network.predictor.enabled", false); 52user_pref("network.predictor.enable-prefetch", false); 53 54/** EXPERIMENTAL ***/ 55user_pref("layout.css.grid-template-masonry-value.enabled", true); 56user_pref("dom.enable_web_task_scheduling", true); 57user_pref("dom.security.sanitizer.enabled", true); 58 59/**************************************************************************** 60 * SECTION: SECUREFOX * 61 ****************************************************************************/ 62/** TRACKING PROTECTION ***/ 63user_pref("browser.contentblocking.category", "strict"); 64user_pref( 65 "urlclassifier.trackingSkipURLs", 66 "*.reddit.com, *.twitter.com, *.twimg.com, *.tiktok.com" 67); 68user_pref( 69 "urlclassifier.features.socialtracking.skipURLs", 70 "*.instagram.com, *.twitter.com, *.twimg.com" 71); 72user_pref("network.cookie.sameSite.noneRequiresSecure", true); 73user_pref("browser.download.start_downloads_in_tmp_dir", true); 74user_pref("browser.helperApps.deleteTempFileOnExit", true); 75user_pref("browser.uitour.enabled", false); 76user_pref("privacy.globalprivacycontrol.enabled", true); 77 78/** OCSP & CERTS / HPKP ***/ 79user_pref("security.OCSP.enabled", 0); 80user_pref("security.remote_settings.crlite_filters.enabled", true); 81user_pref("security.pki.crlite_mode", 2); 82 83/** SSL / TLS ***/ 84user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true); 85user_pref("browser.xul.error_pages.expert_bad_cert", true); 86user_pref("security.tls.enable_0rtt_data", false); 87 88/** DISK AVOIDANCE ***/ 89user_pref("browser.privatebrowsing.forceMediaMemoryCache", true); 90user_pref("browser.sessionstore.interval", 60000); 91 92/** SHUTDOWN & SANITIZING ***/ 93user_pref("privacy.history.custom", true); 94 95/** SEARCH / URL BAR ***/ 96user_pref("browser.urlbar.trimHttps", true); 97user_pref("browser.urlbar.untrimOnUserInteraction.featureGate", true); 98user_pref("browser.search.separatePrivateDefault.ui.enabled", true); 99user_pref("browser.urlbar.update2.engineAliasRefresh", true); 100user_pref("browser.search.suggest.enabled", false); 101user_pref("browser.urlbar.quicksuggest.enabled", false); 102user_pref("browser.urlbar.suggest.quicksuggest.sponsored", false); 103user_pref("browser.urlbar.suggest.quicksuggest.nonsponsored", false); 104user_pref("browser.urlbar.groupLabels.enabled", false); 105user_pref("browser.formfill.enable", false); 106user_pref("security.insecure_connection_text.enabled", true); 107user_pref("security.insecure_connection_text.pbmode.enabled", true); 108user_pref("network.IDN_show_punycode", true); 109 110/** HTTPS-FIRST POLICY ***/ 111user_pref("dom.security.https_first", true); 112 113/** PASSWORDS ***/ 114user_pref("signon.formlessCapture.enabled", false); 115user_pref("signon.privateBrowsingCapture.enabled", false); 116user_pref("network.auth.subresource-http-auth-allow", 1); 117user_pref("editor.truncate_user_pastes", false); 118 119/** MIXED CONTENT + CROSS-SITE ***/ 120user_pref("security.mixed_content.block_display_content", true); 121user_pref("pdfjs.enableScripting", false); 122user_pref("extensions.postDownloadThirdPartyPrompt", false); 123 124/** HEADERS / REFERERS ***/ 125user_pref("network.http.referer.XOriginTrimmingPolicy", 2); 126 127/** CONTAINERS ***/ 128user_pref("privacy.userContext.ui.enabled", true); 129 130/** WEBRTC ***/ 131user_pref("media.peerconnection.ice.proxy_only_if_behind_proxy", true); 132user_pref("media.peerconnection.ice.default_address_only", true); 133 134/** SAFE BROWSING ***/ 135user_pref("browser.safebrowsing.downloads.remote.enabled", false); 136 137/** MOZILLA ***/ 138user_pref("permissions.default.desktop-notification", 2); 139user_pref("permissions.default.geo", 2); 140user_pref("permissions.manager.defaultsUrl", ""); 141user_pref("webchannel.allowObject.urlWhitelist", ""); 142 143/** TELEMETRY ***/ 144user_pref("datareporting.policy.dataSubmissionEnabled", false); 145user_pref("datareporting.healthreport.uploadEnabled", false); 146user_pref("toolkit.telemetry.unified", false); 147user_pref("toolkit.telemetry.enabled", false); 148user_pref("toolkit.telemetry.server", "data:,"); 149user_pref("toolkit.telemetry.archive.enabled", false); 150user_pref("toolkit.telemetry.newProfilePing.enabled", false); 151user_pref("toolkit.telemetry.shutdownPingSender.enabled", false); 152user_pref("toolkit.telemetry.updatePing.enabled", false); 153user_pref("toolkit.telemetry.bhrPing.enabled", false); 154user_pref("toolkit.telemetry.firstShutdownPing.enabled", false); 155user_pref("toolkit.telemetry.coverage.opt-out", true); 156user_pref("toolkit.coverage.opt-out", true); 157user_pref("toolkit.coverage.endpoint.base", ""); 158user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false); 159user_pref("browser.newtabpage.activity-stream.telemetry", false); 160 161/** EXPERIMENTS ***/ 162user_pref("app.shield.optoutstudies.enabled", false); 163user_pref("app.normandy.enabled", false); 164user_pref("app.normandy.api_url", ""); 165 166/** CRASH REPORTS ***/ 167user_pref("breakpad.reportURL", ""); 168user_pref("browser.tabs.crashReporting.sendReport", false); 169user_pref("browser.crashReports.unsubmittedCheck.autoSubmit2", false); 170 171/** DETECTION ***/ 172user_pref("captivedetect.canonicalURL", ""); 173user_pref("network.captive-portal-service.enabled", false); 174user_pref("network.connectivity-service.enabled", false); 175 176/**************************************************************************** 177 * SECTION: PESKYFOX * 178 ****************************************************************************/ 179/** MOZILLA UI ***/ 180user_pref("browser.privatebrowsing.vpnpromourl", ""); 181user_pref("extensions.getAddons.showPane", false); 182user_pref("extensions.htmlaboutaddons.recommendations.enabled", false); 183user_pref("browser.discovery.enabled", false); 184user_pref("browser.shell.checkDefaultBrowser", false); 185user_pref( 186 "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", 187 false 188); 189user_pref( 190 "browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", 191 false 192); 193user_pref("browser.preferences.moreFromMozilla", false); 194user_pref("browser.aboutConfig.showWarning", false); 195user_pref("browser.aboutwelcome.enabled", false); 196user_pref("browser.tabs.tabmanager.enabled", false); 197user_pref("browser.profiles.enabled", true); 198 199/** THEME ADJUSTMENTS ***/ 200user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); 201user_pref("browser.compactmode.show", true); 202user_pref("browser.display.focus_ring_on_anything", true); 203user_pref("browser.display.focus_ring_style", 0); 204user_pref("browser.display.focus_ring_width", 0); 205user_pref("layout.css.prefers-color-scheme.content-override", 2); 206user_pref("browser.privateWindowSeparation.enabled", false); // WINDOWS 207user_pref( 208 "browser.newtabpage.activity-stream.newtabWallpapers.v2.enabled", 209 true 210); 211 212/** COOKIE BANNER HANDLING ***/ 213user_pref("cookiebanners.service.mode", 1); 214user_pref("cookiebanners.service.mode.privateBrowsing", 1); 215 216/** FULLSCREEN NOTICE ***/ 217user_pref("full-screen-api.transition-duration.enter", "0 0"); 218user_pref("full-screen-api.transition-duration.leave", "0 0"); 219user_pref("full-screen-api.warning.delay", -1); 220user_pref("full-screen-api.warning.timeout", 0); 221 222/** URL BAR ***/ 223user_pref("browser.urlbar.suggest.calculator", true); 224user_pref("browser.urlbar.unitConversion.enabled", true); 225user_pref("browser.urlbar.trending.featureGate", false); 226 227/** NEW TAB PAGE ***/ 228user_pref("browser.newtabpage.activity-stream.feeds.topsites", false); 229user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false); 230 231/** POCKET ***/ 232user_pref("extensions.pocket.enabled", false); 233 234/** DOWNLOADS ***/ 235user_pref("browser.download.manager.addToRecentDocs", false); 236 237/** PDF ***/ 238user_pref("browser.download.open_pdf_attachments_inline", true); 239 240/** TAB BEHAVIOR ***/ 241user_pref("browser.bookmarks.openInTabClosesMenu", false); 242user_pref("browser.menu.showViewImageInfo", true); 243user_pref("findbar.highlightAll", true); 244user_pref("layout.word_select.eat_space_to_next_word", false); 245 246/**************************************************************************** 247 * START: MY OVERRIDES * 248 ****************************************************************************/ 249// visit https://github.com/yokoffing/Betterfox/wiki/Common-Overrides 250// visit https://github.com/yokoffing/Betterfox/wiki/Optional-Hardening 251// Enter your personal overrides below this line: 252 253// PREF: preferred color scheme for websites and sub-pages 254// Dark (0), Light (1), System (2), Browser (3) 255user_pref("layout.css.prefers-color-scheme.content-override", 0); 256 257user_pref("browser.download.useDownloadDir", true); // DEFAULT 258user_pref("browser.download.always_ask_before_handling_new_types", true); 259 260// PREF: restore search engine suggestions 261user_pref("browser.search.suggest.enabled", true); 262 263// PREF: disable Firefox Sync 264user_pref("identity.fxaccounts.enabled", false); 265 266// PREF: disable the Firefox View tour from popping up 267user_pref("browser.firefox-view.feature-tour", '{"screen":"","complete":true}'); 268 269// PREF: do not allow embedded tweets, Instagram, Reddit, and Tiktok posts 270user_pref("urlclassifier.trackingSkipURLs", ""); 271user_pref("urlclassifier.features.socialtracking.skipURLs", ""); 272 273// PREF: enable HTTPS-Only Mode 274// Warn me before loading sites that don't support HTTPS 275// in both Normal and Private Browsing windows. 276user_pref("dom.security.https_only_mode", true); 277user_pref("dom.security.https_only_mode_error_page_user_suggestions", true); 278 279// PREF: enforce certificate pinning 280// [ERROR] MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE 281// 1 = allow user MiTM (such as your antivirus) (default) 282// 2 = strict 283user_pref("security.cert_pinning.enforcement_level", 2); 284 285// PREF: delete cookies, cache, and site data on shutdown 286user_pref("privacy.sanitize.sanitizeOnShutdown", true); 287user_pref("privacy.clearOnShutdown_v2.cache", true); // DEFAULT 288user_pref("privacy.clearOnShutdown_v2.cookiesAndStorage", true); // DEFAULT 289user_pref("privacy.clearOnShutdown_v2.historyFormDataAndDownloads", false); 290 291// PREF: enforce DNS-over-HTTPS (DoH) 292user_pref("network.trr.mode", 2); 293user_pref("network.trr.max-fails", 5); 294/**************************************************************************** 295 * SECTION: SMOOTHFOX * 296 ****************************************************************************/ 297// visit https://github.com/yokoffing/Betterfox/blob/main/Smoothfox.js 298// Enter your scrolling overrides below this line: 299 300/**************************************************************************************** 301 * OPTION: SHARPEN SCROLLING * 302 ****************************************************************************************/ 303// credit: https://github.com/black7375/Firefox-UI-Fix 304// only sharpen scrolling 305user_pref("apz.overscroll.enabled", true); // DEFAULT NON-LINUX 306 307/**************************************************************************** 308 * END: BETTERFOX * 309 ****************************************************************************/