开源中国 2018 年度最后一场技术盛会邀你来约~错过就要等明年啦!点此立即预约

Jianhui Zhao / rttyCLGPL-2.1

指数
0
Watch 39 Star 112 Fork 17
加入码云
与超过 300 万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
在任何地方通过web访问您的终端 展开 收起

Loading...
README_ZH.md

rtty

license PRs Welcome Issue Welcome Release Version Build Status

它由客户端和服务端组成。客户端采用纯C实现。服务端采用GO语言实现,前端界面采用iviewvue实现。

你可以在任何地方通过Web访问你的终端。通过设备ID(如果不设置则使用设备的MAC地址)来区分你的不同的终端。

rtty非常适合远程维护你的或者你公司的部署在全球各地的成千上万的Linux设备。

特性

  • 部署简单,使用方便
  • 根据设备ID访问不同的设备
  • 提供dashboard,直观的展示在线设备
  • 基于Xterm.js的全功能终端
  • 支持使用lrzsz传输文件
  • 支持SSL: openssl, mbedtls, CyaSSl(wolfssl)
  • 支持远程执行命令
  • 客户端非常小,适合嵌入式Linux: rtty(20.1K) + libev(48.5K) + libuwsc(24.4K) + libwolfssl(595.9K) = 688.9K

客户端依赖

部署服务端

如何安装和运行rtty客户端

针对Linux发行版:Ubuntu, Debian, ArchLinux, Centos

安装

wget -qO- https://raw.githubusercontent.com/zhaojh329/rtty/master/tools/install.sh | sudo bash

查看命令行选项

Usage: rtty [option]
  -i ifname    # Network interface name - Using the MAC address of
                      the interface as the device ID
  -I id        # Set an ID for the device(Maximum 63 bytes, valid character:letters
                      and numbers and underlines and short lines) - If set,
                      it will cover the MAC address(if you have specify the ifname)
  -h host      # Server host
  -p port      # Server port
  -a           # Auto reconnect to the server
  -v           # verbose
  -d           # Adding a description to the device(Maximum 126 bytes)
  -s           # SSL on
  -k keepalive # keep alive in seconds for this client. Defaults to 5
  -V           # Show version
  -D           # Run in the background

运行RTTY(将下面的参数替换为你自己的参数)

sudo rtty -I 'My-device-ID' -h 'your-server' -p 5912 -a -v -s -d 'My Device Description'

如何在OpenWRT中使用

其它嵌入式Linux平台

如何使用

使用你的Web浏览器访问你的服务器: https://your-server-host:5912,然后点击连接按钮。

你可以非常方便的将RTTY嵌入到你现有的平台: https://your-server-host:5912/#/?id=your-id

自动登录: https://your-server:5912/#/?id=device-id&username=device-username&password=device-password

远程执行命令

Shell

curl -k https://your-server:5912/cmd -d '{"devid":"test","username":"test","password":"123456","cmd":"ls","params":["/"],"env":{}}'

{"Err":0,"msg":"","code":0,"stdout":"bin\ndev\netc\nlib\nmnt\noverlay\nproc\nrom\nroot\nsbin\nsys\ntmp\nusr\nvar\nwww\n","stderr":""}

Jquery

var data = {devid: 'test', username: 'test', password: '123456', cmd: 'ls', params: ['/'], env: {}};
$.post('https://your-server:5912/cmd', JSON.stringify(data), function(r) {console.log(r)});

Axios

var data = {devid: 'test', username: 'test', password: '123456', cmd: 'ls', params: ['/'], env: {}};
axios.post('https://your-server:5912/cmd', JSON.stringify(data)).then(function (response) {
    console.log(response.data);
}).catch(function (error) {
    console.log(error);
});

捐赠

贡献代码

如果你想帮助rtty变得更好,请参考 CONTRIBUTING_ZH.md

技术交流

QQ群:153530783

如果该项目对您有帮助,请随手star,谢谢!

项目点评 ( 13 )

你可以在登录后,发表评论

搜索帮助