[TL;dr : This is about preventing the Firefox browser from "phoning home" to Mozilla and sending all kinds of information about your environment and setup that they absolutely do not need to have. Originally it was a long email out to various colleagues; now kept here as a simple text file and receives periodic updates.] Date: Fri, 28 Feb 2020 10:09:24 Subject: What does the Fox say? Nothing! To: (assorted sympathetic cynics and curmudgeons) I've got an ancient-by-now laptop happily running a 32-bit Debian release, slow as shit but it's the minimalist "secure platform" I do certain online stuff from; everything runs in a completely volatile ramdisk-based browser config environment that vanishes afterward. volatile. [Don't laugh, this same Stinkpad used to manage all the firewalls for @stake BITD...] It's old enough to not have SSE2 in its processor, so I've been on a mostly-fruitless search for whatever the latest Firefox release is that still doesn't require SSE2. That was supposed to be 52.0esr, but it's apparently got some other issues that make it segfault soon after startup. 40-something still works, so I've been running on that so far. In the process of thrashing around between working releases I have and test ones to try and upgrade a little bit, I finally found a handy way to solve another long-nagging problem that seemed too cumbersome to do by hand -- that of the *numerous* hardwired "phone home" URLs in its base config, through which it wants to report back to mozilla.org or firefox.com for just about every little thing that happens. Having my proxy prevent such nonsense has been reasonably solid, but the fact that it keeps *trying* just noises up the log and continues to be stupid. And the specific targets are different release to release; the list basically keeps growing. If you go into "about:config" and read through the values, you see the relevant shit-ton of default snoop URLs. They can be overridden and set to null, but did I want to grind through hundreds of those by hand? Not really. However, I happened to notice that all of these are contained in the release's base javascript libraries, as "pref()" directives. These are the baseline for all the things that you can then override with "user_pref()" settings in your prefs.js file, but they don't show up there if they already match the built-in defaults. It dawned on me that I could apply a little unix-tool-fu to bulk extract all of those out of the libraries, and make a big user_pref() section to add to my prefs.js and try to zap all of that crap back to null-and-void oblivion. The defaults on later releases are in two places, both named the same: $RELEASEDIR/omni.ja $RELEASEDIR/browser/omni.ja These javascript library archives are some kind of modified .zip format, but fortunately "unzip" was able to find the zip header buried way inside and explode them. One release I examined had all the files simply "stored" in the .ja file instead of actually zip/deflated, so while stringsing a few things that's how I got the clue about where the stuff lives. Other releases have them compressed, requiring an interim extraction step to pull out a tree of plaintext .js files. Fundamentally, the process is tar ocf - WHATEVER | strings -a | fgrep 'pref(' | egrep ', "https*:' and pick through the output. [WHATEVER can be the entire release tree, or your extracted .js heirarchy, etc.] In doing this across the older working releasess that I have and new ones that didn't, I wound up building quite a litany of these, not all of which are in all releases but if you set them as prefs in any version, the name/value pair will be there and override anything the browser happens to know about. The easiest way to sort them was to add them to prefs.js and run the browser a couple of times and let it re-write its own prefs.js back out, generating a unique superset of everything, and iterate over more than one release. Interestingly, Firefox will retain and re-save user_pref() entries that it doesn't internally know about or use, just preserving them in the prefs file as arbitrary key/values regardless. To that end, for anyone running Firefox even up to seventy-something that I think most of the world is running by now, I offer the enclosed config fragment for your URL-squashing pleasure. Shut down Firefox, find where your prefs.js file lives, *append* the below to it, and re-launch the app. About:config should show a lot of that gubbish nicely blanked out, and I'm pretty confident that this basically prevents most of the phone-home behavior I've otherwise observed FF trying to do. Whatever hasn't been covered can be found by filtering for "http" and the like, and more keys to add would be welcomed. Of course there may still be some embedded stuff in the binaries and/or it might be trying to evade the proxy in some cases, but it still helps particularly if you're *not* running a filtering proxy layer. They have to be entered as user_pref() and not pref(), or the browser will revert the known ones back to the built-in defaults on its second run after the modification. It's a bit stunning how *inconsistent* the key-naming schema is; obviously different people/groups were working on this and adding keys, coming up with their own format for specifying what a URL should be. It's all freeform strings, though, there's apparently no rigid template or hierarchy. And it's all case-sensitive; hack carefully... This search/extract process obviously only only works on Unix flavors; windoze might be a hopeless cause but there may be a way to do the equivalent. [Copy distro to unix box and do the work with real tools...?] It wouldn't surprise me if strings are stored as effed-up unicode there, alternating nulls with the ascii, but if you're aware of that it can be worked around too. Hopefully this is a broad enough superset that it can drop in and be useful as a starting point in those environments too, as windoze-equivalent prefs.js should still be generic editable ascii. With "device" app versions of Firefox not even supporting about:config let alone GFL finding where your init files are, it's probably a lost cause to apply something like this to those platforms. _H* ===== // extracted/merged from various Firefox releases, between 40 and 72 // and later, 91.3 esr // Append all of the below to your prefs.js file. It may not be perfect // 100% coverage, but at least it provides a fighting baseline. // send updates to hobbit@techno-fandom.org if you like user_pref("accessibility.support.url", ""); user_pref("app.feedback.baseURL", ""); user_pref("app.normandy.api_url", ""); user_pref("app.normandy.shieldLearnMoreUrl", ""); user_pref("app.normandy.enabled", false); user_pref("app.releaseNotesURL", ""); user_pref("app.support.baseURL", ""); user_pref("app.support.e10sAccessibilityUrl", ""); user_pref("app.update.certs.1.commonName", ""); user_pref("app.update.certs.2.commonName", ""); user_pref("app.update.url", ""); user_pref("app.update.url.details", ""); user_pref("app.update.url.manual", ""); user_pref("breakpad.reportURL", ""); user_pref("browser.aboutHomeSnippets.updateURL", ""); user_pref("browser.aboutHomeSnippets.updateUrl", ""); user_pref("browser.apps.URL", ""); user_pref("browser.contentHandlers.types.0.uri", ""); user_pref("browser.contentblocking.report.cookie.url", ""); user_pref("browser.contentblocking.report.cryptominer.url", ""); user_pref("browser.contentblocking.report.fingerprinter.url", ""); user_pref("browser.contentblocking.report.lockwise.how_it_works.url", ""); user_pref("browser.contentblocking.report.lockwise.url", ""); user_pref("browser.contentblocking.report.manage_devices.url", ""); user_pref("browser.contentblocking.report.monitor.how_it_works.url", ""); user_pref("browser.contentblocking.report.monitor.sign_in_url", ""); user_pref("browser.contentblocking.report.monitor.url", ""); user_pref("browser.contentblocking.report.proxy_extension.url", ""); user_pref("browser.contentblocking.report.social.url", ""); user_pref("browser.contentblocking.report.tracker.url", ""); user_pref("browser.contentblocking.reportBreakage.url", ""); user_pref("browser.customizemode.tip0.learnMoreUrl", ""); user_pref("browser.devedition.promo.url", ""); user_pref("browser.dictionaries.download.url", ""); user_pref("browser.geolocation.warning.infoURL", ""); user_pref("browser.newtabpage.activity-stream.fxaccounts.endpoint", ""); user_pref("browser.newtabpage.directory.ping", ""); user_pref("browser.newtabpage.directory.source", ""); user_pref("browser.push.warning.infoURL", ""); user_pref("browser.safebrowsing.appRepURL", ""); user_pref("browser.safebrowsing.downloads.remote.url", ""); user_pref("browser.safebrowsing.gethashURL", ""); user_pref("browser.safebrowsing.malware.reportURL", ""); user_pref("browser.safebrowsing.provider.google.advisoryURL", ""); user_pref("browser.safebrowsing.provider.google.gethashURL", ""); user_pref("browser.safebrowsing.provider.google.reportMalwareMistakeURL", ""); user_pref("browser.safebrowsing.provider.google.reportPhishMistakeURL", ""); user_pref("browser.safebrowsing.provider.google.reportURL", ""); user_pref("browser.safebrowsing.provider.google.updateURL", ""); user_pref("browser.safebrowsing.provider.google4.advisoryURL", ""); user_pref("browser.safebrowsing.provider.google4.dataSharingURL", ""); user_pref("browser.safebrowsing.provider.google4.gethashURL", ""); user_pref("browser.safebrowsing.provider.google4.reportMalwareMistakeURL", ""); user_pref("browser.safebrowsing.provider.google4.reportPhishMistakeURL", ""); user_pref("browser.safebrowsing.provider.google4.reportURL", ""); user_pref("browser.safebrowsing.provider.google4.updateURL", ""); user_pref("browser.safebrowsing.provider.mozilla.gethashURL", ""); user_pref("browser.safebrowsing.provider.mozilla.updateURL", ""); user_pref("browser.safebrowsing.reportErrorURL", ""); user_pref("browser.safebrowsing.reportGenericURL", ""); user_pref("browser.safebrowsing.reportMalwareErrorURL", ""); user_pref("browser.safebrowsing.reportMalwareMistakeURL", ""); user_pref("browser.safebrowsing.reportMalwareURL", ""); user_pref("browser.safebrowsing.reportPhishMistakeURL", ""); user_pref("browser.safebrowsing.reportPhishURL", ""); user_pref("browser.safebrowsing.reportURL", ""); user_pref("browser.safebrowsing.updateURL", ""); user_pref("browser.search.geoSpecificDefaults.url", ""); user_pref("browser.search.geoip.url", ""); user_pref("browser.search.searchEnginesURL", ""); user_pref("browser.selfsupport.url", ""); user_pref("browser.trackingprotection.gethashURL", ""); user_pref("browser.trackingprotection.updateURL", ""); user_pref("browser.uitour.themeOrigin", ""); user_pref("browser.uitour.url", ""); user_pref("browser.usedOnWindows10.introURL", ""); user_pref("browser.xr.warning.infoURL", ""); user_pref("captivedetect.canonicalURL", ""); user_pref("datareporting.healthreport.about.reportUrl", ""); user_pref("datareporting.healthreport.about.reportUrlUnified", ""); user_pref("datareporting.healthreport.documentServerURI", ""); user_pref("datareporting.healthreport.infoURL", ""); user_pref("datareporting.policy.firstRunURL", ""); user_pref("devtools.devedition.promo.url", ""); user_pref("devtools.devices.url", ""); user_pref("devtools.gcli.imgurUploadURL", ""); user_pref("devtools.gcli.jquerySrc", ""); user_pref("devtools.gcli.lodashSrc", ""); user_pref("devtools.gcli.underscoreSrc", ""); user_pref("devtools.performance.recording.ui-base-url", ""); user_pref("devtools.remote.adb.extensionURL", ""); user_pref("devtools.webide.adaptersAddonURL", ""); user_pref("devtools.webide.adbAddonURL", ""); user_pref("devtools.webide.addonsURL", ""); user_pref("devtools.webide.simulatorAddonsURL", ""); user_pref("devtools.webide.simulatorAddonsUrl", ""); user_pref("devtools.webide.templatesURL", ""); user_pref("dom.mozApps.signed_apps_installable_from", ""); user_pref("experiments.manifest.uri", ""); user_pref("experiments.manifesturi", ""); user_pref("extensions.abuseReport.amoDetailsURL", ""); user_pref("extensions.abuseReport.url", ""); user_pref("extensions.blocklist.detailsURL", ""); user_pref("extensions.blocklist.itemURL", ""); user_pref("extensions.blocklist.url", ""); user_pref("extensions.getAddons.discovery.api_url", ""); user_pref("extensions.getAddons.get.url", ""); user_pref("extensions.getAddons.getWithPerformance.url", ""); user_pref("extensions.getAddons.langpacks.url", ""); user_pref("extensions.getAddons.link.url", ""); user_pref("extensions.getAddons.recommended.url", ""); user_pref("extensions.getAddons.search.browseURL", ""); user_pref("extensions.getAddons.search.url", ""); user_pref("extensions.recommendations.privacyPolicyUrl", ""); user_pref("extensions.recommendations.themeRecommendationUrl", ""); user_pref("extensions.systemAddon.update.url", ""); user_pref("extensions.update.background.url", ""); user_pref("extensions.update.url", ""); user_pref("extensions.webcompat-reporter.newIssueEndpoint", ""); user_pref("extensions.webservice.discoverURL", ""); user_pref("gecko.handlerService.schemes.irc.0.uriTemplate", ""); user_pref("gecko.handlerService.schemes.ircs.0.uriTemplate", ""); user_pref("gecko.handlerService.schemes.webcal.0.uriTemplate", ""); user_pref("geo.wifi.uri", ""); user_pref("identity.fxaccounts.auth.uri", ""); user_pref("identity.fxaccounts.remote.force_auth.uri", ""); user_pref("identity.fxaccounts.remote.oauth.uri", ""); user_pref("identity.fxaccounts.remote.profile.uri", ""); user_pref("identity.fxaccounts.remote.root", ""); user_pref("identity.fxaccounts.remote.signin.uri", ""); user_pref("identity.fxaccounts.remote.signup.uri", ""); user_pref("identity.fxaccounts.remote.webchannel.uri", ""); user_pref("identity.fxaccounts.service.monitorLoginUrl", ""); user_pref("identity.fxaccounts.service.sendLoginUrl", ""); user_pref("identity.fxaccounts.settings.uri", ""); user_pref("identity.mobilepromo.android", ""); user_pref("identity.mobilepromo.ios", ""); user_pref("identity.sendtabpromo.url", ""); user_pref("identity.sync.tokenserver.uri", ""); user_pref("lightweightThemes.getMoreURL", ""); user_pref("loop.facebook.fallbackUrl", ""); user_pref("loop.facebook.shareUrl", ""); user_pref("loop.feedback.baseUrl", ""); user_pref("loop.feedback.formURL", ""); user_pref("loop.feedback.manualFormURL", ""); user_pref("loop.gettingStarted.url", ""); user_pref("loop.learnMoreUrl", ""); user_pref("loop.legal.ToS_url", ""); user_pref("loop.legal.privacy_url", ""); user_pref("loop.linkClicker.url", ""); user_pref("loop.oauth.google.scope", ""); user_pref("loop.server", ""); user_pref("loop.support_url", ""); user_pref("media.decoder-doctor.new-issue-endpoint", ""); user_pref("media.gmp-manager.certs.1.commonName", ""); user_pref("media.gmp-manager.certs.2.commonName", ""); user_pref("media.gmp-manager.url", ""); user_pref("network.connectivity-service.IPv4.url", ""); user_pref("network.connectivity-service.IPv6.url", ""); // user_pref("network.trr.uri", ""); -- must be nonblank, see below user_pref("pfs.datasource.url", ""); user_pref("plugins.update.url", ""); user_pref("privacy.trackingprotection.introURL", ""); user_pref("readinglist.server", ""); user_pref("security.certerrors.mitm.priming.endpoint", ""); user_pref("security.ssl.errorReporting.url", ""); user_pref("services.settings.server", ""); user_pref("services.sync.declinedEngines", ""); user_pref("services.sync.fxa.privacyURL", ""); user_pref("services.sync.fxa.termsURL", ""); user_pref("services.sync.jpake.serverURL", ""); user_pref("services.sync.miscURL", ""); user_pref("services.sync.privacyURL", ""); user_pref("services.sync.serverURL", ""); user_pref("services.sync.statusURL", ""); user_pref("services.sync.syncKeyHelpURL", ""); user_pref("services.sync.termsURL", ""); user_pref("services.sync.tokenServerURI", ""); user_pref("services.sync.userURL", ""); user_pref("services.sync.addons.trustedSourceHostnames", ""); user_pref("signon.management.page.mobileAndroidURL", ""); user_pref("signon.management.page.mobileAppleURL", ""); user_pref("social.directories", ""); user_pref("social.shareDirectory", ""); user_pref("social.whitelist", ""); user_pref("startup.homepage_welcome_url", ""); user_pref("startup.homepage_welcome_url.additional", ""); user_pref("toolkit.coverage.endpoint.base", ""); user_pref("toolkit.crashreporter.infoURL", ""); user_pref("toolkit.telemetry.infoURL", ""); user_pref("toolkit.telemetry.server", ""); user_pref("webchannel.allowObject.urlWhitelist", ""); user_pref("webextensions.storage.sync.serverURL", ""); user_pref("xpinstall.signatures.devInfoURL", ""); / some json elements user_pref("browser.newtabpage.activity-stream.asrouter.providers.snippets", "{}"); user_pref("extensions.bootstrappedAddons", "{}"); user_pref("lightweightThemes.recommendedThemes", "[{}]"); user_pref("network.trr.resolvers", "[{}]"); // stuff observed on the new LUbuntu install, now harder to find as of. // Firefox 72 or so as about:config searching doesn't cover *value* user_pref("signon.management.page.breachAlertUrl", ""); user_pref("toolkit.datacollection.infoURL", ""); user_pref("extensions.getAddons.compatOverides.url", ""); user_pref("dom.push.serverURL", ""); user_pref("browser.chrome.errorReporter.infoURL", ""); // it was still going to incoming.telemetry.mozilla.org, try more suppression user_pref("browser.newtabpage.activity-stream.telemetry.structuredIngestion.endpoint", ""); user_pref("browser.newtabpage.activity-stream.telemetry.structuredIngestion", false); user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false); user_pref("browser.newtabpage.activity-stream.telemetry", false); user_pref("browser.ping-centre.telemetry", false); user_pref("security.certerrors.recordEventTelemetry", false); user_pref("security.identitypopup.recordEventTelemetry", false); user_pref("security.protectionspopup.recordEventTelemetry", false); user_pref("toolkit.telemetry.archive.enabled", false); user_pref("toolkit.telemetry.bhrPing.enabled", false); user_pref("toolkit.telemetry.firstShutdownPing.enabled", false); user_pref("toolkit.telemetry.newProfilePing.enabled", false); user_pref("toolkit.telemetry.reportingpolicy.firstRun", false); user_pref("toolkit.telemetry.shutdownPingSender.enabled", false); user_pref("toolkit.telemetry.updatePing.enabled", false); user_pref("toolkit.telemetry.unified", false); // even more stuff found on exhaustive visual search... user_pref("browser.discovery.sites", ""); user_pref("browser.newtabpage.activity-stream.discoverystream.endpoints", ""); user_pref("browser.newtabpage.activity-stream.default.sites", ""); user_pref("browser.tabs.remote.separatedMozillaDomains", ""); user_pref("devtools.remote.adb.extensionID", ""); user_pref("identity.fxaccounts.remote.pairing.uri", ""); user_pref("security.remote_settings.crlite_filters.signer", ""); user_pref("security.remote_settings.intermediates.signer", ""); user_pref("services.blocklist.addons.signer", ""); user_pref("services.blocklist.gfx.signer", ""); user_pref("services.blocklist.pinning.signer", ""); user_pref("services.blocklist.plugins.signer", ""); user_pref("services.settings.security.onecrl.signer", ""); // 210408: https://gist.github.com/nkkollaw/aa9b6c75a834329c71616aac31bee6b1 user_pref("browser.pocket.enabled", false); user_pref("extensions.pocket.enabled", false); user_pref("device.sensors.enabled", false); user_pref("browser.safebrowsing.enabled", false); user_pref("browser.safebrowsing.downloads.enabled", false); user_pref("browser.safebrowsing.malware.enabled", false); user_pref("browser.urlbar.speculativeConnect.enabled", false); user_pref("network.http.speculative-parallel-limit", 0); user_pref("privacy.trackingprotection.enabled", true); user_pref("network.http.sendRefererHeader", 0); // may not work if sending refer(r)er is turned off.. user_pref("network.http.referer.spoofSource", true); user_pref("network.captive-portal-service.enabled", false); // 211102: Updated for FF 91.x and possibly beyond! user_pref("extensions.webextensions.base-content-security-policy", ""); user_pref("extensions.webextensions.base-content-security-policy.v3", ""); user_pref("app.releaseNotesURL.aboutDialog", ""); user_pref("browser.contentblocking.report.endpoint_url", ""); user_pref("browser.contentblocking.report.mobile-android.url", ""); user_pref("browser.contentblocking.report.mobile-ios.url", ""); user_pref("browser.contentblocking.report.monitor.home_page_url", ""); user_pref("browser.contentblocking.report.monitor.preferences_url", ""); user_pref("browser.contentblocking.report.vpn-android.url", ""); user_pref("browser.contentblocking.report.vpn-ios.url", ""); user_pref("browser.contentblocking.report.vpn-promo.url", ""); user_pref("browser.contentblocking.report.vpn.url", ""); user_pref("browser.newtabpage.activity-stream.discoverystream.config", ""); user_pref("browser.newtabpage.activity-stream.discoverystream.endpointSpocsClear", ""); user_pref("browser.newtabpage.activity-stream.feeds.section.topstories.options", ""); user_pref("browser.newtabpage.pinned", "[{}]"); user_pref("browser.partnerlink.attributionURL", ""); user_pref("browser.privatebrowsing.vpnpromourl", ""); user_pref("browser.region.network.url", ""); user_pref("browser.topsites.contile.endpoint", ""); user_pref("captivedetect.canonicalContent", ""); user_pref("extensions.blocklist.addonItemURL", ""); user_pref("extensions.webextensions.base-content-security-policy", ""); user_pref("gecko.handlerService.schemes.mailto.0.uriTemplate", ""); user_pref("gecko.handlerService.schemes.mailto.1.uriTemplate", ""); user_pref("geo.provider.network.url", ""); user_pref("network.trr.default_provider_uri", ""); user_pref("network.trr.uri", " "); // user_pref("browser.contentblocking.report.vpn-promo.url", ""); user_pref("browser.contentblocking.report.vpn.url", ""); user_pref("browser.privatebrowsing.vpnpromourl", ""); // user_pref("dom.security.unexpected_system_load_telemetry_enabled", false); user_pref("network.trr.confirmation_telemetry_enabled", false); user_pref("privacy.trackingprotection.origin_telemetry.enabled", false); user_pref("security.app_menu.recordEventTelemetry", false); user_pref("security.certerrors.recordEventTelemetry", false); user_pref("security.identitypopup.recordEventTelemetry", false); user_pref("security.protectionspopup.recordEventTelemetry", false); user_pref("telemetry.origin_telemetry_test_mode.enabled", false); // *This* one is super-important: if you run through a filtering proxy and // expect FF to fail all connections if it isn't running, surprise! Newer // FF will now simply end-run around the "problem" and connect directly, // reflecting similar sneaky behavior in many mobile apps. Well, until // you zap this setting, which fortunately is still present: user_pref("network.proxy.failover_direct", false); // and other misc proxy-related stuff user_pref("network.http.altsvc.proxy_checks", false); user_pref("network.http.proxy.respect-be-conservative", false); user_pref("network.negotiate-auth.allow-proxies", false); user_pref("network.notify.checkForProxies", false); user_pref("network.proxy.enable_wpad_over_dhcp", false); user_pref("network.proxy.proxy_over_tls", false); user_pref("network.proxy.share_proxy_settings", false); user_pref("plugins.http_https_only", false); user_pref("browser.fixup.fallback-to-https", false); // misc other suspicious-looking "reporting" stuff user_pref("browser.contentblocking.report.lockwise.enabled", false); user_pref("browser.contentblocking.report.monitor.enabled", false); user_pref("browser.contentblocking.report.show_mobile_app", false); user_pref("browser.contentblocking.report.vpn.enabled", false); user_pref("browser.contentblocking.report.proxy.enabled", false); user_pref("browser.tabs.crashReporting.sendReport", false); user_pref("datareporting.policy.dataSubmissionEnabled", false); user_pref("dom.ipc.plugins.flash.subprocess.crashreporter.enabled", false); user_pref("dom.ipc.plugins.reportCrashURL", false); user_pref("dom.ipc.reportProcessHangs", false); user_pref("extensions.abuseReport.amWebAPI.enabled", false); user_pref("extensions.abuseReport.enabled", false); user_pref("security.xfocsp.errorReporting.enabled", false); user_pref("services.sync.prefs.sync.browser.crashReports.unsubmittedCheck.autoSubmit2", false); user_pref("svg.context-properties.content.allowed-domains", ""); user_pref("extensions.pocket.api", ""); user_pref("extensions.pocket.site", ""); user_pref("extensions.pocket.enabled", false); // user_pref("extensions.webextensions.uuids", "{}"); -- comes back anyways user_pref("extensions.webextensions.identity.redirectDomain", ""); // yet more crap, some from FF 91.3 analysis user_pref("dom.forms.autocomplete.formautofill", false); user_pref("extensions.formautofill.addresses.enabled", false); user_pref("extensions.formautofill.creditCards.enabled", false); user_pref("browser.newtabpage.activity-stream.feeds.section.topstories.options", "{}"); user_pref("browser.newtabpage.activity-stream.discoverystream.endpointSpocsClear", ""); user_pref("browser.newtabpage.activity-stream.feeds.sections", false); user_pref("browser.newtabpage.activity-stream.discoverystream.config", "{}"); user_pref("browser.newtabpage.activity-stream.showSponsored", false); user_pref("network.connectivity-service.enabled", false); user_pref("network.notify.IPv6", false); user_pref("network.dns.disableIPv6", true); user_pref("app.update.auto", false); user_pref("app.update.checkInstallTime", false); // ff 91 onward, still being added to user_pref("browser.topsites.useRemoteSetting", false); user_pref("remote.prefs.recommended", false);