找寻异次元的 Scanner

由于某些众所周知的原因,在一个华丽的响指过后,2020年12月31日,App Store 中国区上数万游戏惨遭不测,离开商店,留在了我们的记忆里。

连同消失不见的还有嘤鸽瑞斯扫描器,这对白军大胜利的阿根特们来说是不可接受的。所幸,在另外一个次元的 App Store,扫描器还好好地活着,那么如何让另外一个次元的扫描器装到我们手机上呢?

从万能的 Internet 上,我们了解到了三种办法:

  • 手机 App Store 登录外区账号获取更新。
  • 已装有 ingress 需更新的可参考此方案:第一步:在设置→App Store→自动下载的项目中打开更新,第二步:进入设置→通用→iPhone 存储空间找到 ingress,点击卸载 App,再点击重新安装 App,更新完成。
  • 电脑安装 iMazing,并登录外区账号下载 ingress 安装包,可以安装 iMazing 并免费试用来安装游戏。

上面三种办法都很繁琐,要么就得切号、要么就得安装过、要么就得手机连电脑。那有没有优雅的办法来安装扫描器呢?

当当当当,这就是本文要介绍的办法,网页在线安装!

这个方法的核心思想是在 VPS 上开一个静态的网站或者容器,通过这个网站来实现任意 App 的在线安装。静态网站这个方法比容器的简单很多,而且对 VPS 性能需求更低。前置的必须安装流程如下:

  • 将 VPS 重装为全新的系统(Ubuntu、Centos、Debian 等等都可以)
  • 根据 宝塔Linux面板安装教程 将宝塔面板安装在您的 VPS 上。
  • 安装成功进入面板后,根据喜好安装 LNMP 或 LAMP。(我更喜欢 LNMP)

现在开始分出两种办法,一种是简单的静态网页,一种是较为复杂的容器(如果用宝塔进行容器管理,要求 VPS 的内存不低于 768MB)本文将介绍通过静态网页来实现 ingress 的在线安装,其他的软件也可以套用该方法。

静态网页法

先在 DNS 服务商上将你的域名指向你的服务器,然后在宝塔面板新增一个站点。

PHP 版本选纯静态就可以

然后我们在浏览器打开地址测试一下

能看到这个页面就说明你添加站点成功了

下一步我们为网站开启 SSL 加密。

如果域名处只有一个,那么选一个就好

点申请后稍微等一小会

一般来说这个步骤很快就完成了

能看到这个界面就说明你的 SSL 证书申请成功了。这时候记得顺手把「强制HTTPS」开启。

这一步可千万不能漏

这里开始,我们需要对 SSL 的配置进行小修改,才能保证之后的使用。从 iOS 14 开始,苹果更新了 ATS(App Transport Security)规则,开启了 TLSv1.1 的 SSL 不再合规。我们在开启 SSL 后,进入配置文件,把图中的 TLSv1.1 (别忘了后面还有一个空格)删除,保存即可。

不删的话后面可就用不了啦

我把这个静态网站的源代码丢 Github 上了,很遗憾,我已经找不到最早的作者是哪位了。。

在宝塔切换到文件管理器,前往网站的根目录,将根目录内的文件除了「.user.ini」外全部删除。

删掉,删掉,一定要删掉

然后点击远程下载

添加这个链接进行下载 https://github.com/Thregren/SR_online_installer/archive/main.zip

然后啪的一下就下好了,很快啊(主要是比较小,才 81.27KB)

然后右键对这个 main.zip 进行解压,我们得到了一个「SR_online_installer-main」文件夹。

我们将 main.zip 删除,然后将「SR_online_installer-main」文件夹内的文件剪切到网站根目录,一切操作无误的话,网站根目录应该是现在这个样子。

现在我们可以将「SR_online_installer-main」文件夹删除。

现在我们打开测试的网站,网站已经可以正常地显示,你已经成功了大半,接下来我们修改网站的代码。

首先我们得有一个购买了 ingress 的外区账号,然后通过 iMazing 来下载 ipa 安装包(可以参考这个教程)。

获取到安装包后,我们将安装包上传到网站的根目录,并将其重命名为「ingress.ipa」

要注意大小写!

我们先修改根目录下的「ipa.plist」文件,

在宝塔面板内对「ipa.plist」右键打开编辑。将13行的网址替换为你当前站点的地址(不要忘了有 https)(19行的包名是 ingress 的,如果需要安装其他 App,需要提取包名,可以参考这里

接下来我们修改网站根目录下的「index.html」文件。

将56行的网址替换为您当前站点的地址(不要忘了有 https)并将你的外区账号密码填入81、82行

现在,你可以在手机上打开这个站点,享受便捷的在线安装了!安装后首次打开需要输入购买这个 app 的账号密码,输入网页上提示的账号密码即可。

容器法

本文对这个方法不做详细说明,在这里丢上网上大佬造的轮子 ipa-server。玩得转容器的大佬们应该很快就能让它跑起来,这里我就提几个关键点。

  • 如果用宝塔内置的 Docker 管理器,那么 VPS 的内存不能低于 768MB。
  • 不能直接通过 IP 地址访问 ipa-server 容器,这样在线安装器由于无法满足 ATS 要求导致无法在手机上安装程序。直接用一个域名反向代理到这个容器,并开启 SSL 就可以解决。
  • ATS 要求的最低 SSL 协议为 TLSv1.2,如果站点支持 TLSv1.1 以及更早的协议,那么将无法满足要求。通过修改 Nginx 配置文件可以解决。

本人不才,只能通过网上现有的轮子,为大家做一点微小的贡献,如果大家有问题,可以在 TG 上和我讨论 @Thregren,谢谢大家!