Guacamole Server is a proxy daemon and C library that enables web-based remote desktop access by translating between arbitrary protocols and a text-based Guacamole protocol.
The core problem Guacamole Server solves is that JavaScript in web browsers cannot efficiently handle binary remote desktop protocols like VNC and RDP. The solution is guacd, a proxy daemon that sits between the web application and remote systems, translating between standard protocols and the Guacamole protocol—a text-based format designed to contain the common operations needed for remote desktop access while remaining easy for JavaScript to process. The package includes libguac, a C API for protocol support, along with libraries that enable communication over RDP, SSH, Telnet, and VNC.
Guacamole Server is appropriate for organizations building web-based remote access solutions where browser compatibility is essential. It suits deployments requiring support for multiple remote desktop protocols without forcing clients to install native applications. The project requires core dependencies including Cairo, libjpeg, libpng, and OSSP UUID, with optional support for specific protocols through FreeRDP, libssh2, libVNCserver, and others. Audio support within VNC connections, SFTP file transfer, and WebP compression are available as optional features, along with a video encoding utility for session recording.
Development activity shows consistent maintenance with regular updates to the codebase. The project maintains active engagement with its protocol implementations, ensuring compatibility across supported remote access standards. Build infrastructure relies on GNU Automake with a standard configure script, indicating a mature and conventional approach to compilation and installation. Documentation is provided through a full manual on the project website alongside source archives, supporting both quick-start compilation and comprehensive reference needs.