首页 > V2EX > V2EX-用 go 写了个包装 shell 的客户端程序,支持跨平台 ( win / Linux / mac 等 ),分享并邀请大家体验。
2022
05-15

V2EX-用 go 写了个包装 shell 的客户端程序,支持跨平台 ( win / Linux / mac 等 ),分享并邀请大家体验。

LonnyWong:

效果( 就是在普通的 shell 命令前面加上 trzsz ):

trzsz tmux
trzsz /bin/bash
trzsz ssh x.x.x.x
trzsz.exe cmd
trzsz.exe ssh x.x.x.x

在 windows 的 cmd 或 powershell 中,也能运行 ssh 登录到远程服务器,并且支持在服务器上使用 tmux 等。不过,可能只支持 Windows 10 ,没在其他版本上测试过。

目的

在想拦截 shell 的输入和输出做一些事情的时候,我们可以写一个程序来拉起 shell 进程,然后就可以处理 shell 的输入和输出了。

我的目的是要实现类似 rz / sz 上传和下载的功能,不依赖于终端的支持,只要终端可以运行一个在本地的 cmd 或 bash 之类的 shell 就行。

难点

除了需要透传输入和输出之外,shell 还会涉及到终端 pty ,需要处理一些转义字符等。我在开源社区找到了一些不错的组件和代码,实现了支持多平台 ( 特别是 windows 有点复杂 )。有需要的朋友,可以直接抄代码。

项目

地址: https://github.com/trzsz/trzsz-go

如果对你有用,请点个 Star ,感谢你的支持。

用 trzsz 来运行 shell ,可以获得和直接运行完全一致的体验,支持 trz / tsz 上传和下载文件还在实现中 ( 一般周末才能抽空写点开源代码 )。

from V2EX-最新主题 https://ift.tt/NUAB3dR
V2EX-用 go 写了个包装 shell 的客户端程序,支持跨平台 ( win / Linux / mac 等 ),分享并邀请大家体验。 - 第1张  | 牛C网(NiuL.Net)
牛C网:https://j1o.net
牛C网导航:https://niuc1.com
零九导航:https://09.gay

最后编辑:
作者:分享菌
这个作者貌似有点懒,什么都没有留下。

留下一个回复