App para HarmonyOS que executa um ambiente Linux arm64 completo com shell Alpine em celulares, tablets e dispositivos 2 em 1/PC.
leaningtech/webvm
Uma máquina virtual Linux que roda inteiramente no navegador e usa o CheerpX para executar código x86 via WebAssembly.
- Estrelas
- 17,441
- Forks
- 3,339
- Issues abertas
- 12
- Último commit
- há 14 dias
O que é?
O WebVM é um ambiente virtual Linux sem servidor que roda totalmente no cliente, em HTML5 e WebAssembly. Ele foi projetado para ser compatível com a ABI do Linux e executa uma distribuição Debian sem modificações, incluindo várias toolchains nativas de desenvolvimento, diretamente em uma aba do navegador.
A máquina virtual é executada pelo mecanismo CheerpX, que oferece um compilador JIT de x86 para WebAssembly, um sistema de arquivos virtual baseado em blocos, um emulador de chamadas de sistema do Linux e execução isolada no cliente. A interface web usa o xterm.js como emulador de terminal.
O repositório contém o código-fonte do webvm.io e permite criar forks no GitHub Pages ou gerar imagens de disco ext2 personalizadas a partir de um Dockerfile. Também oferece rede via Tailscale, com suporte opcional a exit nodes e servidores de controle Headscale auto-hospedados, além de um painel de integração com Claude AI.
Recursos principais
- 01Executa uma distribuição Debian sem modificações no navegador, traduzindo x86 para WebAssembly.
- 02Oferece um sistema de arquivos virtual baseado em blocos e emulação de chamadas de sistema do Linux.
- 03Integra a rede do Tailscale, incluindo exit nodes e suporte ao Headscale.
- 04Permite criar imagens de disco ext2 personalizadas a partir de um Dockerfile e implantá-las no GitHub Pages.
- 05Inclui um painel de integração com Claude AI que armazena a chave da API localmente no navegador.
Casos de uso
- Experimentar um shell Linux ou uma toolchain de desenvolvimento sem instalar nada localmente.
- Criar uma REPL no navegador, como um ambiente Python, a partir de um Dockerfile personalizado.
- Hospedar uma demonstração interativa ou um ambiente de tutorial Linux em um site estático.
- Experimentar desafios de CTF em um sandbox isolado.
Início rápido
- 1
Clone o repositório
git clone https://github.com/leaningtech/webvm.git - 2
Instale as dependências
npm install - 3
Compile o projeto
npm run build - 4
Inicie o Nginx e abra o WebVM em http://127.0.0.1:8081 (depois de colocar uma imagem de disco em custom-disk-images/)
nginx -p . -c nginx.conf
Antes de usar
- A implantação pública do CheerpX é gratuita apenas para uso individual e exploração; organizações precisam de uma licença comercial.
- Alguns recursos de rede de baixo nível, como ping ICMP, não estão disponíveis dentro da VM.
- Os usuários têm privilégios de root por padrão, e o sudo não está instalado.
Tópicos
Perguntas frequentes
- O que é webvm?
- Uma máquina virtual Linux que roda inteiramente no navegador e usa o CheerpX para executar código x86 via WebAssembly. O WebVM é um ambiente virtual Linux sem servidor que roda totalmente no cliente, em HTML5 e WebAssembly. Ele foi projetado para ser compatível com a ABI do Linux e executa uma distribuição Debian sem modificações, incluindo várias toolchains nativas de desenvolvimento, diretamente em uma aba do navegador.
- webvm é gratuito? Qual é a licença?
- webvm é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- webvm ainda é mantido?
- Manutenção ativa. O último commit de webvm foi em 7 de out. de 2026.
- Para que posso usar webvm?
- Experimentar um shell Linux ou uma toolchain de desenvolvimento sem instalar nada localmente. Criar uma REPL no navegador, como um ambiente Python, a partir de um Dockerfile personalizado. Hospedar uma demonstração interativa ou um ambiente de tutorial Linux em um site estático. Experimentar desafios de CTF em um sandbox isolado.
- Como instalar webvm?
- Clone o repositório: git clone https://github.com/leaningtech/webvm.git Instale as dependências: npm install Compile o projeto: npm run build Inicie o Nginx e abra o WebVM em http://127.0.0.1:8081 (depois de colocar uma imagem de disco em custom-disk-images/): nginx -p . -c nginx.conf
- Onde consigo webvm?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/leaningtech/webvm
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Warp é um ambiente de desenvolvimento agentivo baseado no terminal, com um agente de programação integrado ou suporte aos seus próprios agentes de CLI.
Termux é um app de terminal e ambiente Linux para Android que executa um shell com pacotes instaláveis no celular.
Emulador de terminal rápido, nativo e cheio de recursos, com interfaces nativas da plataforma, renderização por GPU e a biblioteca libghostty para incorporar terminais.
Terminal open source com integração de IA para macOS, Linux e Windows, com BYOK e modelos locais, sessões SSH persistentes e pré-visualizações de arquivos no próprio terminal.
Uma interface de terminal para Linux que lista as portas de rede em escuta e permite inspecionar ou encerrar os processos que as ocupam.