Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
wBlock — The next-generation ad blocker for Safari. Free and open source on macOS, iOS, iPadOS, and visionOS, with 750,000 rules, userscripts, userstyles, and an element zapper. | Kitploit
工具/GitHubGitHub/0xcub3/wblock
iOS SecurityScripting & AutomationWeb SecurityPrivacyAnti-Bot
GitHub0xcub3/wblock

wBlock

The next-generation ad blocker for Safari. Free and open source on macOS, iOS, iPadOS, and visionOS, with 750,000 rules, userscripts, userstyles, and an element zapper.

查看仓库
2.7k51214小时11分前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享
wBlock Logo

wBlock

Safari 广告拦截的终结者。


Download on the App Store

Version Platform License

Join Discord

Mentioned in Open-Source iOS Apps



wBlock Filters for macOS in light and dark appearances

适用于 macOS、iOS、iPadOS 和 visionOS 的 Safari 内容拦截器。
5 个扩展中共 750,000 条规则,Protocol Buffer 存储,LZ4 压缩,以及 iCloud 同步。


[!NOTE] 想了解详细对比? 请查看我的对比指南,了解 wBlock 与其他 Safari 内容拦截器的对比情况。


功能特性




截图





技术实现



支持开发

wBlock 是免费开源的。
如果您想支持该项目:


Donate Button



常见问题

wBlock 与其他广告拦截器相比如何?
请查看我们的对比指南,了解与 uBlock Origin Lite、Wipr 2 和 AdGuard Safari 应用的对比。
我应该从 App Store 还是 DMG/Homebrew 版本安装 wBlock?
App Store 版本通常更受推荐,因为它会自动处理应用更新。DMG/Homebrew 版本具有相同的功能,适合偏好从 App Store 之外安装的用户。
我应该将 wBlock 与其他广告拦截器一起使用吗?

不。请一次只使用一个通用内容拦截器。

目前没有受控研究证明每种广告拦截器组合都会损害每个页面。然而,浏览器架构和扩展文档支持避免重叠拦截器:

  • 扩展可能做出冲突的更改。Mozilla 文档指出,当两个扩展尝试对同一响应头进行冲突修改时,只有一个更改可能成功。因此,多个拦截器可能产生依赖顺序的行为,而不是其保护措施的可预测组合。请参阅 Mozilla 的 webRequest 文档。

  • 请求拦截具有可衡量的计算成本。Chromium 描述了与阻塞请求处理程序相关的序列化、进程间通信、常驻进程和扩展响应处理成本。运行冗余过滤系统会重复至少部分规则评估和页面处理工作。请参阅 Chromium 对 Web Request 和 Declarative Net Request 的解释以及 Chrome 的 Manifest V3 概述。

  • 主要拦截器维护者明确建议不要叠加使用。uBlock Origin 官方 README 声明:“不要将 uBO 与任何其他内容拦截器一起使用。”它解释说,另一个拦截器可能会阻止 uBO 的隐私或反拦截器破解功能正常工作。请参阅 uBlock Origin 的官方文档。

  • 已记录的故障模式包括加载变慢和功能损坏。AdGuard 警告说,两个拦截器可能竞争同一请求,导致页面加载变慢、网站损坏或视频播放问题。请参阅 AdGuard 的指南。

具体到 wBlock,另一个拦截器也会使故障排除变得不可能。当广告存活或网站损坏时,任一拦截器的网络规则、外观规则、scriptlet、例外或执行顺序都可能是原因。因此,第二个拦截器是一个混杂变量。在报告 wBlock 问题之前,请禁用所有其他内容拦截器。


Skill Issue

当两个工具在同一拦截层竞争时,安装冗余拦截器不是纵深防御。这是一个没有对照组的非受控实验。

