ungoogled-chromium
一种轻量级的移除Google网络服务依赖的方法
欢迎提供帮助! 更多信息请参见docs/contributing.md文档。
目标
按重要性降序排列(即最重要的目标排在最前):
- ungoogled-chromium是Google Chromium,但移除了对Google网络服务的依赖。
- ungoogled-chromium尽可能保留默认的Chromium体验。与其他有自己浏览器愿景的Chromium分支不同,ungoogled-chromium本质上是Chromium的替代品。
- ungoogled-chromium具有增强隐私、控制和透明度的调整功能。但是,几乎所有这些功能都必须手动激活或启用。更多详情,请参见功能概述。
在目标发生冲突的情况下,应优先考虑更重要的目标。
内容概述
动机和理念
在不登录Google账户的情况下,Chromium在安全性和隐私性方面表现相当不错。但是,Chromium仍然对Google网络服务和二进制文件有一些依赖。此外,Google设计Chromium时注重用户的易用性和直观性,这意味着他们在内部操作的透明度和控制方面做出了妥协。
ungoogled-chromium通过以下方式解决这些问题:
- 在构建和运行浏览器时,移除所有剩余的对任何网络服务的后台请求
- 移除所有特定于Google网络服务的代码
- 从源代码中移除所有预制二进制文件的使用,并在可能的情况下用用户提供的替代方案替换它们
- 禁用阻碍控制和透明度的功能,并添加或修改促进这些功能的特性(这些更改几乎总是需要手动激活或启用)
这些功能以配置标志、补丁和自定义脚本的形式实现。更多详情,请参阅设计文档。
功能概述
本节概述了ungoogled-chromium的功能。要获取更详细的信息,最好查阅源代码。
本节内容:
主要功能
这些是ungoogled-chromium引入的核心功能。
- 禁用特定于Google域名的功能(如Google主机检测器、Google URL跟踪器、Google云消息、Google热词等)
- 在运行时阻止对Google的内部请求。这个功能是对上述功能的一个保障措施,以防Google更改或引入我们的补丁没有禁用的新组件。这个功能是通过在源代码中将许多Google网络域名替换为以
qjz9zk
结尾的不存在的替代域名来实现的(称为域名替换;详见docs/design.md),然后修改Chromium以阻止其自身对这些域名的请求。换句话说,不会尝试连接到qjz9zk
域名。 - 从源代码中剥离二进制文件(称为二进制修剪;详见docs/design.md)
增强功能
这些是ungoogled-chromium引入的非核心功能。
- 添加许多新的命令行开关和
chrome://flags
条目来配置新功能(默认禁用)。完整列表请参见docs/flags.md。 - 在搜索引擎编辑器(
chrome://settings/searchEngines
)中添加建议URL文本字段,用于自定义搜索引擎建议。 - 增加允许保存页面的URL方案。
- 添加Omnibox搜索提供商"无搜索"以允许禁用搜索
- 为Chromium添加自定义的跨平台构建配置和打包包装器。目前支持多个Linux发行版、macOS和Windows。(详见docs/design.md中的系统说明。)
- 强制所有弹出窗口转为标签页
- 禁用Omnibox中的URL自动格式化(如去除
http://
、隐藏某些参数) - 禁用内部网重定向检测器(额外的DNS请求)
- 这会破坏网络认证门户检测,但网络认证门户仍然可以正常工作。
- (Iridium浏览器功能变更)阻止带有
trk:
方案的URL连接到互联网- 同时阻止任何带有顶级域名
qjz9zk
(用于域名替换)的URL尝试连接。
- 同时阻止任何带有顶级域名
- (Windows特定)不为下载的文件设置区域标识符
借鉴功能
除了ungoogled-chromium引入的功能外,ungoogled-chromium还有选择地借鉴了以下项目的许多功能(按重要性大致排序):
支持的平台和发行版
其他平台在本仓库的问题跟踪器中讨论和跟踪。要了解更多关于使用问题跟踪器的信息,请参阅贡献、报告、联系部分。
下载
自动化或维护的构建
ungoogled-chromium可在以下软件仓库中获得:
- Arch: 可在AUR和OBS中获得,请参阅ungoogled-chromium-archlinux中的说明
- Debian和Ubuntu: 可在OBS中获得,在安装部分查找特定发行版的说明
- Fedora: 可在COPR中获得,名为
wojnilowicz/ungoogled-chromium
。也可在RPM Fusion中获得,名为chromium-browser-privacy
(已过时)。 - Gentoo: 可在
::pf4public
覆盖层中获得,作为ungoogled-chromium
和ungoogled-chromium-bin
ebuilds - OpenMandriva将ungoogled-chromium作为其主要浏览器。
chromium
包包含所有ungoogling补丁。 - macOS: 可在Homebrew中获得,名为
eloston-chromium
。只需运行brew install --cask eloston-chromium
。Chromium将出现在您的/Applications
目录中。
如果您的GNU/Linux发行版未列出,可以通过以下包管理器获得与发行版无关的构建:
- Flatpak:可在 Flathub 仓库中获取,包名为
io.github.ungoogled_software.ungoogled_chromium
- GNU Guix:可用包名
ungoogled-chromium
获取 - NixOS/nixpks:可用包名
ungoogled-chromium
获取
第三方二进制文件
如果您的操作系统未在上面列出,您也可以尝试从这里下载二进制文件
注意:这些二进制文件由愿意构建和提交的任何人提供。由于这些二进制文件不一定是可重现的,因此无法保证其真实性;换句话说,这些二进制文件可能被篡改的概率始终不为零。如果您不幸遇到这种情况,请在新问题中报告。
这些二进制文件被称为贡献者二进制文件。
源代码
此仓库仅包含所有平台的通用代码;它不包含构建 ungoogled-chromium 所需的所有配置和脚本。大多数用户会想使用特定平台的仓库,在那里提供了针对特定平台的所有剩余配置和脚本:
如果您希望在自己的构建过程中包含 ungoogled-chromium 代码,请考虑使用此仓库中的标签。这些标签遵循 {chromium_version}-{revision}
格式,其中
chromium_version
是所使用的 Chromium 版本,采用x.x.x.x
格式,revision
是一个数字,表示相应 Chromium 版本的 ungoogled-chromium 版本。
此外,大多数特定平台的仓库在此基础上扩展了他们的标签方案。
构建源代码:参见 docs/building.md
镜像
镜像列表:
常见问题
构建说明
设计文档
贡献、报告、联系
- 关于报告和联系,请参阅 SUPPORT.md
- 如果您愿意提供帮助,请查看问题跟踪器,特别是需要帮助的问题
- 关于贡献(例如如何帮助、提交更改、新功能的标准),请参阅 docs/contributing.md
- 如果您有一些不符合我们标准的小贡献,请考虑将它们添加到 ungoogled-software/contrib 或我们的 Wiki。
致谢
- The Chromium Project
- Inox patchset
- Debian
- Bromite
- Iridium Browser
- 用户们进行测试和调试,贡献代码,提供反馈,或以某种方式使用 ungoogled-chromium。
相关项目
已知从 ungoogled-chromium 分叉或使用其更改的项目列表:
- Bromite(借鉴了一些补丁。提供 Android 版本的构建)
- ppc64le 分叉(为 ppc64le CPU 构建的分叉版本)
许可证
BSD-3-clause。参见 LICENSE