关于 rtty 在 Ubuntu 和嵌入式板卡上的客户端搭建以及在阿里云上服务端的搭建

本贴最后更新于 1829 天前,其中的信息可能已经渤澥桑田

第一次发布博客本人萌新,不足之处望谅解,有意见尽管回复,本人一一收下。
不久前在 GitHub 上看到一份文件 https://github.com/zhaojh329/rtty 是一个反向代理 WebTTY。它由客户端和[服务端]组成。服务端采用 Go 语言实现, 以及使用了 vue + iview。你可以基于你设置的设备 ID(不设置则为设备的 MAC 地址)通过 Web 浏览器访问你的任意一台终端。本人分别在自己的虚拟机(ubuntu)以及在嵌入式板卡(imx6ul)上搭建了客户端,以及在自己的阿里云上搭建了服务端,测试通过;
######服务端搭建######
https://github.com/zhaojh329/rttys
本人使用的已经编译好的文件
1.在阿里云克隆到本地 wget https://github.com/zhaojh329/rttys/files/3129765/rttys-linux-amd64.tar.gz
2.压缩
3.进入目录后发现有四个文件(nuhup.out 文件是本人后台运行服务端时产生的文件)
1.png
在.conf 中可以查看你的一些用户信息,后面登陆需要
4.启动
基于 Ubuntu 的客户端开启 ssl:./rttys
登陆 https://www.yuren.fun:5912 (这里为你自己服务器的 ip,本人使用自己购买并且解析的阿里云域名)

