{"id":21396465,"url":"https://github.com/baslr/node-qemu-server","last_synced_at":"2025-07-13T19:31:10.446Z","repository":{"id":7495381,"uuid":"8844720","full_name":"baslr/node-qemu-server","owner":"baslr","description":"Free GUI / Frontend / Management tool for simple setup, configure and control virtual machines (qemu / kvm) within your HTML5 Webbrowser. Virtualization with Node.js / Currently under complete rewrite.","archived":false,"fork":false,"pushed_at":"2017-09-16T21:47:24.000Z","size":3051,"stargazers_count":51,"open_issues_count":3,"forks_count":21,"subscribers_count":7,"default_branch":"rewrite","last_synced_at":"2024-04-14T08:06:31.964Z","etag":null,"topics":["frontend","interface","kvm","qemu","virtual-machines","virtualization","web-frontend"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/baslr.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2013-03-18T01:25:35.000Z","updated_at":"2024-03-10T11:11:09.000Z","dependencies_parsed_at":"2022-08-29T21:31:38.220Z","dependency_job_id":null,"html_url":"https://github.com/baslr/node-qemu-server","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/baslr/node-qemu-server","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baslr%2Fnode-qemu-server","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baslr%2Fnode-qemu-server/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baslr%2Fnode-qemu-server/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baslr%2Fnode-qemu-server/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/baslr","download_url":"https://codeload.github.com/baslr/node-qemu-server/tar.gz/refs/heads/rewrite","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/baslr%2Fnode-qemu-server/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265194742,"owners_count":23725968,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["frontend","interface","kvm","qemu","virtual-machines","virtualization","web-frontend"],"created_at":"2024-11-22T14:27:16.683Z","updated_at":"2025-07-13T19:31:09.555Z","avatar_url":"https://github.com/baslr.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"node-qemu-server\n================\nnode-qemu-server lets you control virtual machines in your webbrowser.\n\n### Requirements\n\n#### Linux\n* LSB Linux x86_64 (tested with Debian (Sid) GNU/Linux)\n* qemu-system-x86 v1.6.1\n* nodejs v0.10.21\n* npm\n* packages: {numactl, usbutils} (usb and numa are only available on Linux)\n\n#### OS X\n* v10.8 / v10.9 x86_64 \n* macports qemu v1.6.1\n\n### Installation\nInstall node-qemu-server on Debian GNU/Linux and OS X (assume you have installed qemu, node, npm and numactl)\n\n    $ git clone https://github.com/baslr/node-qemu-server\n    $ cd node-qemu-server\n    $ npm install\n    $ git submodule init\n    $ git submodule update\n    $ cd public/vendor/\n    $ bower install\n    $ cd ../../\n    $ ./cc\n    $ node server\n    \nNow open your HTML5 Webbrowser and open http://127.0.0.1:4224\n\n![gui_host](https://raw.github.com/baslr/node-qemu-server/feature/new-guest-creation/doc/host.png)\n![gui_guests](https://raw.github.com/baslr/node-qemu-server/feature/new-guest-creation/doc/guests.png)\n![gui_disks](https://raw.github.com/baslr/node-qemu-server/feature/new-guest-creation/doc/disks.png)\n![gui_isos](https://raw.github.com/baslr/node-qemu-server/feature/new-guest-creation/doc/isos.png)\n![guest_creation](https://raw.github.com/baslr/node-qemu-server/feature/new-guest-creation/doc/guest_creation.png)\n\n---\nsetup and control qemu instances with Node.js\n\nmore to come in the future\n\nvision:\nsetup and control qemu instances via web gui, lean and simple\n\n\n### implemented qmp commands\n    \n#### system commands\n##### pause, reset, resume, shutdown, stop\n    \nnode-qemu command | qmp command\n:--------------|:-------------------\nqVm.pause()    | {\"name\": \"stop\"}\nqVm.reset()    | {\"name\": \"system_reset\"}\nqVm.resume()   | {\"name\": \"cont\"}\nqVm.shutdown() | {\"name\": \"system_powerdown\"}\nqVm.stop()     | {\"name\": \"quit\"}\nqVm.status()   | {\"name\": \"query-status\"}\n\n\n\t# in work\n          {\"name\": \"qom-list-types\"}\n          {\"name\": \"change-vnc-password\"}\n          {\"name\": \"qom-get\"}\n          {\"name\": \"qom-set\"}\n          {\"name\": \"qom-list\"}\n          {\"name\": \"query-block-jobs\"}\n          {\"name\": \"query-balloon\"}\n          {\"name\": \"query-migrate\"}\n          {\"name\": \"query-uuid\"}\n          {\"name\": \"query-name\"}\n          {\"name\": \"query-spice\"}\n          {\"name\": \"query-vnc\"}\n          {\"name\": \"query-mice\"}\n          {\"name\": \"query-kvm\"}\n          {\"name\": \"query-pci\"}\n          {\"name\": \"query-cpus\"}\n          {\"name\": \"query-blockstats\"}\n          {\"name\": \"query-block\"}\n          {\"name\": \"query-chardev\"}\n          {\"name\": \"query-commands\"}\n          {\"name\": \"query-version\"}\n          {\"name\": \"human-monitor-command\"}\n          {\"name\": \"qmp_capabilities\"}\n          {\"name\": \"add_client\"}\n          {\"name\": \"expire_password\"}\n          {\"name\": \"set_password\"}\n          {\"name\": \"block_set_io_throttle\"}\n          {\"name\": \"block_passwd\"}\n          {\"name\": \"closefd\"}\n          {\"name\": \"getfd\"}\n          {\"name\": \"set_link\"}\n          {\"name\": \"balloon\"}\n          {\"name\": \"blockdev-snapshot-sync\"}\n          {\"name\": \"transaction\"}\n          {\"name\": \"block-job-cancel\"}\n          {\"name\": \"block-job-set-speed\"}\n          {\"name\": \"block-stream\"}\n          {\"name\": \"block_resize\"}\n          {\"name\": \"netdev_del\"}\n          {\"name\": \"netdev_add\"}\n          {\"name\": \"client_migrate_info\"}\n          {\"name\": \"migrate_set_downtime\"}\n          {\"name\": \"migrate_set_speed\"}\n          {\"name\": \"migrate_cancel\"}\n          {\"name\": \"migrate\"}\n          {\"name\": \"xen-save-devices-state\"}\n          {\"name\": \"inject-nmi\"}\n          {\"name\": \"pmemsave\"}\n          {\"name\": \"memsave\"}\n          {\"name\": \"cpu\"}\n          {\"name\": \"device_del\"}\n          {\"name\": \"device_add\"}\n\n          {\"name\": \"system_wakeup\"}\n          {\"name\": \"screendump\"}\n          {\"name\": \"change\"}\n          {\"name\": \"eject\"}\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaslr%2Fnode-qemu-server","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fbaslr%2Fnode-qemu-server","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fbaslr%2Fnode-qemu-server/lists"}