uBlock Origin版本迭代历史:重要功能更新与bug修复回顾
uBlock Origin(uBO)作为一款高效、轻量级的宽频内容阻止程序,其版本迭代始终围绕着提升过滤效率、增强用户体验和修复安全漏洞展开。本文将回顾uBlock Origin近年来的重要版本更新,剖析关键功能演进与核心修复内容,帮助用户了解这款工具的发展脉络和技术亮点。
2024年重要版本更新(1.56.0-1.66.4)
1.66.x系列:脚本let增强与过滤规则优化
1.66.4版本重点修复了潜在的无限循环问题,当扫描$锚点时可能触发的死循环被彻底解决。同时允许对replace=选项使用通用例外,提升了过滤规则的灵活性。1.66.0版本则引入了多项重大改进,包括:
- 新增实验性过滤器列表,为高级用户提供更灵活的规则定制能力
- 改进
fingerprint2.js和google-ima脚本垫片,增强隐私保护能力 - 移除"AdGuard Tracking Protection"等冗余过滤列表,优化默认配置
核心代码变更可参考src/js/scriptlet-filtering.js中的脚本let管理模块,以及src/js/static-filtering-parser.js中的过滤规则解析逻辑。
1.65.0:JSON编辑功能与网络过滤增强
2024年中期发布的1.65.0版本带来了多项重要功能:
- 新增
json-edit相关脚本let,支持对JSON响应进行精细修改 - 为网络过滤选项添加
message参数,提升拦截反馈的可读性 - 改进
remove-cookie和trusted-set-cookie脚本let,强化Cookie管理能力 - 修复反向查找过滤列表时的失效问题,提升规则管理效率
该版本的JSONPath功能扩展允许选择根节点进行追加和修改操作,相关实现位于src/js/jsonpath.js文件中。同时,header=语法与DNR规则的兼容性改进,确保了在Manifest V3环境下的规则正确解析。
1.64.0:安全增强与用户界面优化
1.64.0版本重点关注安全性和用户体验:
- 仅从"可信"服务器获取差异补丁,降低供应链攻击风险
- 改进弹窗拦截逻辑,排除
chrome:协议作为有效打开器 - 新增
trusted-create-html脚本let,安全处理动态HTML创建 - 采用自定义空白页面作为仪表板嵌入式iframe,减少第三方依赖
用户界面方面,该版本将zapper外观与uBO Lite统一,并使用color-scheme元标签优化主题适配,相关样式定义位于src/css/dashboard.css中。
2023年关键版本演进(1.56.0-1.63.2)
1.60.0:URL跳转控制与网络安全强化
1.60.0版本引入了革命性的urlskip=网络过滤选项,允许用户配置URL跳转规则,有效防范恶意重定向。同时新增ipaddress=选项,支持按IP地址范围过滤请求,增强局域网和回环地址的保护能力。
该版本还改进了CNAME解 Cloaking 代码,相关实现位于src/js/redirect-engine.js。安全增强方面,添加了对AdGuard的[$domain=/.../]正则修饰符的支持,提升规则兼容性。
1.57.0:缓存系统重构与移动体验优化
1.57.0版本对缓存存储系统进行了彻底重构,解决了托管用户过滤器的缓存管理问题。移动体验方面,该版本:
- 移除移动设备上默认禁用通用 cosmetic 过滤器的限制
- 修复移动设备上"我的过滤器"面板的显示问题
- 添加高级设置强制弹窗面板方向,适应不同屏幕尺寸
过滤器管理界面的改进包括在"Filter lists"面板中添加"Social widgets"和"Cookie notices"分类,相关UI代码位于src/3p-filters.html和src/css/3p-filters.css。
长期演进趋势分析
脚本let系统的持续强化
从1.56.0到1.66.4的版本迭代中,uBlock Origin的脚本let系统经历了显著扩展。新增的trusted-*系列脚本let(如trusted-prevent-dom-bypass、trusted-override-element-method)提供了更精细的页面干预能力,同时通过严格的信任机制确保安全性。
完整的脚本let列表可在src/js/scriptlets/目录中查看,每个脚本都有独立的实现文件,如src/js/scriptlets/json-prune-fetch-response.js。
Manifest V3兼容性适配
随着浏览器扩展生态向Manifest V3迁移,uBlock Origin在多个版本中逐步增强了兼容性:
- 1.66.0中改进
uritransform=与DNR语法的兼容性 - 1.65.0使
header=语法兼容DNR规则 - 1.64.0优化动态注册脚本let的竞争条件处理
- 专用的MV3构建流程位于platform/mv3/目录
这些变更确保了uBlock Origin在新扩展架构下仍能提供强大的过滤能力,相关适配代码可参考src/js/static-dnr-filtering.js。
版本更新建议与最佳实践
对于普通用户,建议保持自动更新以获取最新安全修复。高级用户可关注以下更新渠道:
- 官方变更日志:CHANGELOG.md
- 实验性过滤器列表:在1.66.0中新增,可在设置中启用
- 脚本let文档:src/js/scriptlets/README.md
在规则编写方面,推荐使用最新版uBlock Origin支持的urlskip=和ipaddress=等选项,结合src/js/urlskip.js中的实现逻辑,构建更精确的过滤规则。同时,利用1.65.0引入的message选项,可以为拦截规则添加自定义提示信息,提升调试效率。
uBlock Origin的版本迭代始终坚持高效、轻量的核心设计理念,每个版本的变更都围绕着"更智能的过滤,更少的资源占用"这一目标。通过持续优化算法和改进规则引擎,uBlock Origin在保持高性能的同时,不断扩展其功能边界,为用户提供更安全、更干净的网络体验。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考



