jiri-novotny / rttys

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

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

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.

About

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

License:MIT License


Languages

Language:Go 53.6%Language:Vue 37.4%Language:TypeScript 6.2%Language:Shell 2.2%Language:Dockerfile 0.6%