node package manager
It’s your turn. Help us improve JavaScript. Take the 2017 JavaScript Ecosystem Survey »


A collaborative virtual machine where players take turns in controlling it.

It works by running qemu on the server-side and streaming the image binary data to the browser.


In order to run you must have the following dependencies installed:

  • qemu
  • redis-server

On the mac, all of the above are available on homebrew.

How to run

First you should create an image onto which you'll load (install) the operating system ISO. We'll call it for this example winxp.img.

$ qemu-img create -f qcow2 winxp.img 3G

Then you can run the additional needed processes:

# web server
$ node app.js
# io server
$ node io.js
# qemu instance
$ COMPUTER_ISO=winxp.iso COMPUTER_IMG=winxp.img node qemu.js
# emulator communication process
$ COMPUTER_IMG=winxp.img node emu-runner.js

Then point your browser to http://localhost:5000.