我可以使用自己的过滤器列表吗?
可以。您可以通过 URL 添加任何 AdGuard 兼容的过滤器列表,直接粘贴规则,或从文件导入。
我应该启用更多过滤器列表以获得更好的拦截效果吗?
通常不需要。推荐的默认设置已经覆盖了大多数广告和跟踪器,而大多数其他通用列表与它们重叠。启用更多主要会消耗 Safari 的规则限制,并增加网站损坏的可能性。例外情况是烦人元素过滤器(Cookie 横幅、弹窗、社交小部件)和非英语网站的区域过滤器,这些覆盖了默认设置未涵盖的内容。
wBlock 会拖慢 Safari 吗?
正常使用下不会。wBlock 使用 Safari 的原生声明式内容拦截 API,该 API 在应用进程外应用编译后的规则。本地空闲检查约为 ~40 MB,页面加载保持在 Safari 的原生拦截器路径上。
用户脚本在 iOS 和 iPadOS 上可用吗?
可以。用户脚本引擎通过 Safari Web Extensions 在 iOS、iPadOS 和 macOS 上实现了常见的 Greasemonkey API(GM_getValue、GM_setValue、GM_xmlhttpRequest、GM_addStyle)。
如何拦截 Twitch 广告?
wBlock 捆绑了 AdGuard Extra 用户脚本,它可以通过与 Twitch 的 GraphQL API(gql.twitch.tv)通信来帮助拦截 Twitch 广告 — 这与 uBlock Origin 用户依赖的通用方法相同。它默认禁用,因此请为 Twitch 启用它:

1. 打开 wBlock 并转到 用户脚本 部分。
2. 在内置列表中找到 AdGuard Extra 并将其切换为开启。
3. 重新加载任何打开的 Twitch 标签页。

这是尽力而为的社区式广告拦截:Twitch 经常更改广告投放方式,因此它可能偶尔失效,直到用户脚本更新。不保证每个广告都会被移除。
什么是 Tube Cleaner 和 Player Cleaner?
它们是可选的远程下载用户脚本,灵感来自 Vinegar 和 Baking Soda,在网站现有的媒体元素上暴露 Safari 的原生控件。它们默认禁用;请在 用户脚本 部分启用它们。它们的版本托管在 wBlock-userscripts 中,不绑定 wBlock 应用版本。

Tube Cleaner 针对 YouTube 观看、Shorts 和 Music 页面。它将 /embed 和 youtube-nocookie 框架留给 YouTube 自己的播放器,这样这些 iframe 不会变空白。在观看页面上,它让 YouTube 创建并初始化自己的 <video> 和 SABR/MSE 流,然后应用原生控件并在 YouTube 自定义界面绘制前隐藏它。悬停播放缩略图预览保留给 YouTube,因此它们无法窃取观看播放器。重用相同的媒体元素保留了缓冲和自适应播放,同时恢复画中画和后台播放。它将 YouTube 章节和字幕镜像到 Safari 的原生媒体菜单中,并通过 SponsorBlock 的隐私保护哈希前缀 API 跳过已知片段。其紧凑的 SB 面板提供 SponsorBlock 风格的类别颜色和每类别自动跳过、显示跳过按钮或禁用行为,以及最短时长、撤销通知、当前视频和频道排除控件。可选的 DA 面板可以使用 DeArrow 替换观看页面和可见 YouTube 卡片上提交的标题和缩略图,悬停时恢复原始内容,或排除当前频道。结果在会话中缓存;随机回退缩略图、标题重新格式化、提交和投票仍然是完整 DeArrow 扩展的功能。SponsorBlock 和 DeArrow API 数据根据 CC BY-NC-SA 4.0 使用。SB 和 DA 位于画质和音频/视频控件下方的独立工具栏行中。在 iPhone 和 iPad 上,Safari 的原生控件拥有播放权,而紧凑工具栏出现在它们上方;移动端画质选择仅适用于当前视频,因此固定范围不会阻塞下一个 ManagedMediaSource 流。Tube Cleaner 还保留了 WebKit 对该流要求的远程播放限制,而纯音频仍然是 macOS 功能。它跟随活动播放器,因为 YouTube 保留屏幕外的 Shorts。广告仍由 wBlock 的内容拦截规则负责。

