
Crie facilmente máquinas virtuais completas que são isoladas (sandbox) para desenvolvimento ou modelos de uso de computador.
App Sandbox é um aplicativo de máquina virtual para Windows e macOS focado em desempenho e facilidade de uso.
Recursos do Windows:
asb.py) para criar e controlar VMs com aceleração de GPU programaticamenteRecursos do Mac:
asb.py) que no Windows, para controlar VMs macOS e Windows 11 programaticamenteRequisitos: Windows 11 com um Processador x64 ou macOS Tahoe (Série M)
O App Sandbox cria e executa máquinas virtuais de desktop completas — Windows 11, Ubuntu e
macOS. É gratuito e de código aberto (MIT), distribuído como binários pré-compilados (assinados com EV no
Windows, assinados com Apple Developer no macOS) em sua página de
Releases. É controlado de duas
formas: por uma interface gráfica, ou programaticamente através de um daemon headless com um
SDK Python sem dependências (asb.py). De qualquer forma, você escolhe um SO, aponta para uma imagem
de instalador, e o App Sandbox provisiona o disco, executa uma instalação autônoma e inicializa o
convidado. Você fornece uma ISO do Windows ou Ubuntu; convidados macOS baixam sua imagem de restauração
automaticamente. Ele roda em um PC Windows 11 (x64) ou em um Mac Apple Silicon, incluindo notebooks.
Roda no Windows 11 Home, sem Hyper-V. No Windows, o App Sandbox não usa Hyper-V nem o Hyper-V Manager; ele cria e executa VMs através das APIs Windows Host Compute System (HCS) e Host Compute Network (HCN), que exigem apenas o recurso Virtual Machine Platform. O Hyper-V é limitado ao Windows 11 Pro e Enterprise, enquanto o Virtual Machine Platform está disponível no Windows 11 Home, então uma licença do Windows 11 Pro não é necessária. O Virtual Machine Platform é o mesmo recurso do Windows que o WSL2 usa.
Para que você pode usá-lo:
API Headless.
appsandbox.exe --headless
(ou sudo /Appsandbox.app/Contents/MacOS/AppSandbox --headless no macOS) inicia um
daemon de proprietário único que hospeda o mesmo núcleo da GUI e o expõe como uma API HTTP/JSON
local no estilo Docker em 127.0.0.1, idêntica em ambas as plataformas. O SDK Python apenas com stdlib
(asb.py) o encapsula: crie VMs com aceleração de GPU (GPU-PV é uma opção de criação gpuMode), conecte-se
via SSH com uma chave implantada automaticamente (convidados Windows, Ubuntu ou macOS), faça snapshots e ramificações delas,
abra o display ao vivo e execute várias ao mesmo tempo — quantas rodam simultaneamente é limitado pela CPU, RAM e memória de GPU
do host, não por um limite fixo. O daemon é de host único — ele controla VMs na
máquina em que roda e não provisiona VMs na nuvem; para CI, execute-o em um runner auto-hospedado. Provisionar uma VM executa uma
instalação autônoma completa; snapshots, ramificações e templates (somente Windows) iniciam uma nova VM
a partir de um estado provisionado em vez de reinstalar. Uma VM persiste
até ser excluída. Um snapshot é um ponto de verificação do estado do disco feito com a VM parada, e uma ramificação
cria um disco gravável a partir dele para executar ações divergentes. A referência completa da API e exemplos executáveis
estão em tools/headless-api/.
Como funciona: este repositório também visa ser um exemplo prático de criação de VMs de desktop completas
programaticamente com as APIs Windows HCS/HCN e o Virtualization.framework da Apple. No
Windows, o App Sandbox envia um documento de máquina HCS construído manualmente para computecore.dll /
computenetwork.dll — a camada HCS/HCN que também está por trás do WSL2 e do Windows Sandbox —
em vez de passar pelo Hyper-V Manager. A aceleração de GPU usa paravirtualização de GPU
(GPU-PV) para compartilhar a GPU instalada do host com o convidado — o mesmo caminho do WSL2, não um
passthrough dedicado (sem VFIO/IOMMU, sem segunda GPU). Convidados Windows recebem DirectX 12, OpenGL,
Vulkan, CUDA e OpenCL; convidados Ubuntu o mesmo menos DirectX; convidados macOS Metal. Um driver de display indireto
IddCx personalizado e um dispositivo de áudio virtual transportam a tela e o som, e
a área de transferência, áudio, entrada e SSH entre convidado↔host rodam sobre sockets Hyper-V. Os discos dos convidados são
construídos por uma ferramenta do repositório com suporte a ext4, squashfs, qcow2 e VHDX. No macOS, o App
Sandbox usa o Virtualization.framework da Apple (VZVirtualMachine, VZMacOSInstaller)
sobre virtio-vsock. No Windows, convidados Linux (Ubuntu) alcançam a GPU através de um módulo de kernel
DRM/KMS personalizado (asb_drm), o dxgkrnl do WSL2 da Microsoft e uma compilação personalizada do Mesa. Os
aplicativos são C / Objective-C nativos com uma interface HTML/JS (WebView2 no Windows, WKWebView no macOS).
O nome de usuário padrão é user e a senha padrão é test123
[Windows] Ative teclas de atalho ou silencie o áudio da VM: conecte-se à VM e clique com o botão direito na barra de título da conexão
[Windows] Precisa de uma área de trabalho remota de alto desempenho para acessar sua VM remotamente? O Phaze funciona bem