Unattended access by numeric ID, screen sharing, remote control, file transfer, TCP tunneling, audio and chat — open source, self-hostable, no accounts.
A complete remote access suite in a single binary. No sign-up, no cloud account, no vendor lock-in.
Every device gets a 10-digit ID derived from its own Ed25519 key — an ID that cannot be spoofed or reassigned. Set an unattended password and connect any time.
VP9 encoding tuned for screen content, damage-region capture, live bitrate/FPS reconfiguration without dropping the session. Multi-monitor support included.
Mouse, keyboard, Unicode text, Ctrl+Alt+Del, privacy screen, remote input blocking and resolution change — with per-peer permission grants.
Dual-pane browser with resumable 256 KiB chunks, recursive delete, rename, mkdir, live progress and transfer rate.
Forward a local port to any host reachable from the peer — up to 64 concurrent tunnels. RDP, SSH, databases, anything TCP.
Opus 48 kHz audio (system or microphone), in-session chat with unread counters, and two-way text/image clipboard sync with echo suppression.
Every session can be captured into an ABBYREC1 container: video, audio, chat and input tracks, with retention pruning built in.
LAN discovery, direct IP, simultaneous P2P dial with hole punching, and relay fallback over independent QUIC streams — tried in that order.
Power on remote machines with a magic packet — from the CLI or straight from the address book in the UI.
Your ID is your public key. Every connection is mutually authenticated and encrypted end to end.
Free for everyone. Preconfigured for the public abbydesk.com rendezvous — enter an ID and connect.
Windows & Android builds: set rendezvous server once — Settings → Connection → abbydesk.com:21116
Self-hosting? Grab the server: abbydesk-server (Linux) · abbydesk-server (Windows) · SHA256SUMS
Connect in seconds — or run the whole infrastructure yourself with one command.
# GUI — enter the peer's 10-digit ID ./abbydesk # or straight from the shell ./abbydesk --connect "980 114 3351" --password hunter2 ./abbydesk --connect 192.168.1.20:21116
./abbydesk --headless ./abbydesk password # set the unattended password ./abbydesk id # print this device's ID
One UDP port (21116), one binary, systemd unit included in the repo. Point clients at it with --server your.host:21116 or in Settings → Connection.
# on a host with a public address ./abbydesk-server --listen 0.0.0.0:21116 --relay-host your.host # require a shared secret to register (optional) ./abbydesk-server --listen 0.0.0.0:21116 --key change-me
# Debian / Ubuntu sudo apt install rustc cargo libvpx-dev libopus-dev libasound2-dev \ libx11-dev libxext-dev libxdamage-dev libxfixes-dev libxrandr-dev \ libxinerama-dev libxtst-dev libxcursor-dev pkg-config gcc cargo build --release # binaries in target/release/ cargo test --workspace # 323 unit + 18 end-to-end tests