Podjetje Cloudflare je odprlo kodo spletnega brskalnika Kitesurf.

Podjetje Cloudflare je napovedalo odprtje izvorne kode spletnega brskalnika Kitesurf, namenjenega uporabi z AI agenti in boti. Kitesurf podpira razčlenjevanje HTML, uporabo CSS slogov, izvajanje JavaScript in generiranje posnetkov zaslona, vendar je hkrati brez zapletenosti in odvečnosti, ki so namenjene ljudem in so za bote nepomembne. Odstranitev takšnih funkcionalnosti, kot sta idealna upodobitev in podpora razširitvam, je omogočila znatno zmanjšanje obremenitve CPU in porabe pomnilnika. Koda je napisana v jezikih Rust in TypeScript ter je na voljo pod licenco Apache 2.0.

Namesto težkih brskalniških motorjev Kitesurf uporablja odprte knjižnice v jeziku Rust: Blitz za razčlenjevanje HTML, delo z DOM, postavljanje in upodabljanje strani; Stylo (uporablja se v Firefoxu) za obdelavo CSS; Boa za izvajanje JavaScript in podporo WebAssembly; Linebender za delo s tektom in 2D grafiko; Krilla za generiranje izhodov v formatu PDF.

V primerjavi z uporabo motorja Chromium je bilo pri ustvarjanju posnetkov zaslona v Kitesurf ugotovljeno, da se obremenitev CPU zmanjša za 3,1-krat in poraba pomnilnika za 4,7-krat, pri razčlenjevanju HTML pa za 3,8 in 7-krat. Skupni čas izvajanja testov pa je bil 1,7 in 1,8-krat počasnejši zaradi hladnega zagona, rasterizacije in kodiranja v JPEG/PNG.

Kitesurf uspešno opravi več kot 215.000 testov iz nabora WPT (Web Platform Tests), pravilno upodablja strani tipičnih spletnih mest, kot je Wikipedia, podpira različne spletne okvire (React, Vue, Angular, Preact) in lahko izvede igro Doom, skompilirano v WebAssembly.
Med omejitvami je poudarjena pomanjkljivost podpore za predvajanje videoposnetkov, WebGL, zapletenih skriptov za preverjanje CAPTCHA in dolgotrajnih avtentificiranih sej, ki zahtevajo ohranjanje stanja.

Brskalnik je sestavljen iz treh komponent:

  • Motor za upravljanje sej, obdelavo klientskih povezav in podporo protokolu CDP (Chrome DevTools Protocol);
  • PageScript za izolirano obdelavo spletne strani in izvajanje JavaScript;
  • PageRenderer za upodabljanje strani, generiranje posnetkov zaslona in izvoz v PDF.

Komponente so izolirane ena od druge in imajo dostop le do potrebnih virov. Delo poteka v načinu Stateless brez ohranjanja stanja.

Kitesurf je zasnovan za pokretanje koristeći platformu Cloudflare Workers (otvoren runtime workerd) s kompajliranjem u WebAssembly, ali može se koristiti ne samo u infrastrukturi Cloudflare, već i na lokalnim sistemima s Node.js. Za upravljanje i automatizaciju interakcije s Kitesurfom, preporučuje se korištenje Web API-ja putem WebSocket-a, komandne linije i CDP protokola, kompatibilnog s Puppeteer bibliotekom.

Izvor: opennet.ru

Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki 🔥 Kupite zanesljivo gostovanje za spletne strani z zaščito pred DDoS, VPS VDS strežniki | ProHoster