Web開発
ブラウザの無駄を省く
Browser De-Slop (sacredheartsc.com)
要約
この記事では、現代のブラウザに搭載されている不要な機能(ブロートウェア)をポリシーファイルを使用して無効化し、ブラウザを最適化する方法を解説しています。FirefoxとChrome(Chromium)それぞれについて、無効化できる機能や設定例、およびその設定方法が具体的に示されています。
全文翻訳
現代のブラウザには、信じられないほど多くのブロートウェアが搭載されています。
ブラウザの設定でポチポチクリックするだけで、そのほとんどを無効化できます。
あるいは、ポリシーファイルを使って強制的にブラウザの無駄を省くこともできます。
ポリシーファイルの設定場所
まずは、お使いのディストリビューションに適したパスにJSONファイルを作成してください。
私が把握しているパスをいくつか紹介します。
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.json
これらのポリシーは、Windowsではグループポリシー、MacOSではplistファイルを通じてサポートされているとも言われています。
私は実用的なOSを使っているので、その点は分かりませんが。
Firefox
各オプションが何をするのかを理解するために、ドキュメントを読むべきです。
私の設定はいくつかのことを行います。
* すべての追加機能(Pocket、Relay、ホームページウィジェット)を無効化
* テレメトリを無効化
* AI関連のすべてを無効化
* uBlock Originをインストール・設定
* ネイティブのプライバシーおよびトラッキング防止機能を無効化
* DNS-over-HTTPSを無効化
* 初回起動時のキュートなメッセージを無効化
* 組み込みパスワードマネージャーを無効化(私はBitwardenを使用)
* デフォルトの検索エンジンをDuckDuckGoに設定
* 検索候補を無効化
```json
{
"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"
}
}
}
}
```
Chrome (Chromium)
これらの設定が適切かどうかを確認するために、ドキュメントを読むべきです。
私の設定はいくつかのことを行います。
* すべての追加機能(Chromecast、Google Cloud Printなど)を無効化
* テレメトリを無効化
* uBlock Origin Liteをインストール・設定
* ブラウザ同期とサインインを促すメッセージを無効化
* DNS-over-HTTPSを無効化
* 組み込みパスワードマネージャーを無効化(私はBitwardenを使用)
* デフォルトの検索エンジンをDuckDuckGoに設定
* 検索候補を無効化
残念ながら、Chromeはポリシーファイル経由でのカスタム証明書認証局の追加をサポートしなくなりました(私は初回ログイン時にユーザーの~/.pki/nssdbに証明書を追加するハック的な自動化に頼りました)。
```json
{
"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"
]
}
}
}
}