一款可以通過 Web 訪問的 Linux 終端神器,已開源!
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 的全功能終端
-
部署簡單,使用方便
演示
部署服務端
安裝依賴
sudo apt install -y libev-dev libssl-dev # Ubuntu, Debian
sudo pacman -S --noconfirm libev openssl # ArchLinux
sudo yum install -y libev-devel openssl-devel # Centos
克隆 rtty 代碼
git clone --recursive https://github.com/zhaojh329/rtty.git
編譯
cd rtty && mkdir build && cd build
cmake .. && make install
將下面的參數替換爲您自己的參數
sudo rtty -I 'My-device-ID' -h 'your-server' -p 5912 -a -v -d 'My Device Description'
生成一個 token
$ rttys token
Please set a password:******
Your token is: 34762d07637276694b938d23f10d7164
使用 token
$rttys -t 34762d07637276694b938d23f10d7164
通過瀏覽器訪問
使用 Web 瀏覽器訪問您的服務器:http://your-server-host:5913
,然後點擊連接按鈕。
或者直接連接設備,無需 Web 登錄 (需要在服務端配置設備白名單)
http://your-server-host:5913/connect/devid1
http://your-server-host:5913/connect/devid2
從本地傳輸文件到遠程設備
rtty -R
從遠程設備傳輸文件到本地
rtty -S test.txt
傳送門
開源地址:
- https://github.com/zhaojh329/rtty
ID:GitHubKY
來源:開源技術專欄
本文由 Readfog 進行 AMP 轉碼,版權歸原作者所有。
來源:https://mp.weixin.qq.com/s/VqoT5q-5qWLPv74meu75ng