Commit Graph

131 Commits

Author SHA1 Message Date
modeco80
227a171110 qemu: Completely rewrite QMP client from scratch
It sucked. The new one is using Sans I/O principles, so it does not
directly do I/O or talk to a net.Socket directly (instead, QemuVM implements
the layer to do I/O). This means in the future this library could actually
be tested, but for now, I'm not bothering with that.

There's also some other cleanups that were bothering me.
2024-07-10 22:20:12 -04:00
modeco80
048f08b00b actually make vm swich displays properly or whatever 2024-07-10 18:43:35 -04:00
modeco80
bee25b5381 Fix the ability for IPData refcount to go negative 2024-07-10 18:32:05 -04:00
Elijah R
a2f450b374 move binprotocol to submodule (server) 2024-06-25 21:24:08 -04:00
Elijah R
3384e47e20 use msgpackr instead of @ygoe/msgpack 2024-06-25 20:09:34 -04:00
Elijah R
fe830afdeb add support for binary JPEG (server) 2024-06-25 19:56:28 -04:00
modeco80
8369de53ba qemu: log QEMU stderr as logger messages
Mostly for nicity, but also to make debugging start errors an actual possibility.
2024-06-23 02:56:17 -04:00
modeco80
2cc2c6ddf2 cvmts: "fix" panics in cvm-rs 2024-06-23 02:55:05 -04:00
modeco80
0df56cb5a4 qemu: cleanup/fix reset 2024-06-23 02:40:13 -04:00
Elijah R
1a5a0cd407 add geoip country flag support 2024-06-23 02:24:03 -04:00
Elijah R
85a86327f4 add missing XFF warning, remove ipdata check from WSServer because CollabVMServer already does that 2024-06-23 02:24:03 -04:00
modeco80
286f3eec62 cvm-rs: Actually throw Error on guac decode errors
we were throwing String or something before..
2024-06-23 02:11:23 -04:00
Elijah R
020c6310ec some fixes and improvements to build
- change .yarn/ gitignore to include subprojects
- add nodejs-rfb to build (and bump it)
- add clean script
2024-06-22 22:57:01 -04:00
Elijah R
014650991c bump rfb 2024-06-22 21:52:20 -04:00
Elijah R
d100721a64 update yarn.lock 2024-06-22 21:50:29 -04:00
modeco80
183b17194e chore(README): cargo is usually a default part of a complete Rust toolchain so just specify "A Rust toolchain" 2024-06-22 21:46:37 -04:00
Elijah R
5a67deb59b add --needed and -y flag to pacman command 2024-06-22 21:44:22 -04:00
Elijah R
1079a847a8 remove npm from arch deps (thought corepack was provided by npm, it's actually provided by nodejs itself) 2024-06-22 21:43:46 -04:00
Elijah R
47dae01d3e add dependencies to README, remove not-so-frequently-asked questions 2024-06-22 21:39:01 -04:00
modeco80
dda72cad91 cvmts: quth => auth 2024-06-22 21:27:28 -04:00
modeco80
09d41617ed prettier reformat for merge (and remove jpeg-turbo Again) 2024-06-22 21:26:49 -04:00
Elijah R
b0829d5bcf add just-install dev dependency 2024-06-22 21:24:41 -04:00
modeco80
b8ed177885 cvm-rs: merge guac and jpeg libs together into one
doesn't really need to be two seperate libraries. also preperation for other funnies

the build script has been replaced with a much saner justfile which uses much saner "yarn workspace" invocations instead of blindly cding all over the place
2024-06-22 21:14:05 -04:00
modeco80
87a377a10f cvmts: replace jpeg-turbo native module with new rust module
This module also does threadpooling internally, so we don't need Piscina anymore (which I'm pretty sure was actually bottlenecking.)
2024-06-20 03:20:56 -04:00
modeco80
39521a4b1d misc stuff from production
(also refactors qemu a bit)
2024-06-19 23:30:29 -04:00
modeco80
97de887518 cvmts: Actually unref ipdata on disconnect 2024-06-19 18:26:27 -04:00
modeco80
fa23aa7432 cvmts: nope I have to fix it properly 2024-06-19 18:20:41 -04:00
modeco80
e798ff5c86 bandaid fix time 2024-06-19 18:16:16 -04:00
modeco80
0d34bb1c8e cvmts/qemu: support snapshots properly 2024-06-19 18:03:10 -04:00
modeco80
b485e7f689 cvmts: reimplement connection limit using ipdata 2024-06-19 17:56:55 -04:00
modeco80
ba8743f461 guac-rs: remove commented dead code
gits a SCM.
2024-06-19 02:34:38 -04:00
modeco80
b342d4874f remove license cargo key 2024-06-19 02:14:57 -04:00
modeco80
eefde464b4 why is yarn so picky 2024-06-19 01:49:12 -04:00
modeco80
d9ee611bc5 guac-rs: reformat im stupid 2024-06-19 01:37:17 -04:00
modeco80
4e50106585 cvmts: replace guacamole decoder with a node native module written in rust 2024-06-19 01:36:07 -04:00
Elijah R
a4247bbcc3 Merge branch 'master' into crusttest-refactoring
yes i know this is an ugly empty merge commit, I could NOT get it to rebase without creating massive vomit
2024-06-11 14:23:57 -04:00
Elijah R
794b801628 add VNCVM 2024-06-11 13:46:24 -04:00
Elijah R
1c0ee235dd add global build script 2024-06-11 12:44:39 -04:00
Elijah R
565bf7d9b5 improve on connection logging 2024-05-27 00:10:56 -04:00
Elijah R
8add016b60 implement TCP server, reimplement maxConnections except it now kicks the oldest connection 2024-05-27 00:06:05 -04:00
Elijah R
7053973205 abstract websocket to allow additional transport layers 2024-05-26 23:19:55 -04:00
modeco80
173ee8149f auth: Make more resilant to backend failures 2024-05-26 16:33:35 -04:00
modeco80
e184bfb085 qemu: fix qmp disconnection semi properly
this is actually something i need to push to crusttest as well, because
this will affect it as well, though not as badly because it will only break certain buttons
2024-05-22 17:56:04 -04:00
modeco80
2e05504e4a hastily hand merge yellowcode vote patch thing
Co-Authored-By: yellows111 <ice_ice@email.com>
2024-05-01 08:08:43 -04:00
Elijah R
8452f8d220 nice one declan 2024-04-24 14:34:03 -04:00
modeco80
e03bf57ede .. ok, i guess one node buffer can't be moved but the other magically can. 2024-04-24 04:38:47 -04:00
modeco80
a904f26961 abstract jpeg encoding away from "WSServer"
Additionally make thumbnail encoding threadpooled as well, just so it (probably) doesn't block as much.
2024-04-24 04:18:05 -04:00
modeco80
ddae307874 chore: reformat all code with prettier 2024-04-24 03:50:17 -04:00
modeco80
bcbf7db8d9 misc patches done to get everything to play ball
also adds editorconfig
2024-04-24 03:41:32 -04:00
modeco80
db97a62046 move jpeg encoding to a worker thread pool
this also switches cvmts back to building with tsc, mostly because
I couldn't get parcel's worker interop to work at all.
2024-04-23 19:43:42 -04:00