Windows · macOS · Developer tool

Tunnel Desk — many tunnels, one click

When your internal servers or databases are reachable only through one bastion host, this Windows and macOS app replaces the pile of ssh commands you start per tunnel and retype after every drop with a single project you connect with one button.

Tunnel Desk project screen — bastion connection details and the list of local port forwards
One project with one bastion host and three tunnels — the connection status is shown per project (all addresses and names are examples)

The chore that grows with every tunnel

When several targets can only be reached through a bastion host, you start one forwarding command per local port and retype them whenever the connection drops. Tunnel Desk groups that work into a single project.

Register the tunnels that share a bastion host in one project, connect and disconnect them together, and see each project's current status live. Each forwarding entry from an ssh command you already use becomes one tunnel.

How it handles your connection details

You reach the bastion host with a password or a PEM key file, and enter the key's passphrase too if it has one. The first time you meet a bastion host you trust it once; the app remembers its fingerprint and checks against that from then on.

Passwords and key passphrases are not written to the settings file. They go to Windows Credential Manager or the macOS Keychain, and they are left out of exported settings too.

It reconnects when a tunnel drops

After connecting, the app checks the connection over SSH at a regular interval and retries automatically at the interval you set when it drops. Both intervals are set in seconds, and each project shows a status such as connected or reconnecting (with the retry count).

Moving your settings

Project settings can be exported to and imported from a JSON file, handy for moving to another computer or sharing with a team. As noted above, passwords are not included, so the receiving side enters them once.

Getting it

The current version is v0.1.0. From the GitHub release you can download a Windows (x64) installer, a macOS DMG for Apple Silicon and a macOS DMG for Intel.

The macOS builds are not yet properly signed and notarized (they carry a test signature), so macOS may warn that the app is "damaged" the first time you open it. The file is not broken — it is macOS's security check — and the repository README explains how to get past it.

Key features

folder_special Projects — group tunnels that share a bastion host and connect or disconnect them together
swap_horiz Local port forwarding — register each entry of an ssh command you already use as one tunnel
vpn_key Password or PEM key login, with key passphrase support
verified_user Remembers the bastion host's fingerprint after the first check and uses it from then on
autorenew Status checks and automatic retry — reconnects at the interval you set
key Passwords kept in Windows Credential Manager or the macOS Keychain, not in exported files
import_export Settings import and export as JSON

Another screen

Tunnel Desk project screen while the connection dropped and the app is retrying
Another project — the connection dropped and the app is retrying

The screens are app screens filled with example values. Host addresses and names are all made up,.

Downloads and source

Get the installers from the GitHub release; the source, install notes and usage are in the repository.

Tunnel Desk app icon
Tunnel Desk
ssh-tunnel

Project info

Category Desktop app · Developer tool
Distribution GitHub releases
Platforms Windows (x64) · macOS (Apple Silicon, Intel)
Version v0.1.0
Login Password · PEM key