@scomper

拦截广告和保护隐私的 AdGuard

2019.09.07

升级到 macOS 10.15 以后,safari 里的扩展几乎全挂了,用于拦截广告的 Tampermonkey、uBlock 都没法使用。找了一圈发现 AdGuard 是个不错的新选择,提供 iOS、Mac 客户端,而且 AdGuard for Mac 是个独立的 App,不需要以扩展的形式安装到 Safari 浏览器。

AdGuard for Mac 能自动过滤应用程序的流量,除了浏览器、邮件等内置的应用列表,还可以自行添加有网络访问活动的其他应用,比如迅雷一类的。

拦截软件最让人担心的是黑盒子过滤,毕竟总有那么一些例外,有了「程序日志」就可以直观的查看所有经过 AdGuard 的访问。知道那些过滤器在工作,遇到加载异常的网站也能定位是那个过滤器的什么规则触发的。看看后台拦截的迅雷 advert.js 就觉得 Surge 和 AdGuard 这样的搭配真的挺省心。

Surge 解决墙的问题,国内大部分都是直连,用 AdGuard 订阅过滤规则简单有效,而且丰富的规则不仅包含广告过滤,还有隐私保护、跟踪器、危险访问拦截等。

默认的内置规则里很多没有,可以点击订阅自行加载,例如以下几个推荐的:

  • EasyList + EasyList China:EasyList 和 EasyList China 是广告过滤的主规则。
  • EasyPrivacy:EasyPrivacy 是隐私保护,不被跟踪。
  • CJX's Annoyance List:过滤烦人的自我推广,并补充EasyPrivacy隐私规则。
  • ChinaList,广告净化器规则 :国内大部分视频网站的广告过滤。http://tools.yiclear.com/ChinaList2.0.txt
  • I don't care about cookies:我不关心 Cookie 的问题,屏蔽网站的 cookies 相关的警告。
  • xinggsf,乘风广告过滤规则,https://raw.githubusercontent.com/xinggsf/Adblock-Plus-Rule/master/ABP-FX.txt
  • HalfLife,规则合并自EasylistChina、EasylistLite、CJX'sAnnoyance,https://gitee.com/halflife/list/raw/master/ad.txt

不安装 AdGuard for Safari 是不是就不能拦截 Safari 内容中的广告呢?不是,AdGuard 会以助手的方式参与(AdGuard 首选项 - 扩展 - 使用 AdGuard 助手),打开网页后,默认右下角会有一个 AdGuard 的助手图标,点击展开可以设置并添加要拦截的内容。

AdGuard for iOS 里的设置大同小异,不过不能和 AdGuard for Mac 同步,增选和自定义的订阅都需要手动添加。
AdGuard 里设置完成后,打开系统设置 - Safari 浏览器 - 内容拦截器,启用内容拦截项。Safari 浏览器中点击左上角的 ᴀA 可以选择「关闭/打开内容拦截器」。

AdGuard for iOS 和 Mac 一样,除了针对浏览器内容的过滤,还可以对所有其他应用的网络访问进行过滤,iOS 版本中采取的是基于 DNS 服务器的方式来实现的。

全局过滤需要启用「DNS 隐私」,选择 AdGuard DNS 作为 DNS 解析服务器,同时过滤器的设置中打开 AdGuard DNS 过滤器,系统 VPN 设置中会提示并添加 AdGuard VPN。值得一提的是,这种全局的过滤方式由于是基于 VPN 方式实现的,所以不能和 Surge 一类的 VPN 应用同时使用,同一时间只能连接一个 VPN。

最后说说 AdGuard 的订阅,官网的「购买」页面 https://adguard.com/zh_cn/license.html 会基于访问者的 IP 显示不同的价格和促销。有订阅和终生授权两种价格模式供选择,建议在黑五、圣诞等时间点购入。

很多网友提到了 iOS 上如何和 Surge「和平」共处,建议在家里的局域网环境安装 AdGuard Home,通过 DNS 服务的方式过滤广告。这样网络访问通过 AdGuard Home 的 DNS 出去和手机里安装的 Surge 也不会有冲突。

如果有群晖,可以安装 Docker 的版本,Docker 里搜索安装 AdGuard 即可。
Docker 注册表里搜索安装这些就不罗嗦了,配置容器前添加两个自定义文件夹,例如 docker/DNS/conf 和 docker/DNS/work然后在容器 - 卷设置里添加指向。

/opt/adguardhome/work
/opt/adguardhome/conf

端口的部分,由于 80 端口被占用了,可以自定义为 8000,这样以后可以访问 192.168.0.157:8000 的方式访问控制台。

AdGuard Home 的设置网上教程很多,可以参考和添加自己的过滤器。

Comments
Write a Comment
  • Easing2008 reply

    adblock plus 的easychinalist 规则adguard不完全兼容吧?我这里使用时,即使添加进去很多广告也屏蔽不了,不是到博主有没有这种问题

  • Qubodx reply

    推薦使用adg home版。,非常適合家庭多個設備使用。