注意!!!此方法由于 OpenClash 的 bug 不再适用!!

问题:

之前在使用 OpenClash 进行代理时,发现手机谷歌应用商店浏览正常,但是无法下载应用,一直转圈加载,切换过 OpenClash 模式,fakeIP,redir host 均出现该问题,但是当手机开启代理软件时,就一切正常。

前期尝试:

既然手机使用 CFA 就正常,那么极有可能是 DNS 出现问题,鉴于我使用了 ADGuard Home 作为 dnsmasq 的上游服务器进行广告拦截,首先进行了误判断排查,但是从进入到下载均没发现误判,同样的,关闭 ADGuard Home、开启 OpenClash 的 DNS 劫持、使用全局模式均不奏效。

后面转战 Google,逛了 V2EX、Clash 仓库 Issue,发现有人有类似问题,他们确定是 DNS 问题,于是更换 DNS,从 8.8.8.8,1.1.1.1,233.5.5.5 等等都试过,还是老样子,陷入窘境。直道今天,每次更新应用,都要打开 CFA。期间虽然尝试过几次,都以失败告终。

解决方法:

今天进行常规更新 ACL4SSR 规则,升级 OpenClah 时,发现多了一个控制面板:

于是手贱把这几个按钮都点了一遍,结果在切换 Dashboard 到官方版时,一直失败

突然想起,不会是和前段时间 Clash 删库有关吧,赶忙去 Issue 看看

果不其然,真有和我一样的,评论区也是有人给出了控制面板的磁盘路径,只需要找到官方版的打包文件替换下就行。

咳咳扯远了,不过这也是我今天解决问题的”导火索”,本着来都来了的原则,我就打算在 OpenClash 的 Issue 里看看有没有人和我一样谷歌商店无法下载的,嘿你别说还真有

原来 20 年就有了,这两个 Issue 都将问题指向了代理规则,我使用的是 ACL4SSR_Online_Full 这个规则,加上一些自定义的上游规则,可谓是深得我心,所以我不是很想更换规则,至于提到的什么洞主规则,似乎也已经挂了

于是我就寄希望于 ACL4SSR 仓库,看看他有没有相关 Issue,又是果不其然

今年 5 月份有人提过,并且给出了解决方法,而且已经标记为 completed,我赶紧去看我的规则和拦截记录:

可惜,这个域名似乎已经是正常代理了,不过这倒给我提供了一个很好的思路,既然 CFA 可以,那我就打日志,看看他都请求了哪些域名,我再逐一排查不就行了,说干就干!

排查记录:

手机使用数据网络,CFA 开启全域模式,开启 Logcat,进入谷歌应用商店,下载应用,停止 log,传到 PC 上方便查看:

这就是请求的所有域名,其中就包括 Issue 中提到的xn--ngstr-lra8j.com,这更加让我相信,我离胜利不远了,接下来,就一个个试呗,在我的规则中,这些域名都被命中了,但是在 ADGuard Home 的解析记录中,有一个域名从来没有解析记录!也就是说,他根本没有走到过核心!他就是services.googleapis.cn

看到 cn,我猛然一惊,让我想到我之前的一个发现:我自己解析在同一个服务器上的两个域名,一个是.xyz,一个是.cn,前者会被代理,后者却从来没有被代理过,目标地址一直都直接是我的服务器 IP,之前发现却没有研究过,没想到这与困扰我两年的问题有”异曲同工之妙”。那么,这到底是为什么呢,为什么 cn 域名会不走核心即使我开启了全局呢?

好好想想:

cn 为啥这么特殊?

因为 cn 代表大陆域名。

大陆域名又咋了?

噢!我想起来了,说到大陆,我之前不就捣鼓过 V2rayN 和 OpenClah 里的 GeoIP 与大陆白名单吗!

那这个白名单是什么时候,又是干嘛用的呢,隐约间,我好像又想起一个功能:

绕过大陆 IP,自从第一次装完系统开了他,就没再管过,后面重装好几次也都默认开启,看这功能的名字,很明显就是罪魁祸首啊!果断在黑名单中加services.googleapis.cngoogleapis.cn,重启,再试。

OHHHHHH!!成了,为了确认,我在备用机上也试了一下,完美下载,就连 Google App 加载不出的问题也一并解决,真的是解决困扰了我快两年的一大问题,这下在家终于不用再开 CFA 进谷歌商店啦!

附上此功能具体流程:

[Feature] 能否在 Wiki 加上 "实验性:绕过中国大陆 IP" 具体实现的流程图 · Issue #3467 · vernesong/OpenClash · GitHub

不得不说,Clash 还是太复杂,用了这么久,也只是会用而已。从初高中时代使用老王 VPN 入坑,到只会扫码导入白嫖免费 SS 节点,再到用了十几个的付费机场,再到翻 V2faly 的文档,尝试各种代理/协议组合,自己搭梯子。客户端我也快用了个遍,结果发现自己甚至没有入门……,现在 Clash 也已经删库,真叫人唏嘘不已啊!