Kompania Cloudflare hapi kodin e shfletuesit web Kitesurf

Kompania Cloudflare shpalli hapjen e kodit burimor të shfletuesit web Kitesurf, i cili është projektuar për përdorim nga agjentët AI dhe robotët. Kitesurf mbështet analizimin e HTML, aplikimin e stilizimeve CSS, ekzekutimin e JavaScript dhe gjenerimin e imazheve, por është i liruar nga kompleksitetet dhe tepricat e krijuara për njerëzit dhe të pafëshira për robotët. Eliminimi i mundësive të tilla si vizatimi i përsosur dhe mbështetje për shtesat ka lejuar të reduktohet ndjeshëm ngarkesa në CPU dhe konsumi i memories. Kodi është shkruar në gjuhët Rust dhe TypeScript dhe shpërndahet nën licencën Apache 2.0.

Në vend të motorëve të rëndë të shfletuesve, Kitesurf përdor biblioteka të hapura në gjuhën Rust: Blitz për analizimin e HTML, punën me DOM, kompozimin dhe vizatimin e faqes; Stylo (i përdorur në Firefox) për përpunimin e CSS; Boa për ekzekutimin e JavaScript dhe mbështetje për WebAssembly; Linebender për punën me tekstin dhe grafikën 2D; Krilla për gjenerimin e daljes në formatin PDF.

Në krahasim me përdorimin e motorit Chromium gjatë operacioneve të gjenerimit të imazheve në Kitesurf, është vënë re një reduktim i ngarkesës në CPU me 3.1 herë dhe një reduktim i konsumit të memories me 4.7 herë, ndërsa gjatë analizimit të HTML - me 3.8 dhe 7 herë përkatësisht. Megjithatë, koha e përgjithshme e ekzekutimit të testeve rezultoi të jetë 1.7 dhe 1.8 herë më e ngadaltë për shkak të fillimit të ftohtë, rasterizimit dhe kodimit në JPEG/PNG.

Kitesurf kalon me sukses më shumë se 215 mijë teste nga grupi WPT (Web Platform Tests), vizaton saktësisht faqet e faqeve tipike si Wikipedia, mbështet framework-e të ndryshme web (React, Vue, Angular, Preact) dhe është në gjendje të ekzekutojë lojën Doom, e cila është kompiliuar në WebAssembly.
Nga kufizimet, vërehet mungesa e mbështetjes për riprodhimin e videove, WebGL, skriptet e ndërlikuara për verifikimin e CAPTCHA dhe seancat e autentikimit afatgjatë që kërkojnë ruajtjen e gjendjes.

Shfletuesi përbëhet nga tre përbërës:

  • NjĂ« motor pĂ«r menaxhimin e seancave, pĂ«rpunimin e lidhjeve klient dhe mbĂ«shtetje pĂ«r protokollin CDP (Protokolli i Veglave tĂ« Zhvillimit tĂ« Chrome);
  • PageScript pĂ«r pĂ«rpunimin e izoluar tĂ« faqes web dhe ekzekutimin e JavaScript;
  • PageRenderer pĂ«r vizatimin e faqeve, gjenerimin e imazheve dhe eksportimin nĂ« PDF.

Përbërësit janë të izoluar njëri nga tjetri dhe kanë akses vetëm në burimet e nevojshme. Puna kryhet në mënyrë Stateless pa ruajtjen e gjendjes.

Kitesurf është projektuar për t'u nisur duke përdorur platformën Cloudflare Workers (runtime i hapur workerd është në dispozicion) me kompilim në WebAssembly, por mund të përdoret jo vetëm në infrastrukturën Cloudflare, por edhe në sisteme lokale me Node.js. Për menaxhimin dhe automatizimin e ndërveprimit me Kitesurf, sugjerohet të përdoren Web API përmes WebSocket, ndërfaqja e komandave dhe protokolli CDP, i cili është në përputhje me bibliotekën Puppeteer.

Burimi: opennet.ru

Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS đŸ”„ Blini hosting tĂ« besueshĂ«m pĂ«r faqe interneti me mbrojtje nga DDoS, serverĂ« VPS VDS | ProHoster