zhaojh329/rtty

GitHub: zhaojh329/rtty

rtty 是一个通过 Web 浏览器远程管理 Linux 设备的轻量级终端方案,支持文件传输、批量命令执行和 HTTP 代理,专为嵌入式及大规模分布式设备运维设计。

Stars: 4003 | Forks: 540

# rtty ([中文](/README_ZH.md)) - 通过 Web 从任何地方访问您的设备 **本项目由 [GL.iNet](https://www.gl-inet.com) 正式支持。** [![license](https://img.shields.io/badge/license-MIT-brightgreen.svg?style=plastic)][2] [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=plastic)][4] [![Issue Welcome](https://img.shields.io/badge/Issues-welcome-brightgreen.svg?style=plastic)][6] [![Release Version](https://img.shields.io/badge/release-9.0.4-blue.svg?style=plastic)][8] ![Build Status](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/bd7a3dff97163535.svg) ![Downloads](https://img.shields.io/github/downloads/zhaojh329/rtty/total) [![ReadmeX](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/96b6d6500e163536.svg)][11] [![Ask DeepWiki](https://deepwiki.com/badge.svg)][13] ![visitors](https://visitor-badge.laobi.icu/badge?page_id=zhaojh329.rtty) ## 架构 ``` flowchart TB s[rttys with public IP address] u1["User (Web Browser)"] --> s u2["User (Web Browser)"] --> s u3["User (Web Browser)"] --> s s --> c1["rtty (Linux Device)"] s --> c2["rtty (Linux Device)"] s --> c3["rtty (Linux Device)"] ``` ![](/img/terminal.gif) ![](/img/file.gif) ![](/img/web.gif) ![](/img/virtual-keyboard.jpg) ## 概述 rtty 是一个由客户端和[服务端]组成的强大远程终端解决方案。 **客户端实现:** - **C 客户端:** 超轻量级,专为嵌入式 Linux 和资源受限设备设计。 - **Go 客户端:** 易于交叉平台编译,适合快速集成和云原生/容器环境。 服务端使用 Go 实现,前端采用 [Vue] 构建的现代化界面。 您可以通过 Web 浏览器从任何地方访问您的设备,并使用唯一的设备 ID 管理设备。 rtty 非常适合大规模分布式 Linux 设备的远程维护和管理,是企业运维的绝佳选择。 **Go 客户端仓库:** [https://github.com/zhaojh329/rtty-go](https://github.com/zhaojh329/rtty-go) ## 主要特性 ### 🚀 **多语言客户端选项** - **C 客户端:** - 超轻量级,专为嵌入式 Linux 和资源受限设备设计 - 极小的占用空间(无 SSL:rtty 32KB + libev 56KB;有 SSL:+ libmbedtls 88KB + libmbedcrypto 241KB + libmbedx509 48KB) - 支持多种 SSL 后端 (OpenSSL, mbedtls, CyaSSl/wolfssl) - 支持 mTLS 双向认证 - **Go 客户端:** - 易于交叉平台编译,适合快速集成和云/容器环境 - 依赖项极少,部署简单 - 具有与 C 客户端相同的功能,并完全兼容。 ### 🔐 **安全性** - 支持多种 SSL 后端和双向认证,确保数据传输安全 ### 🌐 **高级远程管理** - 跨多台设备批量执行命令 - 使用唯一的设备 ID 进行设备识别 - 支持 HTTP 代理,用于访问设备的 Web 界面 ### 📁 **文件管理** - 无缝文件传输:便捷的上传和下载 - 基于网页的界面,提供直观的文件操作 ### 💻 **现代终端体验** - 由 [Xterm.js] 驱动的全功能终端 - 随时随地的浏览器访问 - 支持触摸设备的虚拟键盘 - 支持窗口拆分,实现多会话和多任务处理 ### ⚡ **部署与兼容性** - 部署简单,设置快捷 - 易于使用的界面 - 跨平台兼容性 ### ⚡ **部署与易用性** - **简单的部署**流程 - **易于使用的**界面 - **跨平台兼容性** ## 生产用户 受到领先科技公司的信赖: - **[GL.iNet](https://www.gl-inet.com/)** - **[云联芯科技](http://www.iyunlink.com/)** - **[One IOT World](https://www.oneiotworld.com/)** - **[bitswrt 通信技术](http://bitswrt.com/)** - **[广州灵派科技](https://linkpi.cn/)** - *...以及更多* ## 客户端依赖 ### C 客户端依赖 - **必需:** - [libev] - 高性能事件循环库 - [inih](https://github.com/benhoyt/inih) - 用于加载 rtty 配置文件的轻量级 INI 解析器 - **可选(用于 SSL 支持):** - [mbedtls(polarssl)] - 轻量级 SSL/TLS 库 - [CyaSSl(wolfssl)] - 嵌入式 SSL/TLS 库 - [openssl] - 功能齐全的 SSL/TLS 工具包 ### Go 客户端依赖 - 无额外依赖。纯 Go 构建和运行。 ## 🤝 贡献 帮助我们让 [rtty](https://github.com/zhaojh329/rtty) 变得更好! 有关如何为该项目做贡献的详细指南,请参阅 [CONTRIBUTING.md](https://github.com/zhaojh329/rtty/blob/master/CONTRIBUTING.md) 文件。 ## ❤️ [捐赠](https://zhaojh329.github.io/zhaojh329/)
标签:Go语言, IoT管理, libev, mbedtls, mTLS, OpenSSL, rtty, Vue, Web SSH, Web终端, 内网穿透, 分布式设备管理, 安全测试工具, 客户端加密, 嵌入式Linux, 开源, 文件系统扫描, 日志审计, 物联网, 程序破解, 终端管理, 设备管理, 设备维护, 运维工具, 远程控制, 远程管理, 远程终端, 远程访问, 远程运维