Cloudflare har open koden til web-nettleseren Kitesurf

Cloudflare har annonsert åpningen av kildekoden til webleseren Kitesurf, som er designet for bruk av AI-agenter og roboter. Kitesurf støtter parsing av HTML, bruk av CSS-stiler, kjøring av JavaScript og generering av skjermbilder, men er samtidig fri for komplikasjoner og overflødigheter som er laget for mennesker og unyttige for roboter. Fjerning av muligheter som perfekt rendering og støtte for utvidelser har betydelig redusert belastningen på CPU og minneforbruket. Koden er skrevet i språkene Rust og TypeScript og distribueres under Apache 2.0-lisensen.

I stedet for tunge nettlesermotorer benytter Kitesurf åpne biblioteker skrevet i Rust: Blitz for parsing av HTML, arbeid med DOM, komposisjon og rendering av sider; Stylo (brukt i Firefox) for behandling av CSS; Boa for kjøring av JavaScript og støtte for WebAssembly; Linebender for teksthåndtering og 2D-grafikk; Krilla for generering av PDF-output.

Sammenlignet med bruken av Chromium-motoren ved oppretting av skjermbilder, er det notert en reduksjon i CPU-belastningen på 3.1 ganger og en reduksjon i minneforbruket på 4.7 ganger i Kitesurf, mens det ved parsing av HTML er henholdsvis 3.8 og 7 ganger. Den totale testtiden viste seg å være 1.7 og 1.8 ganger langsommere på grunn av kaldstart, rasterisering og koding i JPEG/PNG.

Kitesurf klarer mer enn 215 000 tester fra WPT (Web Platform Tests)-settet, renderer sider for typiske nettsteder som Wikipedia korrekt, støtter ulike web-rammeverk (React, Vue, Angular, Preact) og kan kjøre spillet Doom, kompilert til WebAssembly.
Av begrensningene bemerkes fravær av støtte for videovisning, WebGL, komplekse skript for å sjekke captcha og langsiktige autentiserte økter som krever tilstandslagring.

Nettleseren består av tre komponenter:

  • En motor for å håndtere økter, behandle klientforbindelser og støtte CDP-protokollen (Chrome DevTools Protocol);
  • PageScript for isolert behandling av web-sider og utførelse av JavaScript;
  • PageRenderer for rendering av sider, generering av skjermbilder og eksport til PDF.

Komponentene er isolert fra hverandre og har tilgang kun til nødvendige ressurser. Arbeidet skjer i Stateless-modus uten tilstandslagring.

Kitesurf er beregnet for oppstart ved hjelp av Cloudflare Workers-plattformen (åpen runtime workerd) med kompilering til WebAssembly, men kan brukes ikke bare i Cloudflare-infrastrukturen, men også på lokale systemer med Node.js. For å administrere og automatisere interaksjonen med Kitesurf anbefales det å bruke Web API via WebSocket, kommandolinjegrensesnittet og CDP-protokollen, som er kompatibel med Puppeteer-biblioteket.

Kilde: opennet.ru

Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere 🔥 Kjøp pålitelig hosting for nettsteder med DDoS-beskyttelse, VPS VDS-servere | ProHoster