Player Cleaner 针对其他网站上的自定义播放器(video.js、JW Player、Plyr、Flowplayer、MediaElement、Clappr、Media Chrome/Mux 等),包括 shadow-root 播放器,如 Archive.org 的 <play-av>。它立即启用原生控件。当 light DOM 中有安全的直接源可用时,它会移除自定义界面,同时保留原始媒体元素;shadow 组件和不透明的 HLS/DASH/MSE 管道保持完整,并继续使用网站的流媒体机制。它恢复页面或常见播放器 API 暴露的字幕和章节辅助文件,填充缺失的系统 Now Playing 元数据和媒体键操作,并按站点记住播放速度、音量、静音状态、字幕语言和恢复位置。如果某个网站行为异常,可以从 wBlock 工具栏为该网站禁用 Player Cleaner。
我在哪里可以找到它们,可以用什么来测试?
两者默认禁用。打开 用户脚本 标签页:Tube Cleaner 和 Player Cleaner 位于 通用 部分的顶部。切换其中一个,然后重新加载要测试的页面。如果它们不在列表中,说明您运行的是此更改之前的 wBlock 构建 — 退出 wBlock 并从 Xcode 运行此分支(Homebrew 或发布版安装不能包含分支代码)。

Tube Cleaner(YouTube 观看页面):
• Big Buck Bunny — 时长较长,多种画质,适合测试画质菜单
• Sintel
• Tears of Steel
检查原生控件是否出现且没有 YouTube 界面的闪烁,画质和纯音频控件是否正常工作,当鼠标移到已悬停的播放器上时工具栏是否重新出现,画中画是否正常工作,以及音频是否在另一个标签页中继续播放。其他网站上嵌入的 YouTube iframe 应保留 YouTube 自己的播放器。DA 面板默认关闭;启用它以测试 DeArrow 标题、缩略图、悬停恢复原始内容行为和频道排除。广告行为取决于启用的 wBlock 过滤器列表。

Player Cleaner(其他网站的自定义播放器),每个支持的库一个演示:
• video.js / Media Chrome — videojs.org
• Plyr — plyr.io
• JW Player — stream tester 和 demo
• Archive.org shadow-root JW Player — FedFlix sample
• Clappr — clappr.io 和 cdn.clappr.io
• MediaElement — mediaelementjs.com
• hls.js — hls.js demo
• dash.js — DASH reference player
检查原生控件是否及时出现,画中画和全屏是否正常工作,以及自定义界面消失时播放是否不会重新开始。HLS/DASH/blob 播放器可以在使用原生控件的同时保留其流管道。如果某个网站行为异常,可以从 wBlock 工具栏为该网站禁用 Player Cleaner。
为什么 Cookie 横幅或脚本在隐私浏览中不起作用?
Safari 在隐私浏览中会关闭 Web 扩展,直到你为每个扩展启用 允许在隐私浏览中使用。Cookie 通知过滤器通常使用脚本(例如通过 Sourcepoint 的 heise.de)来关闭横幅,而这些脚本只能通过 wBlock Scripts 运行。

Safari → 设置 → 扩展 → 为 wBlock Scripts 和全部 5 个 wBlock 内容拦截器启用 允许在隐私浏览中使用,然后重新加载隐私窗口。

如果横幅在普通窗口中已经消失,那可能只是存储的同意 Cookie。清除该网站的 Cookie 并再次比较,然后再断定过滤器仅在隐私浏览中失效。
过滤器多久更新一次?
自动更新间隔可配置为 1 小时到 7 天,也可以手动触发。在 macOS 上,启用自动更新会注册一个捆绑的启动代理,该代理可以通过后台更新服务在应用关闭时持续检查更新。在 iOS 和 iPadOS 上,后台检查是尽力而为的,可能会等到系统唤醒 wBlock 或你重新打开它时才执行。打开 Safari 不会触发更新。当服务器支持时,更新使用 HTTP 条件请求(If-Modified-Since/ETag 头),这可以减少不必要的下载。
元素清除器在 iOS 和 iPadOS 上可用吗?
可以。在 Safari 中打开 wBlock 扩展弹出窗口,然后点击 激活元素清除器。



