Synth Daily

旧iPad还能这样玩

一台老旧、几乎无法使用的 iPad 2,通过降级系统和越狱,被成功改造为一个功能齐全的网络服务器。这个过程涉及解决因设备过时而产生的加密算法不兼容、SSH 连接失败等一系列技术难题。最终,通过巧妙地结合云服务器(VPS)、端口转发和反向 SSH 隧道,这台 2012 年的设备成功地托管并运行了一个公开的博客网站,展示了旧硬件在创造性思维下的巨大潜力。

起因:一台缓慢的 iPad 2

一台运行 iOS 9 的旧 iPad 2 几乎无法使用。它不仅运行缓慢,还因为过时的 SSL 证书和应用停止支持而功能受限。为了不让这台仍能工作的设备被浪费,一个想法诞生了:给它第二次生命

解决方案是将其系统降级。iPad 2 可以降级到性能更好且支持无限制越狱的 iOS 6.1.3 或 8.4.1 版本。

第一步:降级与越狱

整个过程比预想的要简单。

  • 越狱: 首先利用现有的越狱工具获得设备的最高权限。
  • 降级: 接着使用 Legacy-iOS-kit 工具将系统降级至 iOS 6.1.3

完成这两步后,iPad 恢复了它应有的流畅速度,并且拥有一个充满复古美学的界面。越狱后,设备获得了 root 权限,可以通过 SSH 访问其内部的 Unix 终端,这为后续的改造奠定了基础。

进阶玩法:将 iPad 变成网络服务器

虽然可以用来玩旧游戏、看视频或阅读,但这些都显得有些“无聊”。真正的挑战是利用它的 root 权限,把它变成一个学习网络和服务器托管的工具。

最初的计划很简单:

  1. 在 iPad 上安装一个服务器程序。
  2. 将一个静态网站文件放入 iPad。
  3. 通过某种“隧道技术”将其暴露到公网。

服务器搭建过程中的挑战

1. 服务器与网站

由于硬件老旧,需要一个占用资源极少的轻量级 Web 服务器。lighttpd 成为了理想选择,并通过越狱应用商店 Cydia 成功安装。同时,一个用 Jekyll 构建的静态博客网站文件也被传输到了 iPad 上。至此,网站已可在本地网络中访问。

2. 隧道技术的失败尝试

“隧道技术”的原理是建立一个从本地设备到外部服务器的 SSH 连接,外部服务器接收公网请求,再转发给本地设备。这样做比直接暴露家庭 IP 地址更安全。

  • 第一次失败: 尝试使用 localhost.run 服务时,因 iOS 6 的加密算法过于陈旧,无法与现代服务器建立 SSH 连接。
  • 第二次失败: 尝试自建方案,即用一台免费的云服务器(VPS)与 iPad 建立隧道。但问题依旧,iPad 无法主动连接到 VPS。

服务器收到了来自你 iPad 的签名,但拒绝了它。你 iPad 古老的加密库(2015 年的 OpenSSL 0.9.8zg)正在创建一个现代服务器认为无效或不安全的签名。

最终的解决方案:反向连接与端口转发

既然 iPad 无法主动连接出去,那么就让外部的 VPS 主动连接进来。

这个方案的核心是端口转发

  • 在家庭路由器上开放一个端口,并将其指向 iPad。
  • 使用动态 DNS 服务为家庭网络提供一个固定的域名。

这样,VPS 就可以通过这个域名和端口远程连接到 iPad。但新的问题又出现了:

  • 连接不稳定: autossh(一个能自动重连的 SSH 工具)无法正常工作。
  • 认证问题: 基于密钥的 SSH 登录因 iPad 的一个 bug 而失败,但密码登录却可以。
  • 最终方案: 使用 sshpass 工具,它允许在 autossh 命令中直接使用密码。通过添加 -t 参数强制分配终端,并用 nohup 命令让其在后台持续运行,最终成功建立了一条从 VPS 到 iPad 的、稳定且能自动重连的 SSH 隧道。

现在,当用户访问博客时,请求会先到达 VPS,然后通过这条隧道被转发到家中的 iPad,再由 iPad 上的 lighttpd 服务器将网页内容返回。

这个过程虽然充满挫折,但最终的成功带来了巨大的满足感。它证明了即使是过时的工具,只要有创造力,也能发挥出意想不到的价值。

工具的趣味性,完全取决于你如何利用它进行创造。