不是怪哥
notguaige.men

工作,生活,思考
怪,但还不算太怪的怪哥
文字存档·随心记录·不定期更新

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

/

背景

很早之前就知道了 Adguard,后面也买了 9 设备的终身许可证,但是在用 Adguard 桌面版的时候经常会遇到一些问题。比如经常会有页面加载速度奇慢无比的情况;不支持某些浏览器;还有在用沉浸式翻译的时候会出现 API 认证错误的问题。

考虑到 Adguard 官方支持回复速度特别慢(而且也没啥用,我沟通了几次,回复的基本上都是些无关痛痒的方法,比如重装一下,但实际上并没有什么用),所以就简单分享一下我遇到的各种问题和对应的解决方法。

问题一:开启过滤后,浏览器页面加载速度严重降低

我发现我在开启 Adguard 过滤后,浏览器加载页面时,会一直卡在 等待 local.adguard.org… 这个环节。

一张浏览器状态栏的特写截图,清晰地显示了在启用 Adguard 过滤后,页面加载时停滞在“正在与 local.adguard.org 进行 TLS 握手...”的状态,用以证明这是导致网页加载缓慢的原因
开启 Adguard 的过滤后,浏览器加载新页面时可能会卡在这个环节

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

一张终端命令行的截图,显示了执行 'ping local.adguard.org' 命令后的结果,其中连续出现请求超时,最终统计为 100.0% 的丢包率,此图用于证明该地址无法通过 ping 命令正常访问
即使在开启全局代理模式后,`ping local.adguard.org` 仍然超时,表明并非简单的网络连接问题

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

Adguard 官方知识库页面的截图,该页面详细解释了 local.adguard.org 是一个用于本地外观过滤的虚拟域名,而非真实的服务器地址,这张图作为权威信源,揭示了问题根源
根据 Adguard 官方文档,`local.adguard.org` 是一个用于在本地处理网页内容的虚拟域名,并非一个需要通过网络访问的真实地址

然后我就在 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 地址设置为 直连,比如添加如下规则代码:

YAML
rules:
  - DOMAIN-SUFFIX,local.adguard.org,DIRECT

问题二:沉浸式翻译调用翻译服务时提示权限问题

沉浸式翻译在调用翻译服务的时候(比如火山方舟大模型)的时候,调用的 API 中会直接带上 API KEY,而 Adguard 的 设置 → 跟踪保护 → 拦截第三方授权头部 功能会识别这样的 key5,然后主动移除这部分数据,最终就导致了沉浸式翻译调用失败

Adguard 的 设置 → 跟踪保护 → 拦截第三方授权头部 功能所处位置的截图
Adguard 的 设置 → 跟踪保护 → 拦截第三方授权头部 功能

解决方案

这个解决办法就比较简单,直接将 拦截第三方授权头部 功能关闭即可。

问题三:Adguard 不支持小众浏览器或指定应用

Adguard 虽然主动适配了大多数的浏览器,但难免存在一些新颖的、小众的浏览器,或者用户可能有特定的需求需要过滤特定应用中的流量。

解决方案

Adguard 内置了一个驱动可以用于过滤任意一个应用,只需要在 设置 → 网络 → 启用流量过滤 → 过滤应用列表 中添加制定应用即可,添加后该应用的流量默认都会通过 Adguard,这样就可以通过 Adguard 对其进行过滤了。

过滤应用列表所处位置的截图
过滤应用列表

参考文献

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

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注