求帮神器——远程实时终端

Python七号

共 1273字,需浏览 3分钟

 ·

2021-09-03 23:09

当你写代码时遇到问题了,如果大佬离你比较近,你可以拿着笔记本电脑去现场请教,如果比较远呢?你可能会视频聊天,然后让大佬遥控你,但是这样就存在一个问题,大佬需要用语言来表达他要进行的操作,非常低效。

不如直接发个 url 给他,他打开后,可以看到一个终端,和你看到的终端一模一样,他的操作你完全可以看到,就像终端是共享的一样,如下视频所示:


这个工具就是 termpair,1 分钟就可以完成安装和使用,需要 Python3.6 以上,不过仅支持 Linux 和 MacOS,毕竟 Windows 那不叫 terminal。

GitHub 链接: https://github.com/cs01/termpair

安装

pip install termpair

启动

先启动服务

termpair serve

你会看到服务已经启动:

然后在需要共享的终端里面执行:

termpair share

即可生成一个 url:

然后将这个 url 发给大佬,他和你就共享这个终端了,是不是一个求帮助的神器啊,他的操作对你完全可见,你的操作对他也完全可见:

如果不是局域网呢,那么就需要公网访问本地的服务了。要是你本来就在自己的服务器上搞开发,有自己的公网 IP,那就不存在这个问题了。

公网访问

这里推荐一个免费的工具---花生壳,可以把自己的电脑映射为一个域名,这样自己电脑的服务,就可以通过互联网访问了。

下载花生壳:

https://hsk.oray.com/download

然后按照这个教程进行配置即可:

https://service.oray.com/question/1360.html

特性

1、实时分享 unix 类终端。

2、无论是在终端输入还是浏览器输入,都是同步更新的。

3、多个浏览器也是同步的。

4、浏览器可以设置只读权限。

5、服务端并不能读取终端里的数据,因为使用了 128 位的 AES(Advanced Encryption Standard,缩写:AES)加密算法。

6、可以潜入网站中,输入 terminal id 和 key 即可连接,比如像这样:

技术栈

fastapi,websockets, aiofiles,uvicorn 对其实现感兴趣的可以去研究下源码:

https://github.com/cs01/termpair

最后的话

其实现原理就是 terminal 和 termpair 服务端通过 websocket 加密通信,然后 termpair 服务端再和浏览器通过 websocket 加密通信。除了远程协助之外,也是一个很不错的 terminal 工具,比如你可以对自己的电脑用于远程控制。

欢迎关注,回复「2048」领取精品资料,每天学习一个 Python 小技术。


浏览 24
点赞
评论
收藏
分享

手机扫一扫分享

举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

举报