在WebAssembly中運行Firefox:瀏覽器內虛擬化的技術突破
Puter團隊成功將Firefox的Gecko引擎編譯為WebAssembly,實現了在一個瀏覽器中完整運行另一個瀏覽器的壯舉。項目耗費約25,000美元的AI計算資源,通過Wisp協議代理所有網絡流量,並支持端到端加密。該成果已開源,展示了WebAssembly在虛擬化領域的巨大潛力。
近日,Puter團隊在技術社區發佈了一項令人矚目的成果:他們將Mozilla Firefox瀏覽器的Gecko引擎成功編譯為WebAssembly(WASM),使得整個瀏覽器可以在另一個現代瀏覽器(如Chrome)中完整運行。這一項目不僅展示了WebAssembly作為通用運行時環境的強大兼容性,也為瀏覽器虛擬化技術開闢了全新的路徑。
Puter團隊選擇Firefox/Gecko引擎,主要看中其優秀的單進程模式支持,這減少了多進程架構帶來的複雜性。在開發過程中,他們大量使用了AI輔助編程工具,包括Anthropic的Claude Opus和Fable模型,總計消耗了約25,000美元的AI令牌。這些費用得益於Claude Max訂閲計劃,該計劃為高額度AI使用提供了經濟支持。
由於在瀏覽器環境中運行的WebAssembly代碼無法直接打開任意網絡連接,Puter採用了基於WebSocket的Wisp協議,將所有網絡流量通過自己的服務器進行代理。這一設計雖然增加了服務器負載(團隊在Hacker News討論期間不得不緊急擴展服務器以應對流量高峯),但同時也實現了端到端加密。據測試,對HTTPS網站的流量在WebSocket中完全加密,而對HTTP網站的請求和響應則以明文傳輸。
目前,該項目的代碼已完全開源,託管在GitHub倉庫HeyPuter/firefox-wasm中。此外,還有另一個名為theogbob/WebkitWasm的類似項目,旨在將WebKit引擎編譯為WASM,但尚未公開可訪問的在線演示。Puter的這一成就不僅是對WebAssembly技術邊界的拓展,也為未來在瀏覽器中運行完整操作系統或複雜應用提供了可能性。隨着WebAssembly生態系統的發展,這類瀏覽器內虛擬化技術或在雲計算、開發測試、安全隔離等領域發揮重要作用。