github.com/trzsz/tsshd
v0.1.9
#2517 most downloaded on Go modules
trzsz/tsshd
What this package is like to depend on
Last release 1 months ago
17 Jul 2026
Ships on a steady schedule
a new release about every 2 weeks
Nearly every release is documented
notes for 9 of 10 stable releases
Nothing withdrawn
no release was ever pulled
2 years old
68 releases · first in 2024
53 releases in the last 12 months
see the full history below
Release timeline
68 releases · Jun 2024 to Jul 2026Releases
latest 60 of 68-
v0.1.917 Jul 2026Release notes
Open source →This release introduces major improvements, including the highly requested ability to detach and attach sessions, as well as ProxyCommand support. It also ships with significant stability enhancements, resolving memory retention issues, blocking operations, and connection timeouts under high load.
🚀 Features
- Session Management & Attachment (#35): Implement robust session management. You can now detach from sessions without terminating them and safely discard previous terminal output upon reattachment (#39).
- ProxyCommand Support: Added support for
ProxyCommand, which implies TCP proxy mode for more flexible routing. - Network Diagnostics: Added an RTT callback for heartbeat acknowledgements to better monitor connection latency on the client side.
🐛 Bug Fixes
- Windows 11 ARM64 Display: Fixed Neovim (0.12.3) display misalignment on Windows 11 ARM64 by providing exact terminal dimensions during ConPTY creation (removes previous
-1column width offset). - Hanging Accept Connections (#36): Fixed an issue where parked local connections (e.g., from
ssh-addorgitcommit signing) hung indefinitely if the client never claimed them. These are now properly reaped after a timeout. - Blocking Operations & Memory Leaks (#37): Resolved critical blocking operations, goroutine leaks, and memory retention issues during connection teardown, stream replacement, and repeated attach cycles. Stream writes are now interruptible.
- Client Concurrency: Fixed potential defer and goroutine bugs caused by named return values, and ensured the active checker is properly initialized before client setup.
🛠 Transport & Recovery Improvements
- Simplified Transport Recovery: Replaced proxy packet replay with PTO (QUIC) and RTO (KCP) resets on reconnect. Packets are now dropped when the backend is unavailable, relying natively on the transport layer to recover lost traffic.
- Crypto Delegation: Removed unnecessary proxy crypto delegation for non-attachable KCP connections.
📚 CI & Documentation
- CI/CD Automation (#38): Added automatic pre-release deployment via GitHub Workflows and fixed GoReleaser SemVer parsing errors.
- Documentation Updates: Updated UDP reconnect and timeout configuration docs, and added new screenshots demonstrating auto-reconnect and
tsshdattach sessions.
New Contributors
- @aliceisjustplaying made their first contribution in #36
Full Changelog: v0.1.8...v0.1.9
-
v0.1.9-0.20260704223320-5e1359d97be804 Jul 2026 pre-releaseNothing published for this version
-
v0.1.9-0.20260627222501-a37e24c39be527 Jun 2026 pre-releaseNothing published for this version
-
v0.1.9-0.20260620235652-7713cd6be7b120 Jun 2026 pre-releaseNothing published for this version
-
v0.1.9-0.20260607040029-0bd47e6b6bc707 Jun 2026 pre-releaseNothing published for this version
-
v0.1.9-0.20260601052052-184a045fccbb01 Jun 2026 pre-releaseNothing published for this version
-
v0.1.9-0.20260531093936-a6064b2583f731 May 2026 pre-releaseNothing published for this version
-
v0.1.9-0.20260529161027-096afb7c472429 May 2026 pre-releaseNothing published for this version
-
v0.1.9-0.20260524063010-2a54c31c29cc24 May 2026 pre-releaseNothing published for this version
-
v0.1.9-0.20260523153943-fabbb77bea4c23 May 2026 pre-releaseNothing published for this version
-
v0.1.810 May 2026Release notes
Open source →🚨 Key Fix
- Fix protocol corruption (#30): Held the bus lock until the handshake ACK is sent. This prevents diagnostic logs from interleaving with the handshake, which previously caused garbled data and connection issues.
🐛 Bug Fixes
- SSH Config: Improved
Matchcriteria handling and fixedMatch Groupnegations (#31, #32). - QUIC: Fixed shared configuration mutation to improve stability (#33).
- Reliability:
New Contributors
- @mookim-eth made their first contribution in #31
Full Changelog: v0.1.7...v0.1.8
-
v0.1.8-0.20260505075112-b9756a2acd8105 May 2026 pre-releaseNothing published for this version
-
v0.1.703 May 2026Release notes
Open source →What's Changed
This release brings several major features and architectural improvements, enhancing connection flexibility, compatibility, and extensibility for developers.
🌟 Major Features
- Support UDP Port Forwarding: Fully supports UDP local and remote port forwarding. You can now route UDP traffic using the
-L udp/...or-R udp/...CLI options, or viaUdpLocalForwardandUdpRemoteForwardin your config. Forwarding viaunixgramsockets is also supported. - Support Rootshell Client & Session Attach: Removed the local listener mechanism and introduced the ability to re-attach to an existing server session after a client app relaunch or device reboot. This "attach" capability was specifically implemented to provide first-class support for the rootshell client (a free, Metal-accelerated terminal emulator for iPhone, iPad, Vision Pro, and Mac).
- Middleware Framework for Custom SSH Business Logic: Introduced a powerful middleware framework. Developers can now easily inject custom interactive logic into SSH sessions, leveraging
tsshd's underlying capabilities to quickly build custom SSH servers with built-in seamless roaming and low-latency features.
🛠 Configuration & OpenSSH Compatibility
- Priority Configuration File:
tsshdnow uses$XDG_CONFIG_HOME/tsshd/sshd_config(defaults to~/.config/tsshd/sshd_config) as the highest-priority configuration file. If present, it takes precedence over the system's OpenSSH configuration. - OpenSSH-Aligned
AcceptEnvSupport: Fully implementedAcceptEnvsupport to align with OpenSSH behavior. It now defaults to acceptingLANGandLC_*for better cross-distro compatibility. Additionally,DISPLAYandSSH_AUTH_SOCKare correctly passed to the session environment. - Honor
StreamLocalBindMaskandStreamLocalBindUnlink: Aligned Unix Socket remote forwarding behavior with OpenSSH. It now safely unlinks existing sockets before binding and utilizes an inode/dev identity check during exit cleanup to prevent accidentally deleting another process's socket.
🐛 Enhancements & Fixes
- Network & Transport:
- Added support for custom UDP MTU sizes.
- Delegated KCP crypto to the proxy layer and fixed stale packet encryption issues across rekeys.
- Implemented traffic sampling and playback to accelerate QUIC/KCP state recovery.
- Introduced proactive dummy packet injection to prevent connection deadlocks during re-authentication.
- Connection Stability:
- Supported per-session
discardPendingInputand simplified the discard callback logic.
- Supported per-session
- Observability & Refactoring:
- Improved keepalive logging to provide better diagnostics for reconnections and connection stabilization.
- Suppressed noisy logs generated upon client-initiated UDP connection closures.
- Optimized error handling and improved overall code readability.
New Contributors
- @chrisfinazzo made their first contribution in #17
- @kitknox made their first contribution in #19
- @ernie made their first contribution in #27
Full Changelog: v0.1.6...v0.1.7
- Support UDP Port Forwarding: Fully supports UDP local and remote port forwarding. You can now route UDP traffic using the
-
v0.1.7-rc3.0.20260425073558-51ae27ff69ff25 Apr 2026 pre-releaseNothing published for this version
-
v0.1.7-rc3.0.20260424175707-bec37ca607cc24 Apr 2026 pre-releaseNothing published for this version
-
v0.1.7-rc3.0.20260406162446-6145d1530c8b06 Apr 2026 pre-releaseNothing published for this version
-
v0.1.7-rc3.0.20260404172806-f792cdc9dffc04 Apr 2026 pre-releaseNothing published for this version
-
v0.1.7-rc3.0.20260330163352-50e1a5c5f44c30 Mar 2026 pre-releaseNothing published for this version
-
v0.1.7-rc321 Mar 2026 pre-releaseNothing published for this version
-
v0.1.7-rc2.0.20260321223557-7918c43b002521 Mar 2026 pre-releaseNothing published for this version
-
v0.1.7-rc217 Mar 2026 pre-releaseNothing published for this version
-
v0.1.7-rc115 Mar 2026 pre-releaseNothing published for this version
-
v0.1.7-0.20260315103531-cfdef821f77615 Mar 2026 pre-releaseNothing published for this version
-
v0.1.7-0.20260220164351-65799ae3dd1c20 Feb 2026 pre-releaseNothing published for this version
-
v0.1.7-0.20260208110211-327f77bda87b08 Feb 2026 pre-releaseNothing published for this version
-
v0.1.7-0.20260125135324-348ee5b4ec2225 Jan 2026 pre-releaseNothing published for this version
-
v0.1.7-0.20260124021927-0201247bca3724 Jan 2026 pre-releaseNothing published for this version
-
v0.1.617 Jan 2026Release notes
Open source →This is a milestone release for tsshd.
It marks the transition from a basic, experimental implementation to a production-ready engineering version that works reliably across most environments.Special thanks to @Drag0nFly for extensive testing and feedback (trzsz/trzsz-ssh#167).
Highlights
- Fully supports ProxyJump (major refactor and performance improvements)
- UDP-over-TCP support ( for TCP-only networks where UDP is blocked )
- Significantly improved user experience on connection loss and recovery
- Broad networking improvements with solid IPv4 / IPv6 support
- QUIC and KCP stability improvements, including rekey support
- Improved keep-alive logic and reduced unnecessary UDP traffic
- Better terminal compatibility (screen / tmux fixes, escape sequence filtering)
Networking & Forwarding
- Listen on appropriate IPv4 / IPv6 addresses
- Support multiple and discrete port ranges
- Subsystem support and forwarding access control
- X11 forwarding enhancements (
X11UseLocalhost,XAuthLocation) - Optimized ProxyJump forwarding throughput
- Improved QUIC compatibility and packet scheduling
Stability & UX
- Block I/O while disconnected
- Discard pending input/output during client disconnection
- Improved exit handling and debugging
- Fixed screen redraw issues and minor terminal glitches
-
v0.1.6-rc9.0.20260111152858-565fb9eff29311 Jan 2026 pre-releaseNothing published for this version
-
v0.1.6-rc9.0.20260110145726-e4e0bbd1c9fc10 Jan 2026 pre-releaseNothing published for this version
-
v0.1.6-rc9.0.20260110070227-a379cc272c3710 Jan 2026 pre-releaseNothing published for this version
-
v0.1.6-rc928 Dec 2025 pre-releaseNothing published for this version
-
v0.1.6-rc8.0.20251227142027-7abd907687b227 Dec 2025 pre-releaseNothing published for this version
-
v0.1.6-rc821 Dec 2025 pre-releaseNothing published for this version
-
v0.1.6-rc714 Dec 2025 pre-releaseNothing published for this version
-
v0.1.6-rc607 Dec 2025 pre-releaseNothing published for this version
-
v0.1.6-rc530 Nov 2025 pre-releaseNothing published for this version
-
v0.1.6-rc424 Nov 2025 pre-releaseNothing published for this version
-
v0.1.6-rc323 Nov 2025 pre-releaseNothing published for this version
-
v0.1.6-rc2.0.20251123122517-58dfd13bb4dc23 Nov 2025 pre-releaseNothing published for this version
-
v0.1.6-rc2.0.20251116095117-e694f4569d4216 Nov 2025 pre-releaseNothing published for this version
-
v0.1.6-rc210 Nov 2025 pre-releaseNothing published for this version
-
v0.1.6-rc1111 Jan 2026 pre-releaseNothing published for this version
-
v0.1.6-rc1003 Jan 2026 pre-releaseNothing published for this version
-
v0.1.6-rc109 Nov 2025 pre-releaseNothing published for this version
-
v0.1.6-0.20251109135900-fd58fe06880c09 Nov 2025 pre-releaseNothing published for this version
-
v0.1.6-0.20251102150350-af3868ce77b102 Nov 2025 pre-releaseNothing published for this version
-
v0.1.526 Oct 2025 -
v0.1.5-0.20251025013252-102fdea983e525 Oct 2025 pre-releaseNothing published for this version
-
v0.1.419 Oct 2025Nothing published for this version
-
v0.1.4-0.20251019062635-e930a8657a0819 Oct 2025 pre-releaseNothing published for this version
-
v0.1.4-0.20251018170600-cc41910bd8f918 Oct 2025 pre-releaseNothing published for this version
-
v0.1.4-0.20251012043817-c16ce99e18d612 Oct 2025 pre-releaseNothing published for this version
-
v0.1.4-0.20250419171920-90970013870219 Apr 2025 pre-releaseNothing published for this version
-
v0.1.4-0.20250419041956-0b2b5187a87619 Apr 2025 pre-releaseNothing published for this version
-
v0.1.318 Aug 2024 -
v0.1.3-0.20240818085629-6094a55c509918 Aug 2024 pre-releaseNothing published for this version
-
v0.1.3-0.20240802235136-e1e5793fe3f102 Aug 2024 pre-releaseNothing published for this version
-
v0.1.3-0.20240728123755-e3d9535a080b28 Jul 2024 pre-releaseNothing published for this version
-
v0.1.3-0.20240720085856-c35640ee47be20 Jul 2024 pre-releaseNothing published for this version