Skip to content
KitploitKITPLOIT
工具博客
提交
工具博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

··订阅源·联系·隐私·© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
macsurf — 适用于经典 Mac OS 9 PowerPC 的现代网页浏览器。真正的 CSS3、ES5 JavaScript、原生 HTTPS。使用 CodeWarrior 基于 Carbon API 构建。 | Kitploit
工具/GitHubGitHub/mplsllc/macsurf
加密/解密工具Web安全密码学
GitHubmplsllc/macsurf

macsurf

适用于经典 Mac OS 9 PowerPC 的现代网页浏览器。真正的 CSS3、ES5 JavaScript、原生 HTTPS。使用 CodeWarrior 基于 Carbon API 构建。

查看仓库网站
266715天前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
分享

MacSurf

在 25 年前的 Mac 上体验现代网络。

MacSurf 是面向经典 Mac OS 9 PowerPC 的网页浏览器。支持 CSS3、ES5 JavaScript 和带 alpha 通道的 PNG —— 运行在 G3 iMac 上。

MacSurf 是一个全职投入的项目。如果它让你的老 Mac 重新回到了互联网,每一分钱的捐助都能让开发继续走下去。也可以在 Patreon 上通过开发日志跟进项目进展。

在 Ko-Fi 上支持我!

支持者

MacSurf 依靠支持者保持活力 —— 感谢你们:

Patreon
Shlooom

Ko-Fi
kilgeist

Mac OS 9,认识一下 TLS —— 原生实现,无需代理。

介绍视频

观看视频

[!NOTE] 早期 alpha 版本 —— 它能在一台 233 MHz 的 G3 上运行、渲染,并以原生方式使用 TLS 1.3 通信,但大多数现代网站目前还无法在其中正常工作。可以期待手工打造的页面、复古风格的网站,以及在 PowerPC 上运行 ES5 JavaScript 的奇妙快感。不要指望在任意现代网站上流畅浏览、观看视频,或运行任何重度依赖 React 的内容。

如果你手头正好有一台闲置的 Power Mac G3 或 G4,装上它看看哪些地方会出问题 —— 缺陷报告和真实硬件的截图正是这个项目最需要的东西。当前的问题清单见 docs/status.md。


为什么会有这个项目

二十年前,网络的发展就已经超出了经典 Mac OS 的能力范围。现代 HTTPS 则在 2016 年前后给了它致命一击。如今从柜子里翻出一台 G3 或 G4,它几乎连一个还在运营的网站都打不开。

MacSurf 试图在机器本身上解决这个问题 —— 不用截图代理,也不用远程终端的把戏。这是一个原生浏览器,使用平台上已有的工具构建:CodeWarrior、Carbon、QuickDraw、Open Transport。真正的 CSS3 布局和真正的 JavaScript,运行在 1999 年 iMac 的 64 MB 内存空间之内。自 2026 年 5 月下旬起,它通过 macTLS 直接以 TLS 1.2 与当代网络对话 —— 这是一套基于 BearSSL 的协议栈,随浏览器二进制一起分发,内置来自 Mozilla CA 证书包的 121 个信任锚。不再需要代理。

据我们所知,这是 NetSurf 首次被正式移植到经典 Mac OS,也是 Mac OS 9 上有史以来第一个原生支持 CSS Grid、CSS 自定义属性和 ES5 JavaScript 的浏览器。


发展历程

下面每一张截图都是一个真实的里程碑,拍摄自一台运行 Mac OS 9 的 Power Macintosh G3。标注的修复编号与本仓库的提交历史一一对应。


组成部分


目前可用的功能


下载

最新版本是 MacSurf 1.68 —— “macQJS”(2026-07-07):JavaScript 引擎已被替换 —— Duktape (ES5) → macQJS(QuickJS,ES2023),因此现代 JavaScript 可以在 Mac OS 9 上原生运行。 此外还有可用的文本输入(光标 / 选择 / Tab)、登录状态保持、书签菜单 + 下载管理器、分栏滚动条渲染修复、可下载的 Web 字体图标字形,以及一次大规模性能优化(近乎即时启动、图像/字体磁盘缓存、视口懒加载图像)。命名是为了向 68kmla.org 致敬,正是这个社区推动了这一轮开发。完整发布说明:release-notes/MacSurf-1.68.md。

