[ad_1]
【解决 Gboard 无法下载中文输入法】
iOS 的第三方输入 Gboard 最近会遇到无法下载中文输入法的情况,根本原因目前已经找到。
通过抓包发现 Gboard 请求下载的中文输入法资源路径是 /gboard/iOS/gboard_latest
但是实际上这个 gboard_latest 资源路径指向的真实路径下的中文输入方案已经被移动或者删除,所以客户端发起请求后,服务端会直接返回 404。这就是为什么 Gboard 用户无法下载中文输入方案。
通过抓包发现,Gboard 原带的英文输入方案的输入方案在更新时,访问的资源路径是 /gboard/iOS/gboard_2_3,理论上 gboard_latest 应该指向 gboard_2_3,但是不知道 Gboard 的服务器做了什么。
解决问题的思路也很简单,因为 www.gstatic.com 使用 HTTPS 协议进行通讯,所以首先需要进行中间人解密操作,然后将 gboard_latest 重定向到 gboard_2_3 后,中文输入方案便可以正常下载。
为了方便小白修正这个问题,我制作了 Surge 4 的 Module。你可以直接安装我写的 Module 来彻底解决这一问题。
https://github.com/Hackl0us/SS-Rule-Snippet/blob/master/Module/Surge/Gboard_zhHans_patch.sgmodule
如果你使用的是 Surge 3 / ShadowRocket / Quanumult(X) 等代理工具也不必担心,可以参考我上面写的 Module,按照你的代理工具的语法,实现同样的功能。一共有两个地方需要修改:
1. MITM 的 hostname 需要追加 www.gstatic.com
2. URL 需要重写,并使用 302 重定向即可。
如果你使用的是普通的 VPN 代理工具,那么你可以使用 Charles 工具,对 iOS 端流量进行代理,中间人解密后,对请求资源进行 Mapping Local 或修改请求 URL。
[ad_2]