An open-source SSH workspace
that carries over seamlessly from desktop to mobile.

SSH, EC2 SSM, tmux, SFTP and port forwarding in one app. On desktop, open RDP and VNC remote desktops in the same workspace. Hosts, keys and snippets sync with end-to-end encryption — and you can run the sync server yourself.

WindowsmacOSLinuxiOSAndroid
Dolgate hosts and workspace screen
Features

What's inside the workspace

From SSH and remote desktops to AWS SSM and containers — the whole span of server work, in one app.

🖥️

SSH / SSM workspace

SSH, EC2 SSH-over-SSM, SSM shell fallback, ECS Exec, SFTP and port forwarding in one app. SSH agent auth and agent forwarding included.

Learn more →
⌨️

Command autocomplete

Fig-spec autocomplete that works inside remote sessions — subcommands and flags, plus file paths on the remote server, dynamic values generated server-side, and your snippets.

🤖

AI assistant

Ask about the current session using its host details and terminal output. Read-only commands run on their own; anything that changes state waits for your approval. Works with OpenAI-compatible APIs, Claude and Codex.

🖱️

RDP & VNC remote desktops

Open RDP and VNC remote desktops in the desktop app. View RDP monitors together or spread them across separate windows. Connect directly through Tailscale, use RDP over SSM, or reach VNC through an SSH tunnel.

🔁

E2EE sync, self-hostable

Hosts, secrets and snippets sync between desktop and mobile with end-to-end encryption. The sync server (sync-api) runs from a single Docker command if you want to host it yourself.

🌐

Tailscale built in

The app itself joins as a tailnet node. It reaches hosts inside a tailnet with no Tailscale client and no VPN permission, and never touches your OS routing or DNS.

Learn more →
tmux control mode Snippets Dual-pane SFTP Edit remote files Docker · Podman monitoring mosh Session recording & replay Import from OpenSSH · Xshell · Termius
Screens

What it actually looks like

Swipe through the real screens — terminals, autocomplete, SFTP and remote desktops.

Terminal workspace
Command blocks
Command autocomplete
tmux control mode
AI assistant
Dual-pane SFTP
Port forwards and tunnels
RDP multi-monitor

Terminal workspace Keep several SSH sessions in one window as tabs and splits. The session panel shows resources, processes and ports right there.

Command blocks Every command carries its exit status and duration. Copy just the output, re-run it, or jump straight to the failed one.

Command autocomplete Inside the remote session it suggests subcommands and options, and keeps going with remote file paths and your snippets.

tmux control mode Remote tmux windows become app tabs and panes become splits. Splitting, closing and resizing are all available from the UI.

AI assistant Answers grounded in the current session's host details and terminal output. Reads run on their own; changes run after you approve them.

Dual-pane SFTP Local on the left, remote on the right, side by side. Remote files can be edited in place without downloading them.

Port forwards and tunnels Local, remote and dynamic forwards, SSM forwards and container tunnels all live in one list. For a jump host, point ProxyJump at a saved host.

RDP multi-monitor Put several remote monitors side by side in one tab, or spread them across your own displays.

Security

A safe place for your passwords and keys

Secret handling is the baseline for an SSH client. The rule here is simple — no secret is ever left in plaintext. The full design is published in the data protection document.

✓
Stored only in the OS secure store Passwords, private keys and API keys are encrypted through macOS Keychain, Windows DPAPI, iOS Keychain or Android Keystore. If no secure store is available, the app refuses to save rather than fall back to plaintext.
✓
End-to-end encrypted sync Sync data is encrypted on the device with AES-256-GCM before upload, and the encryption key can only be unlocked with the sync passphrase you set. Managed or self-hosted, the operator cannot decrypt it.
✓
Only what needs to sync Terminal output, session recordings, activity logs and AI API keys never leave the device.
✓
You don't have to trust us The whole codebase is public so you can verify it yourself, and the sync server can run on your own infrastructure.
Self-host

Your sync server, your machine

The sync-api that handles browser sign-in and sync is a single container. Start it, then point the app at your server's address from its sign-in screen.

docker run -d --name dolgate-sync-api \
  -p 8080:8080 -v dolgate-sync-api-data:/app/data \
  ghcr.io/doldolma/dolgate-sync-api

See the self-hosting guide for the full configuration.

Download

Get started

Every platform ships the same version at the same time, and desktop builds update themselves.

Linux ships .deb and .rpm for x86_64 and arm64. Pick one from ▾ on the button above, or see the full list on the releases page.