将现代网络带到原始iPad mini上

Lobsters Hottest 工具

摘要

一位开发者通过越狱将原始iPad mini升级到iOS 6,并构建了一个名为Surf的自定义远程浏览器,该浏览器通过无头Chromium后端流式传输现代网络内容。

<p><a href="https://lobste.rs/s/rkj3j4/bringing_modern_web_original_ipad_mini">评论</a></p>
查看原文
查看缓存全文

缓存时间: 2026/07/22 02:16

# 将现代网络带到初代 iPad mini —— seg6 来源:http://seg6.space/posts/resurrecting-ipad-mini/ 最近我去探望父母时,找到了他们在我十岁时给我买的第一代 iPad mini。十多年后,它依然是一块漂亮的硬件:小巧、轻盈、坚固,是那种苹果在每块屏幕都变成笔记本电脑替代品之前会制造的设备。 然后我打开它,想起了当初为什么不再使用:它运行的是 iOS 9.3.5,这对 A5 芯片来说简直是噩梦。每次点击都有延迟,动画卡顿,打开一个应用感觉像过了一个世纪。苹果真的用 iOS 9 毁掉了这款设备。 尽管如此,我觉得这块硬件太美了,不忍心让它躺在抽屉里。我想把它变成一台流畅、无干扰的阅读设备。 问题在于,如今的阅读不再是离线状态了。即使实际阅读发生在 iBooks 里,周边的工作流程却都在网络上:找文章、查阅参考资料、下载 PDF、打开链接、在 LLM 上提问(当某些内容看不懂时)。 要想达到这个目的,我经历了一段复古的越狱工具链之旅。我用 Carbon (http://carbon.sep.lol/) 越狱,用 Legacy iOS Kit (https://github.com/LukeZGD/Legacy-iOS-Kit) 将它降级到 kDFU 模式,再降级到 iOS 8.4.1,设置好 OpenSSH,然后用 CoolBooter 双启动到 iOS 6.1.3。 结果很不错。iOS 6 在 A5 上运行得丝滑流畅。我用 iFile 通过无线传输了几本书,突然就得到了我想要的:一台小巧、外形极佳、屏幕依然不错、带有可爱的拟物化 iBooks 应用的平板。 一切都完美。直到第一次阅读工作流程需要离开书本时。 ## WebKit 之墙 我安装了现代根证书 (https://repo.invoxiplaygames.uk/certificates/),但只能解决部分问题。iOS 6 上的 Safari,或者说 WebKit,缺失了太多:现代 TLS 支持、CSS Grid、Flexbox,以及大量现代 JavaScript。 现代网络与 2012 年的浏览器引擎在结构上不兼容。而且由于这是 iOS,每个第三方浏览器都受限于同一套系统 WebKit。 显而易见的解决方案各有问题: - **VNC / 远程桌面:**延迟高,电池续航差,UI 是为鼠标而非触摸设计的。 - **现成的远程浏览器:**多数已停用,或者同样笨重。我想要的是像 Safari 那样的体验,而不是远程桌面会话。 所以问题的形状发生了变化:如果 iPad 无法渲染网页,那可以让其他东西帮它渲染。 我需要一款远程浏览器,它要有原生感,运行在 30fps,适应 512MB 内存限制,并且采用触控优先的控制方式。因为正在度假,这感觉像是交给 LLM 的理想练手项目,看看它能做到什么程度。这个实验的产物就是 Surf。 ## 架构 Surf 由两部分组成:运行在 VPS 上的后端,以及用 Objective-C 编写的原生 iOS 6 客户端。 后端在 Docker 中通过 Xvfb 运行一个有头 Chromium 实例。在虚拟显示器下运行有头 Chromium 可以避免无头浏览器容易触发的反爬检测。一个 Go 服务端通过 Chrome DevTools 协议与 Chromium 通信,处理输入、标签页和导航。 对于视觉反馈,我最初尝试了 CDP 的 `Page.screencastFrame`,但对于流畅滚动来说太慢了。于是后端改用 `ffmpeg` 直接抓取 X11 屏幕,并实时编码为 H.264。 视频流通过 WebSocket 连接发送。我本打算在网络层花更多时间,但当前实现已经达到了目标帧率,所以就放着了。 原生客户端使用 Theos (https://theos.dev/) 构建。每次构建都会通过 SSH 推送到 iPad,并用 `dpkg` 安装。 ## 总结 iPad 又变得有用了。Surf 拥有统一的地址栏、标签页、与宿主机之间的剪贴板共享、下载、上传,以及其他许多小调整,让体验变得*愉悦*。 当然,用这种方式浏览现代网络有些荒唐。但正是这种荒唐,让老旧的计算机重新有了生命力。 如果你也想动手尝试,源代码已发布在 GitHub:https://github.com/seg6/rbrowser。

相似文章

MacSurf 1.68 – NetSurf 在 OS 9 上发布

Hacker News Top

MacSurf 1.68 是基于 NetSurf 的 Classic Mac OS 9 网页浏览器的新版本,支持 CSS3、ES5 JavaScript 和原生 TLS 1.3,允许旧款 PowerPC Mac 访问现代网站。

将Swift引入Apple II

Lobsters Hottest

一位开发者创建了SwiftII,这是一个为Apple II打造的Swift风格迷你开发环境,包含REPL、文件浏览器和文本编辑器,为复古硬件带来了现代编程体验。