前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >一款可以通过 Web 访问的 Linux 终端神器!部署简单,界面友好(已开源)

一款可以通过 Web 访问的 Linux 终端神器!部署简单,界面友好(已开源)

作者头像
民工哥
发布2023-08-24 09:41:43
8770
发布2023-08-24 09:41:43
举报
文章被收录于专栏:民工哥技术之路

简介

rtty 一款可以在任何地方都能通过 Web 访问您的设备的终端神器!

rtty 由客户端和服务端组成。客户端采用纯C实现,服务端采用 GO 语言实现,前端界面采用 vue 实现。使用 rtty 可以在任何地方通过 Web 访问您的设备的终端,通过 设备ID 来区分您的不同的设备。rtty 非常适合远程维护 Linux设备。

特性

  • 客户端 C 语言实现,非常小,适合嵌入式 Linux
  • 不支持 SSL:rtty(32K) + libev(56K)
  • 支持 SSL:+ libmbedtls(88K) + libmbedcrypto(241K) + libmbedx509(48k)
  • 远程批量执行命令
  • 支持SSL: openssl、mbedtls、CyaSSl(wolfssl)
  • SSL 双向认证(mTLS)
  • 非常方便的上传和下载文件
  • 根据 设备ID 访问不同的设备
  • 支持 HTTP 代理 访问您的设备的 Web
  • 基于 Xterm.js 的全功能终端
  • 部署简单,使用方便

部署服务端

安装依赖

Ubuntu, Debian

代码语言:javascript
复制
sudo apt install -y libev-dev libssl-dev  

ArchLinux

代码语言:javascript
复制
sudo pacman -S --noconfirm libev openssl      

Centos

代码语言:javascript
复制
yum install -y libev-devel openssl-devel
克隆 rtty 代码
代码语言:javascript
复制
git clone --recursive https://github.com/zhaojh329/rtty.git
编译
代码语言:javascript
复制
cd rtty && mkdir build && cd build  
cmake .. && make install
将下面的参数替换为您自己的参数
代码语言:javascript
复制
sudo rtty -I 'My-device-ID' -h 'your-server' -p 5912 -a -v -d 'My Device Description'
生成一个 token
代码语言:javascript
复制
$ rttys token  
Please set a password:******  
Your token is: 34762d07637276694b938d23f10d7164
使用 token
代码语言:javascript
复制
$rttys -t 34762d07637276694b938d23f10d7164
命令行选项
代码语言:javascript
复制
Usage: rtty [option]
    -I, --id=string          Set an ID for the device(Maximum 63 bytes, valid
                             character:letter, number, underline and short line)
    -h, --host=string        Server's host or ipaddr(Default is localhost)
    -p, --port=number        Server port(Default is 5912)
    -d, --description=string Add a description to the device(Maximum 126 bytes)
    -a                       Auto reconnect to the server
    -s                       SSL on
    -C, --cacert             CA certificate to verify peer against
    -x, --insecure           Allow insecure server connections when using SSL
    -c, --cert               Certificate file to use"
    -k, --key                Private key file to use"
    -D                       Run in the background
    -t, --token=string       Authorization token
    -f username              Skip a second login authentication. See man login(1) about the details
    -R                       Receive file
    -S file                  Send file
    -v, --verbose            verbose
    -V, --version            Show version
    --help                   Show usage
通过浏览器访问

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

或者直接连接设备,无需 Web 登录(需要在服务端配置设备白名单)

代码语言:javascript
复制
http://your-server-host:5913/connect/devid1
http://your-server-host:5913/connect/devid2
使用操作
从本地传输文件到远程设备
代码语言:javascript
复制
rtty -R
从远程设备传输文件到本地
代码语言:javascript
复制
rtty -S test.txt
  • 开源地址:https://github.com/zhaojh329/rtty
  • 中文使用文档:https://github.com/zhaojh329/rtty/blob/master/README_ZH.md

界面演示

推荐阅读 点击标题可跳转

这 Nginx 日志分割方案太及时了!解决我司多年的难题

浏览不良网站一定会有记录吗?小心被叫去喝茶

百度,这下要歇菜了?网友们都在声讨它...

弃用 Docker kill,事实证明,它更牛逼!

太突然!国风知名企业线下门店全部关闭

快播宣告破产!彻底倒闭了

微信新功能冲上热搜,网友们吵翻了

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-06-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 民工哥技术之路 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 特性
  • 部署服务端
    • 使用操作
    • 界面演示
    领券
    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档