What is this?
ttyd is a command-line tool that shares your terminal over the web, letting you access and interact with a terminal session through a browser.
Is this a GUI app or a CLI tool?
It's a CLI tool: you run the `ttyd` command with your desired shell/program, and it starts a web server that streams that terminal session to connected browsers.
How do I install and run it?
Install via a package manager for your OS (Homebrew/MacPorts on macOS, apt/snap on Linux, WinGet/Scoop on Windows, opkg on OpenWrt) or grab a precompiled static binary from the releases page, then run ttyd with the command you want to expose.
What does it need under the hood to work?
It's built on libuv and WebGL2 for the terminal rendering, with SSL support provided via OpenSSL or Mbed TLS.
Does it work on any browser?
It requires a modern browser; there's a dedicated browser support page listing which ones are compatible.
Does it only run on Linux/macOS?
No, it's cross-platform: macOS, Linux, FreeBSD/OpenBSD, OpenWrt, and Windows are all supported.
Does it support file transfers over the terminal?
Yes, ttyd supports ZMODEM (lrzsz) and trzsz file transfer directly in the terminal session.
Can it show images in the terminal?
Yes, it supports Sixel image output, so tools like img2sixel or lsix can display images in the web terminal.
Does it support non-ASCII input like Chinese or Japanese?
Yes, it's a fully-featured terminal with CJK and IME support built in.
Are there alternatives to ttyd?
The README mentions Wetty (Node-based web terminal with SSH/login) and GoTTY (Go-based web terminal) as alternatives.
Which topics is it in?
xterm, tty, openwrt, ssl, terminal-emulators, websockets, remote-access, websocket, c, command-line, networking, command-line-tool
