A Puter projekt összeállította a Firefoxot WebAssembly-re (WASM) úgy, hogy a teljes böngésző egy másik böngészőben fusson. A demonstráció során a fejlesztő megmutatta, hogy saját blogja Firefoxban fut, maga a Firefox pedig WebAssembly-ben fut egy másik böngészőben (például Chrome alatt).
Műszaki választások és indoklás
A csapat a Firefox/Gecko kódját választotta, mert erős egyfolyamatú (single-process) támogatása megkönnyítette az összeállítást és a futtatást ilyen környezetben. A WebAssembly-re fordítás lehetővé teszi, hogy natív böngészőmotor JavaScript/WebAssembly-konténerben fusson egy másik böngésző lapján belül.
Hálózati proxy és biztonság
A demonstráció minden hálózati forgalmat egy WebSocket-alapú csatornán keresztül továbbít Puter szerverére, a Wisp protokoll használatával. Ez szükséges, mert a böngészőkben futó kódok nem tudnak tetszőleges hálózati kapcsolódásokat kezdeményezni, így a WebSocket-proxy egy kötelező megoldás a projekt jelenlegi felépítésében.
A Puter szerint a megoldás támogatja a végpontok közötti titkosítást. A projekt egyik vizsgálata szerint a WebSocket-üzeneteket elemezve az HTTPS-en keresztül célzott forgalom titkosítva jelent meg, míg a http://www.example.com/ kérések és válaszok tiszta szövegként jelentek meg a proxyn keresztül.
Költségek és skálázás
A projektet körülbelül 25 000 dollár értékű Claude Opus és Fable token finanszírozta, a munkát a Claude Max előfizetés csomagjának keretei között végezték. A Puter csapata arról számolt be, hogy a Hacker News-on megindult beszélgetés idején a megnövekedett forgalom kezelése érdekében fel kellett skálázniuk a szervereket, ami további terhelést és költségeket jelentett.
Forráskód és kapcsolódó munkák
A firefox-wasm adattár nyilvánosan elérhető a Puter projektben. Hasonló jellegű kezdeményezés a theogbob/WebkitWasm, amely WebKitet fordít WebAssembly-re; ez a projekt azonban jelenleg nem rendelkezik nyilvánosan elérhető online demóval.
Miért számít ez?
A Firefox WebAssembly-re fordítása érdekes demonstrációja annak, hogyan lehet összetett, natív kódokat webböngészőben futtatni korlátozások mellett. A megközelítés alkalmazási területei kísérleti jellegűek: oktatás, kutatás, sandboxing és kompatibilitási tesztek. Ugyanakkor a megoldás hálózati proxyfölöttisége és az ezzel járó költségek rámutatnak a gyakorlati bevezetés korlátaira.
Források és további információk
- Puter projekt demonstrációja és a firefox-wasm adattár
- theogbob/WebkitWasm mint hasonló kezdeményezés
- Hacker News vitafolyamatok, amelyek a szerverforgalom növekedését okozták
(Összegzés a projekt publikus nyilatkozatai és a demonstráció megfigyelései alapján.)



