Firefox 被编译到 Chrome 中运行
Simon Willison··作者 Simon Willison
关键信息
该项目之所以选择 Firefox/Gecko,是因为它对单进程支持较强,这类移植更容易实现。Puter 表示演示支持端到端加密,但由于网页代码不能直接打开任意网络连接,所有浏览器网络流量仍必须经过其服务器。
资讯摘要
Simon Willison 将 Puter 的“Firefox in WebAssembly”演示描述为一项异常惊艳的技术成果。这个演示把 Firefox 编译成 WebAssembly,因此整个浏览器可以在 Chrome 里面运行。Willison 甚至展示了自己的博客是先在 Firefox 中打开,而这个 Firefox 又运行在 WebAssembly 中,最后整体再运行在 Chrome 里。截图显示,Chrome 的网络面板下载了大量资源,其中包括 233 MB 的 gecko.wasm 文件和 18 MB 的 chrome-assets.tar.zst 归档。Puter 选择 Firefox/Gecko 的原因是它对单进程的支持较强,这让这种架构更现实。
该项目还大量使用了 AI 辅助编码,据称消耗了价值约 25,000 美元的 Claude Opus 和 Fable token,不过借助 Claude Max 订阅,实际现金成本低得多。由于浏览器代码不能直接打开任意网络连接,演示通过 WebSocket 把所有流量经由 Puter 的服务器转发,并使用 Wisp 协议实现这一点。Willison 观察到,访问 HTTPS 网站的流量确实是端到端加密的,而像 example.com 这样的 HTTP 请求和响应则是明文。文章还提到,这种代理转发很可能带来不小的后端压力,因为团队在 Hacker News 讨论期间不得不扩容服务器。作者同时给出了 firefox-wasm 的代码仓库,并提到另一个将 WebKit 编译到 WASM 的相关项目,但后者目前还没有可访问的在线演示。

资讯正文
<strong><a href="https://developer.puter.com/labs/firefox-wasm/">WebAssembly 中的 Firefox</a></strong>
这简直酷得离谱:Puter 把 Firefox 编译成了 WebAssembly,于是整个浏览器就能在另一个浏览器里运行。
这是我的博客,在 Firefox 里运行,而 Firefox 又在 WebAssembly 里运行,最终是在 Chrome 里运行:
<img alt="一个 Chrome 窗口。标签页显示 Firefox 界面,并已加载我的博客。右侧是 Chrome 网络面板,显示它加载了资源,其中包括一个 233MB 的 gecko.wasm 和一个 18MB 的 chrome-assets.tar.zst" src="https://static.simonwillison.net/static/2026/firefox-wasm.webp" />
他们选择 Firefox/Gecko,是因为它对单进程支持很强。这个项目大约用了价值 25,000 美元的 Claude Opus 和 Fable 代币,但由于利用了 Claude Max 订阅计划,实际花费的美元要少得多。
这个演示把所有流量都通过 WebSocket 协议(使用 <a href="https://github.com/MercuryWorkshop/wisp-protocol">Wisp 协议</a>)经由 Puter 的服务器转发——要实现这种功能,这是必要条件,因为在浏览器中运行的代码不能打开任意网络连接。
(这种代理转发听起来很贵!在关于这个项目的 Hacker News 讨论期间,团队<a href="https://news.ycombinator.com/item?id=48926939#48936563">不得不扩容服务器</a>来承载流量。)
Puter 声称这支持端到端加密,而且看起来确实如此——我检查了 WebSocket 消息,发往我自己的 HTTPS 网站的流量是加密的,而对 <code>http://www.example.com/</code> 的请求和响应则是明文。
<a href="https://github.com/HeyPuter/firefox-wasm">这里是</a> <code>firefox-wasm</code> 的仓库。<a href="https://github.com/theogbob/WebkitWasm">theogbob/WebkitWasm</a> 是一个类似的项目,它把 WebKit 编译成 WASM,但目前还没有可访问的在线演示。
来源与参考
收录于 2026-07-18