乐趣区

关于terminal:用go语言编写的基于web的远程terminal

1. 介绍

simple-web-terminal 是一个用 go 语言和 javascript 编写的运行在浏览器的 web 利用,同时反对 windows,mac,linux 等平台,咱们能够用它通过浏览器在服务器执行 shell,上传下载文件。

仓库链接: https://github.com/kompasim/s…
下载链接:https://github.com/kompasim/s…

该程序用 golang 在服务器启动一个启动一个 http 服务器,并在客户端用 js 的 websocket 和服务器通信实现在浏览器输出命令在服务器执行。

正告:不晓得本人在做什么的状况下不要轻易的把这个程序放到本人的服务器上,用这个程序能够执行任何系统命令,这个很不平安。

2. 应用办法

咱们只需从它的 release 页面下载咱们平台对应的可执行文件,并双击运行即可。之后咱们会在控制台窗口看到如下信息:

而后咱们拜访 http://127.0.0.1:7777 能够在浏览器看到如下 ui 界面:

咱们能够在该网页输出咱们启动程序的电脑所能执行的所有命令。

3. 可用命令

除了服务器上的所有命令之外,terminal 还提供了方便使用的文件上传,下载和编辑等功能性命令,十分不便。反对的命令列表如下:

  • help : 打印帮忙信息
  • stop : 在服务器敞开该 terminal 程序过程
  • save : 保留以后 web 页面上的日志
  • exit : 敞开以后网页和服务器的 socket 网页
  • shell : 设置执行系统命令的 shell(powershell,sh,bash)

例子: shell powershell

  • coding : 设置输入日志的编码(例如用 powershell 的时候能够设置成 gbk 来输入中文)

例子: coding gbk

  • static : 跳转到该程序提供的动态服务器网页
  • scp : 上传或下载文件

应用 scp ./test.txt 命令开启下载流程,从服务器上 terminal 当前工作的目录下载文件到本地

应用 scp ./ 命令启动抉择文件窗口,上传本地文件到服务器上 terminal 当前工作的目录

  • vim : 在网页实现的简略编辑器,能够间接编辑服务器上的文件
  • 其余 : 除了这些你还能够间接执行服务器执行的所有命令

4. 启动参数

您能够在服务器启动该程序的时候给一些参数来批改一些默认行为,反对的参数如下

port : 设置 terminal 运行的端口 (默认为 777)

shell : 默认应用的 shell

coding : 默认应用的编码

static : 是否在当前目录启动动态资源服务器 (默认为 true)

pass : 网页 terminal 的明码,如果你心愿关上网页时候输出明码来确认身份能够设置一个明码(默认没有明码,轻易一个人关上就能够用)

例子:启动要给默认应用 gbk 编码的 powershell,并且明码为 5555,带了动态资源服务器的 terminal

参考连贯

该程序以学习为目标浏览以下内容,并依据学习到常识用 golang 和 javascript 实现,感兴趣能够点击关上看看。

  • character-set conversion library implemented in Go
  • A fast, well-tested and widely used WebSocket implementation for Go.
  • How do I get the local IP address in Go?
  • How to generate an MD5 file hash in JavaScript/Node.js?
  • Using HTML5/JavaScript to generate and save a file
退出移动版