polaris1119 / golangweekly

Go语言爱好者周刊,每周日发布
https://studygolang.com/go/weekly
2.25k stars 145 forks source link

【开源自荐】trzsz ( trz / tsz ) 是兼容 tmux 的 rz / sz,有进度条,支持目录传输,支持拖动上传。 #89

Closed lonnywong closed 1 year ago

lonnywong commented 1 year ago

drag_files

ubuntu_trzsz

cmd_trzsz

lonnywong commented 1 year ago

trzsz-go v1.1.0 用多协程流水线,将读文件、压缩、base64 编码、发送、接收、base64 解码、解压缩、写文件等进行并行处理,大幅度提高了传输速度。

流水线的核心代码可参考:https://github.com/trzsz/trzsz-go/blob/main/trzsz/pipeline.go

参考文献: 1 、https://go.dev/blog/pipelines 2 、https://go.dev/blog/context

lonnywong commented 1 year ago

trzsz-go v1.1.0 新增了支持跳板机运行 tmux 普通模式的场景( 原来只支持 tmux 命令模式的):

1 、开始 trzsz ( trz / tsz ) 只支持 iTerm2 中使用 tmux -CC 命令模式的场景( 也是我自己常用的 )。 典型用法: [客户端] iTerm2 👉 ssh xxx 👉 [服务器] tmux -CC 👉 trz / tsz

2 、后来 trzsz 支持在服务器上 tmux 普通模式的场景。 典型用法: [客户端] iTerm2 等 👉 ssh xxx 👉 [服务器] tmux 👉 trz / tsz

3 、再后来 go 版 trzsz 支持 tmux 运行在客户端的场景。 典型用法: [客户端] tmux 👉 trzsz ssh xxx 👉 [服务器] trz / tsz

4 、当在中间( 如跳板机 )上运行 tmux ,之前只支持 iTerm2 + tmux -CC 命令模式。 典型用法: [客户端] iTerm2 👉 ssh xxx 👉 [跳板机] tmux -CC 👉 ssh xxx 👉 [服务器] trz / tsz

5 、trzsz-go v1.1.0 支持在中间( 如跳板机 )上运行 tmux 普通模式。 典型用法: [客户端] trzsz ssh xxx 👉 [跳板机] tmux 👉 trzsz -r ssh xxx 👉 [服务器] trz / tsz

重点在于,在跳板机运行 tmux 之后,要用 trzsz -r ssh 登录到下一级服务器。

polaris1119 commented 1 year ago

186期 发布