An open-source SSH workspace,
from desktop to mobile without a break.

Plain SSH, EC2 SSM, tmux, SFTP and port forwarding in one app. Hosts, keys and snippets sync end-to-end encrypted — and you can run the sync server yourself.

WindowsmacOSLinuxiOSAndroid
Dolgate hosts and workspace screen
Features

Everything a terminal needs, in one app

From plain SSH to AWS SSM, containers and tmux — the whole of server work in a single workspace.

🖥️

SSH / SSM workspace

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

🪟

tmux control mode

Remote tmux windows become app tabs and panes become split views. Closing a tab detaches instead of killing, so the session survives and picks up where you left off.

🤖

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.

🎬

Session recording & replay

Replay a finished terminal session on a timeline. Recordings stay on the device and are never uploaded.

🔁

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.

Command autocomplete Snippets Dual-pane SFTP Edit remote files Docker · Podman monitoring mosh Import from OpenSSH · Xshell · Termius
Network

See your port forwards and tunnels

Local, remote and dynamic forwards, SSM forwards and container tunnels all live in one list. For connections through a jump host, point ProxyJump at a saved host and you are done.

Dolgate port forwarding screen
Security

Somewhere you can leave 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 design is public 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. With no secure store available, saving is refused rather than falling 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 opens only 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.
Trust is not required 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 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 on the same version, and desktop builds update themselves.

Linux rpm (Fedora, RHEL) and ARM64 builds are on the releases page.