/socket.io-computer

a collaborative virtual machine

Primary LanguageJavaScript

socket.io-computer

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.

Dependencies

In order to run socket.io-computer 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.

License

MIT