Společnost Cloudflare otevřela kód webového prohlížeče Kitesurf

Společnost Cloudflare oznámila otevření zdrojového kódu webového prohlížeče Kitesurf, určeného pro použití AI agenty a boty. Kitesurf podporuje analýzu HTML, aplikaci CSS stylů, spuštění JavaScriptu a generování snímků obrazovky, avšak postrádá složitosti a nadbytky vytvořené pro lidi, které jsou pro boty zbytečné. Odstranění takových funkcí, jako je dokonalé vykreslování a podpora rozšíření, umožnilo výrazně snížit zátěž na CPU a spotřebu paměti. Kód je napsán v jazycích Rust a TypeScript a je distribuován pod licencí Apache 2.0.

Místo těžkopádných prohlížečových enginů Kitesurf využívá otevřené knihovny napsané v jazyce Rust: Blitz pro analýzu HTML, práci s DOM, formátování a vykreslování stránky; Stylo (používá se ve Firefoxu) pro zpracování CSS; Boa pro provádění JavaScriptu a podporu WebAssembly; Linebender pro práci s textem a 2D grafikou; Krilla pro generaci výstupu ve formátu PDF.

Ve srovnání s použitím enginu Chromium při provádění operací generování snímků obrazovky v Kitesurf bylo zaznamenáno snížení zátěže na CPU o 3,1krát a snížení spotřeby paměti o 4,7krát, zatímco při analýze HTML došlo ke snížení o 3,8 a 7krát. Celkový čas provádění testů byl přitom 1,7 a 1,8krát déle kvůli studenému startu, rasterizaci a kódování do JPEG/PNG.

Kitesurf úspěšně prošel více než 215 tisíc testy z kolekce WPT (Web Platform Tests), správně vykresluje stránky typických webů, jako je Wikipedia, podporuje různé webové frameworky (React, Vue, Angular, Preact) a dokáže spustit hru Doom, zkompilovanou do WebAssembly.
Z omezení je uvedena absence podpory přehrávání videa, WebGL, složitých skriptů pro ověření CAPTCHA a dlouhých autentifikovaných sezení, které vyžadují uchování stavu.

Prohlížeč se skládá ze tří komponent:

  • Engin pro řízení sezení, zpracování klientských spojení a podporu protokolu CDP (Chrome DevTools Protocol);
  • PageScript pro izolované zpracování webové stránky a provádění JavaScriptu;
  • PageRenderer pro vykreslování stránek, generování snímků obrazovky a export do PDF.

Komponenty jsou izolovány od sebe a mají přístup pouze k nezbytným zdrojům. Práce probíhá v režimu Stateless bez uchovávání stavu.

Kitesurf je navržen tak, aby byl spuštěn na platformě Cloudflare Workers (dostupný otevřený runtime workerd) s kompilací do WebAssembly, ale může být použit nejen v infrastruktuře Cloudflare, ale také na místních systémech s Node.js. Pro správu a automatizaci interakce s Kitesurf se doporučuje používat Web API přes WebSocket, rozhraní příkazového řádku a CDP protokol kompatibilní s knihovnou Puppeteer.

Zdroj: opennet.ru

Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery 🔥 Koupit spolehlivý hosting pro webové stránky s ochranou proti DDoS, VPS VDS servery | ProHoster