CollabVM Server 2.0/Admin Panel

From Computernewb Wiki
Revision as of 22:53, 17 May 2022 by Dartz (talk | contribs) (1 revision imported)
Jump to navigation Jump to search
Screenshot of the Admin Panel in CollabVM 2.0.0 beta (a81634f)

The Administrator Panel lets you configure nearly everything in CollabVM.

From here, you can delete, create, and add virtual machines, as well as remotely manage them and change many settings in the server configuration. Be careful giving your admin panel to other users, because like all admin panels it can be used as a weapon of mass destruction if used maliciously.

This page will document all the features found in the Admin Panel.

Changes from CollabVM 1.x

There are a some changes in the admin panel since CollabVM 1.x.

  • There is no more "Save" button - everything now saves automatically.
  • The Admin Panel page is now in Semantic UI instead of Bootstrap.
  • The Admin Panel no longer users a master password but rather registered accounts with privileges.
  • Certain commands have variables - i.e. $IP_ADDRESS for a users IP, $TOKEN for a ReCAPTCHA token, etc.
  • You can now create user accounts from the admin panel.

QEMU Information

In release 4.2.0, the sound system will crash QEMU when the server attempts to generate sound. It is suggested to use 4.1.0 or earlier instead.

User invites

You can now create a user invite from the admin panel. (todo: write more here later)

Accessing the Admin Panel

To access the admin panel go to localhost:port/admin

You will need to register an account before being able to access it.

Options

Server Config

Allow account registration

  • Default value: false

If this is enabled, account registrations will be enabled. Users will be able to create their own accounts and use them on CollabVM. If you don't want users to be able to make accounts, simply disable this option.

Max WebSocket connections per IP

  • Default values: false, 0

This will limit the amount of connections a user can have per IP address. This is mainly to prevent "turn-bombing" (racking up turns at a rapid rate). So for example, if you set this value to "3", users can only open 3 connections to CollabVM on their IP. It is not recommended to have this value below 2.

If you want users to be able to have infinite connections, set the value to 0, or just disable it entirely.

Ban IP Command

  • Default value: (none)

If you want to be able to use the "Ban User" button on the VMs, you will have to add in a Ban IP command.

Example commands:

  • Free/OpenBSD: pfctl -t blockedips -T add $IP_ADDRESS
  • Linux: iptables -A INPUT -s $IP_ADDRESS -j DROP
  • Linux (with ipset): ipset add blockedips $IP_ADDRESS
  • Windows Vista/Server 2008 and up: netsh advfirewall firewall add rule name="CollabVM Block - $IP_ADDRESS" dir=in interface=any action=block remoteip=$IP_ADDRESS/32

Captchas

Captchas are a brand new feature in CollabVM Server 2.0 which will allow you to stop automated attacks against your VMs. You can either enable them for everyone or send individual users Captchas. This setting does not have to be enabled to use the "Send Captcha" option.

Enable Captchas
  • Default value: false

Enables Captchas on the site. If you use the default ReCaptcha, you will need to add in your ReCaptcha key. You can get a ReCaptcha key here: https://www.google.com/recaptcha/intro/

You may also use another service - i.e. FunCaptcha, hCaptcha, etc, but this will require you to modify the web app.

Variables: $TOKEN - user's Captcha token, $IP - user's IP Address

Verification URL

The verification URL for the Captcha. You may change this to another service if you want.

HTTP POST Parameters
  • Default value: secret=6LeIxAcTAAAAAGG-vFI1TnRWxMZNFuojJ4WifJWe&response=$TOKEN

The HTTP POST Parameters will go here. This is where your ReCaptcha key goes should you choose to stick with it.

JSON success variable
  • Default value: success

The "success" variable returned.

Require captcha before user interaction

  • Default value: false

If this is enabled, users will be in a "read-only" state. They will still be able to view the VM and read the chat, but they will have to complete a Captcha before being able to chat, take a turn, change their username, start a vote reset, or participate in a vote reset. It is recommended to enable this setting if you have automated attacks being launched against your VMs.

Recordings

Recordings are a brand new feature in CollabVM Server 2.0 which let you keep logs of every action that occurs on the VM. It is recommended to use these if you are running a public server. Note that Recordings must be enabled per VM in the VM Settings.

Keyframe Interval (seconds)

  • Default value: 60

The Recording Keyframe Interval, in seconds.

File Duration (minutes)

  • Default value: 600

The duration of each recording, which is by default 600 minutes (10 hours). If you want to have more recording files, i.e. create a new one each hour, you can set this to 60, whereas if you want less recording files you could set it to 1440 minutes (24 hours).

Screen
  • Default value: true

Capture the screen in the recordings. It is highly recommended to keep these logged if you are running a public server.

Audio
  • Default value: True

Capture the audio in the recordings. This will increase the file size amount, and is not needed unless you want to make sure everything is logged.

Input
  • Default value: true

Capture the input sent in the VMs. It is recommended, although not necessary, to keep these logged if you are running a public server.

Chat & Users List
  • Default value: true

Saves a log of the chat and the list of users on the VMs. It is highly recommended to keep these logged if you are running a public server.

Virtual Machines

Start

This button will execute the Start command specified in the VM settings.

Stop

This button will execute the Stop command specified in the VM settings.

Restart

This button will execute the Restart command specified in the VM settings.

Change Settings

This button will allow you to change the settings of the selected virtual machines.

View Recordings

This button will allow you to view the Recordings (logs) of the selected virtual machines.

New VM

This button will let you create a new VM.

