trzsz ( trz / tsz ) 是兼容 tmux 的 rz / sz,打磨了一整年,终于发布 1.0 正式版。 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
请不要在回答技术问题时复制粘贴 AI 生成的内容
LonnyWong
V2EX    程序员

trzsz ( trz / tsz ) 是兼容 tmux 的 rz / sz,打磨一整年,终于发布 1.0 正式版。

  •  4
     
  •   LonnyWong 2022-12-11 03:58:14 +08:00 5518 次点击
    这是一个创建于 1036 天前的主题,其中的信息可能已经有所发展或是发生改变。

    trzsz ( trz / tsz ) 始于 iTerm2 + tmux 用不了 rz / sz ,使用 Python 开发,兼容 tmux ,支持目录传输,支持拖动上传,支持进度条。github: https://github.com/trzsz/trzsz

    为了支持 web 页面使用 trzsz ( trz / tsz ) 上传和下载,以及支持 electron 开发的一系列终端( 如 tabby 、electerm ),开发了 js 版本 https://github.com/trzsz/trzsz.js

    为了支持更多的原生终端使用 trzsz ( trz / tsz ),开发了 go 版本 https://github.com/trzsz/trzsz-go

    新版本更好地支持跨平台( Mac 、Linux 和 Windows ),特别是优化了从 Mac 和 Linux 通过 ssh 登录到 Windows 服务器的场景。

    中文文档:https://trzsz.github.io/cn/

    39 条回复    2024-06-14 17:44:21 +08:00
    wsseo
        1
    wsseo  
       2022-12-11 05:55:07 +08:00
    支持 windows terminal 吗,怎么使用
    yechentide
        2
    yechentide  
       2022-12-11 07:33:06 +08:00 via iPhone
    有大佬能说下 rz 和 sz 是什么吗
    faketemp
        3
    faketemp  
       2022-12-11 08:19:02 +08:00 via iPhone   1
    @yechentide 不再额外需要 xftp 之类的工具 可以在 ssh 终端中直接下载 /上传文件
    ahu
        4
    ahu  
       2022-12-11 08:27:56 +08:00
    nice job!
    kaneg
        5
    kaneg  
       2022-12-11 09:08:34 +08:00
    在 byobu 里还是不能用,卡在:::TRZSZ:TRANSFER:S:1.1.1:7072079962820
    neighbads
        6
    neighbads  
       222-12-11 09:16:40 +08:00 via Android
    再次关注。vscode 啥时候能支持....
    idblife
        7
    idblife  
       2022-12-11 09:26:41 +08:00 via iPhone   1
    @yechentide
    自己 google 下吧
    LonnyWong
        8
    LonnyWong  
    OP
       2022-12-11 09:30:49 +08:00 via iPhone
    @wsseo 支持 Windows Terminal 的。

    1. 安装 scoop install trzsz
    2. ssh 登录远程服务器时,在前面加上 trzsz ,如 trzsz ssh [email protected]
    3. 在服务器安装 trzsz ,可参考 https://github.com/trzsz/trzsz-go
    4. 在服务器上执行 trz 上传,执行 tsz xxx 下载 xxx 文件。
    LonnyWong
        9
    LonnyWong  
    OP
       2022-12-11 09:38:48 +08:00 via iPhone
    @neighbads 问过 vscode 了,他们不打算开放 API ,没办法搞。
    另外,vscode 远程开发时,右键有上传和下载的功能的。
    LonnyWong
        10
    LonnyWong  
    OP
       2022-12-11 09:51:35 +08:00 via iPhone
    @kaneg 还没对 byobu 做适配,目前支持 tmux 。
    ruanimal
        11
    ruanimal  
       2022-12-11 10:06:49 +08:00
    trzsz.js 可以在油猴脚本里用吗? 想支持云厂商的 webshell 网页
    LonnyWong
        12
    LonnyWong  
    OP
       2022-12-11 10:15:40 +08:00 via iPhone
    @ruanimal trzsz.js 需要对浏览器和服务器之间的数据交互做“过滤”的,如果云厂商想支持就很容易,油猴可能不太好搞( 我不太熟 )。
    AkideLiu
        13
    AkideLiu  
      &bsp;2022-12-11 11:44:13 +08:00 via iPhone
    ,这个问题困扰很久了。tabby+byobu 用户无奈只能平时只能 sftp ,一会去试试
    shakukansp
        14
    shakukansp  
       2022-12-11 12:46:48 +08:00
    在 iterm2 里面使用 trzsz-iterm2 提示 Please upgrade iTerm2 ?
    LonnyWong
        15
    LonnyWong  
    OP
       2022-12-11 13:39:21 +08:00 via iPhone
    @shakukansp 文本进度条要求 iTerm2 3.5 以上的版本,现在 iTerm2 最新的测试版可以用。

    iTerm2 3.4 可以用 zenity 进度条。

    期待 iTerm2 尽早发布 3.5 正式版。
    AkideLiu
        16
    AkideLiu  
       2022-12-11 14:58:58 +08:00   1

    回来回复一下 byobu + tabby 是能 work 的,我记得 byobu 可以选 tmux 作为后端的
    LonnyWong
        17
    LonnyWong  
    OP
       2022-12-11 15:30:08 +08:00
    我没用过 byobu ,乍一看还以为是独立于 tmux 和 screen 的第三种。

    感谢 @AkideLiu 的回复,原来 byobu 是基于 tmux 或 screen 的。

    我看了一下 byobu 的文档,只要服务器上安装了 tmux 就会默认使用 tmux ,也可以通过 byobu-select-backend 选项来指定,参考: https://manpages.ubuntu.com/manpages/kinetic/en/man1/byobu-select-backend.1.html

    @kaneg 你可以安装 tmux 再试试能不能用。
    ayang23
        18
    ayang23  
       2022-12-11 16:29:59 +08:00
    没想到还有这么好用的东西
    kaneg
        19
    kaneg  
       2022-12-11 18:03:04 +08:00
    @LonnyWong
    我试验了 tmux , 也是会卡住。难道是我的使用姿势不对? 我用的系统是 ubuntu 22.04, tmux 3.2a, 终端工具是 secureCRT.
    LonnyWong
        20
    LonnyWong  
    OP
       2022-12-11 18:22:08 +08:00 via iPhone
    @kaneg 这应该不是卡住,是因为不支持 SecureCRT ,它不是开源的,没办法扩展。

    客户端也要支持 trzsz 才可以的,例如 iTerm2 、tabby 和 electerm 等,其中 iTerm2 要做一点配置,tabby 要装一个插件,electerm 升级一下版本就行。

    一些原生的终端也是支持的,安装 https://github.com/trzsz/trzsz-go ,然后用 trzsz ssh xxx 登录远程服务器。如果 SecureCRT 支持本地 Shell ,从本地 Shell 中使用 trzsz ssh xxx 登录远程服务器,或许也可以。
    EvineDeng
        21
    EvineDeng  
       2022-12-11 18:36:31 +08:00
    这工具好,local 和 remote 都安装了 trzsz-go ,我本地 Konsole 中直接`trxsz ssh xxx`,不借助 tmux ,本地远端的 shell 都是 zsh ,也能上传下载,除了一个小问题:加-d 也不能拖拽文件。
    LonnyWong
        22
    LonnyWong  
    OP
       2022-12-11 21:10:24 +08:00 via iPhone
    @EvineDeng 你用的是什么终端?拖文件到终端时,有没有显示文件的绝对路径?

    另外,trzsz -d ssh xxx 这样登录服务器,才支持拖文件或目录上传的。
    EvineDeng
        23
    EvineDeng  
       2022-12-12 08:34:16 +08:00
    @LonnyWong 是这样登录的,Kosole+zsh ,直接显示的文件绝对路径。
    gniviliving
        24
    gniviliving  
       2022-12-12 09:02:02 +08:00
    支持 termius 吗,虽然 termius 自带 sftp ,但是感觉没 rzsz 命令好用,之前在 secureCRT 用 lrzsz ,但是在 termius 上用不了
    LonnyWong
        25
    LonnyWong  
    OP
       2022-12-12 09:20:57 +08:00 via iPhone
    @EvineDeng trzsz -d ssh xxx 登录时,会检测拖进来的绝对路径,符合规则的才触发上传。

    可以在 https://github.com/trzsz/trzsz-go 提个 issue ,发一下显示的绝对路径出来(前后如果有空格也要一起发出来),我看看是不是规则要调整一下。
    LonnyWong
        26
    LonnyWong  
    OP
       2022-12-12 09:31:08 +08:00 via iPhone
    @gniviliving 目前没有直接支持 Termius ,但可以在 Termius 的本地 shell 中试试 trzsz-go ,用 trzsz ssh xxx 登录远程服务器。

    我不知道 Termius 支不支持插件,如果支持的话,可能可以像 Tabby 那样搞一个: https://github.com/trzsz/tabby-trzsz
    EvineDeng
        27
    EvineDeng  
       2022-12-12 10:21:48 +08:00
    wsseo
        28
    wsseo  
       2022-12-13 14:56:27 +08:00
    通过 Windows terminal 新增 trzsz ssh [email protected] 上传速度只有 20KB/s

    frp.tar.gz [] 87% | 8.00MB | 3.74MB/s | 00:00 ETA
    Saved frp.tar.gz to C:\Users\xxxx\Desktop
    下载倒是蛮快,这个进度条也有点问题,没到 100 就下载完成了。
    LonnyWong
        29
    LonnyWong  
    OP
       2022-12-13 15:15:46 +08:00
    @wsseo Windows 原生终端上传是很慢,感觉主要问题在于 Windows 的标准输入超级慢,给他们提 issue 了,但是好像没人看。

    没到 100% 完成,那也是真的下载完成了,你可以核对一下文件的大小和 MD5 。进度条的刷新并不是非常严格的,当你下载一个大一些的文件,显示效果会好一些。或者指定 -B 1k 来下载,进度条刷新也会好很多,但是速度会慢很多。

    在 Windows 中,使用 tabby ,或者 electerm 作为终端,上传和下载速度都好很多的,可以试试。
    kiritoyui
        30
    kiritoyui  
       2023-01-11 10:03:06 +08:00
    tabby 上使用 远程服务器无需安装 trzsz 直接使用 sz/rz 命令就能使用,iterm2 就必须要使用触发器 并且远程服务器需要安装 trzsz ,需要使用 tsz/trz 才能使用
    LonnyWong
        31
    LonnyWong  
    OP
       2023-01-11 10:09:49 +08:00 via iPhone
    @kiritoyui 当使用 tmux 时,rz / sz 是会有些问题的,trzsz 可以支持。
    kiritoyui
        32
    kiritoyui  
       2023-01-11 11:13:05 +08:00
    @LonnyWong 开发者你好,我没有使用 tmux ,我的疑问是:iterm 下使用是否能够像 tabby 那样,远程服务器无需安装 trzsz ,直接使用 sz/rz 即可(因为远程服务器太多,不能全部安装 trzsz)
    LonnyWong
        33
    LonnyWong  
    OP
       2023-01-11 11:34:24 +08:00 via Phone
    @kiritoyui iTerm2 配置一个触发器也是可以支持 rz / sz 的,你网上搜一下,有很多教程的。我以前也是用那个,不过没有进程条,并且 tmux 时会卡死,所以后来开发了 trzsz 。
    kiritoyui
        34
    kiritoyui  
       2023-01-11 11:48:52 +08:00
    @LonnyWong iterm sz/rz 的触发器使用的是 iterm2-send-zmodem.shiterm2-recive-zmodem.sh 这两个脚本,我试一下将 rz/sz 的触发器脚本改成你这个看看是否可行
    LonnyWong
        35
    LonnyWong  
    OP
       2023-01-11 11:53:12 +08:00 via iPhone
    @kiritoyui 不行的,这是两个不同的东西。可以两个同时存在,同时支持 rz / sz 和 trz / tsz 。但是,不能代替另一个。
    kiritoyui
        36
    kiritoyui  
       2023-01-11 12:09:34 +08:00
    @LonnyWong 好的 明白了 好奇 tabby-trzsz 是怎么实现的 sz/rz 也行调用 trzsz
    LonnyWong
        37
    LonnyWong  
    OP
       2023-01-11 12:44:45 +08:00 via iPhone
    @kiritoyui tabby 本来就支持 rz / sz 的,不需要安装插件的。
    kiritoyui
        38
    kiritoyui  
       2023-01-11 15:42:16 +08:00
    @LonnyWong 感谢解惑 明白了
    xusheng
        39
    xusheng  
       2024-06-14 17:44:21 +08:00
    我在 windows terminal 上使用了 tssh ,然后用 sz/rz, tsz/trz 传输完文件后,终端的焦点会丢失,即键盘输入什么都没反应,目前只能 ctrl+tab 切换窗口再切回来恢复焦点,大佬知道原因和触发方法么,是不是 sz/rz, tsz/trz 打开的资源管理器页面把焦点搞没了?
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     2849 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 25ms UTC 13:51 PVG 21:51 LAX 06:51 JFK 09:51
    Do have faith in what you're doing.
    ubao snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86