致谢

@arjpar · @ameshkov · @shindgew


Discord Privacy Issues


由 0xCUB3 开发




Star History Chart
下载工具

性能

  • 750,000 条规则容量,分布在每个平台的 5 个 Safari 内容拦截扩展中(每个 150k)
  • 空闲时约 40 MB 内存 — Safari 原生内容拦截 API 在进程外运行规则
  • Protocol Buffers + LZ4 用于过滤器存储;流式 I/O 在编译期间保持低内存占用
  • HTTP 条件请求(If-Modified-Since/ETag),更新时仅下载变更内容
  • iCloud 同步,跨设备同步过滤器选择、自定义列表、用户脚本和白名单

内容修改

  • 元素清除器(macOS、iOS、iPadOS、visionOS)— 在 Safari 中直观选择并隐藏页面元素
  • 禁止自动播放(macOS、iOS、iPadOS、visionOS)— 保持视频和音频暂停,直到您点击它们,阻止静音信息流/滚动自动播放;可从 Safari 工具栏弹窗全局启用,并在页面需要时允许特定网站自动播放
  • Tube Cleaner 和 Player Cleaner — 可选的远程用户脚本默认值,从 wBlock-userscripts 仓库下载;它们在首次绘制前将现有媒体元素转换为原生 Safari 播放器,恢复画中画和后台播放。它们独立于应用版本更新;wBlock 的内容拦截规则单独处理广告
  • 用户脚本引擎,支持 Greasemonkey API(GM_getValue、GM_setValue、GM_xmlhttpRequest)
  • 用户样式支持 — 安装 UserCSS 主题(.user.css),以原生 CSS 方式应用,无需 JS 包装器
  • 自定义过滤器列表,可通过 URL、粘贴或文件导入 — 支持任何 AdGuard 语法黑名单
  • 工具栏搜索,快速查找过滤器和用户脚本
  • 自动规则分发,覆盖全部 5 个内容拦截器插槽,实现最大覆盖率

拦截

  • 网络请求拦截 — 广告、跟踪器、Cookie 横幅、烦人元素
  • CSS 注入,用于外观过滤和元素隐藏
  • 脚本拦截,阻止不需要的 JavaScript
  • 弹窗和重定向阻止
  • URL 跟踪参数剥离 — 移除 UTM 和其他跟踪参数,解包短链接/重定向 URL(默认通过 wBlock Scripts 启用)

配置

  • 自动更新,从每小时到每 7 天,或手动更新。macOS 可通过捆绑的启动代理和后台更新服务持续检查,iOS 后台检查为尽力而为
  • 按站点控制 — 从 Safari 工具栏禁用特定站点的拦截
  • 被拦截请求日志(macOS)— 查看每个页面上被拦截的内容
  • 按站点设置 — 白名单受信任域名,按站点切换用户脚本,按域名开启或关闭元素清除器规则
  • 区域过滤器,根据您的语言环境自动检测
  • macOS Homebrew cask:brew tap 0xcub3/wblock && brew install --cask wblock
Userscript Management Screenshot
用户脚本管理
管理付费墙、YouTube 不喜欢数等

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

iOS Screenshot

iOS 界面
在 iPhone 上实现全功能拦截

iPadOS Screenshot

iPadOS 界面
在 iPad 上实现全功能拦截

核心架构

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

依赖与标准

  • SafariConverterLib v4.3.0 用于 AdGuard 到 Safari 规则转换
  • 捆绑的 AdGuard scriptlet 引擎,实现高级拦截技术
  • Swift 并发(async/await、Task、Actor 隔离),项目级 Swift 5 设置
  • 整个 SwiftUI 应用支持 VoiceOver 和 Dynamic Type
  • SwiftProtobuf 用于跨平台过滤器存储格式