Uzņēmums Cloudflare ir atvēris web pārlūkprogrammas Kitesurf kodu

Cloudflare paziņoja par Kitesurf web pārlūka avota koda izdošanu, kas paredzēts AI aģentu un robotu lietošanai. Kitesurf atbalsta HTML parsēšanu, CSS stilu piemērošanu, JavaScript palaišanu un ekrānuzņēmumu ģenerēšanu, bet tajā nav sarežģījumu un pārmērību, kas domātas cilvēkiem un nav noderīgas robotiem. Šādu iespēju, piemēram, ideālas attēlošanas un paplašinājumu atbalsta, izslēgšana ir palīdzējusi ievērojami samazināt CPU slodzi un atmiņas patēriņu. Kods uzrakstīts Rust un TypeScript valodās un izplatās saskaņā ar Apache 2.0 licenci.

Kitesurf izmanto atvērtas bibliotēkas Rust valodā, nevis smagās pārlūka dzinējus: Blitz HTML parsēšanai, DOM apstrādei, lapas kompozīcijai un attēlošanai; Stylo (tiek izmantots Firefox) CSS apstrādei; Boa JavaScript izpildei un WebAssembly atbalstam; Linebender teksta un 2D grafikas apstrādei; Krilla PDF formāta izvadīšanai.

Salīdzinot ar Chromium dzinēja izmantošanu, veicot ekrānuzņēmumu ģenerēšanu Kitesurf novērota CPU slodzes samazināšanās 3.1 reizes un atmiņas patēriņa samazināšanās 4.7 reizes, savukārt HTML parsēšanā - 3.8 un 7 reizes attiecīgi. Kopējais testa izpildes laiks izrādījās 1.7 un 1.8 reizes lēnāks dēļ aukstā starta, rasterizācijas un JPEG/PNG kodēšanas.

Kitesurf veiksmīgi iziet vairāk nekā 215 tūkstoši testu no WPT (Web Platform Tests) komplekta, pareizi attēlo standarta vietņu lapas, piemēram, Wikipedia, atbalsta dažādas web ietvarstruktūras (React, Vue, Angular, Preact) un spēj palaist spēli Doom, kas ir kompilēta WebAssembly.
No ierobežojumiem tiek atzīmēta video atskaņošanas, WebGL, sarežģītu skriptu atbalsta captcha pārbaudei un ilgstošu autentificētu sesiju, kas prasa stāvokļa saglabāšanu, trūkums.

Pārlūks sastāv no trim komponentiem:

  • Sērijas vadīšanas dzinējs, klientu savienojumu apstrāde un CDP (Chrome DevTools Protocol) atbalsts;
  • PageScript izolētai web lapas apstrādei un JavaScript izpildei;
  • PageRenderer lapu attēlošanai, ekrānuzņēmumu ģenerēšanai un eksportam PDF formātā.

Komponenti ir izolēti no citiem un tiem ir piekļuve tikai nepieciešamajiem resursiem. Darbs norit Stateless režīmā bez stāvokļa saglabāšanas.

Kitesurf ir paredzēts palaišanai, izmantojot Cloudflare Workers platformu (open runtime workerd), ar kompilāciju WebAssembly, taču to var izmantot ne tikai Cloudflare infrastruktūrā, bet arī lokālajās sistēmās ar Node.js. Lai pārvaldītu un automatizētu mijiedarbību ar Kitesurf, ieteicams izmantot Web API caur WebSocket, komandrindas interfeisu un CDP protokolu, kas ir saderīgs ar Puppeteer bibliotēku.

Avots: opennet.lv

Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem 🔥 Iegādājieties uzticamu tīmekļa hostingu ar DDoS aizsardzību, VPS VDS serveriem | ProHoster