此前的 MacSurf v1.4 —— Open House(2026-06-01):JavaScript 马拉松收官。 23 个 JS 桥接问题在一个版本内从开启到全部关闭 —— setTimeout / setInterval / requestAnimationFrame、window.location、window.history、URL、URLSearchParams、classList、style、Event 构造函数、MutationObserver、DOMParser、FormData、localStorage、、 / 事件,以及 / 切换。新的探测套件在 G3 iMac 上取得了 的成绩。诊断页面已上线:、、、 都会渲染真实的计数器。查看源代码以内联方式渲染,页内查找会打开一个真正的 Carbon 对话框。此前的 带来了多曲线 TLS 1.3; 是经典 Mac OS 上首个原生 TLS 1.3; 封堵了熵源漏洞; 是界面重新设计的版本; 是冷启动加速版本(mactrove.com 从 30+ 秒缩短到约 2-3 秒);首个编号 alpha 版本是 。

  • MacSurf.sit —— v1.4 二进制,开箱即用。在装有 CarbonLib 1.5+ 的 Mac OS 9.1+ 上解压并启动。
  • 从源码构建:克隆仓库后,在 Mac 端用 CodeWarrior 8 打开 browser/netsurf/frontends/macos9/MacSurf.mcp 并选择 Build。在 v1.3.1 工作区上构建 v1.4 的开发者需要向项目添加一个新的源文件:browser/netsurf/desktop/search.c(为新版查找对话框提供 browser_window_search;content/textsearch.c 已经在项目中)。macTLS 与 v1.3.1 相比没有变化。在 v1.2 工作区上构建 v1.3 的开发者需要为 TLS 1.3 添加四个 macTLS 文件:bearssl/src/ec/ec_c25519_m15.c、os9/ostls_tls13_keysched.c、os9/ostls_tls13_record.c、os9/ostls_tls13_handshake.c。在 1.0 工作区上构建 v1.2 的开发者需要 desktop/download.c。最早的版本附带一个 BuildPack.sit 快照,其中 CW8 项目已预先配置好,不过当前的版本可以直接从全新克隆构建。

如果想了解背景,可以查看更早的 alpha 发布说明:docs/release-notes/MacSurf-0.1a1.md。


快速上手

构建浏览器

MacSurf 在 Mac OS 9 上使用 CodeWarrior 8 Pro(8.3 更新版)构建。源码可以针对 Retro68 PowerPC GCC 进行干净的交叉编译,这正是我们在 Linux 侧快速做语法检查时所用的方案。

  • Mac 端构建指南
  • Linux 交叉开发工作流
