用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和服务器通讯实现在浏览器输入命令在服务器执行。
【用go语言编写的基于web的远程terminal】警告:不知道自己在做什么的情况下不要轻易的把这个程序放到自己的服务器上,用这个程序可以执行任何系统命令,这个很不安全。
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 : 在网页实现的简单编辑器,可以直接编辑服务器上的文件
文章图片
- 其他 : 除了这些你还可以直接执行服务器执行的所有命令
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
推荐阅读
- fpga|【入门学习四】基于 FPGA 使用 Verilog 实现串口回传通信代码及原理讲解
- 大数据Hadoop入门教程|大数据Hadoop入门教程 | (二)Linux
- Quartus 使用 tcl 文件快速配置管脚
- fpga开发|基于 FPGA 使用 Verilog 实现 DS18B20 温度采集以及数码管显示项目源码
- i2c|用verilog 实现的 i2c控制模块
- 基于Go语言的xmind读写库,我主要用来把有道云笔记思维导图转为xmind
- 可以用园土来种植多肉植物吗()
- “女孩”,你只有用拼搏的前半生换取作为“女人”的自尊与平等
- Mybatis|Mybatis 插件使用及源码分析
- 使用Node.js打包下载文件