mirror of
https://github.com/sol1/rustguac.git
synced 2026-09-10 09:35:45 +00:00
00a8f42572
Split SPICE into two connection types: "spice" (direct libvirt/QEMU) and "proxmox" (PVE console brokered via the spiceproxy API). Both produce a guacd SPICE connection. - Deliver the SPICE ticket/password as a connect arg instead of a post-connect argv stream, so it is set before guacd authenticates. Fixes an auth race that produced intermittent "SPICE authentication failed". - TLS-only SPICE sends an empty plain port so guacd connects via tls-port rather than plaintext against a TLS endpoint. - Proxmox node is optional: resolve it from the VM id via /cluster/resources (as the PVE web UI does). - Split the PVE API token into a visible Token ID (shown in the User column) and a masked secret; join them as "id=secret" for the API. - Surface the PVE response body on non-2xx (safe: only a 2xx spiceproxy response carries a ticket), turning opaque 500s into actionable messages. - SSH tunneling for Proxmox: tunnel both the PVE API call and the spiceproxy connection through the jump-host chain in-branch. Also rewrite tls_port (not port) for direct-SPICE TLS over a tunnel. - Store proxmox fields on address book entries; populate Host/User columns; orange Proxmox badge. Runtime dep: libspice-client-glib-2.0-8.