tsshd

module
v0.1.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 26, 2025 License: MIT

README

tsshd

MIT License GitHub Release 中文文档

The tsshd works like mosh-server, while the tssh --udp works like mosh.

Advantages

  • Low Latency ( based on QUIC / KCP )

  • Port Forwarding ( same as openssh, includes ssh agent forwarding and X11 forwarding )

  • Connection Migration ( supports client sleep and wake-up, network switching, reconnection, etc. )

  • Proxy Jump ( First hop supports UDP: Client ---udp--> JumpServer ---tcp--> TargetServer )

How to use

  1. Install tssh on the client ( the user's machine ).

  2. Install tsshd on the server ( the remote host ).

  3. Use tssh --udp to login to the server. Configure as follows to omit --udp:

    Host xxx
        #!! UdpMode yes
        #!! TsshdPath ~/go/bin/tsshd
        #!! UdpPort 61000-62000
        #!! UdpAliveTimeout 86400
    

How it works

  • The tssh plays the role of ssh on the client side, and the tsshd plays the role of sshd on the server side.

  • The tssh will first login to the server normally as an ssh client, and then run a new tsshd process on the server.

  • The tsshd process listens on a random udp port between 61000 and 62000 (can be customized by UdpPort), and sends its port number and a secret key back to the tssh process over the ssh channel. The ssh connection is then shut down, and the tssh process communicates with the tsshd process over udp.

  • The tsshd process will exit if the network is disconnected for more than 24 hours by default, and no longer support reconnection. This can be adjusted by modifying the configuration UdpAliveTimeout in seconds.

  • The tsshd supports QUIC protocol and KCP protocol (the default is QUIC), which can be specified on the command line (such as -oUdpMode=KCP), or configured as follows:

    Host xxx
        #!! UdpMode KCP
    

Installation

  • Install with apt on Ubuntu

    sudo apt install tsshd
    sudo apt update && sudo apt install software-properties-common
    sudo add-apt-repository ppa:trzsz/ppa && sudo apt update
    
    sudo apt install tsshd
    
  • Install with apt on Debian

    sudo apt install tsshd
    sudo apt install curl gpg
    curl -s 'https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x7074ce75da7cc691c1ae1a7c7e51d1ad956055ca' \
      | gpg --dearmor -o /usr/share/keyrings/trzsz.gpg
    echo 'deb [signed-by=/usr/share/keyrings/trzsz.gpg] https://ppa.launchpadcontent.net/trzsz/ppa/ubuntu jammy main' \
      | sudo tee /etc/apt/sources.list.d/trzsz.list
    sudo apt update
    
    sudo apt install tsshd
    
  • Install with yum on Linux

    sudo yum install tsshd
    • Install with gemfury repository.

      echo '[trzsz]
      name=Trzsz Repo
      baseurl=https://yum.fury.io/trzsz/
      enabled=1
      gpgcheck=0' | sudo tee /etc/yum.repos.d/trzsz.repo
      
      sudo yum install tsshd
      
    • Install with wlnmp repository. It's not necessary to configure the epel repository for tsshd.

      curl -fsSL "https://sh.wlnmp.com/wlnmp.sh" | bash
      
      sudo yum install tsshd
      
  • Install with yay on ArchLinux

    yay -S tsshd
    yay -Syu
    yay -S tsshd
    
  • Install with Go ( Requires go 1.25 or later )

    go install github.com/trzsz/tsshd/cmd/tsshd@latest
    go install github.com/trzsz/tsshd/cmd/tsshd@latest
    

    The binaries are usually located in ~/go/bin/ ( C:\Users\your_name\go\bin\ on Windows ).

  • Build from source ( Requires go 1.25 or later )

    sudo make install
    git clone --depth 1 https://github.com/trzsz/tsshd.git
    cd tsshd
    make
    sudo make install
    
  • Download from the GitHub Releases, unzip and add to PATH environment.

Contact

Feel free to email the author lonnywong@qq.com, or create an issue. Welcome to join the QQ group: 318578930.

Sponsor

❤️ Sponsor trzsz ❤️, buy the author a drink 🍺 ? Thank you for your support!

Directories

Path Synopsis
cmd
tsshd command

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL