go 版 trzsz 发布 v1.1.4 支持断点续传


Go 版 trzsz ( trz / tsz ) 发布 v1.1.4,支持断点续传,进一步优化了传输速度和使用体验:

1 、如果传输发生中断,或者传完后文件有修改,再使用 trz -y 上传,或者使用 tsz -y xxx 下载, 将会快速跳过前面一致的部分,从不一致的位置开始断点续传。

2 、按下 Ctrl + C 时不再直接退出,可以选择保留已传输的部分,或删除已传输的部分,或继续传输剩下的部分。

3 、自动检测要传输的文件类型,若是未压缩的文件,则自动压缩并传输,接收端自动解压,提高传输速度。也可以通过参数 -c yes 和 -c no 强制压缩或不压缩。

GitHub:https://github.com/trzsz/trzsz-go


安装方法

  • Ubuntu 可用 apt 安装

    sudo apt install trzsz
    sudo apt update && sudo apt install software-properties-common
    sudo add-apt-repository ppa:trzsz/ppa && sudo apt update
    
    sudo apt install trzsz
    
  • Debian 可用 apt 安装

    sudo apt install trzsz
    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 trzsz
    
  • Linux 可用 yum 安装

    sudo yum install trzsz
    • 国内推荐使用 wlnmp 源,安装 trzsz 只需要添加 wlnmp 源( 配置 epel 源不是必须的 ),以 CentOS 为例:

      sudo rpm -ivh https://mirrors.wlnmp.com/centos/wlnmp-release-centos.noarch.rpm
      
      sudo yum install trzsz
      
    • 也可使用 gemfury 源( 只要网络通,所有操作系统通用 )

      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
      
  • ArchLinux 可用 yay 安装

    yay -S trzsz
    yay -Syu
    yay -S trzsz
    
  • MacOS 可用 homebrew 安装

    brew install trzsz-go
    brew update
    brew install trzsz-go
    
  • Windows 可用 scoop 安装

    scoop install trzsz
    scoop bucket add extras
    scoop update
    scoop install trzsz
    
  • 用 Go 直接安装( 要求 go 1.20 以上 )

    go install github.com/trzsz/trzsz-go/cmd/...@latest
    go 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@latest
    

    安装后,trzsz 程序一般位于 ~/go/bin/ 目录下( Windows 一般在 C:\Users\your_name\go\bin\ )。

  • 可从 Releases 中直接下载适用的版本

    或者用 Go 编译( 要求 go 1.20 以上 )
    git clone https://github.com/trzsz/trzsz-go.git
    cd trzsz-go
    make
    sudo make install
    

使用方法

在本地电脑使用

  • 在命令前添加 trzsz,就可以支持 trzsz (trz /tsz) 上传和下载了,如:

    trzsz bash
    trzsz PowerShell
    trzsz ssh x.x.x.x
    
  • 在命令前添加 trzsz --dragfile,就可以启用拖拽上传功能,如:

    trzsz -d ssh x.x.x.x
    trzsz --dragfile ssh x.x.x.x
    

在跳板机上使用

  • 如果在跳板机上使用 tmux,则需要再使用 trzsz --relay ssh 登录远程服务器,如:

    trzsz ssh jump_server
    tmux
    trzsz --relay ssh remote_server
    

在服务器上使用

  • 与 lrzsz (rz /sz) 类似,使用 trz 命令上传文件,使用 tsz /path/to/file 命令下载文件。

  • 有关 trzsz 更详细的文档,请查看 https://trzsz.github.io/cn/。

使用建议

  • 为了使用方便,可以设置 alias ,例如 alias ssh="trzsz ssh",又或者 alias ssh="trzsz -d ssh" 支持拖文件上传。

  • 如果在本地电脑使用 tmux,先不带 trzsz 运行 tmux,然后再使用 trzsz ssh 登录远程服务器。

可配置项

trzsz 使用的配置文件是 ~/.trzsz.conf( Windows 是 C:\Users\your_name\.trzsz.conf )。注意路径必须包含 / 结尾,如:

DefaultUploadPath =
DefaultDownloadPath = /Users/username/Downloads/
  • 如果 DefaultUploadPath 不为空,上传选择文件时会默认打开此目录。

  • 如果 DefaultDownloadPath 不为空,下载文件时会自动下载到此目录( 不需要再弹窗选择路径 )。

常见问题

  • 如果 MSYS2  Git Bash 遇到错误 The handle is invalid

    •  trzsz 前面加上 winpty 即可,如 winpty trzsz ssh x.x.x.x 这样登录服务器。
    • Git Bash 已默认安装有 winptyMSYS2 需要手工安装 pacman -S winpty
  •  MSYS2  Cygwin 等,不支持直接使用 /usr/bin/ssh 那个 ssh,可能会传输失败。需要使用 Windows 自带的 OpenSSH。

    • MSYS2 中用法 winpty trzsz /c/Windows/System32/OpenSSH/ssh.exe x.x.x.x
    • Cygwin 中用法 trzsz "C:\Windows\System32\OpenSSH\ssh.exe" x.x.x.x
    • ⭐ 推荐使用 trzsz-ssh ( tssh ),tssh 等同于 trzsz ssh
  • 拖文件或目录到终端后,没有自动上传?

    • 检查 ssh 登录时有没有加上 --dragfile 选项,如 trzsz --dragfile ssh x.x.x.x 
    • 检查服务器上有没有安装 trzsz,trz 应在某个 PATH 路径下。
    • 在 Windows 中,检查标题有没有管理员三个字,以管理员运行 时可能会由于 UAC 设置的原因导致拖不了文件。
    • 在 Windows Terminal 中,需要将文件或目录拖到左上角,显示粘贴文件路径 时再放开。
    • 在 Windows 的 cmd  PowerShell 中,一次只能拖一个文件或目录,拖多个也只有鼠标正对着的那个是生效的。

