Open source · Self-hosted · Beta
Remote desktop through a relay that can't see your screen.
OpenDesk lets you view and control another computer over the internet. You run the relay. The two computers encrypt the screen, input, sound and files between themselves, so the relay only passes along bytes it can't read.
For Windows, macOS and Linux. The browser viewer controls a computer that runs the app, without installing anything.
How a session works
Share an ID and password
The computer you want to reach shows a 9-digit ID and a password that changes after every session.
Agree on a key
The other side enters both. SPAKE2 turns the password into a key that only the two computers know. The password never crosses the network.
Connect the shortest way
They try a direct UDP path first. If a firewall blocks it, the same encrypted traffic goes through the relay instead.
What you get
Your own relay
One small Rust service. The Docker Compose setup puts Caddy in front, which gets the HTTPS certificate for you.
End-to-end encryption
A key per session from SPAKE2, ChaCha20-Poly1305 on every frame and keystroke. TLS protects the connection to the relay on top of that.
No open ports
Both computers connect out to the relay on port 443. No port forwarding, no inbound firewall rules.
Direct when it can be
ICE finds a direct UDP path between the computers. The session toolbar says Direct or Relayed and shows the round trip.
The usual tools
System sound, text clipboard sync, file transfer with a consent prompt, session recording, and a picker for each monitor.
Unattended access
A fixed password for your own machines, an optional code from an authenticator app, and start at sign-in so a restart doesn't lock you out.
Open source
AGPL-3.0. Rust for the relay, crypto and capture; Tauri and React for the app. Read it, build it, run your own.
Any desktop, plus a browser
One app hosts and views on Windows, macOS and Linux. A browser can view and control without installing anything.
Download
Newest build: v0.1.0-beta.5 (beta). Install it on both computers. The app connects to the project's test relay out of the box; you can point it at your own.
macOS
Apple silicon, macOS 12.3 or later. No Intel build yet.
- Download for Mac.dmg · Apple silicon · macOS 12.3+
Windows
Windows 10 (1803) or later, 64-bit.
- Download installer.exe · 64-bit · Windows 10+
- MSI package.msi · for managed installs
Linux
x86_64. Screen sharing goes through PipeWire and the desktop portal.
These builds are not code-signed. The first time you open the app, macOS Gatekeeper and Windows SmartScreen will warn you. Getting startedshows how to get past each warning. All builds and their changelogs are on thereleases page.
Before you rely on it
- OpenDesk is in beta. Most testing has happened on macOS; Windows and Linux hosting is less mature.
- The browser viewer always goes through the relay and has no sound, file transfer, clipboard sync or recording.
- Linux hosts on Wayland have limited input support.
- The relay can't read your session, but it does see who connects to whom, when, and how much data flows. Security model
Run a relay in a few minutes
On any server with Docker and a DNS name:
git clone https://github.com/treeot/opendesk.git
cd opendesk
DOMAIN=relay.example.com docker compose up -dThen set each app's relay to wss://relay.example.com/ws. Self-hosting guide