wwbfred
V2EX  ›  iOS

iOS 更新屏蔽及修改 DNS 方法研究

  •  1
     
  •   wwbfred · Dec 2, 2021 · 3266 views
    This topic created in 1758 days ago, the information mentioned may be changed or developed.
    前两天 iOS 又开始强推 15 了,这次气不过研究了一下屏蔽方法。
    网上主要的方法是加载 tvOS 描述文件,这个方法最大的问题是描述文件会过期,现行文件的过期时间是 22 年 1 月份。
    第二个方法是强行加载描述文件,这个方法不会过期,但需要两台 iPhone 和(一台 MAC 或订阅版 iMazing),并需要抹掉现有 iPhone ,非常麻烦。
    想到 iOS14 开始可以通过加载 DOH/DOT 描述文件的方法更改全局 DNS ,故确定思路:用 unbound 在闲置 vps 上部署 DOT ,通过描述文件将特定域名使用该 DOT 解析。不部署 DOH 的原因是这个做法相当于开了个网站,放在国内一定需要备案。如果放到国外也可以用 DOH 。
    看了下苹果提供的文档,可以使用 SupplementalMatchDomains 字段指定解析白名单,OnDemandRules 指定解析排除名单,并通过 SSIDMatch 排除特定 WIFI 。具体格式可以参考现有 DNS 描述文件。
    完成之后把 apple.com 加载到解析白名单中,并在 unbound 里把 mesu.apple.com 和 gdmf.apple.com 指向 0.0.0.0 ,大功告成。
    实践效果非常好,WIFI 和蜂窝下都无法找到更新。如果已经有出现了更新小红点提示,可以先加载上述 tvOS 描述文件去除,然后加载 DNS 描述文件,再删除 tvOS 描述文件。
    理论上如果只需要屏蔽更新,你不需要部署 unbound ,随便指向一个错误的 dot 地址就可以了。另外使用 Surge 等 VPN 时,DNS 设置会被覆盖,你需要把上述规则同样写到 Surge 等软件里。
    这个方法还有一个好处是可以把它当成 Hosts 文件使用,这意味着你可以做到更多的事情,例如 Gmail 邮件直接接收,直连 Youtube Music 和 Google Voice 等等。
    加上证书描述文件,你甚至可以在本机做 HTTPS 中间人攻击,做到例如解决 Tiktok 的 SIM 卡限制问题。不越狱能做到这点已经很神奇了。
    写在这里供大家参考,顺便也为自己做个备份。

    UPDATE:
    我想起来了,有个服务叫 NextDNS ,可以自己添加解析黑名单。屏蔽更新用这个服务就好了,免费账户每个月 300000 次请求好像是,足够了。下载下来的 DNS 描述文件要自己修改一下,使用 SupplementalMatchDomains 字段把 apple.com 加进去,这样就不会影响其他域名的解析了。
    zhlxsh
        1
    zhlxsh  
       Dec 3, 2021 via iPhone
    不知道我理解的对不对:
    1 使用 tvOS 描述文件
    2 使用 DNS 描述文件,需搭建 DOT/DOH 服务器,可以作为 hosts 文件使用
    3 使用 DNS 描述文件,指向错误的 DOT 服务器即可屏蔽更新
    4 Surge/quantumultX 配合 DOT 或使用 js 脚本
    5 自己修改 NextDNS 的配置文件
    6 可越狱的版本,用 unc0ver 只选择 disable ota
    wwbfred
        2
    wwbfred  
    OP
       Dec 3, 2021
    @zhlxsh 昨天是想到哪儿写到哪儿的,抱歉描述的不是很清楚,我重新整理一下。
    1. 本文的方法是使用 DNS 描述文件屏蔽 iOS 强制更新,对 WIFI 和蜂窝数据均有效。
    2. 操作分为两个部分,一是服务端,二是本地 iPhone 端。
    3. 服务端可以选用自行搭建 DOT 服务的方式,也可以使用 NextDNS 。后者更简单。
    4. 客户端需要自行编写或修改 DNS 描述文件,并加载到 iPhone 中。
    5. 以 NextDNS 为例,注册账户后先将 mesu.apple.com 和 gdmf.apple.com 两个域名加到黑名单里,然后下载 DNS 描述文件。
    6. 由于我们不需要所有域名都通过 NextDNS 解析,所以需要修改下载下来的 DNS 描述文件。
    7. 修改的方法是添加 SupplementalMatchDomains 字段,并将需要通过 NextDNS 解析的域名,也即 mesu.apple.com 和 gdmf.apple.com 加入其中。
    8. 修改完成后安装 DNS 描述文件,检查效果。如果设置已经出现更新红点,需要先通过传统方法去除小红点后再安装描述文件。
    9. 在这个思路上,自行搭载 DOT 服务可以做到更多有趣的事情。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2616 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 01:16 · PVG 09:16 · LAX 18:16 · JFK 21:16
    ♥ Do have faith in what you're doing.