一台1999年的iMac,处理器主频233MHz,内存64MB,系统是Mac OS 9。你能用它打开一个2026年的HTTPS网站吗?答案在绝大部分情况下是“不能”——现代互联网早在二十年前就抛弃了这个平台,HTTPS加密协议也在2016年前后彻底让它们断了网。但现在,一个叫MacSurf的浏览器,正在把这台米色G3重新带回真正的网络世界。它不是截图代理,不是远程桌面会话,而是一个实实在在的原生浏览器,用当年平台上的CodeWarrior、Carbon API、QuickDraw和Open Transport构建,却在古老的PowerPC上跑着真正的CSS3布局,执行着ES5 JavaScript,甚至自带全本Mozilla CA证书包,通过BearSSL栈实现原生的TLS 1.2连接。这件事本身就够反常识。

MacSurf是为Classic Mac OS 9 PowerPC开发的浏览器,目前处于非常早期的Alpha阶段。它刚发布了v0.7版本,距离第一个编号版本0.1a1只过了六天,但已经关闭了十二个Issue,填了一堆CSS和DOM的坑。这个项目的诞生,本质上是在回答一个问题:当整个互联网都已经用TLS 1.2/1.3筑起高墙,一台出厂状态的Power Mac G3几乎连一个活着的网站都访问不了的时候,我们能不能用一个纯粹的本地程序,把现代web带回这些被遗忘的机器上?MacSurf用行动交了答卷。

打开网易新闻 查看精彩图片

先别急着激动。MacSurf的警告写得非常直白:绝大多数2026年的网站,在这个浏览器里依旧跑不起来。重度SPA、React系应用、缺失的表单交互、在真实硬件上像蜗牛一样的JS执行速度、尚未支持的现代CSS特性,都会让你频频碰壁。但如果你用来看手工搭建的静态页面、复古风格网站,或者专门针对它做过适配的页面,那体验就完全不一样了。你能获得一种几乎带着科幻感的体验——在一台主频比现在智能手表还低的机器上,看到用CSS Grid排出来的版式,看到带透明通道的PNG图标,甚至看到通过标准CSS语法渲染的渐变背景。技术细节我们接下来逐条看。

打开网易新闻 查看精彩图片

第一条,真正的本地渲染,不是远程桌面或截图代理。MacSurf直接在PowerPC本地解析HTML、构建DOM、计算CSS3样式、执行JavaScript,没有中间服务器替你渲染好再压成图片传过来。这意味着它必须亲自处理CSS的盒模型、浮动、Flex、Grid,以及JavaScript的原型链、闭包、事件循环。它的渲染核心来自NetSurf项目(一个极简、独立的浏览器引擎),而NetSurf本身对现代CSS的支持也只到了某个子集。所以你看,那些花里胡哨的CSS动画、WebGL、Service Worker什么的,想都别想,但CSS Grid V2的对齐方式、跨元素的CSS变量(var())引用、标准CSS渐变语法,这些硬骨头已经在最新版里被啃下来了。

第二条,原生TLS 1.2加密,零代理。这是MacSurf和同类“复古浏览器方案”最拉开差距的地方。以前有人想用老Mac上网,最常见的做法是架一个中间代理服务器,由代理去跟目标网站完成HTTPS握手,再降级成HTTP传给老机器。MacSurf不这么干。它内置了一个叫macTLS的模块,基于BearSSL构建,并把完整的Mozilla CA证书包(121个根证书)直接编译进了浏览器二进制文件里。也就是说,当你用这台百兆赫兹的老古董去访问mactrove.com(目前项目的标准硬件测试站点)时,TLS握手是在本地发生的,证书校验、密钥交换、加密通道建立全在本机完成,没有任何中间人。这在二十年前的PowerPC上跑起来,听着就有点蒸汽朋克的意味。

第三条,性能表现:从完全不能用,进化到勉强可用。v0.6.2版本之前,打开mactrove.com这样一个简单的测试站点,冷启动需要超过30秒。现在呢?一次代码合入把它压到了2到3秒。听起来还是慢得可笑,但请记住,这是一台主频233MHz、没有硬件浮点单元?不,有,但慢得可以忽略的机器,在跑一个1999年的操作系统,却要解析2026年的HTML和CSS,还要执行JavaScript逻辑。2到3秒能渲染出页面,已经像在旧石器时代点亮了一盏LED。那些动辄几十MB JavaScript捆绑包的网站就别想了,JS引擎在真实硬件上的速度,基本就是“你点一个按钮,然后去泡杯茶回来可能刚执行完”的水平。

打开网易新闻 查看精彩图片

第四条,它是第一个严肃的NetSurf Classic Mac OS移植,也是Mac OS 9上首个同时提供原生CSS Grid、CSS自定义属性和ES5 JavaScript的浏览器。你可能觉得这没什么好骄傲的,但换个角度想:一个二十多年前就停止更新、被主流厂商彻底遗忘的操作系统,它的内存管理、网络栈、绘图API都停留在上个世纪,却有人用纯C89(那个你如果在1999年就写过C代码的话会觉得很亲切的标准)给它写了现代CSS解析器、DOM操作和JS解释器。这种“用旧工具干新活”的反差感,正是硬核复古编程的魅力。

第五条,当前版本的功能清单和已知黑洞。v0.7作为“清理冲刺”版本,一天内处理了跨元素CSS变量应用、CSS Grid第二版对齐修正、页面导航时自动清除图片缓存、以及用标准CSS语法(而不是私有前缀)实现渐变渲染等十二个问题。即便如此,待办列表还长得吓人:大量CSS属性未实现,DOM接口缺失,表单控件行为不正常,视频、音频、WebGL、Service Worker全都不存在,性能分析和内存优化也远没做完。好消息是,项目的代码库被刻意维持得“可亲近”(用他们的话说,是那种你在1999年就会写的C代码),欢迎任何有Power Mac G3/G4实机的人去测试并提交bug报告和截图。对复古计算社区来说,这简直是一个活生生的现代技术考古现场。

你有没有一台藏在角落吃灰的iMac G3或Power Mac G4?有的话,现在就可以把这个浏览器扔进去跑一跑。别指望能日常使用——要流畅刷微博、B站、React后台管理界面,还是老老实实用你的M系列MacBook。但假如你只是想亲眼见证一件不可思议的事:一块米色塑料外壳里,那颗慢到让人没脾气的PowerPC 750芯片,正努力解析着带透明度的PNG图片,用Grid对齐着板块,并且通过一段几十KB大小的C代码跟你最常上的HTTPS网站完成了加密握手,那MacSurf就是目前唯一的道具。开发者也说得很清楚:目前要的不是你们夸它“好”,而是实机测试、bug截图、甚至直接参与填CSS和DOM的坑。复古浏览器这条路,才刚被踩出第一条原生车辙。