GitHub - tsl0922/ttyd: Share your terminal over the web
source link: https://github.com/tsl0922/ttyd
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
ttyd - Share your terminal over the web
ttyd is a simple command-line tool for sharing terminal over the web.
Features
- Built on top of Libwebsockets with libuv for speed
- Fully-featured terminal based on Xterm.js with CJK and IME support
- Graphical ZMODEM integration with lrzsz support
- SSL support based on OpenSSL
- Run any custom command with options
- Basic authentication support and many other custom options
- Cross platform: macOS, Linux, FreeBSD/OpenBSD, OpenWrt, Windows
Special thanks to JetBrains for sponsoring the opensource license to this project.
Installation
Install on macOS
Install with homebrew:
brew install ttyd
Install on Linux
-
Binary version (recommended): download from the releases page.
-
Build from source (debian/ubuntu):
sudo apt-get install build-essential cmake git libjson-c-dev libwebsockets-dev git clone https://github.com/tsl0922/ttyd.git cd ttyd && mkdir build && cd build cmake .. make && sudo make install
You may also need to compile/install libwebsockets from source if the
libwebsockets-dev
package is outdated. -
Install on Gentoo: clone the repo and follow the directions here.
Install on Windows
Install on OpenWrt
opkg install ttyd
Usage
Command-line Options
ttyd is a tool for sharing terminal over the web
USAGE:
ttyd [options] <command> [<arguments...>]
VERSION:
1.6.3
OPTIONS:
-p, --port Port to listen (default: 7681, use `0` for random port)
-i, --interface Network interface to bind (eg: eth0), or UNIX domain socket path (eg: /var/run/ttyd.sock)
-c, --credential Credential for Basic Authentication (format: username:password)
-u, --uid User id to run with
-g, --gid Group id to run with
-s, --signal Signal to send to the command when exit it (default: 1, SIGHUP)
-a, --url-arg Allow client to send command line arguments in URL (eg: http://localhost:7681?arg=foo&arg=bar)
-R, --readonly Do not allow clients to write to the TTY
-t, --client-option Send option to client (format: key=value), repeat to add more options
-T, --terminal-type Terminal type to report, default: xterm-256color
-O, --check-origin Do not allow websocket connection from different origin
-m, --max-clients Maximum clients to support (default: 0, no limit)
-o, --once Accept only one client and exit on disconnection
-B, --browser Open terminal with the default system browser
-I, --index Custom index.html path
-b, --base-path Expected base path for requests coming from a reverse proxy (eg: /mounted/here, max length: 128)
-P, --ping-interval Websocket ping interval(sec) (default: 300)
-6, --ipv6 Enable IPv6 support
-S, --ssl Enable SSL
-C, --ssl-cert SSL certificate file path
-K, --ssl-key SSL key file path
-A, --ssl-ca SSL CA file path for client certificate verification
-d, --debug Set log level (default: 7)
-v, --version Print the version and exit
-h, --help Print this text and exit
Visit https://github.com/tsl0922/ttyd to get more information and report bugs.
Read the example usage on the wiki.
Browser Support
Modern browsers, See Browser Support.
Alternatives
Recommend
About Joyk
Aggregate valuable and interesting links.
Joyk means Joy of geeK