RuTTY - Rust TTY Server
RuTTY (aka Ruthie) is a CLI-powered websocket server written in Rust that allows you to expose your commands via browser. RuTTY was written with the sole-purpose of me wanting to expermient with Rust.
How it works?
RuTTY was heavily inspired by a very similar tool written in Go, called GoTTY.
RuTTY run a command for each client connection, forwards the TTY stdout to the client, and forwards the client input to the TTY stdin. RuTTY uses xterm.js to show a TTY display on the webpage.
cargo install rutty
To run rutty simply run
rutty and add your command and any optional arguments to that command, e.g.
rutty vi test.txt.
|Server listening IP address
0.0.0.0 (All interfaces)
|Server listening port
|Wether clients are allowed to pass input
|HTML page title
|Automatic reconnection delay
None (no automatic reconnection)
Clone the repository, install
make build release=1
cargo run -- <COMMAND> <ARGS>
An automatic hot-reload of the static files can be done by running
yarn start inside the
web directory, which will use
parcel to start a development server on http://localhost:1234 that is proxied to your RuTTY server running on port 3000.