wBlock-适用于 Safari 的下一代广告拦截器。

当前只有iOS版,macOS版需要TestFlight。

https://apps.apple.com/app/wblock/id6746388723

GitHub 0xCUB3/wBlock: The next-generation ad blocker for Safari.

机翻简介

wBlock

wBlock

终结 Safari 广告屏蔽的扯淡


在 App Store 下载
加入 Discord

Version
Platform
License



wBlock Interface

适用于 macOS、iOS 和 iPadOS 的 Safari 内容屏蔽器,使用声明式内容屏蔽规则。
支持 5 个扩展共 750,000 条规则,使用 Protocol Buffer 存储和 LZ4 压缩。


特性

性能架构

  • 750,000 条规则容量,每平台使用 5 个 Safari 内容屏蔽扩展(每个 150k 条)
  • 空闲时约 40 MB 内存占用,通过 Safari 原生内容屏蔽 API
  • Protocol Buffers 序列化,结合 LZ4 压缩用于过滤器存储
  • 离线程 I/O 操作,使用流式序列化以最小化主线程阻塞
  • HTTP 条件请求(If-Modified-Since/ETag)用于高效过滤器更新检测

内容修改

  • 元素清除器(仅 macOS)生成持久 CSS 选择器用于手动元素移除
  • 用户脚本引擎,实现 Greasemonkey API(GM_getValue、GM_setValue、GM_xmlhttpRequest)
  • 自定义过滤列表导入,支持通过 URL 导入 AdGuard 语法屏蔽列表
  • 基于类别的过滤器组织,支持单列表切换和自动规则分配
  • 过滤列表验证,在 Safari 每扩展 150k 规则限制时自动禁用

屏蔽能力

  • 网络请求屏蔽,通过声明式内容屏蔽规则(广告、跟踪器)
  • Cookie 和本地存储过滤,通过 Safari 内容屏蔽器规则操作
  • CSS 注入,用于化妆性过滤和元素隐藏
  • 脚本屏蔽,用于阻止恶意和不需要的 JavaScript 执行
  • 弹窗和重定向阻止,使用 Safari 内容屏蔽模式

配置与管理

  • 可配置的自动更新间隔,从 1 小时到 7 天,支持后台刷新
  • 按站点屏蔽控制,通过 Safari 内容屏蔽器启用/禁用 API
  • 白名单管理,用于受信任域名,带有 Safari 扩展状态持久化
  • 区域过滤器支持,提供语言特定内容屏蔽的预设列表
  • 过滤器编译监控,实时规则计数和编译状态
  • 后台更新通知(可选),用于过滤列表刷新事件



截图


Filter Management

过滤器管理
按类别组织,支持单个列表切换
Settings

设置与自定义
配置自动更新、通知和偏好设置
iOS

iOS 界面
在 iPhone 和 iPad 上提供完整功能的屏蔽



下载


iOS

App Store


macOS

注意: App Store 发布目前被 Apple 阻止。公共 TestFlight 构建不可用。在应用审核完成前无可靠分发方式。




技术实现

核心架构

  • Protocol Buffers(libprotobuf)结合 LZ4 压缩用于过滤器序列化
  • 使用 Swift 并发(async/await、Task、Actor 隔离)的异步 I/O
  • 流式序列化到磁盘,最小化编译期间峰值内存使用
  • 每平台 5 个 Safari 内容屏蔽扩展(Safari API 最大容量)
  • SafariServices 框架集成,用于声明式内容屏蔽

依赖与标准

  • SafariConverterLib v4.0.4 用于 AdGuard 到 Safari 规则转换
  • AdGuard Scriptlets v2.2.9 用于高级屏蔽技术
  • Swift 5.9+,启用严格并发检查
  • WCAG 2.1 AA 合规,完整支持 VoiceOver 和 Dynamic Type
  • SwiftProtobuf 用于跨平台过滤器存储格式


支持开发

wBlock 是免费开源软件。财务贡献支持持续开发和维护:





常见问题

wBlock 与其他广告屏蔽器相比如何?
查看我们的 比较指南,对比 uBlock Origin Lite、AdGuard 和 Wipr。
我可以使用自己的过滤列表吗?
是的!wBlock 支持任何 AdGuard 兼容的过滤列表。在自定义过滤列表中添加 URL 即可。
wBlock 会拖慢 Safari 吗?
不会。wBlock 使用 Safari 原生声明式内容屏蔽 API,在独立进程中处理规则。空闲时内存开销约 40 MB,对页面加载时间无显著影响。
用户脚本在 iOS 上有效吗?
是的。用户脚本引擎通过 Safari Web Extensions 在 iOS 和 macOS 上实现 Greasemonkey API(GM_getValue、GM_setValue、GM_xmlhttpRequest、GM_addStyle)。
过滤器多久更新一次?
自动更新间隔可配置,从 1 小时到 7 天,或手动触发。更新使用 HTTP 条件请求(If-Modified-Since/ETag 头)以最小化带宽使用。
元素清除器在 iOS 上可用吗?
尚未支持。



鸣谢

@arjpar · @ameshkov · @shindgewongxj


Discord
Privacy
Issues


Star 历史

Star History Chart


0xCUB3 开发

1 个赞

哎呀我也发现了这个,还没试。

你觉得咋样

呃,为啥叫下一代啊,下一代在哪里呢?

Safari的选择并不多,我感觉比adguard强。还有个uBlock Origin Lite,但是uBlock Origin Lite的问题是不支持自定义订阅。说它是最强也不为过。

Safari在用1blocker,感觉比adg好一点,adg在macOS上太难用

1 个赞

界面UI都还不错。不过内网前端有去广告的服务器,等有空绕开测试看看

你们都是在哪下载的啊?美区跟中区的AppStore都搜索不到…

正文第二行,点一下(用浏览器打开,浏览器叫 Safari

1 个赞