Modern browsers ship with an insane amount of bloatware.
You can point and click in the browser settings to disable most of it. Or, you can de-slop the browser by force using a policy file.
To get started, create a JSON file at the appropriate path for your distribution. Here’s a few that I’m aware of:
| Distribution | Browser | Path |
|---|---|---|
| FreeBSD | Chromium | /usr/local/etc/chromium/policies/managed/policies.json |
| FreeBSD | Firefox | /usr/local/lib/firefox/distribution/policies.json |
| Ubuntu | Chrome | /etc/opt/chrome/policies/managed/policies.json |
| Ubuntu | Chromium | /etc/chromium-browser/policies/managed/policies.json |
| Ubuntu | Firefox | /etc/firefox/policies/policies.json |
| RedHat | Chromium | /etc/chromium/policies/managed/policies.json |
| RedHat | Firefox | /etc/firefox/policies/policies.json |
Allegedly, these policies are also supported on Windows via Group Policy and MacOS using plist files.
I wouldn’t know, since I use a real operating system.
You should read the docs for each option to understand what it does. My configuration here does a few things:
{
"policies": {
"ExtensionSettings": {
"uBlock0@raymondhill.net": {
"install_url": "https://addons.mozilla.org/firefox/downloads/latest/ublock-origin/latest.xpi",
"installation_mode": "force_installed"
}
},
"3rdparty": {
"Extensions": {
"uBlock0@raymondhill.net": {
"toOverwrite": {
"filterLists": [
"user-filters",
"ublock-filters",
"ublock-badware",
"ublock-privacy",
"ublock-quick-fixes",
"ublock-unbreak",
"easylist",
"easyprivacy",
"adguard-spyware-url",
"urlhaus-1",
"plowe-0",
"fanboy-cookiemonster",
"ublock-cookies-easylist",
"fanboy-thirdparty_social",
"ublock-annoyances"
]
},
"toAdd": {
"trustedSiteDirectives": [
"intranet.example.com"
]
}
}
}
},
"UserMessaging": {
"WhatsNew": false,
"ExtensionRecommendations": false,
"UrlbarInterventions": false,
"SkipOnboarding": true
},
"OverridePostUpdatePage": "",
"OverrideFirstRunPage": "",
"EnableTrackingProtection": {
"Value": false,
"Cryptomining": false,
"Fingerprinting": false,
"Locked": false
},
"Cookies": {
"Behavior": "reject-tracker-and-partition-foreign",
"BehaviorPrivateBrowsing": "reject-tracker-and-partition-foreign"
},
"NoDefaultBookmarks": true,
"DisablePocket": true,
"DisableAppUpdate": true,
"CaptivePortal": false,
"Certificates": {
"Install": [
"/usr/local/share/certs/trusted/your-custom-root-ca.crt"
]
},
"DisableFeedbackCommands": true,
"DisableFirefoxAccounts": true,
"DisableFirefoxStudies": true,
"DisableTelemetry": true,
"DontCheckDefaultBrowser": true,
"OfferToSaveLoginsDefault": false,
"DNSOverHTTPS": {
"Enabled": false
},
"SearchSuggestEnabled": false,
"Homepage": {
"URL": "about:home",
"StartPage": "homepage"
},
"SearchEngines": {
"Add": [
{
"Name": "ddg",
"URLTemplate": "https://duckduckgo.com/?q={searchTerms}",
"Method": "GET",
"IconURL": "https://duckduckgo.com/favicon.ico",
"Alias": "ddg",
"Description": "DuckDuckGo",
"SuggestURLTemplate": "https://duckduckgo.com/ac/?q={searchTerms}&type=list"
}
],
"Default": "ddg"
},
"FirefoxHome": {
"Search": true,
"TopSites": false,
"SponsoredTopSites": false,
"Highlights": false,
"Pocket": false,
"SponsoredPocket": false,
"Snippets": false
},
"AIControls": {
"Default": {
"Value": "blocked",
"Locked": true
}
},
"ExtensionUpdate": true,
"Preferences": {
"dom.security.https_only_mode": {
"Value": true,
"Status": "locked"
},
"dom.push.connection.enabled": {
"Value": false,
"Status": "default"
},
"browser.urlbar.suggest.quicksuggest.nonsponsored": {
"Value": false,
"Status": "locked"
},
"browser.urlbar.suggest.quicksuggest.sponsored": {
"Value": false,
"Status": "locked"
},
"browser.toolbars.bookmarks.visibility": {
"Value": "newtab",
"Status": "default"
},
"browser.safebrowsing.malware.enabled": {
"Value": false,
"Status": "locked"
},
"browser.safebrowsing.phishing.enabled": {
"Value": false,
"Status": "locked"
},
"browser.safebrowsing.downloads.enabled": {
"Value": false,
"Status": "locked"
},
"browser.newtabpage.activity-stream.feeds.section.topstories": {
"Value": false,
"Status": "locked"
},
"browser.newtabpage.activity-stream.showSponsoredCheckboxes": {
"Value": false,
"Status": "locked"
},
"browser.newtabpage.activity-stream.widgets.system.weather.enabled": {
"Value": false,
"Status": "default"
},
"browser.urlbar.suggest.quicksuggest.all": {
"Value": false,
"Status": "locked"
},
"browser.tabs.groups.smart.userEnabled": {
"Value": false,
"Status": "default"
},
"signon.management.page.breach-alerts.enabled": {
"Value": false,
"Status": "locked"
},
"privacy.fingerprintingProtection.pbmode": {
"Value": false,
"Status": "default"
},
"signon.firefoxRelay.feature": {
"Value": "disabled",
"Status": "locked"
}
}
}
}
You should read the docs for these settings to make sure they’re right for you. My configuration here does a few things:
Unfortunately, Chrome does not support adding custom certificate authorities via the policy file anymore
(I resorted to some hacky automation
that adds the certificate to the user’s ~/.pki/nssdb on first login).
{
"AdvancedProtectionAllowed": false,
"AlternateErrorPagesEnabled": false,
"AutofillCreditCardEnabled": false,
"BackgroundModeEnabled": false,
"BlockThirdPartyCookies": true,
"BrowserGuestModeEnabled": false,
"BrowserLabsEnabled": false,
"BrowserNetworkTimeQueriesEnabled": false,
"BrowserSignin": 0,
"CloudPrintProxyEnabled": false,
"CloudReportingEnabled": false,
"DefaultBrowserSettingEnabled": false,
"DefaultCookiesSetting": 1,
"DnsOverHttpsMode": "off",
"EnableAuthNegotiatePort": true,
"EnableMediaRouter": false,
"MetricsReportingEnabled": false,
"NetworkPredictionOptions": 2,
"PasswordManagerEnabled": false,
"PaymentMethodQueryEnabled": false,
"PrivacySandboxAdMeasurementEnabled": false,
"PrivacySandboxAdTopicsEnabled": false,
"PrivacySandboxPromptEnabled": false,
"PrivacySandboxSiteEnabledAdsEnabled": false,
"PromotionalTabsEnabled": false,
"SafeBrowsingProtectionLevel": 0,
"SearchSuggestEnabled": false,
"SyncDisabled": true,
"TranslateEnabled": false,
"UrlKeyedAnonymizedDataCollectionEnabled": false,
"DefaultSearchProviderEnabled": true,
"DefaultSearchProviderName": "DuckDuckGo",
"DefaultSearchProviderImageURL": "https://duckduckgo.com/favicon.ico",
"DefaultSearchProviderEncodings": ["UTF-8"],
"DefaultSearchProviderSearchURL": "https://duckduckgo.com/?q={searchTerms}",
"DefaultSearchProviderSuggestURL": "https://duckduckgo.com/ac/?q={searchTerms}&type=list",
"DefaultSearchProviderNewTabURL": "https://duckduckgo.com/chrome_newtab",
"ExtensionSettings": {
"ddkjiahejlhfcafbddmgiahcphecmpfh": {
"installation_mode": "force_installed",
"update_url": "https://clients2.google.com/service/update2/crx"
}
},
"3rdparty": {
"extensions": {
"ddkjiahejlhfcafbddmgiahcphecmpfh": {
"disableFirstRunPage": true,
"defaultFiltering": "complete",
"noFiltering": [
"intranet.example.com"
],
"rulesets": [
"+default",
"+annoyances-cookies",
"+annoyances-notifications",
"+annoyances-others",
"+annoyances-overlays",
"+annoyances-social",
"+annoyances-widgets",
"+adguard-spyware-url"
]
}
}
}
}