Skip to content

Releases: 5djr/TunnelDesk

v3.0.0

02 Jun 18:21

Choose a tag to compare

TunnelDesk v3.0.0

v0.2.9

02 Jun 16:44

Choose a tag to compare

TunnelDesk v0.2.9 — Serial Port support

v0.2.8

02 Jun 15:24

Choose a tag to compare

chore: release v0.2.8

v0.2.7

02 Jun 13:40

Choose a tag to compare

TunnelDesk v0.2.7

v0.2.6

29 May 16:56

Choose a tag to compare

chore: release v0.2.6

v0.2.5

29 May 16:25

Choose a tag to compare

chore: release v0.2.5

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>

v0.2.4

29 May 14:44

Choose a tag to compare

fix: RDP window not appearing on Windows — revert storeCredential to …

TunnelDesk v0.2.3

29 May 13:24

Choose a tag to compare

What's new in v0.2.3

Enterprise features

  • Microsoft Entra ID / Azure AD sign-in — enter your Azure App Registration Client ID + Tenant ID in Settings → Account and sign in with Microsoft (PKCE OAuth2, in-app browser, tokens stored encrypted on-device)
  • Organization config sync — admins publish a tunneldesk-policy.json to any HTTPS endpoint; clients poll it and display org-managed connections in the sidebar with a lock badge
  • Group Policy enforcement — Windows: HKLM\SOFTWARE\Policies\TunnelDesk; Linux: /etc/tunneldesk/policy.json

macOS support

  • RDP via Microsoft Remote Desktop (App Store, free)
  • SSH / Telnet via Terminal.app
  • Native macOS app menu (Cmd+C/V/Q/W/M)
  • DMG + ZIP builds (x64 + arm64) — attached by CI below

Security fixes

  • RDP credentials stored via PowerShell env var (not cmdkey command-line args)
  • sanitizePath rejects ../ path traversal in SSH key paths
  • Org-managed connections sanitized with same validation functions as user connections

Downloads

Platform File
Windows TunnelDesk 0.2.3.msi (installer)
Windows TunnelDesk 0.2.3.exe (portable)
Linux AppImage + deb — attached by CI
macOS DMG + ZIP — attached by CI

Linux and macOS artifacts are built by GitHub Actions and appear in this release automatically within minutes of the tag push.

v0.2.2 — Update Notifications & Live OS Icons

29 May 01:12

Choose a tag to compare

What's new in v0.2.2

Added

  • Update notification banner — on startup TunnelDesk silently checks GitHub Releases; if a newer version is found, a dismissible banner appears at the top with a direct download link. Single HTTPS request on launch, no background service.
  • Live OS icon in sidebar — the detected OS/distro icon now appears in the sidebar immediately after an SSH session connects, without requiring an app restart.

Fixed

  • Console window flash — mstsc.exe spawns now include windowsHide: true, consistent with every other background process.
  • Settings sync across windows — settings saved from any window (e.g. OS cache from a terminal window) are broadcast to all open windows so the main window reflects them instantly.

Downloads

File Type
TunnelDesk 0.2.2.msi Standard installer — recommended, no admin required
TunnelDesk 0.2.2.exe Portable — runs without installing

Requirements: Windows 10/11 x64 · cloudflared in PATH

v0.2.1 — Bug Fix Release

29 May 00:43

Choose a tag to compare

v0.2.1 — Bug Fix Release

All bugs found by a multi-agent automated audit of the v0.2.0 changes.

Fixes

Critical

  • Terminal data racecreateTermSession previously blocked the IPC response until OS detection finished (up to 2 s), causing early terminal output (MOTD, login banners) to be silently dropped. The IPC now resolves immediately; OS info arrives via a separate ssh-os-detected push event with zero impact on terminal throughput.

Medium

  • SSH mid-session error ignoredclient.on('error') after a session was established called reject() (a no-op on a settled Promise) but never called onClose, leaving the terminal tab stuck in a connected state. It now explicitly calls onClose so the tab closes correctly.
  • TCP socket leak on unresponsive serverscloseSessionsForConnection was missing the 5 s client.destroy() fallback that sshCloseSession already had. Fixed.
  • Import loses jump host — Importing a previously exported connection file discarded jumpHost and jumpPort fields. Fixed.
  • HTTP test misleading on redirects — The ⚡ Test button reported HTTP 301 ✓ (green) for endpoints that always redirect, never actually testing the destination. It now follows one redirect before reporting.

Minor

  • OS detection exec channel leak — When the 2 s detection timeout fired, the remote exec stream was left open. The stream is now destroyed on timeout.
  • tr command could corrupt unusual distro IDstr -d '"ID= ' deleted any character in that set from the distro name. Replaced with sed 's/^ID=//;s/"//g' which strips only the literal prefix and quotes.
  • osCache grows unboundedsettings.json osCache was accepted with no entry limit. Now capped at 500 entries.