Cloudflare har annonserat att de öppnar kÀllkoden till webblÀsaren Kitesurf, som Àr avsedd för anvÀndning av AI-agenter och bots. Kitesurf stödjer HTML-parsing, tillÀmpning av CSS-stilmallar, körning av JavaScript och generering av skÀrmdumpar, men saknar komplicerade funktioner och överflödigheter som Àr skapade för mÀnniskor och Àr onödiga för bots. Att ta bort funktioner som perfekt rendering och stöd för tillÀgg har markant minskat CPU-belastningen och minnesförbrukningen. Koden Àr skriven i Rust och TypeScript och distribueras under Apache 2.0-licensen.
IstÀllet för tyngre webblÀsarmotorer anvÀnder Kitesurf öppna bibliotek skrivna i Rust: Blitz för HTML-parsing, DOM-behandling, layout och rendering av sidor; Stylo (anvÀnds i Firefox) för CSS-hantering; Boa för att exekvera JavaScript och stödja WebAssembly; Linebender för text- och 2D-grafikbearbetning; Krilla för att generera utdata i PDF-format.
JÀmfört med att anvÀnda Chromium-motorn för att skapa skÀrmdumpar i Kitesurf har CPU-belastningen minskat med 3,1 gÄnger och minnesanvÀndningen med 4,7 gÄnger, medan HTML-parsing har minskat med 3,8 respektive 7 gÄnger. Den totala testtiden var dock 1,7 och 1,8 gÄnger lÄngsammare pÄ grund av kallstart, rasterisering och kodning till JPEG/PNG.
Kitesurf klarar framgÄngsrikt mer Àn 215 000 tester frÄn WPT (Web Platform Tests), renderar sidor korrekt för typiska webbplatser som Wikipedia, stödjer olika webb-ramverk (React, Vue, Angular, Preact) och kan köra spelet Doom, kompilera i WebAssembly.
Bland begrÀnsningarna noteras avsaknaden av stöd för videouppspelning, WebGL, komplexa skript för captcha-verifiering och lÄnga autentiserade sessioner som krÀver tillstÄndssparande.
WebblÀsaren bestÄr av tre komponenter:
- En motor för hantering av sessioner, bearbetning av klientanslutningar och stöd för CDP-protokollet (Chrome DevTools Protocol);
- PageScript för isolerad bearbetning av webbsidan och utförande av JavaScript;
- PageRenderer för rendering av sidor, generering av skÀrmdumpar och export till PDF.
Komponenterna Àr isolerade frÄn varandra och har endast tillgÄng till nödvÀndiga resurser. Arbetet utförs i Stateless-lÀge utan tillstÄndssparande.

Kitesurf Àr avsedd för lansering med plattformen Cloudflare Workers (öppen runtime workerd) med kompilering till WebAssembly, men kan Àven anvÀndas inte bara i Cloudflares infrastruktur utan ocksÄ pÄ lokala system med Node.js. För att hantera och automatisera interaktionen med Kitesurf rekommenderas det att anvÀnda Web API via WebSocket, kommandoradsgrÀnssnitt och CDP-protokoll som Àr kompatibelt med Puppeteer-biblioteket.
KĂ€lla: opennet.ru