基于嵌入式的客户端未开启 ssl:./rttys -ssl-cert string
登陆 http://www.yuren.fun:5912
登陆界面如下 用户名密码在.conf 文件中
2.png
######客户端搭建######
https://github.com/zhaojh329/rtty
一、ubuntu 客户端搭建
安装编译工具
sudo apt install gcc cmake git
编译和安装依赖软件包
sudo apt install libjson-c-dev
git clone https://git.openwrt.org/project/libubox.git
cd libubox && cmake -DBUILD_LUA=OFF . && sudo make install
git clone https://github.com/zhaojh329/libuwsc.git
cd libuwsc && cmake -DUWSC_SSL_SUPPORT=OFF . && sudo make install
编译安装
git clone https://github.com/zhaojh329/rtty.git
cd rtty && cmake . && sudo make install
运行 (嵌入式运行过程一致注意 ssl 的使用)
sudo rtty -I 'My-device-ID' -h 'your-server' -p 5912 -a -v -s -d 'My Device Description' (使用 ssl)
sudo rtty -I 'My-device-ID' -h 'your-server' -p 5912 -a -v -d 'My Device Description' (未使用使用 ssl)
My-device-ID:设置设备的 ID (随便填--123,qqq 都可以;web 端会显示连接的设备 ID)
'your-server:你的服务端的 IP 要和服务端的 IP 一致
-p 5912:端口号(注意在阿里云控制台的安全组中打开这个端口号)
My Device Description:向你的设备添加描述
具体的指令如下3.png
服务端和客户端都打开以后可以查看是否连接成功
4.png
这里代表已经连接,我们在进入 web 界面查看是否可以使用
5.png
6.png
到这里 ubuntu 已经搭建完了
二、嵌入式客户端搭建
https://github.com/zhaojh329/rtty/blob/master/CROSS_COMPILE.md
(其实发帖的最重要原因是网上基本没有关于嵌入式客户端的编译过程,最初在虚拟机上交叉编译过程中出现了很多问题,之后在 GitHub 上发现了发布此项目人留了邮箱,打扰很久后在他重新更新提交了一份新的交叉编译过程后才编译通过接下来说明一下搭建过程,本人萌新摸索很久如果不足之处希望大家之处(#^.^#))
1.Build libev
git clone https://github.com/enki/libev.git
cd libev
./configure --host=arm-linux-gnueabi
(此处的 arm-linux-gnueabi 交叉编译环境为自己嵌入式板卡支持的编译版本,比如我的编译环境为 arm-linux-gnueabihf 则使用的指令为./configure --host=arm-linux-gnueabihf)
7.png
DESTDIR=/tmp/rtty_install make install
8.png
2.Build libuwsc
git clone --recursive https://github.com/zhaojh329/libuwsc.git
(如果在此过程中遇到编译错误请克隆 git clone --recursive https://github.com/zhaojh329/libuwsc)
cd libuwsc
cmake . -DCMAKE_C_COMPILER=arm-linux-gnueabi-gcc -DCMAKE_FIND_ROOT_PATH=/tmp/rtty_install -DUWSC_SSL_SUPPORT=OFF (同理这边的 arm-linux-gnueabi-gcc 换成你自己的交叉编译环境)
9.png
DESTDIR=/tmp/rtty_install make install
10.png
3.Build rtty
git clone https://github.com/zhaojh329/rtty.git
cd rtty
cmake . -DCMAKE_C_COMPILER=arm-linux-gnueabi-gcc -DCMAKE_FIND_ROOT_PATH=/tmp/rtty_install
(同理这边的 arm-linux-gnueabi-gcc 换成你自己的交叉编译环境)
13.png
DESTDIR=/tmp/rtty_install make install
14.png
搭建完成后会在/tmp/目录下看到编译好的 rtty 客户端
11.png
接下里你/tmp/rtty_install 这些文件复制到设备的相应目录中
12.png
唔....编译好的 rtty 文件放入你嵌入式设备的/usr/bin/目录下
将 lib 中的文件放入你嵌入式设备的/lib 目录下,记得创建软连接呀
(如果自己板卡上面缺少运行的共享库参考这份文章 https://blog.csdn.net/rauaning/article/details/42463593)
将文件放好以后可以看下文件的版本信息查看是否可以执行
基本上显示版本都表示可以运行如果还有问题请查看自己的交叉环境,是否缺少 rtty 运行库,ssl....
16.png
*上边提到了在交叉编译过程中本人并没有加入 sll,所以客户端,服务端启动时都不要加入 ssl 启动*
如果有人知道怎么在交叉编译过程中加入 sll 功能希望你可以留言给我大家一起学习学习((#^.^#))
呼.....到这里基本结束了,如果有问题也可以私信,留言,或者邮箱联系 707201132@qq.com (#^.^#)

  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    402 引用 • 3522 回帖

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • 周末

    星期六到星期天晚,实行五天工作制后,指每周的最后两天。再过几年可能就是三天了。

    14 引用 • 297 回帖
  • JSON

    JSON (JavaScript Object Notation)是一种轻量级的数据交换格式。易于人类阅读和编写。同时也易于机器解析和生成。

    51 引用 • 190 回帖
  • GitLab

    GitLab 是利用 Ruby 一个开源的版本管理系统,实现一个自托管的 Git 项目仓库,可通过 Web 界面操作公开或私有项目。

    46 引用 • 72 回帖
  • 酷鸟浏览器

    安全 · 稳定 · 快速
    为跨境从业人员提供专业的跨境浏览器

    3 引用 • 59 回帖 • 23 关注
  • API

    应用程序编程接口(Application Programming Interface)是一些预先定义的函数,目的是提供应用程序与开发人员基于某软件或硬件得以访问一组例程的能力,而又无需访问源码,或理解内部工作机制的细节。

    76 引用 • 429 回帖
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖 • 1 关注
  • 机器学习

    机器学习(Machine Learning)是一门多领域交叉学科,涉及概率论、统计学、逼近论、凸分析、算法复杂度理论等多门学科。专门研究计算机怎样模拟或实现人类的学习行为,以获取新的知识或技能,重新组织已有的知识结构使之不断改善自身的性能。

    76 引用 • 37 回帖
  • Linux

    Linux 是一套免费使用和自由传播的类 Unix 操作系统,是一个基于 POSIX 和 Unix 的多用户、多任务、支持多线程和多 CPU 的操作系统。它能运行主要的 Unix 工具软件、应用程序和网络协议,并支持 32 位和 64 位硬件。Linux 继承了 Unix 以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

    923 引用 • 936 回帖
  • BND

    BND(Baidu Netdisk Downloader)是一款图形界面的百度网盘不限速下载器,支持 Windows、Linux 和 Mac,详细介绍请看这里

    107 引用 • 1281 回帖 • 29 关注
  • BookxNote

    BookxNote 是一款全新的电子书学习工具,助力您的学习与思考,让您的大脑更高效的记忆。

    笔记整理交给我,一心只读圣贤书。

    1 引用 • 1 回帖 • 1 关注
  • SEO

    发布对别人有帮助的原创内容是最好的 SEO 方式。

    35 引用 • 200 回帖 • 30 关注
  • Rust

    Rust 是一门赋予每个人构建可靠且高效软件能力的语言。Rust 由 Mozilla 开发,最早发布于 2014 年 9 月。

    58 引用 • 22 回帖
  • Git

    Git 是 Linux Torvalds 为了帮助管理 Linux 内核开发而开发的一个开放源码的版本控制软件。

    207 引用 • 358 回帖
  • 服务

    提供一个服务绝不仅仅是简单的把硬件和软件累加在一起,它包括了服务的可靠性、服务的标准化、以及对服务的监控、维护、技术支持等。

    41 引用 • 24 回帖
  • 996
    13 引用 • 200 回帖 • 6 关注
  • Vue.js

    Vue.js(读音 /vju ː/,类似于 view)是一个构建数据驱动的 Web 界面库。Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

    262 引用 • 664 回帖
  • V2EX

    V2EX 是创意工作者们的社区。这里目前汇聚了超过 400,000 名主要来自互联网行业、游戏行业和媒体行业的创意工作者。V2EX 希望能够成为创意工作者们的生活和事业的一部分。

    17 引用 • 236 回帖 • 373 关注
  • Hibernate

    Hibernate 是一个开放源代码的对象关系映射框架,它对 JDBC 进行了非常轻量级的对象封装,使得 Java 程序员可以随心所欲的使用对象编程思维来操纵数据库。

    39 引用 • 103 回帖 • 701 关注
  • 倾城之链
    23 引用 • 66 回帖 • 121 关注
  • Bootstrap

    Bootstrap 是 Twitter 推出的一个用于前端开发的开源工具包。它由 Twitter 的设计师 Mark Otto 和 Jacob Thornton 合作开发,是一个 CSS / HTML 框架。

    18 引用 • 33 回帖 • 680 关注
  • 七牛云

    七牛云是国内领先的企业级公有云服务商,致力于打造以数据为核心的场景化 PaaS 服务。围绕富媒体场景,七牛先后推出了对象存储,融合 CDN 加速,数据通用处理,内容反垃圾服务,以及直播云服务等。

    26 引用 • 222 回帖 • 167 关注
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    4 引用 • 16 回帖 • 1 关注
  • 星云链

    星云链是一个开源公链,业内简单的将其称为区块链上的谷歌。其实它不仅仅是区块链搜索引擎,一个公链的所有功能,它基本都有,比如你可以用它来开发部署你的去中心化的 APP,你可以在上面编写智能合约,发送交易等等。3 分钟快速接入星云链 (NAS) 测试网

    3 引用 • 16 回帖
  • frp

    frp 是一个可用于内网穿透的高性能的反向代理应用,支持 TCP、UDP、 HTTP 和 HTTPS 协议。

    16 引用 • 7 回帖 • 2 关注
  • 阿里云

    阿里云是阿里巴巴集团旗下公司,是全球领先的云计算及人工智能科技公司。提供云服务器、云数据库、云安全等云计算服务,以及大数据、人工智能服务、精准定制基于场景的行业解决方案。

    89 引用 • 345 回帖 • 1 关注
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    386 引用 • 1226 回帖 • 593 关注
  • 生活

    生活是指人类生存过程中的各项活动的总和,范畴较广,一般指为幸福的意义而存在。生活实际上是对人生的一种诠释。生活包括人类在社会中与自己息息相关的日常活动和心理影射。

    230 引用 • 1454 回帖