下载工具
在 Mac OS 9 上运行 JavaScript Hello World
v0.2:Mac OS 9 上的 JavaScript
第一个包含真实世界 JS 的页面。Duktape 2.7.0 ES5 实时执行:Math.sqrt、JSON、ES5 数组方法。
CSS transform 旋转、缩放、平移
fixes73:CSS 变换
原生支持 transform: rotate() / scale() / translate()。使用整数 Q15 sin/cos 查找表,不依赖 FPU,可在 QuickDraw 上绘制任意角度。
CSS 径向渐变
fixes74d:径向渐变
通过同心 PaintOval 堆栈实现双色标径向渐变。解码时以 16 级涂抹过渡。支持形状与位置关键字解析。
CSS 动画:摆动、摇摆、慢速旋转
fixes77:CSS 动画
在 fixes73 旋转基础上实现的线性往返动画播放器。支持摆动、摇摆,以及 0°→359° 的完整旋转。
Mac OS 9 上带透明度的 PNG 图像
fixes79b:PNG 透明度
QuickTime Graphics Importer 为 NetSurf 图像内容处理器提供数据。PNG + GIF + BMP,全部支持真正的透明。
CSS word-break 和 overflow-wrap
fixes136:word-break / overflow-wrap
word-break: break-all、keep-all、white-space: nowrap、旧式 word-wrap: break-word。支持 URL 风格的激进换行。
CSS z-index 层叠上下文
fixes147:层叠上下文
CSS 2.1 绘制顺序。透明度、变换和显式 z-index 都会创建新的层叠上下文,并在真实硬件上正确绘制。
CSS Grid 列放置
fixes151:CSS Grid 列放置
grid-column: span N、整行 hero 区域的 1 / -1、按位置指定的 start / end、span + 自动换行。OS 9 上真正的 Grid 布局。
MacSurf 1.0 渲染 home.macsurf.org
v1.0:Showcase
新的工具带式工具栏、锐利清晰的地址栏和哑光图标,在运行 OS 9.2.2 的 G3 iMac 上渲染 home.macsurf.org。通过 macTLS 原生 HTTPS 直连源站,服务端渲染的门户页面,端到端真彩色图像。
组件语言用途
browser/C (C89, CW8)NetSurf 的分支,带有 macos9 前端。UI 使用 Carbon,绘制使用 QuickDraw,联网使用 Open Transport,JS 使用 Duktape。
proxy/Go(仅标准库)负责剥离 TLS 的旧版 HTTP 代理。如今 macTLS 已能原生工作,它基本退役,但在没有 CarbonLib 的机器上仍可用作备选方案。Mac 发送明文 HTTP,代理通过 HTTPS 获取内容,再返回明文 HTTP。
macTLS
兄弟仓库
C (CW8)面向 OS 9 的原生 TLS 1.2 库 —— 从 Mac 直接建立现代 HTTPS 连接,无需代理。底层使用 BearSSL,内置 121 个信任锚。

渲染管线

  • 完整的 NetSurf 抓取 → 解析 → 级联 → 布局 → 绘制
  • 原生 libcss,支持 var() 解析
  • QuickDraw 绘图器,带离屏 GWorld 后备缓冲

CSS —— 布局中约消费 150 个属性

  • 自定义属性与 var()
  • Flex:justify-content、align-content、order
  • Grid V1 以及 grid-template-columns/rows、gap
  • border-radius、box-shadow、透明度
  • 线性与径向渐变
  • text-shadow、text-overflow: ellipsis
  • transform(旋转、平移、缩放)
  • z-index 层叠上下文(CSS 2.1 绘制顺序)
  • CSS 计数器、视口单位、aspect-ratio
  • sans、serif、monospace 的 font-family 别名

完整 CSS 状态 →

JavaScript —— Duktape 2.7.0,完整 ES5

  • 闭包、原型、正则、JSON
  • Promise(polyfill)、递归、Mandelbrot
  • 在 233 MHz G3 上运行 ackermann(3,7) 约需 6 秒

图像 —— 全部五种格式

  • PNG,支持真正的逐像素 alpha(lodepng + CopyMask)
  • GIF,支持调色板透明
  • JPEG、BMP、TIFF

网络

  • Open Transport TCP,纯非 InContext 调用
  • HTTP/1.1 + chunked + keep-alive + 3xx 跳转
  • 连接池,15 秒无进展超时
  • 通过 macTLS(默认)或 Go 代理(备选)使用 HTTPS

浏览器界面

  • 地址栏、后退 / 前进 / 刷新 / 主页
  • 状态栏、页面信息、多窗口
  • 平滑滚动条、键盘滚动
fetch
load
DOMContentLoaded
<details>
<summary>
JS 19/19 通过,0 失败
about:cache
about:memory
about:config
about:perf
v1.3.1 “Forward, refined”
v1.3 “Forward”
v1.2 “Sealed”
v1.0 “Showcase”
v0.6.2 “Speed-Run”
v0.1a1