ungoogled-chromium 默认设置详解:14 项出厂默认值的变更与底层补丁实现 📅 发布时间:2026/9/19 17:02:17 👁 浏览次数: ungoogled-chromium 默认设置详解14 项出厂默认值的变更与底层补丁实现【免费下载链接】ungoogled-chromiumGoogle Chromium, sans integration with Google项目地址: https://gitcode.com/gh_mirrors/un/ungoogled-chromiumungoogled-chromium 在构建时对 Chromium 的部分出厂默认值做了有意的调整主要集中在隐私与网络行为方面这些调整通过 docs/default_settings.md 以列表形式完整记录。本文逐条解读这 14 项默认设置变更的所在位置、作用机制并深入仓库补丁源码说明每一项背后的具体实现文件与可回退方式帮助你在安装后理解、验证并自定义这些行为。变更总览14 项默认设置一览原文档给出的完整对照表如下Location 列指明了在chrome://settings下的对应设置页NA表示没有对应的设置界面只能通过开关或行为观察| Setting | New State | Location | |-- | -- | -- | | Allow sites to check if you have payment methods saved | Disabled | chrome://settings/payments | | Ask where to save each file before downloading | Enabled | chrome://settings/downloads | | Auto sign-in | Disabled | chrome://settings/passwords | | Block third-party cookies | Enabled | chrome://settings/cookies | | Continue running background apps when Chromium is closed | Disabled | chrome://settings/system | | Hyperlink auditing (a ping) | Disabled | NA | | Link Doctor | Disabled | NA | | Offer to save passwords | Disabled | chrome://settings/passwords | | Payment autofill | Disabled | chrome://settings/payments | | Preload pages | Disabled | chrome://settings/performance | | Search suggestions | Disabled | chrome://settings/syncSetup | | Show bookmark bar | Enabled | chrome://settings/appearance | | Third-party sign-in | Disabled |--enable-featuresFedCm| | WebRTC IP handling policy | Disable Non-Proxied UDP |--webrtc-ip-handling-policy|从表中可以读出两个规律绝大多数是关闭动作保存密码、自动填充支付、第三方 Cookie、预加载等默认开启的能力被关闭只有下载前询问保存位置和显示书签栏两项被默认打开——前者是安全行为后者是 UI 可用性行为。只有少数项没有设置页入口Hyperlink auditing、Link Doctor它们通过命令行开关或行为差异体现表中给出的命令行如--enable-featuresFedCm、--webrtc-ip-handling-policy就是覆盖这些默认值的手段。需要说明的是这些变更来自标记为extra的补丁集。按 docs/design.md 的分类extra补丁是关于控制与透明度的功能变更不保证在 Chromium 版本升级后持续存在因此这些默认值属于 ungoogled-chromium 的可演进行为层而非核心构建依赖。密码与自动填充四项默认关闭的凭据相关设置表格中chrome://settings/passwords与chrome://settings/payments涉及的四项——Auto sign-in、Offer to save passwords、Allow sites to check if you have payment methods saved、Payment autofill——在源码中对应密码管理器和自动填充模块的偏好注册默认值。以仓库中体现这类改动的补丁 patches/extra/inox-patchset/0006-modify-default-prefs.patch 为例可以看到典型的实现模式// components/password_manager/core/browser/password_manager.cc void PasswordManager::RegisterProfilePrefs( user_prefs::PrefRegistrySyncable* registry) { registry-RegisterBooleanPref( - prefs::kCredentialsEnableService, true, // Offer to save passwords prefs::kCredentialsEnableService, false, user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); registry-RegisterBooleanPref( - prefs::kCredentialsEnableAutosignin, true, // Auto sign-in prefs::kCredentialsEnableAutosignin, false, user_prefs::PrefRegistrySyncable::SYNCABLE_PRIORITY_PREF); ...// components/autofill/core/common/autofill_prefs.cc - kAutofillProfileEnabled, true, // 自动填充资料 kAutofillProfileEnabled, false, - kAutofillCreditCardEnabled, true, // Payment autofill kAutofillCreditCardEnabled, false,// components/payments/core/payment_prefs.cc registry-RegisterBooleanPref( - kCanMakePaymentEnabled, true, // 站点可检查是否有已保存支付方式 kCanMakePaymentEnabled, false, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);值得注意的技术细节这些偏好都带SYNCABLE_PREF属性即它们属于同步域syncable prefs的一部分。这解释了为什么表中 Search suggestions 的 Location 是chrome://settings/syncSetup——搜索建议开关本身就是同步域偏好在设置页中归属到同步相关区域。这类偏好默认值的改动还有一个连带效果当 Safe Browsing 等依赖模块被移除后一些原本引用相关偏好的代码路径会失效仓库中的 patches/core/ungoogled-chromium/remove-unused-preferences-fields.patch 就负责清理这些成为死字段的偏好该补丁中大量出现kSearchSuggestEnabled、kCredentialsEnableService、kCanMakePaymentEnabled、kCookieControlsMode等字段的引用处理保证偏好注册表与实际功能一致。第三方 Cookie 与预加载网络层默认值Block third-party cookies一项对应 Cookie 控制模式偏好。默认值修改将模式从仅无痕模式生效切换为屏蔽第三方 Cookie// components/content_settings/core/browser/cookie_settings.cc registry-RegisterIntegerPref( prefs::kCookieControlsMode, - static_castint(CookieControlsMode::kIncognitoOnly), static_castint(CookieControlsMode::kBlockThirdParty), user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);该模式在chrome://settings/cookies中可见用户可自行切回。Preload pages页面预加载即网络预测的改动更为底层——它不是改一个布尔值而是改变了网络预测选项枚举的默认项// chrome/browser/preloading/preloading_prefs.h enum class NetworkPredictionOptions { kWifiOnlyDeprecated 1, kDisabled 2, kExtended 3, - kDefault kWifiOnlyDeprecated, kDefault kDisabled, };从源码结构看将kDefault从kWifiOnlyDeprecated重指向kDisabled意味着所有未显式设置的配置文件一律落入禁用预测分支chrome://settings/performance中的 Preload pages 开关因此默认呈现关闭状态。Continue running background apps对应托管应用的后台模式偏好// chrome/browser/background/extensions/background_mode_manager.cc - registry-RegisterBooleanPref(prefs::kBackgroundModeEnabled, true); registry-RegisterBooleanPref(prefs::kBackgroundModeEnabled, false);关闭后关闭浏览器窗口即终止托管应用PWA/扩展的后台运行对应设置页chrome://settings/system。下载行为默认询问保存位置Ask where to save each file before downloading是表中少数被开启的项之一其实现是下载偏好kPromptForDownload的默认值翻转。仓库中的 patches/extra/iridium-browser/prefs-always-prompt-for-download-directory-by-defaul.patch 完整呈现了这一改动及其动机// chrome/browser/download/download_prefs.cc registry-RegisterBooleanPref( prefs::kPromptForDownload, - false, true, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);补丁说明文字补丁头部分解释了设计意图当浏览器将某链接判定为文件下载并直接落盘时视觉反馈极小用户往往需要再打开文件管理器才能发现并移动文件——因此不要让文件轻易溜上磁盘。该设置位于chrome://settings/downloads可随时关闭。网络跟踪信号Hyperlink auditing、Link Doctor 与搜索建议表中三项 Location 为NA或同步页的设置中Hyperlink auditing (a ping)修改kEnableHyperlinkAuditing注册默认值为false见 0006-modify-default-prefs.patch 中chrome_content_browser_client.cc段// chrome/browser/chrome_content_browser_client.cc - registry-RegisterBooleanPref(prefs::kEnableHyperlinkAuditing, true); registry-RegisterBooleanPref(prefs::kEnableHyperlinkAuditing, false);由于没有设置页入口表中给出的观察方式是命令行开关。仓库的 docs/flags.md 在全平台可用开关中列出了对应的--no-pingsDont send hyperlink auditing pings即该行为可在全局层面显式控制。Search suggestionskSearchSuggestEnabled注册默认值由true改为falseProfile::RegisterProfilePrefs中。注意它与同步域的关联——该项是SYNCABLE_PREF因此文档将其 Location 指向chrome://settings/syncSetup。Link Doctor无对应的独立设置页属行为层默认关闭表中将其与 Hyperlink auditing 并列二者都是 Chromium 中容易被用户忽视的出站行为通道ungoogled-chromium 的取向是一并收紧。书签栏默认显示Show bookmark bar是唯一被默认打开的 UI 项对应书签组件的偏好// components/bookmarks/browser/bookmark_utils.cc registry-RegisterBooleanPref( - prefs::kShowBookmarkBar, false, prefs::kShowBookmarkBar, true, user_prefs::PrefRegistrySyncable::SYNCABLE_PREF);仓库中还为此配套了一个实验性标志patches/extra/ungoogled-chromium/add-flag-for-bookmark-bar-ntp.patch 在BookmarkBarController::ShouldShowBookmarkBar()中增加了bookmark-bar-ntp开关判断允许用户在chrome://flags中选择永不在新标签页显示书签栏bool BookmarkBarController::ShouldShowBookmarkBar() const { if (base::CommandLine::ForCurrentProcess()-GetSwitchValueASCII(bookmark-bar-ntp) never) { return false; }这说明该默认值虽有显示取向但保留了细粒度的用户控制通道。WebRTC IP 处理策略默认禁用非代理 UDPWebRTC IP handling policy一项的默认值是Disable Non-Proxied UDP实现在 patches/extra/ungoogled-chromium/default-webrtc-ip-handling-policy.patch// chrome/browser/ui/browser_ui_prefs.cc registry-RegisterStringPref(prefs::kWebRTCIPHandlingPolicy, - blink::kWebRTCIPHandlingDefault); blink::kWebRTCIPHandlingDisableNonProxiedUdp);kWebRTCIPHandlingPolicy是字符串型偏好取值对应 blink 层定义的一组枚举常量。默认值从标准处理切换为禁用非代理 UDP效果是 WebRTC 的 UDP 媒体流仅允许经由 ICE 中继relay/TURN传输不再直接使用主机/主机直连地址host/srflx candidate。这对降低本地网络拓扑与公网地址暴露、同时保证通话可用依赖 relay 的流仍可工作是一个折中点。覆盖方式有两条表中已给出命令行--webrtc-ip-handling-policy仓库另外补了一条 UI 通道patches/extra/ungoogled-chromium/add-flags-for-existing-switches.patch 把webrtc-ip-handling-policy注册为chrome://flags实验条目补丁中可见该键被多次加入 flags 元数据列表docs/flags.md中同时记载了该开关的语义Restrict which IP addresses and interfaces WebRTC uses。即启动参数与chrome://flags均可覆盖此默认值。第三方登录FedCM 默认关闭Third-party sign-in一项对应 Federated Credential ManagementFedCM特性。与前面修改偏好默认值不同这里修改的是特性开关Feature Flag的编译期默认状态实现在 patches/extra/ungoogled-chromium/disable-fedcm-by-default.patch// content/public/common/content_features.cc -BASE_FEATURE(kFedCm, base::FEATURE_ENABLED_BY_DEFAULT); BASE_FEATURE(kFedCm, base::FEATURE_DISABLED_BY_DEFAULT);由于改的是BASE_FEATURE宏的默认值覆盖方式不是改偏好而是运行时显式启用特性——这正是表中给出的--enable-featuresFedCm。这一项与前面的第三方 Cookie 屏蔽共同构成对跨站点凭据关联行为的收紧默认情况下站点无法通过 FedCM 关联用户在 IdP 侧的联邦登录记录。验证与回退这些默认值如何使用基于上述源码结构可以归纳出统一的验证与回退路径有设置页的项payments、downloads、passwords、cookies、system、performance、appearance、syncSetup安装后打开对应chrome://settings子页即可看到表中描述的默认状态并可直接切换回上游默认。无设置页的项Hyperlink auditing 可通过 docs/flags.md 列出的--no-pings开关观察/控制WebRTC 策略可通过启动参数--webrtc-ip-handling-policy或chrome://flags中的对应实验项由 add-flags-for-existing-switches.patch 注入覆盖FedCM 通过--enable-featuresFedCm显式开启。理解演进边界由于这些改动集中在extra补丁集见 patches/series 中extra/...条目的排布以及 docs/design.md 对 extra 类补丁的定义升级 Chromium 基线后个别默认值可能随之调整或迁移。若要精确定位某一项的实现可按本文给出的偏好名如kPromptForDownload、kCookieControlsMode、kWebRTCIPHandlingPolicy、kBackgroundModeEnabled在patches/目录下检索即可找到对应的RegisterBooleanPref/RegisterStringPref注册点。小结ungoogled-chromium 的默认设置调整覆盖面窄而意图明确凭据与自动填充能力密码保存/自动登录/支付自动填充/支付方式探测默认关闭、第三方 Cookie 默认屏蔽、出站信号通道a ping、Link Doctor、搜索建议默认静默、网络预测默认禁用、下载默认询问、WebRTC 默认禁用非代理 UDP、FedCM 默认关闭同时以书签栏默认显示和下载询问换取可用性与安全性的平衡。每项变更都能在仓库补丁中找到一处注册默认值翻转级别的精确实现既保留了上游的设置页入口供用户自行回退又通过chrome://flags与命令行开关提供第二控制通道——这种改默认值而非删功能的做法正是其extra补丁层控制与透明度定位的体现。【免费下载链接】ungoogled-chromiumGoogle Chromium, sans integration with Google项目地址: https://gitcode.com/gh_mirrors/un/ungoogled-chromium创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考