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 原生终端拖文件上传的示例:


相關推薦

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 中一次选择多台服务器,批量登

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

2022-09-29

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

2022-05-25

用 go 实现类似 rz / sz 上传和下载的功能,trzsz-go 发布了 v0.1.4 版本,支持在 windows 的 cmd 中使用。 在 windows 的 cmd 使用示例: 在 Ubuntu 原生终端使用示例:

2023-06-05

你是否曾经因为服务器太多记不住,而喜欢的 ssh 终端又没有服务器管理功能而苦恼? tssh v0.1.1 已实现 ssh 客户端常用的基本功能( 除了 ssh 端口转发 ),一般人用到的 ssh 功能都已支持,欢迎各位大佬试用。 两大额外功能

2023-07-15

ThingsPanel0.5.0的多租户功能满足了设备商和大型客户对物联网SaaS服务的需求。为在线物联网服务提供了快速实现方案。   基于ThingsPanel0.5.0,可以大大加速设备商的硬件产品化进程。   ThingsPanel的多租户功能分为

2023-06-12

简介 | Intro Dante OSS 是一款简化Minio操作的开源框架。通过对原有 Minio Java SDK 的深度封装,简化 Minio API 使用复杂度,提升 Minio 使用的便捷性,降低 Minio 应用开发门槛。 MinIO 是一款高性能、分布式的对象存储系统。Minio这款开

2024-03-03

iking-platform v1.1.4 已经发布,为项目交付而生 此版本更新内容包括: 更新内容 为了适配2.1.1版本的magic-api, Spring Boot版本回退至3.1.8。 为了适配2.1.1版本的magic-api, Spring Cloud版本回退至2022.0.5。 Spring Cloud Alibaba版本升级至2022

2023-09-28

dynamic-tp v1.1.4 已经发布,轻量级动态线程池 此版本更新内容包括: Feature 支持 Spring 项目,SpringBoot 相关特性只在 starter 模块引入,@炼龙 添加 jvmti 黑科技模块,方便集成管理各种三方包线程池,@炼龙 升级 VariableLinke