Dark Mode

Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

zhaojh329/rtty

Repository files navigation

rtty (Zhong Wen ) - Access your device from anywhere via the web

This project is officially supported by GL.iNet.

Architecture

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)"]
Loading

Overview

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

Key Features

Multi-language Client Options

  • 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.

Security

  • Multiple SSL backends and mutual authentication for secure data transfer

Advanced Remote Management

  • Batch command execution across multiple devices
  • Device identification using unique device IDs
  • HTTP Proxy support for accessing device web interfaces

File Management

  • Seamless file transfer: convenient upload and download
  • Web-based interface for intuitive file operations

Modern Terminal Experience

  • 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

Deployment & Compatibility

  • Simple deployment and quick setup
  • Easy-to-use interface
  • Cross-platform compatibility

Deployment & Usability

  • Simple deployment process
  • Easy to use interface
  • Cross-platform compatibility

Production Users

Trusted by leading technology companies:

Client Dependencies

C Client Dependencies

Go Client Dependencies

  • No extra dependencies. Pure Go build and runtime.

Star History

Contributing

Help us make rtty even better!

See the CONTRIBUTING.md file for detailed guidelines on how to contribute to this project.

About

Access your device from anywhere via the web.

Topics

Resources

Readme

License

MIT license

Contributing

Contributing

Stars

Watchers

Forks

Sponsor this project

Packages

Contributors