/rttys

Access your device's terminal from anywhere via the web.

Primary LanguageGoMIT LicenseMIT

rttys(中文)

license PRs Welcome Issue Welcome Release Version Build Status

This is the server program of rtty

Usage

download the pre-built release binary from Release page according to your os and arch or compile it by yourself.

go get -u github.com/zhaojh329/rttys

Update statik

go get github.com/rakyll/statik
statik -src=frontend/dist

Authorization

Token

Generate a token

$ rttys token
Please set a password:******
Your token is: 34762d07637276694b938d23f10d7164

Use token

$ rttys run -t 34762d07637276694b938d23f10d7164

mTLS

You can enable mTLS by specifying device CA storage (valid file) in config file or from CLI (variable ssl-devs). Appending to CA storage is possible on-the-fly, you can reload CA certs by sendig SIGUSR1 signal. Device(s) without valid CA in storage will be disconnected in TLS handshake.

Running as a Linux service

Move the rttys binary into /usr/local/bin/

sudo mv rttys /usr/local/bin/

Copy the config file to /etc/rttys/

sudo mkdir /etc/rttys
sudo cp rttys.conf /etc/rttys/

Create a systemd unit file: /etc/systemd/system/rttys.service

[Unit]
Description=rttys
After=network.target

[Service]
ExecStart=/usr/local/bin/rttys run -c /etc/rttys/rttys.conf
TimeoutStopSec=5s

[Install]
WantedBy=multi-user.target

To start the service for the first time, do the usual systemctl dance:

sudo systemctl daemon-reload
sudo systemctl enable rttys
sudo systemctl start rttys

You can stop the service with:

sudo systemctl stop rttys

Contributing

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