Repolode
leaningtech

leaningtech/webvm

Una máquina virtual Linux que se ejecuta por completo en el navegador y usa CheerpX para ejecutar código x86 mediante WebAssembly.

Estrellas
17,441
Forks
3,339
Issues abiertos
12
Último commit
hace 14 días

¿Qué es?

WebVM es un entorno virtual Linux sin servidor que se ejecuta íntegramente en el cliente con HTML5 y WebAssembly. Está diseñado para ser compatible con la ABI de Linux y ejecutar una distribución Debian sin modificar, con muchas cadenas de herramientas de desarrollo nativas, directamente en una pestaña del navegador.

La máquina virtual funciona con el motor CheerpX, que incluye un compilador JIT de x86 a WebAssembly, un sistema de archivos virtual basado en bloques, un emulador de llamadas al sistema de Linux y ejecución aislada en el cliente. La interfaz web usa xterm.js como emulador de terminal.

El repositorio contiene el código fuente de webvm.io y permite crear forks para GitHub Pages o generar imágenes de disco ext2 personalizadas a partir de un Dockerfile. También ofrece conectividad de red con Tailscale, con nodos de salida opcionales y servidores de control Headscale autohospedados, además de un panel de integración con Claude AI.

Funciones clave

  • 01Ejecuta una distribución Debian sin modificar en el navegador mediante la traducción de x86 a WebAssembly.
  • 02Ofrece un sistema de archivos virtual basado en bloques y emulación de llamadas al sistema de Linux.
  • 03Integra la conectividad de red de Tailscale, incluidos los nodos de salida y la compatibilidad con Headscale.
  • 04Permite crear imágenes de disco ext2 personalizadas a partir de un Dockerfile y desplegarlas en GitHub Pages.
  • 05Incluye un panel de integración con Claude AI que guarda la clave de API localmente en el navegador.

Casos de uso

  • Probar una shell de Linux o una cadena de herramientas de desarrollo sin instalar nada localmente.
  • Crear un REPL en el navegador, como un entorno de Python, a partir de un Dockerfile personalizado.
  • Alojar una demostración interactiva de Linux o un entorno de tutorial en un sitio estático.
  • Experimentar con desafíos CTF en un entorno aislado.

Inicio rápido

  1. 1

    Clona el repositorio

    git clone https://github.com/leaningtech/webvm.git
  2. 2

    Instala las dependencias

    npm install
  3. 3

    Compila el proyecto

    npm run build
  4. 4

    Inicia Nginx y abre WebVM en http://127.0.0.1:8081 (después de colocar una imagen de disco en custom-disk-images/)

    nginx -p . -c nginx.conf

Antes de usarlo

  • La implementación pública de CheerpX es gratuita solo para particulares y para explorar el producto; las organizaciones necesitan una licencia comercial.
  • Algunas funciones de red de bajo nivel, como el ping ICMP, no están disponibles dentro de la VM.
  • Los usuarios tienen privilegios de root de forma predeterminada y sudo no está instalado.

Temas

Preguntas frecuentes

¿Qué es webvm?
Una máquina virtual Linux que se ejecuta por completo en el navegador y usa CheerpX para ejecutar código x86 mediante WebAssembly. WebVM es un entorno virtual Linux sin servidor que se ejecuta íntegramente en el cliente con HTML5 y WebAssembly. Está diseñado para ser compatible con la ABI de Linux y ejecutar una distribución Debian sin modificar, con muchas cadenas de herramientas de desarrollo nativas, directamente en una pestaña del navegador.
¿webvm es gratuito? ¿Qué licencia tiene?
webvm es open source bajo la licencia Apache-2.0. Revisa los términos de la licencia antes de usarlo en productos comerciales.
¿webvm sigue mantenido?
Mantenimiento activo. El último commit de webvm fue el 7 oct 2026.
¿Para qué puedo usar webvm?
Probar una shell de Linux o una cadena de herramientas de desarrollo sin instalar nada localmente. Crear un REPL en el navegador, como un entorno de Python, a partir de un Dockerfile personalizado. Alojar una demostración interactiva de Linux o un entorno de tutorial en un sitio estático. Experimentar con desafíos CTF en un entorno aislado.
¿Cómo se instala webvm?
Clona el repositorio: git clone https://github.com/leaningtech/webvm.git Instala las dependencias: npm install Compila el proyecto: npm run build Inicia Nginx y abre WebVM en http://127.0.0.1:8081 (después de colocar una imagen de disco en custom-disk-images/): nginx -p . -c nginx.conf
¿Dónde consigo webvm?
El código fuente y las instrucciones de instalación están en GitHub: https://github.com/leaningtech/webvm

Resumen generado por IA a partir del README del proyecto. Las estadísticas de GitHub se actualizan a diario.

Proyectos relacionados