All Projects → mgechev → plainvm

mgechev / plainvm

Licence: other
plainvm allows you to control multiple virtual machines which are distributed among many hosts through your browser.

Programming Languages

javascript
184084 projects - #8 most used programming language
CSS
56736 projects
perl
6916 projects
java
68154 projects - #9 most used programming language
HTML
75241 projects

Projects that are alternatives of or similar to plainvm

upstream-institute-virtual-environment
A Vagrant-based image creator for OpenStack Upstream Training sessions
Stars: ✭ 18 (-51.35%)
Mutual labels:  virtualbox, vmware, virtual-machine
Asm
Assembly Tutorial for DOS
Stars: ✭ 125 (+237.84%)
Mutual labels:  virtualbox, vmware, virtual-machine
Awesome Vm Exploit
share some useful archives about vm and qemu escape exploit.
Stars: ✭ 239 (+545.95%)
Mutual labels:  virtualbox, vmware, virtual-machine
vmSafeguard
vmSafeguard is a management, planning, backup system for a Vmware ESXi(s) solution, orchestrated through a Web Admin Panel. RTFM for more info. Under develop since Jun 2020
Stars: ✭ 20 (-45.95%)
Mutual labels:  vmware, virtual-machine
Implementaion-of-Private-Cloud-using-ownCloud
Implementation of Private Cloud using ownCloud. ownCloud is a suite of client–server software for creating and using file hosting services. This repository explains implementing ownCloud on an Ubuntu VM running on top of a Windows host for secure cloud storage
Stars: ✭ 30 (-18.92%)
Mutual labels:  virtualbox, virtual-machine
Scambaiting-Setup
A full setup guide for scam-baiting with Oracle's VirtualBox.
Stars: ✭ 232 (+527.03%)
Mutual labels:  virtualbox, virtual-machine
game-of-thrones-hacking-ctf
Game of Thrones hacking CTF (Capture the flag)
Stars: ✭ 57 (+54.05%)
Mutual labels:  virtualbox, vmware
SelfPortal
One for all virtualization abstraction layer.
Stars: ✭ 22 (-40.54%)
Mutual labels:  vmware, virtual-machine
insaneworks-packer-template
CentOS 7-8 8Stream / AlmaLinux 8 / FreeBSD 12 - 13 x64 + VirtualBox / VMWare for Packer Template + FreeBSD 13 / AlmaLinux 9 + Parallels
Stars: ✭ 38 (+2.7%)
Mutual labels:  virtualbox, vmware
Project-Mendacius
A GUI based virtualisation tool for running Linux on macOS Big Sur (x86 or arm64)
Stars: ✭ 107 (+189.19%)
Mutual labels:  virtualbox, vmware
Lubuntu-VirtualBox
Lubuntu Bionic 18.04.5 Minimal and Full virtual machines. VirtualBox OVA files less than 400 MB and 1GB respectively
Stars: ✭ 25 (-32.43%)
Mutual labels:  virtualbox, virtual-machine
packer-windows
Windows Templates for Packer: Windows 11, Windows 10, Windows Server 2022, 2019, 2016, also with Docker
Stars: ✭ 1,116 (+2916.22%)
Mutual labels:  virtualbox, vmware
ModSecurityCRS
Implementation of ModSecurity, Core Rule Set (CRS) on Apache server. ModSecurity, sometimes called Modsec, is an open-source web application firewall. ModSecurity was installed and configured on an Ubuntu VM using Virtual Box
Stars: ✭ 24 (-35.14%)
Mutual labels:  virtualbox, virtual-machine
ansible-role-packer-debian
Ansible Role - Packer Debian/Ubuntu Configuration for Vagrant VirtualBox
Stars: ✭ 32 (-13.51%)
Mutual labels:  virtualbox, vmware
docker-hands-on-guide
Hands on guide for docker, k8s cluster lightweight virtualization.
Stars: ✭ 25 (-32.43%)
Mutual labels:  virtualbox, vmware
hassio-vagrant
Vagrant box running Hass.io / Home Assistant
Stars: ✭ 42 (+13.51%)
Mutual labels:  virtualbox, virtual-machine
vm-automation
VirtualBox automation using Python
Stars: ✭ 1 (-97.3%)
Mutual labels:  virtualbox, virtual-machine
packer-ubuntu
No description or website provided.
Stars: ✭ 29 (-21.62%)
Mutual labels:  virtualbox, vmware
packer-centos
Create CentOS images for different hypervisors with Packer
Stars: ✭ 18 (-51.35%)
Mutual labels:  virtualbox, vmware
ansible-role-test-vms
DEPRECATED - A Vagrant configuration to test Ansible roles against a variety of Linux distributions.
Stars: ✭ 42 (+13.51%)
Mutual labels:  virtualbox, vmware

plainvm

What is plainvm?

plainvm allows you to control multiple virtual machines which are distributed among many hosts through your browser. The only thing you need is plainvm installed and browser which supports HTML5. For the virtualization you can use any platform (currently only VirtualBox is supported). Everything is done real-time through the WebSocket protocol so multiple clients can access the environment simultaneously. If all dependencies of plainvm are installed the client can establish direct access to any virtual machine and control its' desktop. As the project is in it's first release there are some limitations which can be found in the next sections. plainvm is distributed under the terms of the GPL 3.0

Extra information can be found in the project's wiki. Project video can be found here.

How does it work?

plainvm has few key components. There're end points and entry host. The end ponts are the hosts where the virtual machines are actually located. The entry host is the machine which is used for accepting the clients and providing the machines hosted in the end points. In the simplest case the end point and the entry host could be the same machine. That's the case in which a single host with virtual machines is used. The communication between the client and the entry host is done with the WebSocket protocol. plainvm has build-in web server so there are no extra dependencies. The communication between the end points and the entry host is established through tcp sockets.

How to install?

plainvm uses Perl 5.10+. The project has few dependencies which can be restored with CPAN. The dependencies are AnyEvent, JSON and Image::Imlib2.

cpan AnyEvent
cpan JSON
cpan Image::Imlib2
cpan HTTP

Image::Imlib2 depends on the imlib2 library which can be found in libimlib2 and libimlib2-dev.

For access to the machines desktop you should install VirtualBox's VRDE extension pack and Guacamole. For using plainvm with Guacamole you need to patch Guacamole with the "dirty" patch provided in "guacample-dirty-patch" folder. The files which should be patched are located at /var/lib/tomcat6/webapps/guacamole.

After that edit /etc/guacamole/user-mapping.xml and create account for each machine with user name the machine's ID and empty password.

Further instructions can be found in the project's wiki.

Note that there is port to Java of the proxy. You can take a look at the java folder.

How to contribute?

Just fork the project. Here are some ideas what can be improved:

  1. TLS access to the Entry host
  2. Managing snapshots
  3. Control over more properties of the virtual machine
  4. Better integration with Guacamole
  5. Stable file transfer (of the iso files, required for installing the VMs)
  6. Installer. Shell script which will install plainvm within just a few steps

For more ideas and essential features you can check the issue tracker or the project's wiki.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].