L'azienda Cloudflare ha aperto il codice del web browser Kitesurf

L'azienda Cloudflare ha annunciato l'apertura del codice sorgente del web browser Kitesurf, progettato per l'uso da parte di agenti AI e bot. Kitesurf supporta l'analisi HTML, l'applicazione di stili CSS, l'esecuzione di JavaScript e la generazione di screenshot, ma è privo delle complessità e delle esuberanze create per gli esseri umani e inutili per i bot. L'eliminazione di funzionalità come il rendering perfetto e il supporto per le estensioni ha ridotto significativamente il carico sulla CPU e il consumo di memoria. Il codice è scritto in Rust e TypeScript ed è distribuito sotto licenza Apache 2.0.

Invece di utilizzare motori browser pesanti, Kitesurf impiega librerie open source in Rust: Blitz per l'analisi HTML, la gestione del DOM, il layout e il rendering della pagina; Stylo (utilizzato in Firefox) per l'elaborazione CSS; Boa per l'esecuzione di JavaScript e il supporto per WebAssembly; Linebender per la gestione del testo e della grafica 2D; Krilla per la generazione di output in formato PDF.

Rispetto all'uso del motore Chromium durante le operazioni di screenshoting, Kitesurf ha mostrato una riduzione del carico sulla CPU di 3.1 volte e una diminuzione del consumo di memoria di 4.7 volte, mentre per l'analisi HTML le riduzioni sono state rispettivamente di 3.8 e 7 volte. Tuttavia, il tempo totale di esecuzione dei test è risultato essere 1.7 e 1.8 volte più lento a causa dell'avvio a freddo, della rasterizzazione e della codifica in JPEG/PNG.

Kitesurf supera con successo oltre 215.000 test del set WPT (Web Platform Tests), esegue correttamente il rendering di pagine di siti standard come Wikipedia, supporta vari framework web (React, Vue, Angular, Preact) ed è in grado di eseguire il gioco Doom, compilato in WebAssembly.
Tra le limitazioni, si segnala l'assenza di supporto per la riproduzione video, WebGL, script complessi per la verifica del captcha e sessioni autenticate prolungate che richiedono il salvataggio dello stato.

Il browser è composto da tre componenti:

  • Un motore per la gestione delle sessioni, l'elaborazione delle connessioni client e il supporto per il protocollo CDP (Chrome DevTools Protocol);
  • PageScript per l'elaborazione isolata della web page e l'esecuzione di JavaScript;
  • PageRenderer per il rendering delle pagine, la generazione di screenshot e l'esportazione in PDF.

I componenti sono isolati l'uno dall'altro e hanno accesso solo alle risorse necessarie. Il funzionamento avviene in modalità Stateless senza salvataggio dello stato.

Kitesurf è progettato per essere avviato utilizzando la piattaforma Cloudflare Workers (disponibile un runtime workerd open source) con compilazione in WebAssembly, ma può essere utilizzato non solo nell'infrastruttura di Cloudflare, ma anche su sistemi locali con Node.js. Per gestire e automatizzare l'interazione con Kitesurf, si consiglia di utilizzare le API Web tramite WebSocket, l'interfaccia della riga di comando e il protocollo CDP, compatibile con la libreria Puppeteer.

Fonte: opennet.ru

Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS 🔥 Acquista hosting affidabile per siti web con protezione DDoS, server VPS VDS - ProHoster