Adguard 网络过滤开启后网页打开速度变慢

背景
很早之前就知道了 Adguard,后面也买了 9 设备的终身许可证,但是在用 Adguard 桌面版的时候经常会遇到一些问题。比如经常会有页面加载速度奇慢无比的情况;不支持某些浏览器;还有在用沉浸式翻译的时候会出现 API 认证错误的问题。
考虑到 Adguard 官方支持回复速度特别慢(而且也没啥用,我沟通了几次,回复的基本上都是些无关痛痒的方法,比如重装一下,但实际上并没有什么用),所以就简单分享一下我遇到的各种问题和对应的解决方法。
问题一:开启过滤后,浏览器页面加载速度严重降低
我发现我在开启 Adguard 过滤后,浏览器加载页面时,会一直卡在 等待 local.adguard.org…
这个环节。

我 ping 了一下这个地址,发现无论是在不开 Clash TUN 代理的时候还是在开了代理的时候,这个地址都 ping 不通。那这就很奇怪了,因为不开代理的时候 ping 不同可能是被墙了,但是翻了墙以后还是通不了,我就猜可能是他们服务挂了,但是因为这个 等待 local.adguard.org…
的情况也不是一天两天了,总不能他们的服务一直都有问题吧。

遂查了一下 Adguard 的官方文档1,发现这是一个虚拟域名,并不是一个真实存在的地址,但是这个地址可以被 Adguard 桌面端捕获2,然后向网页中注入“美化页面”的脚本,这个脚本可以用于移除那些被屏蔽广告后留下的“大白框”以及一些其他的东西。

然后我就在 Clash 和 Proxy SwitchyOmega 里面排查这个域名,发现每次浏览器请求 local.adguard.org
时,都会被 Proxy SwitchyOmega 送到 Clash 里,然后 Clash 又会直接绕过 Adguard 请求这个地址,这就导致了 Clash 始终在等待这个地址响应,最终使得浏览器响应十分缓慢。34
解决方法
在 Proxy SwitchyOmega 中设置,将 local.adguard.org
设置为直接连接,确保该地址的请求不会被 Clash 获取到。
如果 Clash 开启了系统代理或TUN 模式,那么就必须在 Clash 的规则中将 local.adguard.org
地址设置为 直连
,比如添加如下规则代码:
rules:
- DOMAIN-SUFFIX,local.adguard.org,DIRECT
问题二:沉浸式翻译调用翻译服务时提示权限问题
沉浸式翻译在调用翻译服务的时候(比如火山方舟大模型)的时候,调用的 API 中会直接带上 API KEY,而 Adguard 的 设置 → 跟踪保护 → 拦截第三方授权头部
功能会识别这样的 key5,然后主动移除这部分数据,最终就导致了沉浸式翻译调用失败

解决方案
这个解决办法就比较简单,直接将 拦截第三方授权头部
功能关闭即可。
问题三:Adguard 不支持小众浏览器或指定应用
Adguard 虽然主动适配了大多数的浏览器,但难免存在一些新颖的、小众的浏览器,或者用户可能有特定的需求需要过滤特定应用中的流量。
解决方案
Adguard 内置了一个驱动可以用于过滤任意一个应用,只需要在 设置 → 网络 → 启用流量过滤 → 过滤应用列表
中添加制定应用即可,添加后该应用的流量默认都会通过 Adguard,这样就可以通过 Adguard 对其进行过滤了。

过滤应用列表
参考文献
- Local.adguard.org 域名 | AdGuard Knowledge Base ↩︎
- How does adguard decide whether to use 'local.adguard.com' or 'injections.adguard.org' · Issue #884 · AdguardTeam/AdguardForMac ↩︎
- Adguard 总是显示链接 local.adguard.org 中,严重影响页面加载速度 - V2EX ↩︎
- 使用 AdGuard 后,网络连接速度明显减慢的可能解决方案 - V2EX ↩︎
- Tracking protection (formerly Stealth Mode) | AdGuard Knowledge Base ↩︎