Del silicio al vapor
"O cuando la computación dejó de ser un lugar" Hubo una época en que podíamos señalar un servidor
¡¿Espera, QUÉ?! ¿Recuerdas los días en que ejecutar un escritorio Linux completo significaba particionar discos duros, configurar gestores de arranque y sacrificar tu preciado fin de semana a los dioses de la administración de sistemas? Bueno, amigos, esos días se acabaron (más o menos). WebVM 2.0 te permite ejecutar
¿Recuerdas los días en que ejecutar un escritorio Linux completo significaba particionar discos duros, configurar gestores de arranque y sacrificar tu preciado fin de semana a los dioses de la administración de sistemas? Bueno, amigos, esos días se acabaron (más o menos). WebVM 2.0 te permite ejecutar un entorno Linux completo, incluyendo un escritorio, completamente dentro de tu navegador. Sí, leíste bien. Tu navegador. Gracias a la magia de WebAssembly, HTML5 y un toque de magia negra (o tal vez solo ingeniería inteligente), WebVM trae una máquina virtual Linux completa, almacenamiento persistente, redes e incluso Xorg a tu navegador, todo del lado del cliente. No más arranque dual, no más máquinas virtuales consumiendo tu RAM, solo Linux puro y sin adulterar en una pestaña. Echa un vistazo al entorno Alpine Linux / Xorg / i3 para verlo en acción.

WebVM se basa en cuatro pilares de la tecnología web moderna:

CheerpX es la tecnología central detrás de WebVM. Es un motor de virtualización x86 seguro, robusto y de alto rendimiento construido completamente sobre WebAssembly y las API del navegador. Se ejecuta dentro del sandbox del navegador, aislando las aplicaciones virtualizadas de tu sistema local. Piensa en ello como un pequeño universo autónomo de Linux que se ejecuta en la pestaña de tu navegador.
CheerpX no es solo para WebVM. También impulsa CheerpX para Flash (porque alguien tiene que mantener vivas esas antiguas aplicaciones Flash), el CheerpX Games Runner (para jugar juegos de GOG en tu navegador), y está disponible como un paquete NPM.

El backend de disco en streaming de WebVM es una innovación clave. Utiliza WebSockets y Cloudflare Workers para descargar bloques de disco bajo demanda, minimizando la latencia y el uso de ancho de banda. La compatibilidad con lectura y escritura y la persistencia local se gestionan mediante IndexedDB, por lo que tus cambios se guardan incluso si cierras el navegador.

Las redes en un entorno de navegador son un desafío. WebVM aborda esto integrándose con Tailscale, creando una VPN privada que permite que la máquina virtual se conecte a Internet y a otras WebVM. Este enfoque evita los problemas de escalabilidad, privacidad y abuso asociados con las soluciones tradicionales basadas en proxy.

WebVM admite aplicaciones gráficas y entornos de escritorio a través de Xorg y la API KMS (Kernel Modesetting) de Linux. Esto permite una transición fluida de los mensajes del kernel a la animación de arranque a Xorg sin el temido parpadeo de la pantalla. Actualmente, WebVM cuenta con el administrador de ventanas i3, pero el soporte para entornos más pesados como XFCE está en la hoja de ruta. El soporte para Wayland también está planeado, pero tomará algún tiempo.

WebVM es un escaparate para CheerpX y una herramienta útil por derecho propio. Proporciona una forma conveniente de acceder a herramientas de línea de comandos, ejecutar fragmentos de código e incluso administrar repositorios de git sobre la marcha. También es un potencial cambio de juego para la educación, que ofrece acceso sin mantenimiento y sin costo a entornos de desarrollo. Y seamos honestos, ejecutar un escritorio Linux completo en tu navegador es simplemente genial.
El lanzamiento de WebVM 2.0 y CheerpX 1.0 es solo el comienzo. Los planes futuros incluyen un rendimiento mejorado, compatibilidad con contenedores Docker y mejoras en la experiencia de usuario de WebVM. Las posibilidades son tan vastas como el propio Internet (o al menos tan vastas como la memoria de tu navegador).
WebVM es un proyecto fascinante que amplía los límites de lo que es posible en un navegador web. Es gratuito, de código abierto y está disponible para que cualquiera lo use, modifique y mejore. Si encuentras algún error, infórmalo en GitHub. Y si tienes alguna pregunta, únete a la comunidad de Leaning Technologies en Discord.
Artículo original de Alessandro Pignotti en Leaning Technologies Labs


"O cuando la computación dejó de ser un lugar" Hubo una época en que podíamos señalar un servidor
El lado "defensivo" de la ciberseguridad es, a menudo, el lado "ofensivo" con una licencia diferente. La misma AI que puede "detectar una vulnerabilidad para parchearla" también puede "detectar una vulnerabilidad para explotarla".