在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生態系統的發展,這類瀏覽器內虛擬化技術或在雲端計算、開發測試、安全隔離等領域發揮重要作用。