-
-
Save cesalazar/eaac92831cdd9dee0caaa564d0d95a71 to your computer and use it in GitHub Desktop.
my personal overrides for every new firefox profile
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/* my overrides */ | |
// https://github.com/arkenfox/user.js/ | |
/* override recipe: enable session restore ***/ | |
/* 0102: set startup page [SETUP-CHROME] | |
* 0=blank, 1=home, 2=last visited page, 3=resume previous session | |
* [NOTE] Session Restore is cleared with history (2811, 2812), and not used in Private Browsing mode | |
* [SETTING] General>Startup>Restore previous session ***/ | |
user_pref("browser.startup.page", 3); | |
/* 1003: disable storing extra session data [SETUP-CHROME] | |
* define on which sites to save extra session data such as form content, cookies and POST data | |
* 0=everywhere, 1=unencrypted sites, 2=nowhere ***/ | |
user_pref("browser.sessionstore.privacy_level", 0); | |
/* 2811: set/enforce what items to clear on shutdown (if 2810 is true) [SETUP-CHROME] | |
* These items do not use exceptions, it is all or nothing (1681701) | |
* [NOTE] If "history" is true, downloads will also be cleared | |
* [NOTE] "sessions": Active Logins: refers to HTTP Basic Authentication [1], not logins via cookies | |
* [NOTE] "offlineApps": Offline Website Data: localStorage, service worker cache, QuotaManager (IndexedDB, asm-cache) | |
* [SETTING] Privacy & Security>History>Custom Settings>Clear history when Firefox closes>Settings | |
* [1] https://en.wikipedia.org/wiki/Basic_access_authentication ***/ | |
user_pref("privacy.clearOnShutdown.history", false); // [DEFAULT: true] | |
user_pref("privacy.clearOnShutdown.downloads", false); // [DEFAULT: true] | |
/* 2812: reset default items to clear with Ctrl-Shift-Del (to match 2811) [SETUP-CHROME] | |
* This dialog can also be accessed from the menu History>Clear Recent History | |
* Firefox remembers your last choices. This will reset them when you start Firefox | |
* [NOTE] Regardless of what you set "downloads" to, as soon as the dialog | |
* for "Clear Recent History" is opened, it is synced to the same as "history" ***/ | |
user_pref("privacy.cpd.history", false); // [DEFAULT: true] | |
/* addition not in the original recipe ***/ | |
user_pref("privacy.clearOnShutdown.cache", false); // [DEFAULT: false] | |
user_pref("privacy.cpd.cache", false); // [DEFAULT: true] | |
/* 0103: set HOME+NEWWINDOW page | |
* about:home=Activity Stream (default, see 0105), custom URL, about:blank | |
* [SETTING] Home>New Windows and Tabs>Homepage and new windows ***/ | |
user_pref("browser.startup.homepage", "about:home"); // change back to blank (default) if performance issues | |
/* 0710: disable DNS-over-HTTPS (DoH) rollout [FF60+] | |
* 0=off by default, 2=TRR (Trusted Recursive Resolver) first, 3=TRR only, 5=explicitly off | |
* see "doh-rollout.home-region": USA Feb 2020, Canada July 2021 [3] | |
* [1] https://hacks.mozilla.org/2018/05/a-cartoon-intro-to-dns-over-https/ | |
* [2] https://wiki.mozilla.org/Security/DOH-resolver-policy | |
* [3] https://blog.mozilla.org/mozilla/news/firefox-by-default-dns-over-https-rollout-in-canada/ | |
* [4] https://www.eff.org/deeplinks/2020/12/dns-doh-and-odoh-oh-my-year-review-2020 ***/ | |
user_pref("network.trr.mode", 3); | |
// more TRR stuffs | |
user_pref("network.trr.uri", "https://dns.quad9.net/dns-query"); | |
/* 0820: disable coloring of visited links | |
* [SETUP-HARDEN] Bulk rapid history sniffing was mitigated in 2010 [1][2]. Slower and more expensive | |
* redraw timing attacks were largely mitigated in FF77+ [3]. Using RFP (4501) further hampers timing | |
* attacks. Don't forget clearing history on exit (2811). However, social engineering [2#limits][4][5] | |
* and advanced targeted timing attacks could still produce usable results | |
* [1] https://developer.mozilla.org/docs/Web/CSS/Privacy_and_the_:visited_selector | |
* [2] https://dbaron.org/mozilla/visited-privacy | |
* [3] https://bugzilla.mozilla.org/1632765 | |
* [4] https://earthlng.github.io/testpages/visited_links.html (see github wiki APPENDIX A on how to use) | |
* [5] https://lcamtuf.blogspot.com/2016/08/css-mix-blend-mode-is-bad-for-keeping.html ***/ | |
user_pref("layout.css.visited_links_enabled", false); | |
/* 1001: disable disk cache | |
* [SETUP-CHROME] If you think disk cache helps perf, then feel free to override this | |
* [NOTE] We also clear cache on exit (2811) ***/ | |
user_pref("browser.cache.disk.enable", true); | |
/* 1004: set the minimum interval between session save operations | |
* Increasing this can help on older machines and some websites, as well as reducing writes [1] | |
* [1] https://bugzilla.mozilla.org/1304389 ***/ | |
user_pref("browser.sessionstore.interval", 300000); // [DEFAULT: 15000] | |
/* 1601: control when to send a cross-origin referer | |
* 0=always (default), 1=only if base domains match, 2=only if hosts match | |
* [SETUP-WEB] Breakage: older modems/routers and some sites e.g banks, vimeo, icloud, instagram | |
* If "2" is too strict, then override to "0" and use Smart Referer extension (Strict mode + add exceptions) ***/ | |
user_pref("network.http.referer.XOriginPolicy", 0); | |
/* 2001: disable WebRTC (Web Real-Time Communication) | |
* Firefox uses mDNS hostname obfuscation on desktop (except Windows7/8) and the | |
* private IP is NEVER exposed, except if required in TRUSTED scenarios; i.e. after | |
* you grant device (microphone or camera) access | |
* [SETUP-HARDEN] Test first. Windows7/8 users only: behind a proxy who never use WebRTC | |
* [TEST] https://browserleaks.com/webrtc | |
* [1] https://groups.google.com/g/discuss-webrtc/c/6stQXi72BEU/m/2FwZd24UAQAJ | |
* [2] https://datatracker.ietf.org/doc/html/draft-ietf-mmusic-mdns-ice-candidates#section-3.1.1 ***/ | |
user_pref("media.peerconnection.enabled", false); | |
/* 2030: disable autoplay of HTML5 media [FF63+] | |
* 0=Allow all, 1=Block non-muted media (default), 5=Block all | |
* [NOTE] You can set exceptions under site permissions | |
* [SETTING] Privacy & Security>Permissions>Autoplay>Settings>Default for all websites ***/ | |
user_pref("media.autoplay.default", 5); | |
/* 2662: disable webextension restrictions on certain mozilla domains (you also need 4503) [FF60+] | |
* [1] https://bugzilla.mozilla.org/buglist.cgi?bug_id=1384330,1406795,1415644,1453988 ***/ | |
user_pref("extensions.webextensions.restrictedDomains", ""); | |
/* 4504: enable RFP letterboxing [FF67+] | |
* Dynamically resizes the inner window by applying margins in stepped ranges [2] | |
* If you use the dimension pref, then it will only apply those resolutions. | |
* The format is "width1xheight1, width2xheight2, ..." (e.g. "800x600, 1000x1000") | |
* [SETUP-WEB] This is independent of RFP (4501). If you're not using RFP, or you are but | |
* dislike the margins, then flip this pref, keeping in mind that it is effectively fingerprintable | |
* [WARNING] DO NOT USE: the dimension pref is only meant for testing | |
* [1] https://bugzilla.mozilla.org/1407366 | |
* [2] https://hg.mozilla.org/mozilla-central/rev/6d2d7856e468#l2.32 ***/ | |
user_pref("privacy.resistFingerprinting.letterboxing", false); // [HIDDEN PREF] | |
/* 4520: disable WebGL (Web Graphics Library) | |
* [SETUP-WEB] If you need it then override it. RFP still randomizes canvas for naive scripts ***/ | |
user_pref("webgl.disabled", false); | |
/* 5003: disable saving passwords | |
* [NOTE] This does not clear any passwords already saved | |
* [SETTING] Privacy & Security>Logins and Passwords>Ask to save logins and passwords for websites ***/ | |
user_pref("signon.rememberSignons", false); | |
/* 5506: disable WebAssembly [FF52+] | |
* Vulnerabilities [1] have increasingly been found, including those known and fixed | |
* in native programs years ago [2]. WASM has powerful low-level access, making | |
* certain attacks (brute-force) and vulnerabilities more possible | |
* [STATS] ~0.2% of websites, about half of which are for crytopmining / malvertising [2][3] | |
* [1] https://cve.mitre.org/cgi-bin/cvekey.cgi?keyword=wasm | |
* [2] https://spectrum.ieee.org/tech-talk/telecom/security/more-worries-over-the-security-of-web-assembly | |
* [3] https://www.zdnet.com/article/half-of-the-websites-using-webassembly-use-it-for-malicious-purposes ***/ | |
user_pref("javascript.options.wasm", false); | |
/* UPDATES ***/ | |
user_pref("app.update.auto", false); // [NON-WINDOWS] disable auto app updates | |
// [NOTE] You will still get prompts to update, and should do so in a timely manner | |
// [SETTING] General>Firefox Updates>Check for updates but let you choose to install them | |
/* APPEARANCE ***/ | |
user_pref("ui.prefersReducedMotion", 1); // disable chrome animations [FF77+] [RESTART] [HIDDEN PREF] | |
// 0=no-preference, 1=reduce: with RFP this only affects chrome | |
user_pref("ui.systemUsesDarkTheme", 1); // [FF67+] [HIDDEN PREF] | |
// 0=light, 1=dark: with RFP this only affects chrome | |
/* UX BEHAVIOR ***/ | |
user_pref("browser.backspace_action", 2); // 0=previous page, 1=scroll up, 2=do nothing | |
user_pref("browser.tabs.loadBookmarksInTabs", true); // open bookmarks in a new tab [FF57+] | |
user_pref("view_source.tab", false); // view "page/selection source" in a new window [FF68+] | |
// https://github.com/black7375/Firefox-UI-Fix/tree/photon-style | |
/* Lepton-Photon style */ | |
// ** Theme Default Options ****************************************************/ | |
// userchrome.css usercontent.css activate | |
user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); | |
// Proton Enabled #127 || Removed at 97 #328 (Maintained for compatibility with ESR) | |
user_pref("browser.proton.enabled", true); | |
// Proton Tooltip | |
user_pref("browser.proton.places-tooltip.enabled", true); | |
// Fill SVG Color | |
user_pref("svg.context-properties.content.enabled", true); | |
// CSS Color Mix - 88 Above | |
user_pref("layout.css.color-mix.enabled", true); | |
// CSS Blur Filter - 88 Above | |
user_pref("layout.css.backdrop-filter.enabled", true); | |
// Restore Compact Mode - 89 Above | |
user_pref("browser.compactmode.show", true); | |
// about:home Search Bar - 89 Above | |
user_pref("browser.newtabpage.activity-stream.improvesearch.handoffToAwesomebar", false); | |
// Browser Theme Based Scheme - Will be activate 95 Above | |
// user_pref("layout.css.prefers-color-scheme.content-override", 3); | |
// ** Theme Related Options **************************************************** | |
// == Theme Distribution Settings ============================================== | |
user_pref("userChrome.tab.connect_to_window", true); // Original, Photon | |
user_pref("userChrome.tab.color_like_toolbar", true); // Original, Photon | |
// user_pref("userChrome.tab.lepton_like_padding", true); // Original | |
user_pref("userChrome.tab.photon_like_padding", true); // Photon | |
// user_pref("userChrome.tab.dynamic_separtor", true); // Original, Proton | |
user_pref("userChrome.tab.static_separator", true); // Photon | |
// user_pref("userChrome.tab.static_separator.selected_accent", true); // Just option | |
// user_pref("userChrome.tab.newtab_button_like_tab", true); // Original | |
user_pref("userChrome.tab.newtab_button_smaller", true); // Photon | |
// user_pref("userChrome.tab.newtab_button_proton", true); // Proton | |
// user_pref("userChrome.icon.panel_full", true); // Original, Proton | |
user_pref("userChrome.icon.panel_photon", true); // Photon | |
// user_pref("userChrome.icon.panel_sparse", true); // Just option | |
// Original Only | |
// user_pref("userChrome.tab.box_shadow", true); | |
// user_pref("userChrome.tab.bottom_rounded_corner", true); | |
// Photon Only | |
user_pref("userChrome.tab.photon_like_contextline", true); | |
user_pref("userChrome.rounding.square_tab", true); | |
// == Theme Compatibility Settings ============================================= | |
// user_pref("userChrome.compatibility.covered_header_image", true); | |
// user_pref("userChrome.compatibility.panel_cutoff", true); | |
// user_pref("userChrome.compatibility.navbar_top_border", true); | |
// user_pref("userChrome.compatibility.dynamic_separator", true); // Need dynamic_seperator | |
// user_pref("userChrome.compatiblity.os.linux_non_native_titlebar_button", true); | |
// == Theme Custom Settings ==================================================== | |
// -- User Chrome -------------------------------------------------------------- | |
// user_pref("userChrome.decoration.disable_panel_animate", true); | |
// user_pref("userChrome.decoration.disable_sidebar_animate", true); | |
// user_pref("userChrome.theme.proton_color.dark_blue_accent", true); | |
// user_pref("userChrome.rounding.square_button", true); | |
// user_pref("userChrome.rounding.square_panel", true); | |
// user_pref("userChrome.rounding.square_panelitem", true); | |
// user_pref("userChrome.rounding.square_menupopup", true); | |
// user_pref("userChrome.rounding.square_menuitem", true); | |
// user_pref("userChrome.rounding.square_field", true); | |
// user_pref("userChrome.rounding.square_checklabel", true); | |
// user_pref("userChrome.padding.first_tab", true); | |
// user_pref("userChrome.padding.drag_space", true); | |
// user_pref("userChrome.padding.drag_space.maximized", true); | |
// user_pref("userChrome.padding.menu_compact", true); | |
// user_pref("userChrome.padding.bookmark_menu.compact", true); | |
// user_pref("userChrome.padding.urlView_expanding", true); | |
// user_pref("userChrome.padding.urlView_result", true); | |
// user_pref("userChrome.padding.panel_header", true); | |
// user_pref("userChrome.urlView.move_icon_to_left", true); | |
// user_pref("userChrome.urlView.go_button_when_typing", true); | |
// user_pref("userChrome.urlView.always_show_page_actions", true); | |
// user_pref("userChrome.tab.on_bottom", true); | |
// user_pref("userChrome.tab.on_bottom.above_bookmark", true); // Need on_bottom | |
// user_pref("userChrome.tab.on_bottom.menubar_on_top", true); // Need on_bottom | |
// user_pref("userChrome.tab.always_show_tab_icon", true); | |
// user_pref("userChrome.tab.close_button_at_pinned", true); | |
// user_pref("userChrome.tab.close_button_at_pinned.always", true); | |
// user_pref("userChrome.tab.close_button_at_pinned.background", true); | |
// user_pref("userChrome.tab.close_button_at_hover.always", true); // Need close_button_at_hover | |
// user_pref("userChrome.tab.sound_show_label", true); // Need remove sound_hide_label | |
// user_pref("userChrome.tab.centered_label", true); | |
// user_pref("userChrome.panel.remove_strip", true); | |
// user_pref("userChrome.panel.full_width_separator", true); | |
// user_pref("userChrome.panel.full_width_padding", true); | |
// user_pref("userChrome.icon.account_image_to_right", true); | |
// user_pref("userChrome.icon.account_label_to_right", true); | |
// -- User Content ------------------------------------------------------------- | |
// user_pref("userContent.player.ui.twoline", true); | |
// user_pref("userContent.page.proton_color.dark_blue_accent", true); | |
// user_pref("userContent.page.proton_color.system_accent", true); | |
// == Theme Default Settings =================================================== | |
// -- User Chrome -------------------------------------------------------------- | |
user_pref("userChrome.compatibility.theme", true); | |
user_pref("userChrome.compatibility.os", true); | |
user_pref("userChrome.theme.built_in_contrast", true); | |
user_pref("userChrome.theme.system_default", true); | |
user_pref("userChrome.theme.proton_color", true); | |
user_pref("userChrome.theme.proton_chrome", true); // Need proton_color | |
user_pref("userChrome.theme.fully_color", true); // Need proton_color | |
user_pref("userChrome.theme.fully_dark", true); // Need proton_color | |
user_pref("userChrome.decoration.cursor", true); | |
user_pref("userChrome.decoration.field_border", true); | |
user_pref("userChrome.decoration.download_panel", true); | |
user_pref("userChrome.decoration.animate", true); | |
user_pref("userChrome.padding.tabbar_width", true); | |
user_pref("userChrome.padding.tabbar_height", true); | |
user_pref("userChrome.padding.toolbar_button", true); | |
user_pref("userChrome.padding.navbar_width", true); | |
user_pref("userChrome.padding.urlbar", true); | |
user_pref("userChrome.padding.bookmarkbar", true); | |
user_pref("userChrome.padding.infobar", true); | |
user_pref("userChrome.padding.menu", true); | |
user_pref("userChrome.padding.bookmark_menu", true); | |
user_pref("userChrome.padding.global_menubar", true); | |
user_pref("userChrome.padding.panel", true); | |
user_pref("userChrome.padding.popup_panel", true); | |
user_pref("userChrome.tab.multi_selected", true); | |
user_pref("userChrome.tab.unloaded", true); | |
user_pref("userChrome.tab.letters_cleary", true); | |
user_pref("userChrome.tab.close_button_at_hover", true); | |
user_pref("userChrome.tab.sound_hide_label", true); | |
user_pref("userChrome.tab.sound_with_favicons", true); | |
user_pref("userChrome.tab.pip", true); | |
user_pref("userChrome.tab.container", true); | |
user_pref("userChrome.tab.crashed", true); | |
user_pref("userChrome.fullscreen.overlap", true); | |
user_pref("userChrome.fullscreen.show_bookmarkbar", true); | |
user_pref("userChrome.icon.library", true); | |
user_pref("userChrome.icon.panel", true); | |
user_pref("userChrome.icon.menu", true); | |
user_pref("userChrome.icon.context_menu", true); | |
user_pref("userChrome.icon.global_menu", true); | |
user_pref("userChrome.icon.global_menubar", true); | |
// -- User Content ------------------------------------------------------------- | |
user_pref("userContent.player.ui", true); | |
user_pref("userContent.player.icon", true); | |
user_pref("userContent.player.noaudio", true); | |
user_pref("userContent.player.size", true); | |
user_pref("userContent.player.click_to_play", true); | |
user_pref("userContent.player.animate", true); | |
user_pref("userContent.newTab.field_border", true); | |
user_pref("userContent.newTab.full_icon", true); | |
user_pref("userContent.newTab.animate", true); | |
user_pref("userContent.newTab.pocket_to_last", true); | |
user_pref("userContent.newTab.searchbar", true); | |
user_pref("userContent.page.illustration", true); | |
user_pref("userContent.page.proton_color", true); | |
user_pref("userContent.page.dark_mode", true); // Need proton_color | |
user_pref("userContent.page.proton", true); // Need proton_color | |
// ** Useful Options *********************************************************** | |
// Integrated calculator at urlbar | |
user_pref("browser.urlbar.suggest.calculator", true); | |
// Integrated unit convertor at urlbar | |
// user_pref("browser.urlbar.unitConversion.enabled", true); | |
// Draw in Titlebar | |
// user_pref("browser.tabs.drawInTitlebar", true); | |
// user_pref("browser.tabs.inTitlebar", 1); // Nightly, 96 Above | |
// ** Scrolling Settings ******************************************************* | |
// == Only Sharpen Scrolling =================================================== | |
// Pref Value Original | |
/* | |
user_pref("mousewheel.min_line_scroll_amount", 10); // 5 | |
user_pref("general.smoothScroll.mouseWheel.durationMinMS", 80); // 50 | |
user_pref("general.smoothScroll.currentVelocityWeighting", "0.15"); // "0.25" | |
user_pref("general.smoothScroll.stopDecelerationWeighting", "0.6"); // "0.4" | |
*/ | |
// == Smooth Scroling ========================================================== | |
// ** Scrolling Options ******************************************************** | |
// based on natural smooth scrolling v2 by aveyo | |
// this preset will reset couple extra variables for consistency | |
// Pref Value Original | |
/* | |
user_pref("apz.allow_zooming", true); /// true | |
user_pref("apz.force_disable_desktop_zooming_scrollbars", false); /// false | |
user_pref("apz.paint_skipping.enabled", true); /// true | |
user_pref("apz.windows.use_direct_manipulation", true); /// true | |
user_pref("dom.event.wheel-deltaMode-lines.always-disabled", true); /// false | |
user_pref("general.smoothScroll.currentVelocityWeighting", "0.12"); /// "0.25" <- 1. If scroll too slow, set to "0.15" | |
user_pref("general.smoothScroll.durationToIntervalRatio", 1000); /// 200 | |
user_pref("general.smoothScroll.lines.durationMaxMS", 100); /// 150 | |
user_pref("general.smoothScroll.lines.durationMinMS", 0); /// 150 | |
user_pref("general.smoothScroll.mouseWheel.durationMaxMS", 100); /// 200 | |
user_pref("general.smoothScroll.mouseWheel.durationMinMS", 0); /// 50 | |
user_pref("general.smoothScroll.mouseWheel.migrationPercent", 100); /// 100 | |
user_pref("general.smoothScroll.msdPhysics.continuousMotionMaxDeltaMS", 12); /// 120 | |
user_pref("general.smoothScroll.msdPhysics.enabled", true); /// false | |
user_pref("general.smoothScroll.msdPhysics.motionBeginSpringConstant", 200); /// 1250 | |
user_pref("general.smoothScroll.msdPhysics.regularSpringConstant", 200); /// 1000 | |
user_pref("general.smoothScroll.msdPhysics.slowdownMinDeltaMS", 10); /// 12 | |
user_pref("general.smoothScroll.msdPhysics.slowdownMinDeltaRatio", "1.20"); /// "1.3" | |
user_pref("general.smoothScroll.msdPhysics.slowdownSpringConstant", 1000); /// 2000 | |
user_pref("general.smoothScroll.other.durationMaxMS", 100); /// 150 | |
user_pref("general.smoothScroll.other.durationMinMS", 0); /// 150 | |
user_pref("general.smoothScroll.pages.durationMaxMS", 100); /// 150 | |
user_pref("general.smoothScroll.pages.durationMinMS", 0); /// 150 | |
user_pref("general.smoothScroll.pixels.durationMaxMS", 100); /// 150 | |
user_pref("general.smoothScroll.pixels.durationMinMS", 0); /// 150 | |
user_pref("general.smoothScroll.scrollbars.durationMaxMS", 100); /// 150 | |
user_pref("general.smoothScroll.scrollbars.durationMinMS", 0); /// 150 | |
user_pref("general.smoothScroll.stopDecelerationWeighting", "0.6"); /// "0.4" | |
user_pref("layers.async-pan-zoom.enabled", true); /// true | |
user_pref("layout.css.scroll-behavior.spring-constant", "250.0"); /// "250.0" | |
user_pref("mousewheel.acceleration.factor", 3); /// 10 | |
user_pref("mousewheel.acceleration.start", -1); /// -1 | |
user_pref("mousewheel.default.delta_multiplier_x", 100); /// 100 | |
user_pref("mousewheel.default.delta_multiplier_y", 100); /// 100 | |
user_pref("mousewheel.default.delta_multiplier_z", 100); /// 100 | |
user_pref("mousewheel.min_line_scroll_amount", 0); /// 5 | |
user_pref("mousewheel.system_scroll_override.enabled", true); /// true <- 2. If scroll too fast, set to false | |
user_pref("mousewheel.system_scroll_override_on_root_content.enabled", false); /// true | |
user_pref("mousewheel.transaction.timeout", 1500); /// 1500 | |
user_pref("toolkit.scrollbox.horizontalScrollDistance", 4); /// 5 | |
user_pref("toolkit.scrollbox.verticalScrollDistance", 3); /// 3 | |
*/ |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment