Bump nodejs-rfb, fix vncvm

This commit is contained in:
Elijah R
2025-06-05 15:45:36 -04:00
parent 495a212c5f
commit 5621067c38
4 changed files with 56 additions and 26 deletions

View File

@@ -12,7 +12,7 @@
"author": "Elijah R, modeco80", "author": "Elijah R, modeco80",
"license": "GPL-3.0", "license": "GPL-3.0",
"dependencies": { "dependencies": {
"@computernewb/nodejs-rfb": "^0.3.0", "@computernewb/nodejs-rfb": "^0.4.2",
"@computernewb/superqemu": "^0.3.0", "@computernewb/superqemu": "^0.3.0",
"@cvmts/cvm-rs": "*", "@cvmts/cvm-rs": "*",
"@maxmind/geoip2-node": "^5.0.0", "@maxmind/geoip2-node": "^5.0.0",

View File

@@ -103,9 +103,9 @@ async function start() {
TheProtocolManager.registerProtocol("guacamole", () => new GuacamoleProtocol); TheProtocolManager.registerProtocol("guacamole", () => new GuacamoleProtocol);
TheProtocolManager.registerProtocol("binary1", () => new BinRectsProtocol); TheProtocolManager.registerProtocol("binary1", () => new BinRectsProtocol);
await VM.Start();
// Start up the server // Start up the server
var CVM = new CollabVMServer(Config, VM, banmgr, auth, geoipReader); var CVM = new CollabVMServer(Config, VM, banmgr, auth, geoipReader);
await VM.Start();
var WS = new WSServer(Config, banmgr); var WS = new WSServer(Config, banmgr);
WS.on('connect', (client: User) => CVM.connectionOpened(client)); WS.on('connect', (client: User) => CVM.connectionOpened(client));

View File

@@ -36,24 +36,6 @@ export default class VNCVM extends EventEmitter implements VM {
await this.Start(); await this.Start();
} }
} }
private Connect() {
if (this.vnc) {
this.Disconnect();
}
this.vnc = new VncDisplay({
host: this.def.vncHost,
port: this.def.vncPort
});
let self = this;
this.vnc.on('connected', () => {
self.logger.info('Connected');
self.SetState(VMState.Started);
});
}
private Disconnect() { private Disconnect() {
if (this.vnc) { if (this.vnc) {
this.vnc.Disconnect(); this.vnc.Disconnect();
@@ -69,10 +51,24 @@ export default class VNCVM extends EventEmitter implements VM {
StartDisplay(): void { StartDisplay(): void {
this.logger.info('Connecting to VNC server'); this.logger.info('Connecting to VNC server');
this.Connect(); let self = this;
this.vnc = new VncDisplay({
host: this.def.vncHost,
port: this.def.vncPort,
path: null
});
self.vnc!.on('connected', () => {
self.logger.info('Connected to VNC server');
self.SetState(VMState.Started);
});
self.vnc!.Connect();
} }
async Start(): Promise<void> { async Start(): Promise<void> {
this.Disconnect();
if (this.def.startCmd) await execaCommand(this.def.startCmd, { shell: true }); if (this.def.startCmd) await execaCommand(this.def.startCmd, { shell: true });
this.SetState(VMState.Started); this.SetState(VMState.Started);
} }

View File

@@ -34,10 +34,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"@computernewb/nodejs-rfb@npm:^0.3.0": "@computernewb/nodejs-rfb@npm:^0.4.2":
version: 0.3.0 version: 0.4.2
resolution: "@computernewb/nodejs-rfb@npm:0.3.0" resolution: "@computernewb/nodejs-rfb@npm:0.4.2"
checksum: 10c0/915a76118011a4a64e28fcc91fafcffe659e5e86db2505554578f1e5dff4883dbaf5fcc013ac377719fe9c798e730b178aa5030027da0f5a9583355ec2ac8af2 dependencies:
des.js: "npm:^1.1.0"
js-md4: "npm:^0.3.2"
checksum: 10c0/749839702dcc7c85613a9060a01cc0f808804a6ac40c6dc088504186f7481bd429bf6f7f0161992bcbf28162b8d0557e9fe93f59fe2f72533254cf6bdd3f4026
languageName: node languageName: node
linkType: hard linkType: hard
@@ -74,7 +77,7 @@ __metadata:
version: 0.0.0-use.local version: 0.0.0-use.local
resolution: "@cvmts/cvmts@workspace:cvmts" resolution: "@cvmts/cvmts@workspace:cvmts"
dependencies: dependencies:
"@computernewb/nodejs-rfb": "npm:^0.3.0" "@computernewb/nodejs-rfb": "npm:^0.4.2"
"@computernewb/superqemu": "npm:^0.3.0" "@computernewb/superqemu": "npm:^0.3.0"
"@cvmts/cvm-rs": "npm:*" "@cvmts/cvm-rs": "npm:*"
"@maxmind/geoip2-node": "npm:^5.0.0" "@maxmind/geoip2-node": "npm:^5.0.0"
@@ -2013,6 +2016,16 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"des.js@npm:^1.1.0":
version: 1.1.0
resolution: "des.js@npm:1.1.0"
dependencies:
inherits: "npm:^2.0.1"
minimalistic-assert: "npm:^1.0.0"
checksum: 10c0/671354943ad67493e49eb4c555480ab153edd7cee3a51c658082fcde539d2690ed2a4a0b5d1f401f9cde822edf3939a6afb2585f32c091f2d3a1b1665cd45236
languageName: node
linkType: hard
"detect-libc@npm:^1.0.3": "detect-libc@npm:^1.0.3":
version: 1.0.3 version: 1.0.3
resolution: "detect-libc@npm:1.0.3" resolution: "detect-libc@npm:1.0.3"
@@ -2529,6 +2542,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"inherits@npm:^2.0.1":
version: 2.0.4
resolution: "inherits@npm:2.0.4"
checksum: 10c0/4e531f648b29039fb7426fb94075e6545faa1eb9fe83c29f0b6d9e7263aceb4289d2d4557db0d428188eeb449cc7c5e77b0a0b2c4e248ff2a65933a0dee49ef2
languageName: node
linkType: hard
"ip-address@npm:^9.0.5": "ip-address@npm:^9.0.5":
version: 9.0.5 version: 9.0.5
resolution: "ip-address@npm:9.0.5" resolution: "ip-address@npm:9.0.5"
@@ -2670,6 +2690,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"js-md4@npm:^0.3.2":
version: 0.3.2
resolution: "js-md4@npm:0.3.2"
checksum: 10c0/8313e00c45f710a53bdadc199c095b48ebaf54ea7b8cdb67a3f1863c270a5e9d0f89f204436b73866002af8c7ac4cacc872fdf271fc70e26614e424c7685b577
languageName: node
linkType: hard
"js-tokens@npm:^4.0.0": "js-tokens@npm:^4.0.0":
version: 4.0.0 version: 4.0.0
resolution: "js-tokens@npm:4.0.0" resolution: "js-tokens@npm:4.0.0"
@@ -2960,6 +2987,13 @@ __metadata:
languageName: node languageName: node
linkType: hard linkType: hard
"minimalistic-assert@npm:^1.0.0":
version: 1.0.1
resolution: "minimalistic-assert@npm:1.0.1"
checksum: 10c0/96730e5601cd31457f81a296f521eb56036e6f69133c0b18c13fe941109d53ad23a4204d946a0d638d7f3099482a0cec8c9bb6d642604612ce43ee536be3dddd
languageName: node
linkType: hard
"minimatch@npm:^10.0.0": "minimatch@npm:^10.0.0":
version: 10.0.1 version: 10.0.1
resolution: "minimatch@npm:10.0.1" resolution: "minimatch@npm:10.0.1"