551 lines
25 KiB
INI
Executable file
551 lines
25 KiB
INI
Executable file
/** LIBREWOLF SETTINGS
|
|
*
|
|
* please take the time to read and understand, but also to customize the settings to find your own setup.
|
|
* the answers to the most common questions are at this link https://librewolf.net/docs/faq/
|
|
*/
|
|
defaultPref("librewolf.cfg.version", "5.5");
|
|
|
|
|
|
/**
|
|
* the file is organized in categories, and each one has a number of sections:
|
|
*
|
|
* - PRIVACY
|
|
* - ISOLATION
|
|
* - SANITIZING
|
|
* - CACHE AND STORAGE
|
|
* - HISTORY AND SESSION RESTORE
|
|
* - QUERY STRIPPING
|
|
*
|
|
* - NETWORKING
|
|
* - HTTPS
|
|
* - IPv6
|
|
* - REFERERS
|
|
* - WEBRTC
|
|
* - PROXY
|
|
* - DNS
|
|
* - PREFETCHING
|
|
*
|
|
* - FINGERPRINTING
|
|
* - RFP
|
|
* - WEBGL
|
|
*
|
|
* - SECURITY
|
|
* - SITE ISOLATION
|
|
* - CERTIFICATES
|
|
* - TLS/SSL
|
|
*/
|
|
|
|
|
|
/** [CATEGORY] PRIVACY */
|
|
|
|
/** [SECTION] ISOLATION
|
|
* default to strict mode, which includes:
|
|
* 1. dFPI for both normal and private windows
|
|
* 2. strict blocking lists for trackers
|
|
* 3. shims to avoid breakage caused by blocking lists
|
|
* 4. stricter policies for xorigin referrers
|
|
* 5. dFPI specific cookie cleaning mechanism
|
|
*/
|
|
pref("browser.contentblocking.category", "strict");
|
|
defaultPref("network.cookie.cookieBehavior", 5); // enforce dFPI
|
|
defaultPref("privacy.partition.serviceWorkers", true); // isolate service workers
|
|
|
|
/** [SECTION] SANITIZING */
|
|
defaultPref("network.cookie.lifetimePolicy", 2); // keep cookies until end of the session, then clear
|
|
// make third party and http cookies session-only
|
|
defaultPref("network.cookie.thirdparty.sessionOnly", true);
|
|
defaultPref("network.cookie.thirdparty.nonsecureSessionOnly", true);
|
|
/**
|
|
* this way of sanitizing cookies would override the exceptions set by the users and just delete everything,
|
|
* we disable it but cookies and site data are still cleared per session unless exceptions are set.
|
|
* all the cleaning prefs true by default except for siteSetting and offlineApps, which is what we want.
|
|
*/
|
|
defaultPref("privacy.clearOnShutdown.cookies", false);
|
|
defaultPref("privacy.sanitize.sanitizeOnShutdown", true);
|
|
defaultPref("privacy.sanitize.timeSpan", 0);
|
|
|
|
/** [SECTION] CACHE AND STORAGE */
|
|
defaultPref("browser.cache.disk.enable", false); // disable disk cache
|
|
/** prevent media cache from being written to disk in pb, but increase max cache size to avoid playback issues */
|
|
defaultPref("browser.privatebrowsing.forceMediaMemoryCache", true);
|
|
defaultPref("media.memory_cache_max_size", 65536);
|
|
// disable favicons in profile folder and page thumbnail capturing
|
|
defaultPref("browser.shell.shortcutFavicons", false);
|
|
defaultPref("browser.pagethumbnails.capturing_disabled", true);
|
|
defaultPref("browser.helperApps.deleteTempFileOnExit", true); // delete temporary files opened with external apps
|
|
|
|
/** [SECTION] HISTORY AND SESSION RESTORE */
|
|
defaultPref("browser.formfill.enable", false); // disable form history
|
|
defaultPref("browser.sessionstore.privacy_level", 2); // prevent websites from storing session data like cookies and forms
|
|
defaultPref("browser.sessionstore.interval", 60000); // increase time between session saves
|
|
|
|
/** [SECTION] QUERY STRIPPING
|
|
* enable query stripping and set the strip list.
|
|
* currently we use the same one that brave uses:
|
|
* https://github.com/brave/brave-core/blob/f337a47cf84211807035581a9f609853752a32fb/browser/net/brave_site_hacks_network_delegate_helper.cc#L29
|
|
*/
|
|
defaultPref("privacy.query_stripping.enabled", true);
|
|
defaultPref("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 oly_anon_id oly_enc_id rb_clickid s_cid twclid vero_conv vero_id wbraid wickedid yclid");
|
|
/**
|
|
* librewolf specific pref that allows to include the query stripping lists in uBO by default.
|
|
* the asset file is fetched every 7 days.
|
|
*/
|
|
defaultPref("librewolf.uBO.assetsBootstrapLocation", "https://gitlab.com/librewolf-community/browser/source/-/raw/main/assets/uBOAssets.json");
|
|
|
|
|
|
/** [CATEGORY] NETWORKING */
|
|
|
|
/** [SECTION] HTTPS */
|
|
defaultPref("dom.security.https_only_mode", true); // only allow https in all windows, including private browsing
|
|
defaultPref("network.auth.subresource-http-auth-allow", 1); // block HTTP authentication credential dialogs
|
|
defaultPref("security.mixed_content.block_display_content", true); // block insecure passive content
|
|
|
|
/** [SECTION] IPv6
|
|
* privacy extension isn't the default for all linux distros, so we disable ipv6.
|
|
*/
|
|
defaultPref("network.dns.disableIPv6", true);
|
|
|
|
/** [SECTION] REFERERS
|
|
* to enhance privacy but keep a certain level of usability we trim cross-origin
|
|
* referers, instead of completely avoid sending them.
|
|
* as a general rule, the behavior of referes which are not cross-origin should not
|
|
* be changed.
|
|
*/
|
|
defaultPref("network.http.referer.XOriginPolicy", 0); // default, might be worth changing to 2 to stop sending them completely
|
|
defaultPref("network.http.referer.XOriginTrimmingPolicy", 2); // trim referer to only send scheme, host and port
|
|
|
|
/** [SECTION] WEBRTC
|
|
* there's no point in disabling webrtc as mDNS protects the private IP on linux, osx and win10+.
|
|
* with the below preference we protect the value even in trusted environments and for win7/8 users,
|
|
* although this will likely cause breakage.
|
|
*/
|
|
defaultPref("media.peerconnection.ice.no_host", true); // don't use any private IPs for ICE candidate
|
|
defaultPref("media.peerconnection.ice.default_address_only", true); // use a single interface for ICE candidates, the vpn one when a vpn is used
|
|
|
|
/** [SECTION] PROXY */
|
|
defaultPref("network.gio.supported-protocols", ""); // disable gio as it could bypass proxy
|
|
defaultPref("network.file.disable_unc_paths", true); // hidden, disable using uniform naming convention to prevent proxy bypass
|
|
defaultPref("network.proxy.socks_remote_dns", true); // forces dns query through the proxy when using one
|
|
defaultPref("media.peerconnection.ice.proxy_only_if_behind_proxy", true); // force webrtc inside proxy when one is used
|
|
|
|
/** [SECTION] DNS */
|
|
defaultPref("network.trr.confirmationNS", "skip"); // skip undesired doh test connection
|
|
defaultPref("network.dns.disablePrefetch", true); // disable dns prefetching
|
|
/**
|
|
* librewolf doesn't use DoH, but it can be enabled with the following prefs:
|
|
* pref("network.trr.mode", 2);
|
|
* pref("network.trr.uri", "https://dns.quad9.net/dns-query");
|
|
*
|
|
* the possible modes are:
|
|
* 0 = default
|
|
* 1 = browser picks faster
|
|
* 2 = DoH with system dns fallback
|
|
* 3 = DoH without fallback
|
|
* 5 = DoH is off, default currently
|
|
*/
|
|
|
|
/** [SECTION] PREFETCHING
|
|
* disable prefecthing for different things such as links, bookmarks and predictors.
|
|
*/
|
|
lockPref("network.predictor.enabled", false);
|
|
lockPref("network.prefetch-next", false);
|
|
lockPref("network.http.speculative-parallel-limit", 0);
|
|
defaultPref("browser.places.speculativeConnect.enabled", false);
|
|
|
|
// TODO
|
|
defaultPref("network.manage-offline-status", false); // let user control the offline behavior
|
|
|
|
|
|
/** [CATEGORY] FINGERPRINTING */
|
|
|
|
/** [SECTION] RFP
|
|
* librewolf should stick to RFP for fingerprinting. we should not set prefs that interfere with it
|
|
* and disabling API for no good reason will be counter productive, so it should also be avoided.
|
|
*/
|
|
defaultPref("privacy.resistFingerprinting", true);
|
|
// rfp related settings
|
|
defaultPref("privacy.resistFingerprinting.block_mozAddonManager", true); // prevents rfp from breaking AMO
|
|
defaultPref("browser.startup.blankWindow", false); // if set to true it breaks RFP windows resizing
|
|
defaultPref("browser.display.use_system_colors", false); // default but enforced due to RFP
|
|
/**
|
|
* increase the size of new RFP windows for better usability, while still using a rounded value.
|
|
* if the screen resolution is lower it will stretch to the biggest possible rounded value.
|
|
* also, expose hidden letterboxing pref but do not enable it for now.
|
|
*/
|
|
defaultPref("privacy.window.maxInnerWidth", 1600);
|
|
defaultPref("privacy.window.maxInnerHeight", 900);
|
|
defaultPref("privacy.resistFingerprinting.letterboxing", false);
|
|
|
|
/** [SECTION] WEBGL */
|
|
defaultPref("webgl.disabled", true);
|
|
|
|
|
|
/** [CATEGORY] SECURITY */
|
|
|
|
/** [SECTION] SITE ISOLATION
|
|
* https://wiki.mozilla.org/Project_Fission
|
|
*/
|
|
defaultPref("fission.autostart", true);
|
|
|
|
/** [SECTION] CERTIFICATES */
|
|
defaultPref("security.cert_pinning.enforcement_level", 2); // enable strict public key pinning, might cause issues with AVs
|
|
defaultPref("security.pki.sha1_enforcement_level", 1); // disable sha-1 certificates
|
|
/**
|
|
* enable safe negotiation and show warning when it is not supported. might cause breakage.
|
|
*/
|
|
defaultPref("security.ssl.require_safe_negotiation", true);
|
|
defaultPref("security.ssl.treat_unsafe_negotiation_as_broken", true);
|
|
/**
|
|
* our strategy with revocation is to disable OCSP as it is slower and less privacy minded, and to use
|
|
* CRL instead, particularly the CRLite solution with no OCSP fallback.
|
|
*/
|
|
defaultPref("security.OCSP.enabled", 0); // disable ocsp fetching
|
|
defaultPref("security.remote_settings.crlite_filters.enabled", true);
|
|
defaultPref("security.pki.crlite_mode", 2); // mode 2 means no fallback
|
|
|
|
/** [SECTION] TLS/SSL */
|
|
lockPref("security.tls.enable_0rtt_data", false); // disable 0 RTT to improve tls 1.3 security
|
|
pref("security.tls.version.enable-deprecated", false); // make TLS downgrades session only
|
|
// show relevant and advanced issues on warnings and error screens
|
|
defaultPref("browser.ssl_override_behavior", 1);
|
|
defaultPref("browser.xul.error_pages.expert_bad_cert", true);
|
|
|
|
// permissions
|
|
lockPref("permissions.delegation.enabled", false); // force permission request to show the real origin
|
|
lockPref("permissions.manager.defaultsUrl", ""); // revoke special permissions from some mozilla domains
|
|
|
|
defaultPref("gfx.font_rendering.opentype_svg.enabled", false); // disale svg opentype fonts
|
|
|
|
defaultPref("browser.download.useDownloadDir", false); // force user interaction on downloads, by always asking location
|
|
|
|
lockPref("security.csp.enable", true); // default
|
|
defaultPref("network.IDN_show_punycode", true); // use punycode in idn to prevent spoofing
|
|
|
|
// ---------------------------------
|
|
// # SAFE BROWSING
|
|
// ---------------------------------
|
|
|
|
// disable safe browsing, including the fetch of updates and all outgoing connections
|
|
defaultPref("browser.safebrowsing.malware.enabled", false);
|
|
defaultPref("browser.safebrowsing.phishing.enabled", false);
|
|
defaultPref("browser.safebrowsing.blockedURIs.enabled", false);
|
|
defaultPref("browser.safebrowsing.provider.google4.gethashURL", "");
|
|
defaultPref("browser.safebrowsing.provider.google4.updateURL", "");
|
|
defaultPref("browser.safebrowsing.provider.google.gethashURL", "");
|
|
defaultPref("browser.safebrowsing.provider.google.updateURL", "");
|
|
|
|
// disable safe browsing checks on downloads, both local and remote
|
|
defaultPref("browser.safebrowsing.downloads.enabled", false);
|
|
lockPref("browser.safebrowsing.downloads.remote.enabled", false);
|
|
lockPref("browser.safebrowsing.downloads.remote.url", "");
|
|
lockPref("browser.safebrowsing.downloads.remote.block_potentially_unwanted", false);
|
|
lockPref("browser.safebrowsing.downloads.remote.block_uncommon", false);
|
|
|
|
// other safe browsing options, all default but enforce
|
|
lockPref("browser.safebrowsing.passwords.enabled", false);
|
|
lockPref("browser.safebrowsing.provider.google4.dataSharing.enabled", false);
|
|
lockPref("browser.safebrowsing.provider.google4.dataSharingURL", "");
|
|
|
|
// ------------
|
|
// # DOM - TODO
|
|
// ------------
|
|
|
|
// pop-ups and window related preferences
|
|
defaultPref("dom.disable_beforeunload", true); // disable "confirm you want to leave" pop-ups on close
|
|
defaultPref("dom.disable_open_during_load", true); // block pop-ups windows
|
|
defaultPref("dom.popup_allowed_events", "click dblclick mousedown pointerdown"); // limit events that cause pop-ups
|
|
defaultPref("dom.disable_window_move_resize", true); // block scripts from resizing windows
|
|
defaultPref("browser.link.open_newwindow", 3); // open 'new windows' targeted links in 'new tab'
|
|
defaultPref("browser.link.open_newwindow.restriction", 0); // ignore the size when applying the above pref
|
|
|
|
|
|
// ----------------------
|
|
// # MEDIA - TODO
|
|
// ----------------------
|
|
|
|
// autoplay
|
|
defaultPref("media.autoplay.blocking_policy", 2); // only allow to play when a certain element is clicked
|
|
defaultPref("media.autoplay.default", 5); // personal preference, currently apply blocking policy to all autplay including muted
|
|
|
|
|
|
// -----------------------
|
|
// # DRM
|
|
// -----------------------
|
|
|
|
defaultPref("media.eme.enabled", false); // disable drm content, master switch that also controls widevine plugin
|
|
defaultPref("media.gmp-manager.url", "data:text/plain,"); // prevent outgoing connections when DRM is disabled
|
|
|
|
// disable the openh264 plugin
|
|
defaultPref("media.gmp-provider.enabled", false);
|
|
defaultPref("media.gmp-gmpopenh264.enabled", false);
|
|
|
|
// ---------------------------------------------
|
|
// # LOCATION, LANGUAGE AND REGION
|
|
// ---------------------------------------------
|
|
|
|
// use mozilla geo service as deault
|
|
defaultPref("geo.provider.network.url", "https://location.services.mozilla.com/v1/geolocate?key=%MOZILLA_API_KEY%");
|
|
|
|
// prevent use of OS location services
|
|
lockPref("geo.provider.ms-windows-location", false); // [WINDOWS]
|
|
lockPref("geo.provider.use_corelocation", false); // [MAC]
|
|
lockPref("geo.provider.use_gpsd", false); // [LINUX]
|
|
|
|
/**
|
|
show language as en-US for all users, regardless of their OS language and browser language.
|
|
must use pref and not defaultPref to work. spoof_english also sets the UI correctly.
|
|
*/
|
|
pref("javascript.use_us_english_locale", true);
|
|
pref("intl.accept_languages", "en-US, en");
|
|
|
|
// disable region updates
|
|
lockPref("browser.region.network.url", "");
|
|
lockPref("browser.region.update.enabled", false);
|
|
|
|
// --------------------------------
|
|
// # SEARCH AND URLBAR
|
|
// --------------------------------
|
|
|
|
// disable search suggestions
|
|
defaultPref("browser.urlbar.suggest.searches", false);
|
|
defaultPref("browser.search.suggest.enabled", false);
|
|
|
|
// firefox suggest, review to trim
|
|
lockPref("browser.urlbar.quicksuggest.scenario", "history"); // prevent opt-in, doesn't work alone
|
|
lockPref("browser.urlbar.quicksuggest.enabled", false); // disable suggest and hide its ui
|
|
lockPref("browser.urlbar.suggest.quicksuggest.nonsponsored", false); // disable suggestions from firefox
|
|
lockPref("browser.urlbar.suggest.quicksuggest.sponsored", false); // disable sponsored suggestions
|
|
lockPref("browser.urlbar.quicksuggest.dataCollection.enabled", false); // default
|
|
|
|
defaultPref("browser.search.update", false); // do not update open search search engines
|
|
defaultPref("browser.urlbar.trimURLs", false); // do not trim urls in the urlbar
|
|
|
|
// urlbar-dns interactions, avoid unwanted and speculative connections
|
|
defaultPref("browser.urlbar.dnsResolveSingleWordsAfterSearch", 0);
|
|
defaultPref("browser.urlbar.speculativeConnect.enabled", false);
|
|
lockPref("browser.fixup.alternate.enabled", false);
|
|
|
|
// ----------------------------------
|
|
// # BROWSER BEHAVIOR
|
|
// ----------------------------------
|
|
|
|
lockPref("app.update.auto", false); // disable update auto installs
|
|
|
|
defaultPref("identity.fxaccounts.enabled", false); // sync and firefox account
|
|
|
|
// password manager
|
|
defaultPref("signon.rememberSignons", false); // disable saving passwords in the browser
|
|
defaultPref("signon.autofillForms", false); // disable username and password autofills
|
|
defaultPref("signon.formlessCapture.enabled", false); // disable formless login capture
|
|
|
|
// autofill
|
|
defaultPref("extensions.formautofill.available", "off");
|
|
defaultPref("extensions.formautofill.addresses.enabled", false);
|
|
defaultPref("extensions.formautofill.creditCards.enabled", false);
|
|
defaultPref("extensions.formautofill.creditCards.available", false);
|
|
defaultPref("extensions.formautofill.heuristics.enabled", false);
|
|
|
|
// containers
|
|
defaultPref("privacy.userContext.enabled", true); // enable containers
|
|
defaultPref("privacy.userContext.ui.enabled", true); // enable containers ui
|
|
|
|
defaultPref("pdfjs.enableScripting", false); // block pdf js scripting
|
|
|
|
defaultPref("accessibility.force_disabled", 1); // block accessibility services
|
|
|
|
// devtools
|
|
defaultPref("devtools.chrome.enabled", false); // disable chrome debugging tools
|
|
defaultPref("devtools.debugger.remote-enabled", false); // default, disable remote debugging
|
|
defaultPref("devtools.remote.adb.extensionURL", ""); // url to download ad extension
|
|
defaultPref("devtools.selfxss.count", 0); // required for devtools console to work
|
|
|
|
// misc
|
|
defaultPref("browser.shell.checkDefaultBrowser", false); // do not check if default browser
|
|
defaultPref("browser.aboutConfig.showWarning", false); // disable about:config warning
|
|
defaultPref("browser.download.autohideButton", false); // hide download button automatically
|
|
defaultPref("browser.download.manager.addToRecentDocs", false); // do not add downloads to recents
|
|
defaultPref("middlemouse.contentLoadURL", false); // prevent mouse middle click from opening links
|
|
defaultPref("webchannel.allowObject.urlWhitelist", ""); // remove webchannel whitelist
|
|
|
|
// --------------------------------------
|
|
// # EXTENSIONS
|
|
// --------------------------------------
|
|
|
|
/**
|
|
allow extensions to work on all domains.
|
|
default is "debug-notes.log"
|
|
*/
|
|
defaultPref("extensions.webextensions.restrictedDomains", "");
|
|
|
|
// set extensions scopes
|
|
defaultPref("extensions.enabledScopes", 5); // hidden
|
|
|
|
defaultPref("extensions.postDownloadThirdPartyPrompt", false); // force install prompt for thrid party extensions
|
|
|
|
// about:addons ui
|
|
defaultPref("extensions.htmlaboutaddons.recommendations.enabled", false); // disable recommendations from addons list
|
|
defaultPref("extensions.getAddons.showPane", false); // disable recommendations section
|
|
defaultPref("extensions.getAddons.cache.enabled", false); // disable fetching of extension metadata
|
|
defaultPref("lightweightThemes.getMoreURL", ""); // disable button to get more themes
|
|
|
|
// extension firewall, disabled by default
|
|
// defaultPref("extensions.webextensions.base-content-security-policy", "default-src 'none'; script-src 'none'; object-src 'none';");
|
|
// defaultPref("extensions.webextensions.base-content-security-policy.v3", "default-src 'none'; script-src 'none'; object-src 'none';");
|
|
|
|
// report site issue, disable button and url for in depth defense
|
|
lockPref("extensions.webcompat-reporter.enabled", false);
|
|
lockPref("extensions.webcompat-reporter.newIssueEndpoint", "");
|
|
|
|
// system addons, prevent updates and strip url for in depth defense
|
|
defaultPref("extensions.systemAddon.update.enabled", false);
|
|
defaultPref("extensions.systemAddon.update.url", "");
|
|
|
|
// --------------------------------
|
|
// # URLS AND ANNOYANCES
|
|
// --------------------------------
|
|
|
|
// set librewolf support and releases urls
|
|
defaultPref("app.support.baseURL", "https://librewolf.net/docs/faq/#");
|
|
defaultPref("browser.search.searchEnginesURL", "https://librewolf.net/docs/faq/#how-do-i-add-a-search-engine");
|
|
defaultPref("browser.geolocation.warning.infoURL", "https://librewolf.net/docs/faq/#how-do-i-enable-location-aware-browsing");
|
|
defaultPref("app.feedback.baseURL", "https://librewolf.net/#questions");
|
|
defaultPref("app.releaseNotesURL", "https://gitlab.com/librewolf-community/browser");
|
|
defaultPref("app.releaseNotesURL.aboutDialog", "https://gitlab.com/librewolf-community/browser");
|
|
defaultPref("app.update.url.details", "https://gitlab.com/librewolf-community/browser");
|
|
defaultPref("app.update.url.manual", "https://gitlab.com/librewolf-community/browser");
|
|
|
|
// 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 welcome, what is new pages and ui tour
|
|
defaultPref("browser.startup.homepage_override.mstone", "ignore");
|
|
defaultPref("startup.homepage_override_url", "about:blank");
|
|
defaultPref("startup.homepage_welcome_url", "about:blank");
|
|
defaultPref("startup.homepage_welcome_url.additional", "");
|
|
lockPref("browser.messaging-system.whatsNewPanel.enabled", false);
|
|
lockPref("browser.uitour.enabled", false);
|
|
lockPref("browser.uitour.url", "");
|
|
|
|
// hide annoying ui elements from about:protections
|
|
defaultPref("browser.contentblocking.report.lockwise.enabled", false);
|
|
defaultPref("browser.contentblocking.report.monitor.enabled", false);
|
|
lockPref("browser.contentblocking.report.hide_vpn_banner", true);
|
|
lockPref("browser.contentblocking.report.vpn.enabled", false);
|
|
lockPref("browser.contentblocking.report.show_mobile_app", false);
|
|
|
|
defaultPref("browser.topsites.useRemoteSetting", false); // hide sponsored shortcuts button from about:preferences#home
|
|
|
|
// ------------------------------------
|
|
// # NEW TAB PAGE
|
|
// ------------------------------------
|
|
|
|
defaultPref("browser.newtab.preload", false);
|
|
defaultPref("browser.newtabpage.activity-stream.section.highlights.includeDownloads", false);
|
|
defaultPref("browser.newtabpage.activity-stream.section.highlights.includeVisited", false);
|
|
defaultPref("browser.newtabpage.activity-stream.feeds.topsites", false);
|
|
|
|
// hide pocket and sponsored content, from new tab page and search bar
|
|
lockPref("browser.newtabpage.activity-stream.feeds.section.topstories", false);
|
|
lockPref("browser.newtabpage.activity-stream.feeds.system.topstories", false);
|
|
lockPref("browser.newtabpage.activity-stream.feeds.telemetry", false);
|
|
lockPref("browser.newtabpage.activity-stream.feeds.section.topstories.options", "{\"hidden\":true}"); // hide buggy pocket section from about:preferences#home
|
|
lockPref("browser.newtabpage.activity-stream.showSponsored", false);
|
|
lockPref("browser.newtabpage.activity-stream.showSponsoredTopSites", false);
|
|
lockPref("browser.newtabpage.activity-stream.telemetry", false);
|
|
lockPref("browser.newtabpage.activity-stream.default.sites", "");
|
|
lockPref("browser.newtabpage.activity-stream.feeds.discoverystreamfeed", false);
|
|
lockPref("browser.newtabpage.activity-stream.discoverystream.enabled", false);
|
|
lockPref("browser.newtabpage.activity-stream.feeds.snippets", false); // default
|
|
|
|
// disable recommend as you browse
|
|
lockPref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false);
|
|
lockPref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false);
|
|
|
|
// --------------------------------
|
|
// # TELEMETRY
|
|
// --------------------------------
|
|
|
|
lockPref("toolkit.telemetry.unified", false); // master switch
|
|
lockPref("toolkit.telemetry.enabled", false); // master switch
|
|
lockPref("toolkit.telemetry.server", "data:,");
|
|
lockPref("toolkit.telemetry.archive.enabled", false);
|
|
lockPref("toolkit.telemetry.newProfilePing.enabled", false);
|
|
lockPref("toolkit.telemetry.updatePing.enabled", false);
|
|
lockPref("toolkit.telemetry.firstShutdownPing.enabled", false);
|
|
lockPref("toolkit.telemetry.shutdownPingSender.enabled", false);
|
|
lockPref("toolkit.telemetry.shutdownPingSender.enabledFirstSession", false); // default
|
|
lockPref("toolkit.telemetry.bhrPing.enabled", false);
|
|
lockPref("toolkit.telemetry.reportingpolicy.firstRun", false); // default
|
|
lockPref("toolkit.telemetry.cachedClientID", "");
|
|
lockPref("toolkit.telemetry.previousBuildID", "");
|
|
lockPref("toolkit.telemetry.server_owner", "");
|
|
lockPref("toolkit.coverage.opt-out", true); // hidden
|
|
lockPref("toolkit.telemetry.coverage.opt-out", true); // hidden
|
|
lockPref("toolkit.coverage.enabled", false);
|
|
lockPref("toolkit.coverage.endpoint.base", "");
|
|
lockPref("toolkit.crashreporter.infoURL", "");
|
|
lockPref("datareporting.healthreport.uploadEnabled", false);
|
|
lockPref("datareporting.policy.dataSubmissionEnabled", false);
|
|
lockPref("security.protectionspopup.recordEventTelemetry", false);
|
|
lockPref("browser.ping-centre.telemetry", false);
|
|
|
|
// crash report
|
|
lockPref("breakpad.reportURL", "");
|
|
lockPref("browser.tabs.crashReporting.sendReport", false);
|
|
|
|
// normandy and studies
|
|
lockPref("app.normandy.enabled", false);
|
|
lockPref("app.normandy.api_url", "");
|
|
lockPref("app.shield.optoutstudies.enabled", false);
|
|
|
|
// personalized extension recommendations
|
|
lockPref("browser.discovery.enabled", false);
|
|
lockPref("browser.discovery.containers.enabled", false);
|
|
lockPref("browser.discovery.sites", "");
|
|
|
|
// connectivity checks
|
|
lockPref("network.connectivity-service.enabled", false);
|
|
|
|
// captive portal
|
|
lockPref("network.captive-portal-service.enabled", false);
|
|
lockPref("captivedetect.canonicalURL", "");
|
|
|
|
// prevent sending server side analytics
|
|
lockPref("beacon.enabled", false);
|
|
|
|
// --------------------------------
|
|
// # WINDOWS
|
|
// --------------------------------
|
|
|
|
// disable windows specific background update service
|
|
lockPref("app.update.service.enabled", false);
|
|
defaultPref("app.update.background.scheduling.enabled", false);
|
|
|
|
defaultPref("network.protocol-handler.external.ms-windows-store", false); // disable links launching windows store
|
|
|
|
lockPref("toolkit.winRegisterApplicationRestart", false); // disable automatic Firefox start and session restore after reboot
|
|
|
|
lockPref("security.family_safety.mode", 0); // disable win8.1 family safety cert
|
|
|
|
lockPref("default-browser-agent.enabled", false); // disable windows specific telemetry
|
|
|
|
defaultPref("network.http.windows-sso.enabled", false); // disable MS auto authentication via sso
|
|
|
|
// -----------------------------------
|
|
// # OVERRIDES
|
|
// -----------------------------------
|
|
|
|
// allow settings to be overriden with a file at `~/.librewolf/librewolf.overrides.cfg`
|
|
// or `~/.var/app/io.gitlab.librewolf-community/.librewolf/librewolf.overrides.cfg` (Flatpak).
|
|
let profile_directory;
|
|
if (profile_directory = getenv('USERPROFILE') || getenv('HOME')) {
|
|
pref('autoadmin.global_config_url', `file://${profile_directory}/.librewolf/librewolf.overrides.cfg`);
|
|
}
|