wBlock 是一款专为 macOS、iOS 和 iPadOS 设计的开源 Safari 浏览器内容拦截插件,专注于通过声明式规则实现广告、跟踪器和恶意脚本的高效阻断。该项目由开发者 0xCUB3 维护,采用 GPL-3.0 许可证开源发布。

核心功能

  • 高性能拦截:支持最高 750,000 条规则(每平台 5 个扩展,每个扩展 150,000 条规则),空闲时内存占用仅约 40 MB。
  • 高级内容修改:提供 Element Zapper(macOS 专属)和用户脚本引擎(支持 Greasemonkey API),可实现如绕过付费墙、恢复 YouTube dislike 计数等功能。
  • 多维度过滤:涵盖网络请求阻断、Cookie 与本地存储控制、CSS 注入、脚本拦截及弹窗重定向拦截。
  • 灵活配置:支持自动更新(间隔 1 小时至 7 天)、站点白名单、区域化过滤列表,并允许用户导入 AdGuard 语法规则的自定义列表。

技术实现
基于 Swift 5.9+ 开发,充分利用 async/await 和 Actor 并发模型,依赖 SafariServices 框架的声明式内容拦截 API。数据存储采用 Protocol Buffers 结合 LZ4 压缩算法,确保高效序列化与低存储占用。此外,集成 SwiftProtobuf、SafariConverterLib 和 AdGuard Scriptlets 等库,并遵循 WCAG 2.1 AA 可访问性标准。

源代码:https://github.com/0xCUB3/wBlock

Apple store:https://apps.apple.com/us/app/wblock/id6746388723