Trzsz ( go ) Document
trzsz-go makes all terminals that support local shell to support trzsz ( trz / tsz ), which similar to ( rz / sz ), and compatible with tmux.
⭐ It’s recommended to use the go version of trzsz on the server, use trzsz-ssh ( tssh ) on local.
Please check https://trzsz.github.io for more information about trzsz ( trz / tsz ).
Installation
-
Install with apt on Ubuntu
sudo apt install trzszsudo apt update && sudo apt install software-properties-common sudo add-apt-repository ppa:trzsz/ppa && sudo apt update sudo apt install trzsz -
Install with apt on Debian
sudo apt install trzszsudo 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 trzsz -
Install with yum on Linux
sudo yum install trzsz-
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 trzsz -
Install with wlnmp repository. It’s not necessary to configure the epel repository for trzsz.
curl -fsSL "https://sh.wlnmp.com/wlnmp.sh" | bash sudo yum install trzsz
-
-
Install with dnf on Linux
sudo dnf install trzszsudo dnf copr enable @trzsz/trzsz sudo dnf install trzsz -
Install with yay on ArchLinux
yay -S trzszyay -Syu yay -S trzsz -
Install with Homebrew on MacOS
brew install trzsz-gobrew install trzsz-go -
Install with Chromebrew on ChromeOS
crew install trzszcrew install trzsz -
Install with scoop / winget / choco on Windows
scoop install trzsz/winget install trzsz/choco install trzszscoop install trzszwinget install trzszchoco install trzsz -
Install with Go ( Requires go 1.25 or later )
go install github.com/trzsz/trzsz-go/cmd/...@latestgo install github.com/trzsz/trzsz-go/cmd/trz@latest go install github.com/trzsz/trzsz-go/cmd/tsz@latest go install github.com/trzsz/trzsz-go/cmd/trzsz@latestThe 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 installgit clone --depth 1 https://github.com/trzsz/trzsz-go.git cd trzsz-go make sudo make install -
Download from the GitHub Releases and install locally
download and install locallysudo apt install /tmp/trzsz_*.deb sudo dpkg -i /tmp/trzsz_*.deb sudo dnf install /tmp/trzsz_*.rpm sudo yum install /tmp/trzsz_*.rpm sudo rpm -i /tmp/trzsz_*.rpm tar zxvf trzsz_*.tar.gz && sudo cp trzsz_*/t* /usr/bin/
Usage
Use on the local computer
-
Add
trzszbefore the shell to support trzsz ( trz / tsz ), e.g.:trzsz bash trzsz PowerShell trzsz ssh x.x.x.x -
Add
trzsz --dragfilebefore thesshto enable drag files and directories to upload, e.g.:trzsz -d ssh x.x.x.x trzsz --dragfile ssh x.x.x.x
Use on the jump server
-
If using
tmuxon the jump server, usetrzsz --relay sshto login to the remote server, e.g.:trzsz ssh jump_server tmux trzsz --relay ssh remote_server
Use on the remote server
-
Similar to lrzsz ( rz / sz ), command
trzto upload files, commandtsz /path/to/fileto download files. -
For more information, check the website of trzsz: https://trzsz.github.io. 中文文档:https://trzsz.github.io/cn/
Suggestion
-
It is recommended to set
alias ssh="trzsz ssh"for convenience,alias ssh="trzsz -d ssh"for dragging files to upload. -
If using
tmuxon the local computer, runtmux( withouttrzsz) first, thentrzsz sshto login.
Zmodem support
-
Use
-zor--zmodemto enable therz / szfeature. e.g.,trzsz -z ssh remote_server. -
lrzszneeds to be installed on the client ( local computer ). e.g.,brew install lrzsz,apt install lrzsz, etc. -
trzsz --zmodem ssh xxxis not supported on Windows. You can use trzsz-ssh ( tssh ) instead,tssh --zmodem xxx. -
About the progress, the transferred and speed are not precise, there will be some deviation. It just indicating that the transfer is in progress.
Clipboard integration
-
Use
-oor--osc52to enable the clipboard integration feature. e.g.,trzsz -o ssh remote_server. -
Clipboard integration allows remote servers to write to the local clipboard via OSC52 sequences.
-
On Linux, clipboard integration requires
xcliporxselcommand to be installed.
Configuration
trzsz looks for configuration at ~/.trzsz.conf ( C:\Users\your_name\.trzsz.conf on Windows ), e.g.:
DefaultUploadPath =
DefaultDownloadPath = /Users/username/Downloads/
DragFileUploadCommand = trz -y
ProgressColorPair = B14FFF 00FFA3
-
If the
DefaultUploadPathis not empty, the path will be opened by default while choosing upload files. -
If the
DefaultDownloadPathis not empty, downloading files will be saved to the path automatically instead of asking each time. -
The default value of
DragFileUploadCommandistrz, configure it totrz -yif you want to overwrite the existing files, configure it torzif you want to userzto upload. -
The
ProgressColorPairconfigures the color of the progress bar. You need to configure 2 colors and do not include#. The progress bar will gradient from the first color to the second color.
Trouble shooting
-
If using MSYS2 or Git Bash on windows, and getting an error
The handle is invalid.- Install winpty by
pacman -S winptyinMSYS2. Git Bashshould have winpty installed, no need to install it manually.- Add
winptybeforetrzsz, e.g.:winpty trzsz ssh x.x.x.x.
- Install winpty by
-
The
/usr/bin/sshin MSYS2 and Cygwin is not supported yet, use the OpenSSH instead.- In
MSYS2, e.g.:winpty trzsz /c/Windows/System32/OpenSSH/ssh.exe x.x.x.x. - In
Cygwin, e.g.:trzsz "C:\Windows\System32\OpenSSH\ssh.exe" x.x.x.x. - ⭐ Recommended to use trzsz-ssh ( tssh ) instead,
tsshis same astrzsz ssh.
- In
-
Dragging files doesn’t upload?
- Don’t forget the
--dragfileoption. e.g.:trzsz -d ssh x.x.x.x. - Make sure the
trzin one of thePATHdirectory on the server. - On Windows, make sure there is no
Administratoron the title. - The
cmdandPowerShellonly support draging one file into it. - On the Windows Terminal, drag files to the top left where shows
Paste path to file.
- Don’t forget the
Development
Want to write your own ssh client that supports trzsz? Please check the go ssh client example.
Screenshot
Windows

Ubuntu

Drag files

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!