欢迎回来
登录你的知识库账户
忘记密码?
还没有账户?立即注册
创建账户
注册你的专属知识库
已有账户?去登录
找回密码
输入注册邮箱获取验证码
返回登录
请输入图片中的验证码以继续注册
加载中...
取消
新建收藏
手动添加你喜欢的内容
取消
编辑头像与昵称
上传新头像或修改你的显示昵称
支持 JPG/PNG,最大 2MB
取消

问题反馈

notebasewww.notebase.cn
控制台
内容库
动态
管理
账户
U
用户
--
在线
v0.8.7 · 知识库
笔记
KnowledgeBase
网络无边,知识有迹。
0笔记
0工具
30推荐

分类导航

按主题直达

编辑精选

站内用户贡献 · 真实笔记

最新收录

每日更新
继续浏览全部内容 →
>
笔记
0
加载中...
工具
0
此页用于记录用户反馈问题后的每一次改进
笔记用法

“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。

md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。

要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。

工具用法

在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。

要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。

工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。

隐藏笔记

写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。

适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。

数据安全

你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。

技术

全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。

理念

这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。

原则

不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。

更多

产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。

举报

如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。

趋势
// 点击导航加载发现
归档
// 归档为空
最近浏览
// 暂无浏览记录
发布
// 加载中...
用户发布
// 加载中...
用户管理
// 加载中...
访问统计
// 加载中...
内容审核
// 加载中...
个人信息
// 加载中...
返回首页

uBlock Origin 开发版被 Chrome 商店拒绝:一场关于扩展单一用途政策的争议

1970/1/1编程开发

谷歌以违反单一用途政策为由拒绝 uBlock Origin 开发版更新,暴露了扩展商店审核政策的模糊性与对开源项目的潜在压制。

2024 年 12 月,知名内容拦截扩展 uBlock Origin 的开发版(1.22.5rc1)在提交 Chrome 网上应用商店审核时被拒绝。开发者 Raymond Hill(网名 gorhill)在 GitHub 上公开了谷歌的拒信,引发了开发者社区的广泛讨论。这并非个例,而是长期存在于 Chrome 扩展生态中的政策执行问题的一个缩影。

背景:什么是 uBlock Origin?

uBlock Origin 是一款开源、轻量级的广告拦截与内容过滤扩展,由 Raymond Hill 独立开发。与许多同类扩展不同,它不依赖第三方过滤列表,而是让用户自行选择过滤规则,并以极低的 CPU 和内存占用著称。它同时支持 Manifest V2 和(后来的)Manifest V3 版本,但后者功能受限。该项目在 GitHub 上有超过 1.1 万星标,是隐私保护领域的重要工具。

事件经过

2024 年 10 月 7 日,gorhill 收到谷歌的邮件,告知其开发版扩展“uBlock Origin development build”(ID: cgbcahbpdhpcegmbfconppldiemgcoii)因违反“单一用途”政策(Single Purpose Policy)而被移除。邮件引述的政策原文是:

“扩展程序应当具有让用户明确的单一用途。不要创建需要用户接受不相关功能捆绑的扩展,例如一个邮件通知器和一个新闻聚合器。如果两个功能明显分离,则应放入两个不同的扩展中,并确保用户能分别安装和卸载。”

谷歌要求开发者修改扩展以合规,然后重新提交,并通过严格的审核后才能重新上线。邮件还警告说,重复或严重违规可能导致开发者账户被封禁。

争议焦点:uBlock Origin 到底哪里违反了政策?

gorhill 在 issue 中直接表达了困惑:他上传的 rc1 版本与之前的 rc0 版本几乎没有实质差异(rc0 仍然可用),唯一的改动是一些代码清理和 bug 修复。他猜测可能是扩展里包含了多个功能模块(如防火墙、资源拦截器、自定义规则、妆容过滤器等),但谷歌认为这些应拆分为独立扩展。然而,uBlock Origin 的核心目的是内容拦截,所有附加功能(例如阻止跟踪器、隐藏 cookie 警告、加速页面渲染)都围绕着这个单一目的展开。

谷歌的审核逻辑似乎将所有能独立完成的任务视为“不相关功能”,例如“阻止网页元素”和“阻止弹出窗口”可能被视为两个不同功能,尽管它们都属于内容过滤的范畴。但 uBlock Origin 的设计哲学是提供一个统一的界面,让用户精细控制所有过滤操作,这并不符合谷歌机械化的分类。

谷歌的政策与执行矛盾

谷歌的“单一用途”政策自 2017 年起实施,初衷是防止扩展捆绑过多无用功能,占用户资源或推送广告。然而,在实际执行中,该政策常常被用于打击隐私工具或与谷歌商业利益冲突的扩展(例如,拦截 YouTube 广告的扩展多次被下架)。uBlock Origin 没有内嵌广告或恶意代码,完全开源,被拒绝很可能政策误判,或因谷歌的自动审核系统无法理解扩展的单一目的。

此外,谷歌在拒绝时并未明确指出具体违反的细节,使得开发者难以整改。正如 gorhill 所说:“如果我不知道哪里违反,我怎么能修复它?”这种不透明性严重阻碍了开源项目的维护。

开发者与社区的回应

gorhill 在 issue 中附上了 rc0 与 rc1 的差异链接,并讽刺地指出:“也许他们只是随机拒绝了一个构建以维持警觉性。”社区中的开发者纷纷建议:改用 Firefox 或 Safari 平台版本、将稳定版与开发版合并、或干脆放弃 Chrome 商店,改为侧载分发。但侧载安装对于普通用户并不友好(需要打开开发者模式),还可能触发“Chrome 禁用未知扩展”的安全警告。

有人指出,谷歌的审核团队可能错把 uBlock Origin 的“高级用户模式”(advanced user mode)当成附加功能,该模式提供了更细致的规则编辑界面,但从未在标准模式中展示。无论如何,这种“一刀切”的政策执行对整个开源生态构成了威胁:许多项目不仅是一个功能,而是一个平台(例如,Tampermonkey 用户脚本管理器,允许执行任意脚本,肯定也不符合单一用途,但它至今未被下架,因为它是谷歌推荐过的扩展)。

结局与更广泛的启示

截至 issue 关闭,gorhill 并未提交修订版,但扩展的稳定版(1.22.4)仍在商店中。这次事件后,谷歌没有公开解释具体原因。实际上,类似的拒绝事件在 2020 年也曾发生过,当时 uBlock Origin 的更新被延迟了几周,最终被批准但未给明确原委。

这引发了更深层次的思考:当平台所有者掌握着分发渠道时,开源软件的发展就会受到商业政策的牵制。尤其当扩展涉及广告拦截或隐私保护时,这种冲突尤为明显。虽然谷歌声称“扩展质量政策”是为了保护用户体验,但在实践中,它可能成为打击不受欢迎扩展的工具。对于开发者而言,他们只能依赖平台的善意,而平台方则享有不受约束的否决权。

技术背景补充:Manifest V3 与 uBlock Origin 的未来

需要注意的是,此次事件发生在 Chrome 全面推行 Manifest V3 的背景下。Manifest V3 削弱了 background pages 的持久性,限制了网络请求拦截能力(webRequest 被替换为 declarativeNetRequest,后者规则数量有限)。uBlock Origin 的长期可行性因此受到影响(虽然 1.22 版本仍基于 MV2,但 Chrome 正逐步停止对 MV2 的支持)。许多开发者认为,谷歌通过 MV3 政策,实质上限制了内容拦截类扩展的发展,而本次拒绝可能只是 MV2 到 MV3 过渡期的一个插曲。

总结

本次 uBlock Origin 开发版被拒事件,暴露了Chrome 扩展商店审核边界的模糊性,以及开源项目在商业平台下运行的风险。它提醒所有依赖分发平台的开发者:你的项目的存在并非理所当然,请关注跨平台分发(如 Firefox add-ons、Safari Web Extensions),并考虑自托管或侧载渠道作为备选。同时,用户也应当理解,自由软件的自由离不开分发渠道的开放与公正。

原文链接:https://github.com/uBlockOrigin/uBlock-issues/issues/745

编写使用方法
Markdown 格式 · Ctrl+Enter 确定
新建笔记
预览
数据表格
点击单元格编辑 · Tab 移动
A1fx
Sheet1
BIH1H2≡🔗</>
隐私提醒

取消
编辑工具
取消