You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

1105 lines
54 KiB

// **********************************************************************************
// user.js | Firefox for Pinephone
// https://git.nixnet.services/Narsil/Pinephone.cfg
// **********************************************************************************
//
// Author : Narsil : https://git.nixnet.services/Narsil
//
// Based on : arkenfox : https://github.com/arkenfox/user.js
//
// License : https://git.nixnet.services/Narsil/Pinephone-mozilla.cfg/raw/branch/master/LICENSE.txt
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// PROTECTION
// >>>>>>>>>>>>>>>>>>>>>
// Locking mozilla.cfg file itself
lockPref("general.config.filename", "mozilla.cfg");
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// START: internal custom pref to test for syntax error
// >>>>>>>>>>>>>>>>>>>>>
//
// Disable about:config warning
lockPref("browser.aboutConfig.showWarning", false);
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// STARTUP
// >>>>>>>>>>>>>>>>>>>>>
//
// Disable default browser check
lockPref("browser.shell.checkDefaultBrowser", false);
// -------------------------------------
// Set startup page [SETUP-CHROME]
// 0=blank, 1=home, 2=last visited page, 3=resume previous session
defaultPref("browser.startup.page", 0);
// -------------------------------------
// Set HOME+NEWWINDOW page
defaultPref("browser.startup.homepage", "about:blank");
// -------------------------------------
// Set NEWTAB page
// true=Activity Stream (default), false=blank page
lockPref("browser.newtabpage.enabled", false);
// -------------------------------------
// Disable sponsored content on Firefox Home (Activity Stream)
lockPref("browser.newtabpage.activity-stream.showSponsored", false); // [FF58+] Pocket > Sponsored Stories
lockPref("browser.newtabpage.activity-stream.showSponsoredTopSites", false); // [FF83+] Sponsored shortcuts
// -------------------------------------
// Clear default topsites
lockPref("browser.newtabpage.activity-stream.default.sites", "");
lockPref("browser.topsites.contile.enabled", false);
lockPref("browser.topsites.useRemoteSetting", false);
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// GEOLOCATION / LANGUAGE / LOCALE
// >>>>>>>>>>>>>>>>>>>>>
//
// Use Mozilla geolocation service instead of Google if permission is granted [FF74+]
defaultPref("geo.provider.network.url", "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%");
// lockPref("geo.provider.network.logging.enabled", true); // [HIDDEN PREF]
// -------------------------------------
// Disable using the OS's geolocation service
defaultPref("geo.provider.ms-windows-location", false); // [WINDOWS]
defaultPref("geo.provider.use_corelocation", false); // [MAC]
defaultPref("geo.provider.use_gpsd", false); // [LINUX]
defaultPref("geo.provider.geoclue.always_high_accuracy", false); // [LINUX]
defaultPref("geo.provider.use_geoclue", false); // [FF102+] [LINUX]
// -------------------------------------
// Disable region updates
defaultPref("browser.region.network.url", ""); // [FF78+] Defense-in-depth
defaultPref("browser.region.update.enabled", false); // [FF79+]
// -------------------------------------
// Set search region
defaultPref("browser.search.region", "US"); // [HIDDEN PREF]
// -------------------------------------
// Set preferred language for displaying pages
defaultPref("intl.accept_languages", "en-US, en");
// -------------------------------------
// Use en-US locale regardless of the system or region locale
defaultPref("javascript.use_us_english_locale", true); // [HIDDEN PREF]
defaultPref("privacy.spoof_english", 2);
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// QUIETER FOX
// >>>>>>>>>>>>>>>>>>>>>
//
// RECOMMENDATIONS
//
// Disable recommendation pane in about:addons (uses Google Analytics)
lockPref("extensions.getAddons.showPane", false); // [HIDDEN PREF]
// -------------------------------------
// Disable recommendations in about:addons' Extensions and Themes panes [FF68+]
lockPref("extensions.htmlaboutaddons.recommendations.enabled", false);
// -------------------------------------
// Disable personalized Extension Recommendations in about:addons and AMO [FF65+]
lockPref("browser.discovery.enabled", false);
//
// TELEMETRY
//
// Disable new data submission [FF41+]
lockPref("datareporting.policy.dataSubmissionEnabled", false);
// -------------------------------------
// Disable Health Reports
lockPref("datareporting.healthreport.uploadEnabled", false);
// -------------------------------------
// Disable telemetry
lockPref("toolkit.telemetry.unified", false);
lockPref("toolkit.telemetry.enabled", false); // see [NOTE]
lockPref("toolkit.telemetry.server", "data:,");
lockPref("toolkit.telemetry.archive.enabled", false);
lockPref("toolkit.telemetry.newProfilePing.enabled", false); // [FF55+]
lockPref("toolkit.telemetry.shutdownPingSender.enabled", false); // [FF55+]
lockPref("toolkit.telemetry.updatePing.enabled", false); // [FF56+]
lockPref("toolkit.telemetry.bhrPing.enabled", false); // [FF57+] Background Hang Reporter
lockPref("toolkit.telemetry.firstShutdownPing.enabled", false); // [FF57+]
// -------------------------------------
// Disable Telemetry Coverage
lockPref("toolkit.telemetry.coverage.opt-out", true); // [HIDDEN PREF]
lockPref("toolkit.coverage.opt-out", true); // [FF64+] [HIDDEN PREF]
lockPref("toolkit.coverage.endpoint.base", "");
// -------------------------------------
// Disable PingCentre telemetry (used in several System Add-ons) [FF57+]
lockPref("browser.ping-centre.telemetry", false);
//
// STUDIES
//
// Disable Studies
lockPref("app.shield.optoutstudies.enabled", false);
// -------------------------------------
// Disable Normandy/Shield [FF60+]
lockPref("app.normandy.enabled", false);
lockPref("app.normandy.api_url", "");
//
// CRASH REPORTS
//
// Disable Crash Reports
lockPref("breakpad.reportURL", "");
lockPref("browser.tabs.crashReporting.sendReport", false); // [FF44+]
// lockPref("browser.crashReports.unsubmittedCheck.enabled", false); // [FF51+] [DEFAULT: false]
// -------------------------------------
// Enforce no submission of backlogged Crash Reports [FF58+]
lockPref("browser.crashReports.unsubmittedCheck.autoSubmit2", false); // [DEFAULT: false]
//
// OTHER
//
// Disable Captive Portal detection
lockPref("captivedetect.canonicalURL", "");
lockPref("network.captive-portal-service.enabled", false); // [FF52+]
// -------------------------------------
// Disable Network Connectivity checks [FF65+]
lockPref("network.connectivity-service.enabled", false);
// -------------------------------------
// Disable contentblocking reports
lockPref("browser.contentblocking.reportBreakage.url", "");
lockPref("browser.contentblocking.report.cookie.url", "");
lockPref("browser.contentblocking.report.cryptominer.url", "");
lockPref("browser.contentblocking.report.fingerprinter.url", "");
lockPref("browser.contentblocking.report.lockwise.enabled", false);
lockPref("browser.contentblocking.report.lockwise.how_it_works.url", "");
lockPref("browser.contentblocking.report.manage_devices.url", "");
lockPref("browser.contentblocking.report.monitor.enabled", false);
lockPref("browser.contentblocking.report.monitor.how_it_works.url", "");
lockPref("browser.contentblocking.report.monitor.sign_in_url", "");
lockPref("browser.contentblocking.report.monitor.url", "");
lockPref("browser.contentblocking.report.proxy.enabled", false);
lockPref("browser.contentblocking.report.proxy_extension.url", "");
lockPref("browser.contentblocking.report.social.url", "");
lockPref("browser.contentblocking.report.tracker.url", "");
lockPref("browser.contentblocking.report.endpoint_url", "");
lockPref("browser.contentblocking.report.monitor.home_page_url", "");
lockPref("browser.contentblocking.report.monitor.preferences_url", "");
lockPref("browser.contentblocking.report.vpn.enabled", false);
lockPref("browser.contentblocking.report.hide_vpn_banner", true);
lockPref("browser.contentblocking.report.show_mobile_app", false);
lockPref("browser.vpn_promo.enabled", false);
lockPref("browser.promo.focus.enabled", false);
// -------------------------------------
// Block unwanted connections
lockPref("app.feedback.baseURL", "");
lockPref("app.support.baseURL", "");
lockPref("app.releaseNotesURL", "");
lockPref("app.update.url.details", "");
lockPref("app.update.url.manual", "");
lockPref("app.update.staging.enabled", false);
// -------------------------------------
// Remove default handlers and translation engine
lockPref("gecko.handlerService.schemes.mailto.0.uriTemplate", "");
lockPref("gecko.handlerService.schemes.mailto.0.name", "");
lockPref("gecko.handlerService.schemes.mailto.1.uriTemplate", "");
lockPref("gecko.handlerService.schemes.mailto.1.name", "");
lockPref("gecko.handlerService.schemes.irc.0.uriTemplate", "");
lockPref("gecko.handlerService.schemes.irc.0.name", "");
lockPref("gecko.handlerService.schemes.ircs.0.uriTemplate", "");
lockPref("gecko.handlerService.schemes.ircs.0.name", "");
lockPref("browser.translation.engine", "");
// -------------------------------------
// Disable connections to Mozilla servers
lockPref("services.settings.server", "");
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// SAFE BROWSING (SB)
// >>>>>>>>>>>>>>>>>>>>>
//
// Disable SB (Safe Browsing)
lockPref("browser.safebrowsing.malware.enabled", false);
lockPref("browser.safebrowsing.phishing.enabled", false);
lockPref("browser.safebrowsing.passwords.enabled", false);
lockPref("browser.safebrowsing.allowOverride", false);
// -------------------------------------
// Disable SB checks for downloads (both local lookups + remote)
lockPref("browser.safebrowsing.downloads.enabled", false);
// -------------------------------------
// Disable SB checks for downloads (remote)
lockPref("browser.safebrowsing.downloads.remote.enabled", false);
lockPref("browser.safebrowsing.downloads.remote.url", "");
// -------------------------------------
// Disable SB checks for unwanted software
lockPref("browser.safebrowsing.downloads.remote.block_potentially_unwanted", false);
lockPref("browser.safebrowsing.downloads.remote.block_uncommon", false);
// -------------------------------------
// Disable "ignore this warning" on SB warnings [FF45+]
// lockPref("browser.safebrowsing.allowOverride", false);
// -------------------------------------
// Google connections
lockPref("browser.safebrowsing.downloads.remote.block_dangerous", false);
lockPref("browser.safebrowsing.downloads.remote.block_dangerous_host", false);
lockPref("browser.safebrowsing.provider.google.updateURL", "");
lockPref("browser.safebrowsing.provider.google.gethashURL", "");
lockPref("browser.safebrowsing.provider.google4.updateURL", "");
lockPref("browser.safebrowsing.provider.google4.gethashURL", "");
lockPref("browser.safebrowsing.provider.google.reportURL", "");
lockPref("browser.safebrowsing.reportPhishURL", "");
lockPref("browser.safebrowsing.provider.google4.reportURL", "");
lockPref("browser.safebrowsing.provider.google.reportMalwareMistakeURL", "");
lockPref("browser.safebrowsing.provider.google.reportPhishMistakeURL", "");
lockPref("browser.safebrowsing.provider.google4.reportMalwareMistakeURL", "");
lockPref("browser.safebrowsing.provider.google4.reportPhishMistakeURL", "");
lockPref("browser.safebrowsing.provider.google4.dataSharing.enabled", false);
lockPref("browser.safebrowsing.provider.google4.dataSharingURL", "");
lockPref("browser.safebrowsing.provider.google.advisory", "");
lockPref("browser.safebrowsing.provider.google.advisoryURL", "");
lockPref("browser.safebrowsing.provider.google.gethashURL", "");
lockPref("browser.safebrowsing.provider.google4.advisoryURL", "");
lockPref("browser.safebrowsing.blockedURIs.enabled", false);
lockPref("browser.safebrowsing.provider.mozilla.gethashURL", "");
lockPref("browser.safebrowsing.provider.mozilla.updateURL", "");
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// BLOCK IMPLICIT OUTBOUND
// >>>>>>>>>>>>>>>>>>>>>
//
// Disable link prefetching
lockPref("network.prefetch-next", false);
// -------------------------------------
// Disable DNS prefetching
lockPref("network.dns.disablePrefetch", true);
// lockPref("network.dns.disablePrefetchFromHTTPS", true); // [DEFAULT: true]
// -------------------------------------
// Disable predictor / prefetching
defaultPref("network.predictor.enabled", false);
defaultPref("network.predictor.enable-prefetch", false); // [FF48+] [DEFAULT: false]
// -------------------------------------
// Disable link-mouseover opening connection to linked server
lockPref("network.http.speculative-parallel-limit", 0);
// -------------------------------------
// Disable mousedown speculative connections on bookmarks and history [FF98+]
lockPref("browser.places.speculativeConnect.enabled", false);
// -------------------------------------
// Enforce no "Hyperlink Auditing" (click tracking)
// lockPref("browser.send_pings", false); // [DEFAULT: false]
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// DNS / DoH / PROXY / SOCKS / IPv6
// >>>>>>>>>>>>>>>>>>>>>
//
// Disable IPv6
defaultPref("network.dns.disableIPv6", true);
// -------------------------------------
// Set the proxy server to do any DNS lookups when using SOCKS
lockPref("network.proxy.socks_remote_dns", true);
// -------------------------------------
// Disable using UNC (Uniform Naming Convention) paths [FF61+]
lockPref("network.file.disable_unc_paths", true); // [HIDDEN PREF]
// -------------------------------------
// Disable GIO as a potential proxy bypass vector
lockPref("network.gio.supported-protocols", ""); // [HIDDEN PREF]
// -------------------------------------
// Disable proxy direct failover for system requests [FF91+]
// lockPref("network.proxy.failover_direct", false);
// -------------------------------------
// Disable proxy bypass for system request failures [FF95+]
// lockPref("network.proxy.allow_bypass", false); // [HIDDEN PREF FF95-96]
// -------------------------------------
// Disable DNS-over-HTTPS (DoH) rollout [FF60+]
defaultPref("network.trr.mode", 5);
defaultPref("network.trr.uri", "");
defaultPref("network.trr.confirmationNS", "");
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// LOCATION BAR / SEARCH BAR / SUGGESTIONS / HISTORY / FORMS
// >>>>>>>>>>>>>>>>>>>>>
//
// Disable location bar using search
// lockPref("keyword.enabled", false);
// -------------------------------------
// Disable location bar domain guessing
lockPref("browser.fixup.alternate.enabled", false);; // [DEFAULT: false FF104+]
// -------------------------------------
// Disable live search suggestions
defaultPref("browser.search.suggest.enabled", false);
lockPref("browser.urlbar.suggest.searches", false);
defaultPref("browser.urlbar.showSearchSuggestionsFirst", false);
// -------------------------------------
// Disable location bar making speculative connections [FF56+]
lockPref("browser.urlbar.speculativeConnect.enabled", false);
// -------------------------------------
// Disable location bar leaking single words to a DNS provider **after searching** [FF78+]
// 0=never resolve single words, 1=heuristic (default), 2=always resolve
lockPref("browser.urlbar.dnsResolveSingleWordsAfterSearch", 0); // [DEFAULT: 0 FF104+]
// -------------------------------------
// Disable location bar contextual suggestions [FF92+]
lockPref("browser.urlbar.suggest.quicksuggest.nonsponsored", false); // [FF95+]
lockPref("browser.urlbar.suggest.quicksuggest.sponsored", false);
// -------------------------------------
// Disable tab-to-search [FF85+]
defaultPref("browser.urlbar.suggest.engines", false);
// -------------------------------------
// Disable search and form history
defaultPref("browser.formfill.enable", false);
// -------------------------------------
// Disable coloring of visited links
lockPref("layout.css.visited_links_enabled", false);
// -------------------------------------
// Disable merino
lockPref("browser.urlbar.merino.enabled", false);
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// PASSWORDS
// >>>>>>>>>>>>>>>>>>>>>
//
// Disable saving passwords and password alerts.
defaultPref("signon.rememberSignons", false);
defaultPref("signon.generation.enabled", false);
defaultPref("signon.management.page.breach-alerts.enabled", false);
defaultPref("signon.management.page.breachAlertUrl", "");
// -------------------------------------
// Set when Firefox should prompt for the primary password
// 0=once per session (default), 1=every time it's needed, 2=after n minutes
defaultPref("security.ask_for_password", 2);
// -------------------------------------
// Set how long in minutes Firefox should remember the primary password (0901)
defaultPref("security.password_lifetime", 5); // [DEFAULT: 30]
// -------------------------------------
// Disable auto-filling username & password form fields
lockPref("signon.autofillForms", false);
// -------------------------------------
// Disable formless login capture for Password Manager [FF51+]
lockPref("signon.formlessCapture.enabled", false);
// -------------------------------------
// Limit (or disable) HTTP authentication credentials dialogs triggered by sub-resources [FF41+]
// 0 = don't allow sub-resources to open HTTP authentication credentials dialogs
// 1 = don't allow cross-origin sub-resources to open HTTP authentication credentials dialogs
// 2 = allow sub-resources to open HTTP authentication credentials dialogs (default)
lockPref("network.auth.subresource-http-auth-allow", 1);
// -------------------------------------
// Enforce no automatic authentication on Microsoft sites [FF91+] [WINDOWS 10+]
// defaultPref("network.http.windows-sso.enabled", false); // [DEFAULT: false]
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// DISK AVOIDANCE
// >>>>>>>>>>>>>>>>>>>>>
//
// Disable disk cache
defaultPref("browser.cache.disk.enable", false);
// -------------------------------------
// Disable media cache from writing to disk in Private Browsing
defaultPref("browser.privatebrowsing.forceMediaMemoryCache", true); // [FF75+]
defaultPref("media.memory_cache_max_size", 65536);
// -------------------------------------
// Disable storing extra session data [SETUP-CHROME]
// 0=everywhere, 1=unencrypted sites, 2=nowhere
lockPref("browser.sessionstore.privacy_level", 2);
// -------------------------------------
// Disable automatic Firefox start and session restore after reboot [FF62+] [WINDOWS]
lockPref("toolkit.winRegisterApplicationRestart", false);
// -------------------------------------
// Disable favicons in shortcuts
lockPref("browser.shell.shortcutFavicons", false);
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// HTTPS (SSL/TLS / OCSP / CERTS / HPKP)
// >>>>>>>>>>>>>>>>>>>>>
//
// Require safe negotiation
defaultPref("security.ssl.require_safe_negotiation", true);
// -------------------------------------
// Disable TLS1.3 0-RTT (round-trip time) [FF51+]
lockPref("security.tls.enable_0rtt_data", false);
//
// OCSP (Online Certificate Status Protocol)
//
// Enforce OCSP fetching to confirm current validity of certificates
// 0=disabled, 1=enabled (default), 2=enabled for EV certificates only
defaultPref("security.OCSP.enabled", 0); // [DEFAULT: 1]
// -------------------------------------
// Set OCSP fetch failures (non-stapled) to hard-fail [SETUP-WEB]
defaultPref("security.OCSP.require", false);
//
// CERTS / HPKP (HTTP Public Key Pinning)
//
// Disable Windows 8.1's Microsoft Family Safety cert [FF50+] [WINDOWS]
// 0=disable detecting Family Safety mode and importing the root
// 1=only attempt to detect Family Safety mode (don't import the root)
// 2=detect Family Safety mode and import the root
lockPref("security.family_safety.mode", 0);
// -------------------------------------
// Enable strict PKP (Public Key Pinning)
// 0=disabled, 1=allow user MiTM (default; such as your antivirus), 2=strict
defaultPref("security.cert_pinning.enforcement_level", 2);
// -------------------------------------
// Disable CRLite [FF73+]
// 0 = disabled
// 1 = consult CRLite but only collect telemetry (default)
// 2 = consult CRLite and enforce both "Revoked" and "Not Revoked" results
// 3 = consult CRLite and enforce "Not Revoked" results, but defer to OCSP for "Revoked" (FF99+)
defaultPref("security.remote_settings.intermediates.enabled", false);
defaultPref("security.remote_settings.intermediates.bucket", "");
defaultPref("security.remote_settings.intermediates.collection", "");
defaultPref("security.remote_settings.intermediates.signer", "");
defaultPref("security.remote_settings.crlite_filters.enabled", false);
defaultPref("security.remote_settings.crlite_filters.bucket", "");
defaultPref("security.remote_settings.crlite_filters.collection", "");
defaultPref("security.remote_settings.crlite_filters.signer", "");
defaultPref("security.pki.crlite_mode", 0);
//
// MIXED CONTENT
//
// Disable insecure passive content (such as images) on https pages [SETUP-WEB]
// defaultPref("security.mixed_content.block_display_content", true); // Defense-in-depth
// -------------------------------------
// Enable HTTPS-Only mode in all windows [FF76+]
defaultPref("dom.security.https_only_mode", true); // [FF76+]
// lockPref("dom.security.https_only_mode_pbm", true); // [FF80+]
// -------------------------------------
// Enable HTTPS-Only mode for local resources [FF77+]
// lockPref("dom.security.https_only_mode.upgrade_local", true);
// -------------------------------------
// Disable HTTP background requests [FF82+]
lockPref("dom.security.https_only_mode_send_http_background_request", false);
//
// UI (User Interface)
//
// Display warning on the padlock for "broken security"
lockPref("security.ssl.treat_unsafe_negotiation_as_broken", true);
// -------------------------------------
// Display advanced information on Insecure Connection warning pages
defaultPref("browser.xul.error_pages.expert_bad_cert", true);
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// FONTS
// >>>>>>>>>>>>>>>>>>>>>
//
// Limit font visibility (Windows, Mac, some Linux) [FF94+]
// 1=only base system fonts, 2=also fonts from optional language packs, 3=also user-installed fonts
// lockPref("layout.css.font-visibility.private", 1);
// lockPref("layout.css.font-visibility.standard", 1);
// lockPref("layout.css.font-visibility.trackingprotection", 1);
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// HEADERS / REFERERS
// >>>>>>>>>>>>>>>>>>>>>
//
// Control when to send a cross-origin referer
// 0=always (default), 1=only if base domains match, 2=only if hosts match
defaultPref("network.http.referer.XOriginPolicy", 2);
// -------------------------------------
// Control the amount of cross-origin information to send [FF52+]
// 0=send full URI (default), 1=scheme+host+port+path, 2=scheme+host+port
defaultPref("network.http.referer.XOriginTrimmingPolicy", 2);
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// CONTAINERS
// >>>>>>>>>>>>>>>>>>>>>
//
// Enable Container Tabs and its UI setting [FF50+]
// defaultPref("privacy.userContext.enabled", true);
// defaultPref("privacy.userContext.ui.enabled", true);
// -------------------------------------
// Set behavior on "+ Tab" button to display container menu on left click [FF74+]
// lockPref("privacy.userContext.newTabContainerOnLeftClick.enabled", true);
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// PLUGINS / MEDIA / WEBRTC
// >>>>>>>>>>>>>>>>>>>>>
//
// Disable WebRTC (Web Real-Time Communication)
defaultPref("media.peerconnection.enabled", false);
// -------------------------------------
// Force WebRTC inside the proxy [FF70+]
lockPref("media.peerconnection.ice.proxy_only_if_behind_proxy", true);
// -------------------------------------
// Force a single network interface for ICE candidates generation [FF42+]
lockPref("media.peerconnection.ice.default_address_only", true);
// -------------------------------------
// Force exclusion of private IPs from ICE candidates [FF51+]
// lockPref("media.peerconnection.ice.no_host", true);
// -------------------------------------
// Disable GMP (Gecko Media Plugins)
defaultPref("media.gmp-provider.enabled", false);
defaultPref("media.gmp-manager.url", "");
defaultPref("media.gmp-gmpopenh264.enabled", false);
// -------------------------------------
// Disable widevine CDM (Content Decryption Module)
defaultPref("media.gmp-widevinecdm.enabled", false);
// -------------------------------------
// Disable all DRM content (EME: Encryption Media Extension)
defaultPref("media.eme.enabled", false);
defaultPref("browser.eme.ui.enabled", false);
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// DOM (DOCUMENT OBJECT MODEL)
// >>>>>>>>>>>>>>>>>>>>>
//
// Prevent scripts from moving and resizing open windows
lockPref("dom.disable_window_move_resize", true);
// -------------------------------------
// Limit events that can cause a pop-up [SETUP-WEB]
lockPref("dom.popup_allowed_events", "click dblclick mousedown pointerdown");
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// MISCELLANEOUS
// >>>>>>>>>>>>>>>>>>>>>
//
// Prevent accessibility services from accessing your browser [RESTART]
lockPref("accessibility.force_disabled", 1);
// -------------------------------------
// Disable sending additional analytics to web servers
lockPref("beacon.enabled", false);
// -------------------------------------
// Remove temp files opened with an external application
lockPref("browser.helperApps.deleteTempFileOnExit", true);
// -------------------------------------
// Disable page thumbnail collection
lockPref("browser.pagethumbnails.capturing_disabled", true); // [HIDDEN PREF]
// -------------------------------------
// Disable UITour backend so there is no chance that a remote page can use it
lockPref("browser.uitour.enabled", false);
lockPref("browser.uitour.url", ""); // Defense-in-depth
// -------------------------------------
// Reset remote debugging to disabled
defaultPref("devtools.debugger.remote-enabled", false); // [DEFAULT: false]
// -------------------------------------
// Disable middle mouse click opening links from clipboard
lockPref("middlemouse.contentLoadURL", false);
// -------------------------------------
// Disable websites overriding Firefox's keyboard shortcuts [FF58+]
// 0 (default) or 1=allow, 2=block
// lockPref("permissions.default.shortcuts", 2);
// -------------------------------------
// Remove special permissions for certain mozilla domains [FF35+]
lockPref("permissions.manager.defaultsUrl", "");
// -------------------------------------
// Remove webchannel whitelist
lockPref("webchannel.allowObject.urlWhitelist", "");
// -------------------------------------
// Use Punycode in Internationalized Domain Names to eliminate possible spoofing
lockPref("network.IDN_show_punycode", true);
// -------------------------------------
// Enforce PDFJS, disable PDFJS scripting
lockPref("pdfjs.disabled", false); // [DEFAULT: false]
lockPref("pdfjs.enableScripting", false); // [FF86+]
// -------------------------------------
// Disable links launching Windows Store on Windows 8/8.1/10 [WINDOWS]
lockPref("network.protocol-handler.external.ms-windows-store", false);
// -------------------------------------
// Disable permissions delegation [FF73+]
lockPref("permissions.delegation.enabled", false);
//
// DOWNLOADS
//
// Enable user interaction for security by always asking where to download
defaultPref("browser.download.useDownloadDir", false);
// -------------------------------------
// Disable downloads panel opening on every download [FF96+]
lockPref("browser.download.alwaysOpenPanel", false);
// -------------------------------------
// Disable adding downloads to the system's "recent documents" list
lockPref("browser.download.manager.addToRecentDocs", false);
// -------------------------------------
// Enable user interaction for security by always asking how to handle new mimetypes [FF101+]
lockPref("browser.download.always_ask_before_handling_new_types", true);
//
// EXTENSIONS
//
// Lock down allowed extension directories
lockPref("extensions.enabledScopes", 5); // [HIDDEN PREF]
lockPref("extensions.autoDisableScopes", 15); // [DEFAULT: 15]
// -------------------------------------
// Disable bypassing 3rd party extension install prompts [FF82+]
lockPref("extensions.postDownloadThirdPartyPrompt", false);
// -------------------------------------
// Disable webextension restrictions on certain mozilla domains [FF60+]
// lockPref("extensions.webextensions.restrictedDomains", "");
// -------------------------------------
// Disable extensions suggestions
defaultPref("extensions.webservice.discoverURL", "");
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// ETP (ENHANCED TRACKING PROTECTION)
// >>>>>>>>>>>>>>>>>>>>>
//
// Enable ETP Strict Mode [FF86+]
lockPref("browser.contentblocking.category", "strict");
// -------------------------------------
// Disable ETP web compat features [FF93+]
// lockPref("privacy.antitracking.enableWebcompat", false);
// -------------------------------------
// Enable state partitioning of service workers [FF96+]
defaultPref("privacy.partition.serviceWorkers", true); // [DEFAULT: true FF105+]
// -------------------------------------
// Enable APS (Always Partitioning Storage)
lockPref("privacy.partition.always_partition_third_party_non_cookie_storage", true); // [FF104+] [DEFAULT: true FF109+}
lockPref("privacy.partition.always_partition_third_party_non_cookie_storage.exempt_sessionstorage", false); // [FF105+] [DEFAULT: false FF109+]
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// SHUTDOWN & SANITIZING
// >>>>>>>>>>>>>>>>>>>>>
//
// Enable Firefox to clear items on shutdown
defaultPref("privacy.sanitize.sanitizeOnShutdown", true);
//
// SANITIZE ON SHUTDOWN: IGNORES "ALLOW" SITE EXCEPTIONS
//
// Set/enforce what items to clear on shutdown [SETUP-CHROME]
defaultPref("privacy.clearOnShutdown.cache", true);
defaultPref("privacy.clearOnShutdown.downloads", true); // [DEFAULT: true]
defaultPref("privacy.clearOnShutdown.formdata", true); // [DEFAULT: true]
defaultPref("privacy.clearOnShutdown.history", true); // [DEFAULT: true]
defaultPref("privacy.clearOnShutdown.sessions", true); // [DEFAULT: true]
// defaultPref("privacy.clearOnShutdown.siteSettings", false); // [DEFAULT: false]
// -------------------------------------
// Set Session Restore to clear on shutdown [FF34+]
// defaultPref("privacy.clearOnShutdown.openWindows", true);
//
// SANITIZE ON SHUTDOWN: RESPECTS "ALLOW" SITE EXCEPTIONS FF103+
//
// Set "Cookies" and "Site Data" to clear on shutdown
defaultPref("privacy.clearOnShutdown.cookies", true); // Cookies
defaultPref("privacy.clearOnShutdown.offlineApps", true); // Site Data
// -------------------------------------
// Set cache to clear on exit [FF96+]
// defaultPref("privacy.clearsitedata.cache.enabled", true);
//
// SANITIZE MANUAL: IGNORES "ALLOW" SITE EXCEPTIONS
//
// Reset default items to clear with Ctrl-Shift-Del
defaultPref("privacy.cpd.cache", true); // [DEFAULT: true]
defaultPref("privacy.cpd.formdata", true); // Form & Search History
defaultPref("privacy.cpd.history", true); // Browsing & Download History
defaultPref("privacy.cpd.offlineApps", true); // Offline Website Data
defaultPref("privacy.cpd.sessions", true); // [DEFAULT: true]
defaultPref("privacy.cpd.offlineApps", true); // [DEFAULT: false]
defaultPref("privacy.cpd.cookies", true);
// defaultPref("privacy.cpd.downloads", true); // not used
// defaultPref("privacy.cpd.openWindows", false); // Session Restore
// defaultPref("privacy.cpd.passwords", false);
// defaultPref("privacy.cpd.siteSettings", false);
// -------------------------------------
// Clear Session Restore data when sanitizing on shutdown or manually [FF34+]
// lockPref("privacy.clearOnShutdown.openWindows", true);
// lockPref("privacy.cpd.openWindows", true);
// -------------------------------------
// Reset default "Time range to clear" for "Clear Recent History"
// 0=everything, 1=last hour, 2=last two hours, 3=last four hours, 4=today
lockPref("privacy.sanitize.timeSpan", 0);
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// RFP (RESIST FINGERPRINTING)
// >>>>>>>>>>>>>>>>>>>>>
//
// Disable privacy.resistFingerprinting [FF41+]
// defaultPref("privacy.resistFingerprinting", true);
// -------------------------------------
// Set new window size rounding max values [FF55+]
// lockPref("privacy.window.maxInnerWidth", 1600);
// lockPref("privacy.window.maxInnerHeight", 900);
// -------------------------------------
// Disable mozAddonManager Web API [FF57+]
lockPref("privacy.resistFingerprinting.block_mozAddonManager", true); // [HIDDEN PREF]
// -------------------------------------
// Enable RFP letterboxing [FF67+]
// lockPref("privacy.resistFingerprinting.letterboxing", true); // [HIDDEN PREF]
// lockPref("privacy.resistFingerprinting.letterboxing.dimensions", ""); // [HIDDEN PREF]
// -------------------------------------
// Experimental RFP [FF91+]
// lockPref("privacy.resistFingerprinting.exemptedDomains", "*.example.invalid");
// lockPref("privacy.resistFingerprinting.testGranularityMask", 0);
// -------------------------------------
// Set RFP's font visibility level [FF94+]
// lockPref("layout.css.font-visibility.resistFingerprinting", 1); // [DEFAULT: 1]
// -------------------------------------
// Disable showing about:blank as soon as possible during startup [FF60+]
lockPref("browser.startup.blankWindow", false);
// -------------------------------------
// Disable using system colors
lockPref("browser.display.use_system_colors", false); // [DEFAULT: false NON-WINDOWS]
// -------------------------------------
// Enforce non-native widget theme
lockPref("widget.non-native-theme.enabled", true); // [DEFAULT: true]
// -------------------------------------
// Enforce links targeting new windows to open in a new tab instead
// 1=most recent window or tab, 2=new window, 3=new tab
defaultPref("browser.link.open_newwindow", 3); // [DEFAULT: 3]
// -------------------------------------
// Set all open window methods to abide by "browser.link.open_newwindow"
defaultPref("browser.link.open_newwindow.restriction", 0);
// -------------------------------------
// Disable WebGL (Web Graphics Library)
defaultPref("webgl.disabled", true);
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// OPTIONAL OPSEC
// >>>>>>>>>>>>>>>>>>>>>
//
// Start Firefox in PB (Private Browsing) mode
// lockPref("browser.privatebrowsing.autostart", true);
// -------------------------------------
// Disable memory cache
// capacity: -1=determine dynamically (default), 0=none, n=memory capacity in kibibytes
// lockPref("browser.cache.memory.enable", false);
// lockPref("browser.cache.memory.capacity", 0);
// -------------------------------------
// Disable saving passwords
// lockPref("signon.rememberSignons", false);
// -------------------------------------
// Disable permissions manager from writing to disk [FF41+] [RESTART]
// lockPref("permissions.memory_only", true); // [HIDDEN PREF]
// -------------------------------------
// Disable intermediate certificate caching [FF41+] [RESTART]
// lockPref("security.nocertdb", true);
// -------------------------------------
// Disable favicons in history and bookmarks
defaultPref("browser.chrome.site_icons", false);
// -------------------------------------
// Exclude "Undo Closed Tabs" in Session Restore
// lockPref("browser.sessionstore.max_tabs_undo", 0);
// -------------------------------------
// Disable resuming session from crash
// lockPref("browser.sessionstore.resume_from_crash", false);
// -------------------------------------
// Disable "open with" in download dialog [FF50+]
// lockPref("browser.download.forbid_open_with", true);
// -------------------------------------
// Disable location bar suggestion types
defaultPref("browser.urlbar.suggest.history", false);
defaultPref("browser.urlbar.suggest.bookmark", false);
defaultPref("browser.urlbar.suggest.openpage", false);
defaultPref("browser.urlbar.suggest.topsites", false); // [FF78+]
// -------------------------------------
// Disable location bar dropdown
// lockPref("browser.urlbar.maxRichResults", 0);
// -------------------------------------
// Disable location bar autofill
lockPref("browser.urlbar.autoFill", false);
// -------------------------------------
// Disable browsing and download history
defaultPref("places.history.enabled", false);
// -------------------------------------
// Disable Windows jumplist [WINDOWS]
// lockPref("browser.taskbar.lists.enabled", false);
// lockPref("browser.taskbar.lists.frequent.enabled", false);
// lockPref("browser.taskbar.lists.recent.enabled", false);
// lockPref("browser.taskbar.lists.tasks.enabled", false);
// -------------------------------------
// Disable Windows taskbar preview [WINDOWS]
// lockPref("browser.taskbar.previews.enable", false); // [DEFAULT: false]
// -------------------------------------
// Discourage downloading to desktop
// 0=desktop, 1=downloads (default), 2=last used
// lockPref("browser.download.folderList", 2);
// -------------------------------------
// Disable Form Autofill
defaultPref("extensions.formautofill.addresses.enabled", false); // [FF55+]
defaultPref("extensions.formautofill.creditCards.enabled", false); // [FF56+]
defaultPref("extensions.formautofill.heuristics.enabled", false); // [FF55+]
// -------------------------------------
// Enable Site Isolation
// defaultPref("fission.autostart", true);
// defaultPref("gfx.webrender.all", true);
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// OPTIONAL HARDENING
// >>>>>>>>>>>>>>>>>>>>>
//
// Disable MathML (Mathematical Markup Language) [FF51+]
defaultPref("mathml.disabled", true);
// -------------------------------------
// Disable in-content SVG (Scalable Vector Graphics) [FF53+]
// lockPref("svg.disabled", true);
// -------------------------------------
// Disable graphite
defaultPref("gfx.font_rendering.graphite.enabled", false);
// -------------------------------------
// Disable asm.js [FF22+]
lockPref("javascript.options.asmjs", false);
// -------------------------------------
// Disable Ion and baseline JIT to harden against JS exploits
// defaultPref("javascript.options.ion", false);
// defaultPref("javascript.options.baselinejit", false);
// defaultPref("javascript.options.jit_trustedprincipals", true); // [FF75+] [HIDDEN PREF]
// -------------------------------------
// Disable WebAssembly [FF52+]
defaultPref("javascript.options.wasm", false);
// -------------------------------------
// Disable rendering of SVG OpenType fonts
defaultPref("gfx.font_rendering.opentype_svg.enabled", false);
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// DON'T TOUCH
// >>>>>>>>>>>>>>>>>>>>>
//
// Disable Firefox blocklist
lockPref("extensions.blocklist.enabled", false); // [DEFAULT: true]
lockPref("extensions.blocklist.addonItemURL", "");
lockPref("extensions.blocklist.detailsURL", "");
lockPref("extensions.blocklist.itemURL", "");
lockPref("services.blocklist.addons.collection", "");
lockPref("services.blocklist.addons.signer", "");
lockPref("services.blocklist.plugins.collection", "");
lockPref("services.blocklist.plugins.signer", "");
lockPref("services.blocklist.gfx.collection", "");
lockPref("services.blocklist.gfx.signer", "");
// -------------------------------------
// Enforce no referer spoofing
lockPref("network.http.referer.spoofSource", true); // [DEFAULT: false]
// -------------------------------------
// Enforce a security delay on some confirmation dialogs such as install, open/save
lockPref("security.dialog_enable_delay", 1000); // [DEFAULT: 1000]
// -------------------------------------
// Enforce no First Party Isolation [FF51+]
defaultPref("privacy.firstparty.isolate", false); // [DEFAULT: false]
// -------------------------------------
// Enforce SmartBlock shims [FF81+]
lockPref("extensions.webcompat.enable_shims", true); // [DEFAULT: true]
// -------------------------------------
// Enforce no TLS 1.0/1.1 downgrades
lockPref("security.tls.version.enable-deprecated", false); // [DEFAULT: false]
// -------------------------------------
// Enforce disabling of Web Compatibility Reporter [FF56+]
lockPref("extensions.webcompat-reporter.enabled", false); // [DEFAULT: false]
// -------------------------------------
// prefsCleaner: reset items removed from arkenfox FF102
// defaultPref("browser.newtab.preload", "");
// defaultPref("browser.newtabpage.activity-stream.feeds.discoverystreamfeed", "");
// defaultPref("browser.newtabpage.activity-stream.feeds.snippets", "");
// defaultPref("browser.ssl_override_behavior", "");
// defaultPref("devtools.chrome.enabled", "");
// defaultPref("dom.disable_beforeunload", "");
// defaultPref("dom.disable_open_during_load", "");
// defaultPref("extensions.formautofill.available", "");
// defaultPref("extensions.formautofill.addresses.supported", "");
// defaultPref("extensions.formautofill.creditCards.available", "");
// defaultPref("extensions.formautofill.creditCards.supported", "");
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// DON'T BOTHER
// >>>>>>>>>>>>>>>>>>>>>
//
// Disable APIs
defaultPref("geo.enabled", false);
// lockPref("full-screen-api.enabled", false);
defaultPref("browser.cache.offline.enable", false);
// -------------------------------------
// Set default permissions
// 0=always ask (default), 1=allow, 2=block
defaultPref("permissions.default.geo", 2);
defaultPref("permissions.default.camera", 2);
defaultPref("permissions.default.microphone", 2);
defaultPref("permissions.default.desktop-notification", 2);
defaultPref("permissions.default.xr", 2); // Virtual Reality
// -------------------------------------
// Disable non-modern cipher suites
// defaultPref("security.ssl3.ecdhe_ecdsa_aes_128_sha", false); // [DEFAULT: false FF109+]
// defaultPref("security.ssl3.ecdhe_ecdsa_aes_256_sha", false); // [DEFAULT: false FF109+]
// defaultPref("security.ssl3.ecdhe_rsa_aes_128_sha", false);
// defaultPref("security.ssl3.ecdhe_rsa_aes_256_sha", false);
// defaultPref("security.ssl3.rsa_aes_128_gcm_sha256", false); // no PFS
// defaultPref("security.ssl3.rsa_aes_256_gcm_sha384", false); // no PFS
// defaultPref("security.ssl3.rsa_aes_128_sha", false); // no PFS
// defaultPref("security.ssl3.rsa_aes_256_sha", false); // no PFS
// -------------------------------------
// Control TLS versions
// lockPref("security.tls.version.min", 3); // [DEFAULT: 3]
// lockPref("security.tls.version.max", 4);
// -------------------------------------
// Disable SSL session IDs [FF36+]
// lockPref("security.ssl.disable_session_identifiers", true);
// -------------------------------------
// Onions
// lockPref("dom.securecontext.allowlist_onions", true);
// lockPref("network.http.referer.hideOnionSource", true);
// -------------------------------------
// Referers
// lockPref("network.http.sendRefererHeader", 2);
// lockPref("network.http.referer.trimmingPolicy", 0);
// -------------------------------------
// Set the default Referrer Policy [FF59+]
// 0=no-referer, 1=same-origin, 2=strict-origin-when-cross-origin, 3=no-referrer-when-downgrade
// lockPref("network.http.referer.defaultPolicy", 2); // [DEFAULT: 2]
// lockPref("network.http.referer.defaultPolicy.pbmode", 2); // [DEFAULT: 2]
// -------------------------------------
// Disable HTTP Alternative Services [FF37+]
// lockPref("network.http.altsvc.enabled", false);
// -------------------------------------
// Disable website control over browser right-click context menu
// lockPref("dom.event.contextmenu.enabled", false);
// -------------------------------------
// Disable icon fonts (glyphs) and local fallback rendering
// lockPref("gfx.downloadable_fonts.enabled", false); // [FF41+]
// lockPref("gfx.downloadable_fonts.fallback_delay", -1);
// -------------------------------------
// Disable Clipboard API
// lockPref("dom.event.clipboardevents.enabled", false);
// -------------------------------------
// Disable System Add-on updates
defaultPref("extensions.systemAddon.update.enabled", false); // [FF62+]
defaultPref("extensions.systemAddon.update.url", ""); // [FF44+]
// -------------------------------------
// Enable the DNT (Do Not Track) HTTP header
// lockPref("privacy.donottrackheader.enabled", true);
// -------------------------------------
// Customize ETP settings
defaultPref("network.cookie.cookieBehavior", 5); // [DEFAULT: 5 FF103+]
// lockPref("privacy.partition.network_state.ocsp_cache", true);
// lockPref("privacy.query_stripping.enabled", true); // [FF101+] [ETP FF102+]
lockPref("privacy.query_stripping.strip_list", "__hsfp __hssc __hstc __s _hsenc _openstat dclid fbclid gbraid gclid hsCtaTracking igshid mc_eid ml_subscriber ml_subscriber_hash msclkid oft_c oft_ck oft_d oft_id oft_ids oft_k oft_lk oft_sk oly_anon_id oly_enc_id rb_clickid s_cid twclid vero_conv vero_id wbraid wickedid yclid");
// lockPref("network.http.referer.disallowCrossSiteRelaxingDefault", true);
// lockPref("network.http.referer.disallowCrossSiteRelaxingDefault.top_navigation", true); // [FF100+]
// lockPref("privacy.trackingprotection.enabled", true);
// lockPref("privacy.trackingprotection.socialtracking.enabled", true);
// lockPref("privacy.trackingprotection.cryptomining.enabled", true); // [DEFAULT: true]
// lockPref("privacy.trackingprotection.fingerprinting.enabled", true); // [DEFAULT: true]
// -------------------------------------
// Allow embedded tweets and Reddit posts. Don't do it!
// lockPref("urlclassifier.trackingSkipURLs", "*.reddit.com, *.twitter.com, *.twimg.com"); // [HIDDEN PREF]
// lockPref("urlclassifier.features.socialtracking.skipURLs", "*.instagram.com, *.twitter.com, *.twimg.com"); // [HIDDEN PREF]
// -------------------------------------
// Disable service workers
// lockPref("dom.serviceWorkers.enabled", false);
// -------------------------------------
// Disable Web Notifications
// lockPref("dom.webnotifications.enabled", false); // [FF22+]
// lockPref("dom.webnotifications.serviceworker.enabled", false); // [FF44+]
// -------------------------------------
// Disable Push Notifications [FF44+]
defaultPref("dom.push.enabled", false);
defaultPref("dom.push.connection.enabled", false);
defaultPref("dom.push.serverURL", "");
defaultPref("dom.push.userAgentID", "");
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// DON'T BOTHER: FINGERPRINTING
// >>>>>>>>>>>>>>>>>>>>>
//
// prefsCleaner: reset items useless for anti-fingerprinting
// lockPref("browser.zoom.siteSpecific", false);
// lockPref("dom.enable_performance", false);
// lockPref("dom.enable_resource_timing", false);
// lockPref("font.system.whitelist", ""); // [HIDDEN PREF]
// lockPref("general.appname.override", ""); // [HIDDEN PREF]
// lockPref("general.appversion.override", ""); // [HIDDEN PREF]
// lockPref("general.buildID.override", "20181001000000"); // [HIDDEN PREF]
// lockPref("general.oscpu.override", ""); // [HIDDEN PREF]
// lockPref("general.platform.override", ""); // [HIDDEN PREF]
// lockPref("media.ondevicechange.enabled", false);
// lockPref("media.video_stats.enabled", false);
// lockPref("ui.use_standins_for_native_colors", true);
// lockPref("webgl.enable-debug-renderer-info", false);
defaultPref("browser.display.use_document_fonts", 0);
defaultPref("dom.maxHardwareConcurrency", 2);
defaultPref("dom.w3c_touch_events.enabled", 1); // [BUG - Scroll doesn't work]
defaultPref("general.useragent.override", "Mozilla/5.0 (Android 10; Mobile; rv:102.0) Gecko/102.0 Firefox/102.0"); // HIDDEN PREF
lockPref("device.sensors.enabled", false);
lockPref("dom.gamepad.enabled", false);
lockPref("dom.netinfo.enabled", false);
lockPref("dom.vibrator.enabled", false);
lockPref("dom.webaudio.enabled", false);
lockPref("media.navigator.enabled", false);
lockPref("media.webspeech.synth.enabled", false);
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// NON-PROJECT RELATED
// >>>>>>>>>>>>>>>>>>>>>
//
// WELCOME & WHAT'S NEW NOTICES
//
defaultPref("browser.startup.homepage_override.mstone", "ignore"); // master switch
defaultPref("startup.homepage_welcome_url", "");
defaultPref("startup.homepage_welcome_url.additional", "");
defaultPref("startup.homepage_override_url", ""); // What's New page after updates
//
// WARNINGS
//
defaultPref("browser.tabs.warnOnClose", false); // [DEFAULT false FF94+]
defaultPref("browser.tabs.warnOnCloseOtherTabs", false);
defaultPref("browser.tabs.warnOnOpen", false);
defaultPref("browser.warnOnQuitShortcut", false); // [FF94+]
lockPref("full-screen-api.warning.delay", 0);
lockPref("full-screen-api.warning.timeout", 0);
defaultPref("browser.warnOnQuit", false);
//
// UPDATES
//
// Disable auto-INSTALLING Firefox updates [NON-WINDOWS]
lockPref("app.update.auto", false);
// -------------------------------------
// Disable auto-CHECKING for extension and theme updates
defaultPref("extensions.update.enabled", false);
// -------------------------------------
// Disable auto-INSTALLING extension and theme updates
defaultPref("extensions.update.autoUpdateDefault", false);
// -------------------------------------
// Disable extension metadata
lockPref("extensions.getAddons.cache.enabled", false);
// -------------------------------------
// Disable search engine updates (e.g. OpenSearch)
defaultPref("browser.search.update", false);
//
// APPEARANCE
//
defaultPref("toolkit.legacyUserProfileCustomizations.stylesheets", true); // [FF68+] allow userChrome/userContent
//
// CONTENT BEHAVIOR
//
defaultPref("accessibility.typeaheadfind", false); // enable "Find As You Type"
defaultPref("clipboard.autocopy", false); // disable autocopy default [LINUX]
defaultPref("layout.spellcheckDefault", 0); // 0=none, 1-multi-line, 2=multi-line & single-line
//
// FIREFOX HOME CONTENT
//
defaultPref("browser.newtabpage.activity-stream.feeds.section.topstories", false); // Recommended by Pocket
defaultPref("browser.newtabpage.activity-stream.section.highlights.includePocket", false);
defaultPref("browser.newtabpage.activity-stream.feeds.topsites", false);
defaultPref("browser.newtabpage.activity-stream.showSearch", false);
defaultPref("browser.newtabpage.activity-stream.section.highlights.includeBookmarks", false);
defaultPref("browser.newtabpage.activity-stream.section.highlights.includeDownloads", false);
defaultPref("browser.newtabpage.activity-stream.section.highlights.includeVisited", false);
//
// UX FEATURES
//
lockPref("extensions.pocket.enabled", false); // Pocket Account [FF46+]
lockPref("extensions.screenshots.disabled", true); // [FF55+]
lockPref("identity.fxaccounts.enabled", false); // Firefox Accounts & Sync [FF60+] [RESTART]
defaultPref("reader.parse-on-load.enabled", false); // Reader View
defaultPref("browser.tabs.firefox-view", false); // Firefox-view
//
// PERFORMANCE AND SOME TRICKS
//
defaultPref("layers.acceleration.force-enabled", true);
// defaultPref("ui.click_hold_context_menus.delay", 50000); // [BUG - Opening links don't work]
defaultPref("toolkit.cosmeticAnimations.enabled", false);
defaultPref("browser.tabs.animate", false);
defaultPref("browser.fullscreen.animate", false);
defaultPref("browser.stopReloadAnimation.enabled", false);
defaultPref("browser.download.animateNotifications", false);
defaultPref("browser.suppress_first_window_animation", true);
defaultPref("dom.animations.offscreen-throttling", true);
defaultPref("media.hardwaremediakeys.enabled", true);
defaultPref("browser.uidensity", 2);
defaultPref("browser.tabs.inTitlebar", 1);
//
// OTHER
//
// lockPref("browser.bookmarks.max_backups", 2);
lockPref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false); // disable CFR [FF67+]
lockPref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false); // disable CFR [FF67+]
lockPref("browser.messaging-system.whatsNewPanel.enabled", false); // What's New toolbar icon [FF69+]
lockPref("browser.urlbar.showSearchTerms.enabled", false);
defaultPref("browser.sessionstore.interval", 30000); // minimum interval between session save operations
lockPref("network.manage-offline-status", false);
lockPref("browser.preferences.moreFromMozilla", false);
lockPref("browser.disableResetPrompt", true); // [HIDDEN PREF]
// lockPref("xpinstall.signatures.required", false); // enforced extension signing (Nightly/ESR)
//
// MORE
//
// lockPref("security.insecure_connection_icon.enabled", ""); // [DEFAULT: true FF70+]
// lockPref("security.mixed_content.block_active_content", ""); // [DEFAULT: true since at least FF60]
defaultPref("security.ssl.enable_ocsp_stapling", false); // [DEFAULT: true FF26+]
// lockPref("webgl.disable-fail-if-major-performance-caveat", ""); // [DEFAULT: true FF86+]
defaultPref("webgl.enable-webgl2", false);
// lockPref("webgl.min_capability_mode", "");
//
// >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
// DEPRECATED / REMOVED / LEGACY / RENAMED
// >>>>>>>>>>>>>>>>>>>>>
//
// ESR102.x still uses all the following prefs
//
// FF103
//
// Delete cookies and site data on exit - replaced by sanitizeOnShutdown
defaultPref("network.cookie.lifetimePolicy", 2);
// -------------------------------------
// Disable SHA-1 certificates
// defaultPref("security.pki.sha1_enforcement_level", 1); // [DEFAULT: 1]
//