V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Orangecz
V2EX  ›  Apple

解决 iOS 下 Gboard 无法安装简体中文

  •  
  •   Orangecz · 2020-05-26 15:20:07 +08:00 · 1486 次点击
    这是一个创建于 1643 天前的主题,其中的信息可能已经有所发展或是发生改变。

    来源: https://t.me/OnlineAppleUserGroup/431181

    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 。

    Loon 亲测有效

    第 1 条附言  ·  2020-05-27 12:24:06 +08:00
    感谢 @fly942 反馈,该问题官方已经修复
    16 条回复    2020-05-27 12:03:26 +08:00
    oubfgiar
        1
    oubfgiar  
       2020-05-26 15:26:11 +08:00
    好人一生平安!
    vvtoo
        2
    vvtoo  
       2020-05-26 15:42:56 +08:00
    请问能提供一下 Quanumult 的操作指南吗?非 IT 行业人员,自行尝试了一下(添加复写规则、MITM ),未成功。
    Orangecz
        4
    Orangecz  
    OP
       2020-05-26 16:01:13 +08:00   ❤️ 1
    honjow
        5
    honjow  
       2020-05-26 16:01:43 +08:00   ❤️ 1
    vvtoo
        6
    vvtoo  
       2020-05-26 16:42:20 +08:00
    @Orangecz 谢谢。开启了 MITM, 添加了规则还是没成功...
    Orangecz
        7
    Orangecz  
    OP
       2020-05-26 17:13:07 +08:00
    @vvtoo 是不是证书没设置好?需要安装并在设置中启用
    jip
        8
    jip  
       2020-05-26 20:45:10 +08:00
    会不会是人家不想提供中文输入了?
    daozhihun
        9
    daozhihun  
       2020-05-26 20:46:13 +08:00
    ios 的 gboard 好像很久没有更新了,不知道是不是又要被谷歌抛弃了
    vvtoo
        10
    vvtoo  
       2020-05-26 21:06:33 +08:00
    @Orangecz 证书已经安装并信任了。在 HTTPS Decryption 中 domain 那栏里现在有 www.gstatic.com ,下面的 Key & Cert 自动生成后没有修改。conf 中相关的两条现在显示为:
    [REWRITE]
    ^https://www.gstatic.com/gboard/iOS/gboard_latest/lms/zh_hans.zip url 302 https://www.gstatic.com/gboard/iOS/gboard_2_3/lms/zh_hans.zip
    [MITM]
    hostname = www.gstatic.com
    查了网上的几个写法,不确定是不是 Rewrite 中的转义符使用不对(Quantumult, 不是 X),尝试了几种写法都没有效果。试过重启和重装 Gboard, 目前还是老样子。请问是哪一步写错了吗?谢谢。
    Orangecz
        11
    Orangecz  
    OP
       2020-05-26 21:14:17 +08:00   ❤️ 1
    @vvtoo 应该是^https://www\.gstatic\.com/gboard/iOS/gboard_latest/lms/zh_hans\.zip ,直接复制就行
    vvtoo
        12
    vvtoo  
       2020-05-26 21:28:14 +08:00
    @Orangecz 感谢,解决了!
    zuiTT
        13
    zuiTT  
       2020-05-26 23:48:13 +08:00
    感恩,已经用上了
    zro
        14
    zro  
       2020-05-27 01:23:46 +08:00
    内置的五笔真的有点难用,词库太少了。。🙄
    fly942
        15
    fly942  
       2020-05-27 05:52:59 +08:00
    感谢分享!美区没法付款,几个梯子实际不可用。
    fly942
        16
    fly942  
       2020-05-27 12:03:26 +08:00   ❤️ 1
    大家不要再折腾了,这个问题现在已经修复了
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   4141 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 27ms · UTC 05:22 · PVG 13:22 · LAX 21:22 · JFK 00:22
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.