rtty (δΈζ) - Access your device from anywhere via the web
This project is officially supported by GL.iNet.
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)"]
    rtty is a powerful remote terminal solution composed of clients and a server.
Client Implementations:
- C Client: Ultra-lightweight, designed for embedded Linux and resource-constrained devices.
 - Go Client: Easy cross-platform compilation, suitable for rapid integration and cloud-native/container environments.
 
The server is implemented in Go, with a modern frontend built using Vue.
You can access your device from anywhere via a web browser, and manage devices using unique device IDs.
rtty is ideal for remote maintenance and management of large-scale distributed Linux devices, making it a great choice for enterprise operations.
Go client repository: https://github.com/zhaojh329/rtty-go
- 
C Client:
- Ultra-lightweight, designed for embedded Linux and resource-constrained devices
 - Minimal footprint (without SSL: rtty 32KB + libev 56KB; with SSL: + libmbedtls 88KB + libmbedcrypto 241KB + libmbedx509 48KB)
 - Multiple SSL backends (OpenSSL, mbedtls, CyaSSl/wolfssl)
 - mTLS support for mutual authentication
 
 - 
Go Client:
- Easy cross-platform compilation, suitable for rapid integration and cloud/container environments
 - Minimal dependencies, simple deployment
 - It has the same functions as the C client and is fully compatible.
 
 
- Multiple SSL backends and mutual authentication for secure data transfer
 
- Batch command execution across multiple devices
 - Device identification using unique device IDs
 - HTTP Proxy support for accessing device web interfaces
 
- Seamless file transfer: convenient upload and download
 - Web-based interface for intuitive file operations
 
- Full-featured terminal powered by Xterm.js
 - Browser-based access from anywhere
 - Virtual keyboard support for touch devices
 - Window splitting for multi-session and multitasking
 
- Simple deployment and quick setup
 - Easy-to-use interface
 - Cross-platform compatibility
 
- Simple deployment process
 - Easy to use interface
 - Cross-platform compatibility
 
Trusted by leading technology companies:
- GL.iNet
 - Yunlianxin Technology
 - One IOT World
 - bitswrt Communication Technology
 - Guangzhou Lingpai Technology
 - ...and many more
 
- Required:
- libev - High-performance event loop library
 
 - Optional (for SSL support):
- mbedtls(polarssl) - Lightweight SSL/TLS library
 - CyaSSl(wolfssl) - Embedded SSL/TLS library
 - openssl - Full-featured SSL/TLS toolkit
 
 
- No extra dependencies. Pure Go build and runtime.
 
Help us make rtty even better!
See the CONTRIBUTING.md file for detailed guidelines on how to contribute to this project.



