C MIT

rtty

🐛 Access your device from anywhere via the web.

Z

zhaojh329

Dernière activité 29 sept. 2026
zhaojh329/rtty

4 k

étoiles

550

forks

11

issues ouvertes

http-proxynatproxyremote-consoleremote-controlremote-debugremote-shellttywebshellwebsocketwebssh

Ce README est souvent en anglais.

rtty (中文) - Access your device from anywhere via the web

This project is officially supported by GL.iNet.

license PRs Welcome Issue Welcome Release Version Build Status Downloads visitors

Project website · Installation & usage guide

Architecture

flowchart TB
s["rttys server"]
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

Remote terminal in the browser File upload and download Access to a device's web interface

Overview

rtty is a remote access solution composed of device clients and the rttys server. This repository contains the C client; rttys provides the web interface and relays connections to devices. Open a terminal, transfer files, and access device services through a central 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 deployment.

The server is implemented in Go, with a modern frontend built using Vue.

Both browsers and device clients must be able to reach the server. Clients initiate connections to it, so devices behind NAT do not need public IP addresses or inbound port forwarding. Access devices through your browser and identify them by device ID and group.

Use rtty to maintain OpenWrt routers, troubleshoot embedded Linux gateways, or manage distributed Linux devices remotely.

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
    • Multiple SSL backends (OpenSSL, mbedtls, CyaSSl/wolfssl)
    • mTLS support for mutual authentication
  • Go Client:

    • Easy cross-platform compilation, suitable for rapid integration and deployment
    • Dependencies managed by the Go toolchain for straightforward builds and deployment
    • Connects to the same rttys server as the C client

🔐 Security

  • TLS encryption for connections between device clients and rttys
  • Optional mutual TLS (mTLS) for certificate-based client authentication

🌐 Advanced Remote Management

  • Batch command execution across multiple devices
  • Device identification and organization using IDs and groups
  • HTTP proxy support for accessing device web interfaces
  • TCP port forwarding for accessing TCP services through connected devices

📁 File Management

  • Upload and download files through the web interface

💻 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
  • Serial terminal forwarding support

⚡ Deployment & Compatibility

  • Simple deployment: configure the server and connect your devices to get started
  • Manage devices, access terminals, and transfer files through the web interface
  • Clients for Linux and OpenWrt environments

Production Users

Trusted by leading technology companies:

Client Dependencies

C Client Dependencies

  • Required:
    • libev - High-performance event loop library
    • inih - Lightweight INI parser for loading rtty config file
  • Optional (for SSL support):

Go Client Dependencies

  • Go module dependencies are managed by the Go toolchain.

⭐ Star History

Star History Chart

🤝 Contributing

Help us make rtty even better!

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

❤️ Donation

Projets similaires

Share your terminal over the web

Copenwrtsslterminal
Ttsl0922
12,4 k étoiles1,2 k

Web SSH & Telnet (WebSSH & WebTelnet client) 🔮

JavaScriptsshtelnetwebssh
Nnirui
3,1 k étoiles397

An interactive TLS-capable intercepting HTTP proxy for penetration testers and software developers.

Pythondebugginghttphttp2
Mmitmproxy
45,2 k étoiles4,8 k