开发指引

想要让你自己开发的 ssh 客户端支持 trzsz ?请参考 go ssh client example。

录屏演示

在 windows 的 cmd 使用示例:


在 Ubuntu 原生终端使用示例:


在 Mac 原生终端拖文件上传的示例:


相關推薦

2024-09-22

免维护等优点。   go-fastdfs 分布式文件系统 v1.4.6 发布,修复删除空目录引起的bug 注意:使用前请认真阅读 使用文档 或 视频教程。 优点 支持 curl 命令上传 支持浏览器上传 支持 HTTP 下载 支持多机自

2024-09-28

无中心、免维护等优点。 go-fastdfs 分布式文件系统 v1.4.7 发布,增加(删除文件名特殊字符)enable_trim_file_name_special_char选项 注意:使用前请认真阅读 使用文档 或 视频教程。 优点 支持 curl 命令上传 支持浏览器上

2023-07-19

Go 实现的 ssh 客户端,发布 v0.1.7 新版本,升级 trzsz ( trz / tsz ) 到 1.1.4 版本,支持断点续传,进一步优化了传输速度和使用体验: 1 、如果传输发生中断,或者传完后文件有修改,再使用 trz -y 上传,或者使用 tsz -y xx

2024-01-16

2022 年 2 月,TypeScript 版 trzsz.js 库 背景:trzsz 开始只支持 iTerm2,网友提出想要支持其他终端,例如 electerm 和 tabby 等。 结果:用 TypeScript 写了个 trzsz.js 的库,顺便支持在浏览器 webshell 中使用。这个库主要是面向终端或 w

2023-07-24

Go 实现的 ssh 客户端,发布 v0.1.8 新版本,支持批量登录,批量执行指定的命令。 GitHub:https://github.com/trzsz/trzsz-ssh Gitee:https://gitee.com/trzsz/tssh 目前支持在 tmux 和 Windows Terminal 中一次选择多台服务器,批量登

2024-08-20

【文件传输工具】trzsz ( trz / tsz ) 发布 v1.1.8,支持后台传输,只要加上 -f 参数即可,如 trz -f 和 tsz -f xxx。 服务端开源 GitHub:https://github.com/trzsz/trzsz-go 客户端开源 GitHub:https://github.com/trzsz/trzsz-ssh 服务端安装方法 Ubuntu

2023-07-12

【 用 go 的 ssh 客户端 】tssh 发布 v0.1.6,解决了 known hosts 的问题,支持更多类型的私钥( 含密码 )。 GitHub:https://github.com/trzsz/trzsz-ssh Gitee:https://gitee.com/trzsz/tssh 安装方法 客户端安装 trzsz-ssh ( tssh ) 的方法

2023-07-05

trzsz-ssh ( tssh ) 发布 v0.1.5,新版本支持记住密码、记住 keyboard interactive 的答案自动登录。 你是否曾经因为服务器太多记不住,而喜欢的 ssh 终端又没有服务器管理功能而苦恼? tssh 支持选择( 搜索 ) ~/.ssh/config 中配

2023-06-19

tssh v0.1.3 发布,支持指定多个私钥,支持使用密码保护的私钥。 GitHub:https://github.com/trzsz/trzsz-ssh Gitee:https://gitee.com/trzsz/tssh 你是否曾经因为服务器太多记不住,而喜欢的 ssh 终端又没有服务器管理功能而苦恼? tssh 支持选

2023-08-01

【 Go 版 ssh 】tssh 发布 v0.1.9,优化了搜索和批量登录功能。 快捷键 操作 全局快捷键 非搜索快捷键 快捷键描述 Confirm Enter   确认并登录 Quit/Exit Ctrl+C Ctrl+Q q Q 取消并退出 Move Prev Ctrl+K S

2024-08-28

【 基于 UDP 的 ssh 】tsshd 发布 v0.1.3,支持自定义端口。 GitHub:https://github.com/trzsz/tsshd 优点简介 降低延迟( 基于 QUIC / KCP ) 端口转发( 与 openssh 相同,包括 ssh agent 转发和 X11 转发 ) [TODO] 连接

2024-07-02

【 低延迟的 ssh 】tsshd 发布 v0.1.1,支持 QUIC 协议,修复 KCP 协议挂起的问题。 优点简介 低延迟( 基于 QUIC / KCP ) 端口转发( 与 openssh 相同 ) 如何使用 在客户端(本地电脑)上安装 tssh。 在服务端(远

2024-07-09

【 低延迟的 ssh 】tsshd 发布 v0.1.2,支持 X11 转发和 ssh agent 转发。 优点简介 降低延迟( 基于 QUIC / KCP ) 端口转发( 与 openssh 相同,包括 ssh agent 转发和 X11 转发 ) [TODO] 连接迁移( 支持网络切换

2022-09-29

,努力为打造全方位企业级开发解决方案, 致力将开源版打造成超越商业版后台管理框架的项目。后端Spring Boot 2.7.4vue2版使用 ANTD PRO VUE 作为脚手架,vue3使用 Vben-Admin-Next 作为脚手架(开发中)。移动端使用 T