Una app para HarmonyOS que ejecuta un entorno Linux arm64 completo con una shell de Alpine en teléfonos, tablets y dispositivos 2 en 1 o PC.
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
Clona el repositorio
git clone https://github.com/leaningtech/webvm.git - 2
Instala las dependencias
npm install - 3
Compila el proyecto
npm run build - 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
Warp es un entorno de desarrollo agéntico basado en la terminal, con un agente de programación integrado o compatibilidad con tus propios agentes de CLI.
Termux es una app de terminal y un entorno Linux para Android que ejecuta un shell con paquetes instalables en el teléfono.
Emulador de terminal rápido, nativo y con muchas funciones, con interfaces propias de cada plataforma y renderizado por GPU; incluye la biblioteca libghostty para integrar terminales.
Terminal de código abierto con IA integrada para macOS, Linux y Windows, compatible con BYOK y modelos locales, sesiones SSH persistentes y vistas previas de archivos integradas.
Interfaz de terminal para Linux que muestra los puertos de red en escucha y permite inspeccionar o terminar los procesos que los ocupan.