New Virtual Machine Settings

Auto Start

  • Default value: false

If this is enabled, the VM will automatically start when the CollabVM Server is started, unless the --n or --no-autostart argument has been given.

Name

  • Default value: (none)

This is the display name of the VM that will appear on the site. For example if you had Windows 7 as a VM, you would name it "Windows 7". This is not the same as the URL Name in CollabVM Server 1.x - each VM is identified by its ID instead of a URL.

You can also now use Unicode in VM titles, so you can for example use Japanese, Arabic, Chinese, Urdu, Russian, etc.

Description

  • Default value: (none)

This description will appear above the chat when users click on your VM. It is recommended to fill this with details of your VM, such as what programs it has, the admin password (if there is one), etc.

Safe for Work

  • Default value: false

If your VM prohibits NSFW (not safe for work) content, such as pornography or other things, you can enable this setting to indicate this. Note that this does not prevent users from opening porn or other NSFW material on your VM - it's up to you and your admins to stop it.

You could also check this if you have a VM with an OS like i.e. MS-DOS without a connection to the internet. Note that users can still display images with something like Base64 on modern operating systems even if it does not have an internet connection.

Operating System

  • Default value: (none)

This will appear when a user clicks "Show Details". It is recommended to put the full name of the OS here, example: "Windows 7 Ultimate SP1" or "Debian 10 Buster", etc.

RAM

  • Default value: 0

This will list how much RAM the VM has. Currently, it only supports gigabytes. If your VM only has i.e. 500 MB of RAM, put "0.5" for now.

Disk Space

  • Default value: 0

This will list how much Disk Space the VM has, in gigabytes. Currently, it only supports GB. If your VM has i.e. 500 MB of space, put "0.5" for now.

Start Command

  • Default value: (none)

The start command for your VM goes here. Some examples:

  • QEMU: qemu-system-i386 -m 1G -usb -device usb-tablet -nographic -vnc :0 -monitor telnet:127.0.0.1:55555,server,nowait
  • VirtualBox: VBoxManage startvm "Windows 7" --type headless
  • VMWare: vmrun start path/to/vmxfile.vmx nogui

Run Start Command when Guacamole disconnects

  • Default value: false

This option will allow you to re-run the Start Command if Guacamole disconnects. Typically, this only happens if the VM is shutdown or the VM is not responding.

Stop Command

  • Default value: (none)

The stop command for your VM goes here. Some examples for common hypervisors:

  • QEMU: echo quit | telnet 127.0.0.1 55555
  • VirtualBox: VBoxManage controlvm "Windows 7" poweroff
  • VMWare: vmrun stop path/to/vmxfile.vmx hard

Vote for Reset Command

  • Default value: (none)

The vote for reset/restart command for your VM goes here. Some examples for common hypervisors:

  • QEMU: echo system_reset | telnet 127.0.0.1 55555
  • VirtualBox: VBoxManage controlvm "Windows 7" reset
  • VMWare: vmrun reset path/to/vmxfile.vmx hard

Restrict VM to registered users only

  • Default value: false

If you only want your VM to be usable by registered users (and not guests/unregistered users), enable this option. This is recommended if you are running a private server or if you want to prevent automated attacks more thoroughly. Note that unregistered users can still see your VM in the list, see the screenshot on the homepage and see the amount of users online.

Restrict voting to registered users only

  • Default value: false

If you do not want guests to be able to participate in vote for resets, enable this option. It is only recommended to enable this option if you are being attacked by bots or similar, as it will make most users unable to participate in vote resets.

Recordings

  • Default value: false

If you want to use Recordings (logs), enable this option. If you don't want to have any logs, you can leave this disabled. It is highly recommended to use Recordings if you are running a public server.

Votes Enabled

  • Default value: false

If you want to enable Vote for Reset, use this option. Make sure there is a "Vote for Reset Command" command put in the VM Settings.

Vote Time

  • Default value: 0 second(s)

The amount of time the Vote Reset will last for. If you set this to i.e. 120 seconds then users will have 120 seconds to cast their votes. If you want Vote Resets to automatically win you can set this time to 0.

Vote Cooldown Time

  • Default value: 0 second(s)

The amount of time you have to wait before you can start another vote reset. If you set this to i.e. 240 seconds then users will have to wait 240 seconds before they can reset the VM again. If you don't want there to be a cooldown time set this to 0.

Protocol

  • Default value: RDP

The protocol to be used. There are currently two options: VNC and RDP. VNC is what most software, i.e. QEMU, VMWare and Hyper-V use, while RDP is used by VirtualBox. You can connect CollabVM Server 2 to any VNC and RDP server, including even i.e. TightVNC and Microsoft's RDP Server, so you could host a real machine if you want.

If you use QEMU, you can also utilize VNC audio. If you use VirtualBox or Microsoft's RDP, you can utilize RDP audio.

NOTE: YOU CAN NOT USE THE RDP PROTOCOL FOR VNC SERVERS AND VICE VERSA. THEY ARE COMPLETELY SEPARATE PROTOCOLS THAT ARE INCOMPATIBLE WITH EACHOTHER!!

Guacamole Connection Parameters

Specify the Guacamole Connection Parameters here. Two parameters MUST be specified: hostname and port. hostname is the server's IP to connect to - usually this is localhost, although you can specify an IP or domain name running outside your localhost. port is the port to connect to - for VNC this is 5900 by default, and for RDP this is 3389 by default. If your VNC server is running with a password, you can use the password parameter to use the password.

See this page for more information and more arguments.