Apache Guacamole
FreeRemote desktop in a browser — no client to install anywhere
A clientless remote desktop gateway. Once deployed on a server, any device with a browser can reach machines on the internal network over RDP, VNC or SSH. Nothing is installed on the device you are using, and no per-machine port forwarding is required.
Why we picked it
The recurring problem with remote desktop is the device in your hand that cannot install a client: a locked-down work computer, a friend's machine, an internet café, or a tablet you want to use for five minutes.
Guacamole turns remote desktop into a web page. An Apache Foundation project under Apache-2.0, deployed once on your own server, after which any device with a browser opens a URL and connects — phone, tablet, someone else's computer, with nothing installed.
It speaks three protocols:
- RDP for Windows desktops.
- VNC for Linux or anything else serving VNC.
- SSH and Telnet for a terminal directly in the browser.
The typical deployment is as a jump host: put it at the edge of your network so the machines behind it need no individual exposure to the internet. From outside you reach one address, sign in, see every configured machine and click into any of them.
Useful properties:
- Centralized connection management. Addresses and credentials live in one place rather than being re-entered on every device.
- Multiple users and permissions, granting different people access to different machines — valuable for teams and shared households.
- Session recording for auditing or training.
- Clipboard and file transfer through the browser.
- Two-factor authentication via extensions.
To be clear about:
- Deployment is non-trivial. It has two parts: guacd, the daemon that actually speaks RDP and VNC, and a Java web application. Docker options exist, but this is considerably more involved than installing a desktop app and requires some server background. For helping a family member fix their computer, RustDesk is far simpler.
- The security responsibility is serious. This is a gateway to all your machines. HTTPS is mandatory, strong passwords are mandatory, and two-factor authentication is strongly recommended. Never expose it bare to the internet. This deserves more care than anything else about it.
- Performance trails native clients. Frames are transcoded by the server and pushed to a browser, so latency and smoothness fall short of a direct RDP client. Video and gaming are out of scope — that is Moonlight's territory.
- It does no NAT traversal. The server must be able to reach the target machines directly; it will not punch holes for you the way RustDesk does.
Who it suits: teams providing internal machine access to several people, heavy self-hosters, and anyone who regularly needs remote access from devices where installing software is impossible.