CVM1 clone in TypeScript since cvm1.2.11 decided to nuclear explode
Find a file
modeco80 cb297e15c4 Giant refactoring (or at least the start)
In short:
- cvmts is now bundled/built via parcel and inside of a npm/yarn workspace with multiple nodejs projects
- cvmts now uses the crusttest QEMU management and RFB library (or a fork, if you so prefer).
- cvmts does NOT use node-canvas anymore, instead we opt for the same route crusttest took and just encode jpegs ourselves from the RFB provoded framebuffer via jpeg-turbo. this means funnily enough sharp is back for more for thumbnails, but actually seems to WORK this time
- IPData is now managed in a very similar way to the original cvm 1.2 implementation where a central manager and reference count exist. tbh it wouldn't be that hard to implement multinode either, but for now, I'm not going to take much time on doing that.

this refactor is still incomplete. please do not treat it as generally available while it's not on the default branch. if you want to use it (and report bugs or send fixes) feel free to, but while it may "just work" in certain situations it may be very broken in others.

(yes, I know windows support is partially totaled by this; it's something that can and will be fixed)
2024-04-23 09:57:02 -04:00
assets add hide screen opcode 2023-09-02 17:54:44 -04:00
cvmts Giant refactoring (or at least the start) 2024-04-23 09:57:02 -04:00
jpeg-turbo@6718ec1fc1 Giant refactoring (or at least the start) 2024-04-23 09:57:02 -04:00
nodejs-rfb@c94369b444 Giant refactoring (or at least the start) 2024-04-23 09:57:02 -04:00
qemu Giant refactoring (or at least the start) 2024-04-23 09:57:02 -04:00
shared Giant refactoring (or at least the start) 2024-04-23 09:57:02 -04:00
.gitignore Giant refactoring (or at least the start) 2024-04-23 09:57:02 -04:00
.gitmodules Giant refactoring (or at least the start) 2024-04-23 09:57:02 -04:00
.prettierignore Giant refactoring (or at least the start) 2024-04-23 09:57:02 -04:00
.prettierrc.json Giant refactoring (or at least the start) 2024-04-23 09:57:02 -04:00
.yarnrc.yml Giant refactoring (or at least the start) 2024-04-23 09:57:02 -04:00
config.example.toml Implement account authentication (server) 2024-04-08 19:23:44 -04:00
cvmserver.png add banner to readme + "frequently" asked questions (#4) 2023-02-13 14:11:48 -05:00
LICENSE.MD add license 2024-04-11 12:04:40 -04:00
package.json Giant refactoring (or at least the start) 2024-04-23 09:57:02 -04:00
README.md Giant refactoring (or at least the start) 2024-04-23 09:57:02 -04:00
tsconfig.json Giant refactoring (or at least the start) 2024-04-23 09:57:02 -04:00
yarn.lock Giant refactoring (or at least the start) 2024-04-23 09:57:02 -04:00

Banner image

CollabVM1.ts

This is a drop-in replacement for the dying CollabVM 1.2.11. Currently in beta

Running

TODO: These instructions are not finished for the refactor branch.

  1. Copy config.example.toml to config.toml, and fill out fields
  2. Install dependencies: npm i
  3. Build it: npm run build
  4. Run it: npm run serve

FAQ

When I try to access the admin panel, the server crashes!

The server does not support the admin panel. Instead, there is a configuration file you can edit named config.toml.

Why only QEMU? Why not VMWare, VirtualBox, etc.?

This server was written very quickly to replace CollabVM Server 1.2.11, and so only QEMU support exists. There are plans to support VMWare when CollabVM Server 3 releases.

What platforms can this be run on?

If it can run a relatively new version of Node and QEMU, then you can run this. This means modern Linux distributions, modern macOS versions and Windows 10 and above.

When the VM shuts off, instead of restarting, it freezes.

This has been fixed already, you are running a copy of the code before February 11th, 2023.