Jump to content

Apache Guacamole

From Alfawiki
Adapted from the English Wikipedia article Apache Guacamole, available under CC BY-SA 4.0Updated 9 August 2025
Apache Guacamole
Company typeOpen source software project
IndustryRemote desktop software
Founded2010; 16 years ago (2010)
FounderMichael Jumper
Area served
Worldwide
ProductsRemote desktop gateway software
OwnerApache Software Foundation
Websiteguacamole.apache.org

Apache Guacamole is a remote desktop gateway that operates without requiring any client software, allowing users to access and control remote machines or virtual environments through a web browser. It provides administrators with a flexible system for authentication and authorization to regulate user permissions. The target systems remain securely isolated behind Guacamole, eliminating the need for direct exposure to the internet. Distributed under the Apache License 2.0, it is compatible with various platforms and is overseen by the Apache Software Foundation.

Remote connectivity is facilitated by the guacd daemon, which supports protocols such as RDP, VNC, and SSH. Since Guacamole’s client operates entirely within web browsers, there is no requirement to install any software on the accessed devices, simplifying remote desktop usage.

Components

Guacamole’s architecture includes a web application delivered to users alongside a backend service called "guacd," which translates native remote desktop protocols into the Guacamole protocol in real time. Users primarily engage with the web application interface.

Web Application

The web application manages user interaction, including authentication and authorization processes. It does not directly handle remote desktop protocols; instead, it relies on guacd to convert these protocols into the Guacamole protocol. The server side is developed in Java and runs within servlet containers such as Apache Tomcat or Jetty, while the client side is written in JavaScript and functions within standard web browsers.

guacd

guacd acts as the intermediary that processes connection requests from the web application to remote desktops. It dynamically incorporates support for multiple remote desktop protocols, enabling both guacd and the web application to remain independent of specific protocols. A shared library named libguac is used by guacd and client plugins to handle communication via the Guacamole protocol with the web application.

History

Initially developed in 2010 by Michael Jumper, Guacamole began as an HTML5-based VNC client, evolving from components of a browser-based telnet client known as "RealMint." Glyptodon LLC was formed to further develop and support this project before it was donated to the Apache Software Foundation in 2016, entering its incubation phase. By 2017, Guacamole advanced to become a top-level Apache project.

As an official project under the Apache Software Foundation, Guacamole is licensed under the Apache License and maintained by a community of contributors. Its development process involves mailing lists and pull requests submitted through the project's GitHub repositories. The project adheres to responsible disclosure policies for security issues, maintaining a confidential list for secure vulnerability reporting.

Timeline

Version Release date
Template:Version 2025-06-22
Template:Version 2024-04-05
Template:Version 2023-12-07
Template:Version 2023-07-31
Template:Version 2023-05-25
Template:Version 2023-04-13
Template:Version 2023-02-18
Template:Version 2022-01-01
Template:Version 2021-01-01
Template:Version 2020-06-28
Template:Version 2020-01-29
Template:Version 2019-01-08


Literature

References