Tvrtka Cloudflare otvorila je izvorni kod web preglednika Kitesurf

Tvrtka Cloudflare objavila je otvaranje izvornog koda web preglednika Kitesurf, namijenjenog za korištenje od strane AI agenata i botova. Kitesurf podržava parsiranje HTML-a, primjenu CSS stilova, pokretanje JavaScripta i generiranje snimki ekrana, ali istovremeno je oslobođen složenosti i suvišnih mogućnosti stvorenih za ljude, a beskorisnih za botove. Odbacivanje mogućnosti, poput savršene prikazivanja i podrške za proširenja, smanjilo je opterećenje CPU-a i potrošnju memorije. Kod je napisan na jezicima Rust i TypeScript i distribuira se pod Apache 2.0 licencom.

Umjesto teških pregledničkih motora, Kitesurf koristi otvorene biblioteke napisane na jeziku Rust: Blitz za parsiranje HTML-a, rad s DOM-om, preslagivanje i prikaz stranice; Stylo (koristi se u Firefoxu) za obradu CSS-a; Boa za izvršavanje JavaScripta i podršku WebAssembly; Linebender za rad s tekstom i 2D grafikom; Krilla za generiranje izlaza u PDF formatu.

U usporedbi s korištenjem motora Chromium, prilikom izvođenja operacija stvaranja snimaka ekrana u Kitesurf-u, zabilježeno je smanjenje opterećenja CPU-a za 3.1 puta i smanjenje potrošnje memorije za 4.7 puta, dok je pri parsiranju HTML-a smanjenje bilo 3.8 i 7 puta, redom. Ukupno vrijeme izvođenja testova bilo je sporije 1.7 i 1.8 puta zbog hladnog pokretanja, rasterizacije i kodiranja u JPEG/PNG.

Kitesurf uspješno prolazi više od 215 tisuća testova iz skupa WPT (Web Platform Tests), ispravno prikazuje stranice tipičnih web stranica kao što je Wikipedia, podržava različite web okvire (React, Vue, Angular, Preact) i sposoban je pokrenuti igru Doom, kompiliranu u WebAssembly.
Od ograničenja, primijetili smo nedostatak podrške za reprodukciju videa, WebGL, složenih skripti za provjeru CAPTCHA i dugotrajne autentificirane sesije koje zahtijevaju očuvanje stanja.

Preglednik se sastoji od tri komponente:

  • Motor za upravljanje sesijama, obradu klijentskih veza i podršku za CDP (Chrome DevTools Protocol);
  • PageScript za izoliranu obradu web stranice i izvršenje JavaScripta;
  • PageRenderer za prikaz stranica, generiranje snimki ekrana i izvoz u PDF.

Komponente su izolirane jedna od druge i imaju pristup samo potrebnim resursima. Rad se odvija u Stateless modu bez očuvanja stanja.

Kitesurf je dizajniran za pokretanje na platformi Cloudflare Workers (otvoren runtime workerd) uz kompilaciju u WebAssembly, ali se može koristiti ne samo u infrastrukturi Cloudflare, već i na lokalnim sustavima s Node.js. Za upravljanje i automatizaciju interakcije s Kitesurf-om preporučuje se korištenje Web API-ja preko WebSocket-a, CLI sučelja i CDP protokola, kompatibilnog s Puppeteer knjižnicom.

Izvor: opennet.ru

Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere 🔥 Kupite pouzdan hosting za web stranice s DDoS zaštitom, VPS VDS servere | ProHoster