WIP: Guacd, RDP, Docker-Compose #451
Reference in New Issue
Block a user
Delete Branch "starhound/guacd-docker-compose"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Overview
Short summary of what this PR does
Changes Made
This pull request introduces comprehensive support for Apache Guacamole (RDP, VNC, and Telnet remote desktop protocols) into the application. It adds a Guacamole server integration, secure token-based connection management, new backend API endpoints, Docker service orchestration, and updates to the frontend tab system to enable remote desktop sessions directly in the app.
The most important changes are:
Guacamole Backend Integration:
guacamole-server.ts) usingguacamole-lite, with secure connection settings, logging, and protocol-specific defaults for RDP, VNC, and Telnet. The server is conditionally initialized based on theENABLE_GUACAMOLEenvironment variable. [1] [2]token-service.ts) for encrypting/decrypting connection settings, supporting different protocols and using environment-based or derived encryption keys.routes.ts) for generating Guacamole tokens and checking the status of the Guacamole server andguacdbackend. These routes are protected by authentication middleware./guacamoleroutes in the main backend application. [1] [2]Docker and Deployment:
docker-compose.ymlfile defining services for the application (termix) and the Guacamole daemon (guacd), including health checks, networking, and persistent storage.nginx.confandnginx-https.conf) to support Guacamole WebSocket and REST API proxying for remote desktop connections. [1] [2]Dependencies:
guacamole-common-jsandguacamole-litepackages, along with their type definitions, to the project dependencies. [1] [2]Frontend/Types:
TabContextTabinterface to support new tab types (rdp,vnc) and their connection configurations, enabling remote desktop session tabs in the UI.These changes collectively enable secure, token-based remote desktop access through the application, with full backend, frontend, and deployment support.
Screenshots / Demos
(Optional: add before/after screenshots, GIFs, or console output)
Checklist
Can you reopen this PR under the main branch? I deleted the old one and forgot that it would close the PR.
Pull request closed