mirror of
https://github.com/gl-inet/glkvm-cloud.git
synced 2026-09-22 02:23:35 +00:00
b1e592f1fa
Signed-off-by: Jianhui Zhao <zhaojh329@gmail.com>
168 lines
4.2 KiB
Markdown
168 lines
4.2 KiB
Markdown
# rttys([中文](/README_ZH.md))
|
|
|
|
[1]: https://img.shields.io/badge/license-MIT-brightgreen.svg?style=plastic
|
|
[2]: /LICENSE
|
|
[3]: https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=plastic
|
|
[4]: https://github.com/zhaojh329/rttys/pulls
|
|
[5]: https://img.shields.io/badge/Issues-welcome-brightgreen.svg?style=plastic
|
|
[6]: https://github.com/zhaojh329/rttys/issues/new
|
|
[7]: https://img.shields.io/badge/release-4.4.5-blue.svg?style=plastic
|
|
[8]: https://github.com/zhaojh329/rttys/releases
|
|
[9]: https://github.com/zhaojh329/rttys/workflows/build/badge.svg
|
|
[10]: https://raw.githubusercontent.com/CodePhiliaX/resource-trusteeship/main/readmex.svg
|
|
[11]: https://readmex.com/zhaojh329/rttys
|
|
[12]: https://deepwiki.com/badge.svg
|
|
[13]: https://deepwiki.com/zhaojh329/rttys
|
|
|
|
[![license][1]][2]
|
|
[![PRs Welcome][3]][4]
|
|
[![Issue Welcome][5]][6]
|
|
[![Release Version][7]][8]
|
|
![Build Status][9]
|
|
[![ReadmeX][10]][11]
|
|
[![Ask DeepWiki][12]][13]
|
|
|
|
This is the server program of [rtty](https://github.com/zhaojh329/rtty)
|
|
|
|
## Build from source
|
|
golang and node 20+ is required
|
|
|
|
cd ui
|
|
npm install
|
|
npm run build
|
|
cd ..
|
|
go build
|
|
|
|
## Authorization(optional)
|
|
### Token
|
|
Generate a token
|
|
|
|
$ rttys token
|
|
Please set a password:******
|
|
Your token is: 34762d07637276694b938d23f10d7164
|
|
|
|
Use token
|
|
|
|
$ rttys run -t 34762d07637276694b938d23f10d7164
|
|
|
|
### Use your own authentication server
|
|
If the device authentication URL is configured, when the device connecting,
|
|
rttys will initiate an authentication 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 Format:
|
|
|
|
{"auth": true}
|
|
|
|
### 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](https://github.com/zhaojh329/rttys) better,
|
|
see the [CONTRIBUTING.md](https://github.com/zhaojh329/rttys/blob/master/CONTRIBUTING.md) file.
|