1c062697b9ecdf7318294c283719af0e9fcec553
Work on abstracting the CollabVMServer so it now calls into a interface for sending/recieving protocol messages. This will allow cleaner bringup of a fully binary protocol, and generally is just cleaner code. Mostly everything is parsd/running through this new layer, although there are some TODO items: - NetworkClient/... should just spit out a Buffer or something that eventually turns into or has one - TCP protocol will need to be revamped so we can support an actual binary protocol on top of it. The current thing is line based - More admin op stuff needs to be handled - The handlers are a bit jumbled around atm - There is still a good amount of code which assumes guacamole which needs to be rewritten dont use this branch fuckers
CollabVM1.ts
This is a drop-in replacement for the dying CollabVM 1.2.11. Currently in beta
Compatibility
The CollabVM server will run on any Operating System that can run Node.JS and Rust. This means modern Linux distributions and Windows versions.
We do not recommend or support running CollabVM Server on Windows due to very poor support for QEMU on that platform.
Dependencies
The CollabVM server requires the following to be installed on your server:
- Node.js (obviously)
- QEMU (Unless you just want to use a VNC Connection as your VM)
- A Rust toolchain (e.g: rustup)
- NASM assembler
Installing dependencies on Arch
- Install dependencies:
sudo pacman --needed --noconfirm -Sy nodejs nasm rust - Enable corepack:
sudo corepack enable
Installing dependencies on Debian
TODO
Running
TODO: These instructions are not finished for the refactor branch.
- Copy config.example.toml to config.toml, and fill out fields
- Install dependencies:
yarn - Build it:
yarn build - Run it:
yarn serve
Description
Languages
TypeScript
90.2%
Rust
9.5%
JavaScript
0.3%