a collaborative virtual machine
JavaScript Other
Switch branches/tags
Nothing to show
Latest commit 810adc5 Dec 5, 2016 @kevin-roark kevin-roark Merge pull request #15 from rauchg/master
bump and pin versions

README.md

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