Jianhui Zhao 8f2cf21dfb fix: Fix func GenUniqueID
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
2025-06-17 22:39:17 +08:00
2025-06-08 16:05:03 +08:00
2025-04-25 16:03:56 +08:00
2025-06-15 15:37:16 +08:00
2025-01-16 12:25:49 +08:00
2025-06-16 19:52:21 +08:00
2025-06-17 22:39:17 +08:00
2025-06-05 15:46:33 +08:00
2018-09-08 17:16:04 +08:00
2018-01-17 21:31:35 +08:00
2025-06-17 22:39:17 +08:00
2025-06-17 22:39:17 +08:00
2022-05-03 00:26:34 +08:00
2025-06-17 22:39:17 +08:00
2018-03-14 22:37:04 +08:00
2018-03-14 22:37:04 +08:00
2025-06-16 16:03:16 +08:00
2025-06-17 22:39:17 +08:00
2025-06-17 22:39:17 +08:00
2025-06-17 22:39:17 +08:00
2019-09-03 14:57:16 +08:00
2025-06-17 22:39:17 +08:00
2025-06-17 22:39:17 +08:00
2025-06-15 15:37:16 +08:00

rttys(中文)

license PRs Welcome Issue Welcome Release Version Build Status Ask DeepWiki

This is the server program of rtty

Build from source

golang and node 20+ is required

cd ui
npm install
npm run build
cd ..
go build

Authorization(optional)

Token

A token is a random string generated by users themselves, which can be regarded as the password for device connecting.

$ rttys run -t 34762d07637276694b938d23f10d7164

Use your own authentication server

If the device hook URL is configured, when the device connecting, rttys will initiate a request to this URL, and the authentication server will return whether the authentication has been passed.

Request data format:

{"devid":"test", "token":"34762d07637276694b938d23f10d7164"}

Authentication Server Response HTTP 200 to indicate that the device is allowed to connect.

mTLS

You can enable mTLS by specifying device CA storage (valid file) in config file or from CLI (variable ssl-cacert). Device(s) without valid CA in storage will be disconnected in TLS handshake.

nginx proxy

# rttys.conf

addr-user: 127.0.0.1:5913

addr-http-proxy: 127.0.0.1:5914
http-proxy-redir-url: http://web.your-server.com
http-proxy-redir-domain: .your-server.com
# nginx.conf

server {
    listen 80;

    server_name rtty.your-server.com;

    location /connect/ {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_pass http://127.0.0.1:5913;
    }

    location / {
        proxy_pass http://127.0.0.1:5913;
    }
}

server {
    listen 80;

    server_name web.your-server.com;

    location / {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_pass http://127.0.0.1:5914;
    }
}

The parameter 'http-proxy-redir-url' and 'http-proxy-redir-domain' in rttys.conf can also be configured by setting new HTTP headers in nginx.

server {
    listen 80;

    server_name rtty.your-server.com;

    location /connect/ {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_pass http://127.0.0.1:5913;
    }

    location /web/ {
        proxy_set_header HttpProxyRedir http://web.your-server.com;
        proxy_set_header HttpProxyRedirDomain .your-server.com
        proxy_pass http://127.0.0.1:5913;
    }

    location / {
        proxy_pass http://127.0.0.1:5913;
    }
}

server {
    listen 80;

    server_name web.your-server.com;

    location / {
        proxy_http_version 1.1;
        proxy_set_header Upgrade $http_upgrade;
        proxy_set_header Connection "Upgrade";
        proxy_pass http://127.0.0.1:5914;
    }
}

Docker

Simple run

sudo docker run -it -p 5912:5912 -p 5913:5913 -p 5914:5914 zhaojh329/rttys:latest \
    run --addr-http-proxy :5914

Using config file

sudo mkdir -p /opt/rttys
sudo sh -c 'echo "addr-http-proxy: :5914" > /opt/rttys/rttys.conf'
sudo docker run -it -p 5912:5912 -p 5913:5913 -p 5914:5914 -v /opt/rttys:/etc/rttys \
    zhaojh329/rttys:latest run -conf /etc/rttys/rttys.conf

Contributing

If you would like to help making rttys better, see the CONTRIBUTING.md file.

S
Description
Self-Deployed Lightweight KVM Cloud
Readme 118 MiB
Languages
GO 43.5%
Vue 38.5%
TypeScript 13%
Shell 3.1%
PowerShell 1.1%
Other 0.8%