Skip to content

Alviner/tty-web

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

84 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

tty-web

Web-based terminal emulator. Opens a real PTY in the browser over WebSocket.

demo

Features

  • Real PTY with full job control, signals, and terminal capabilities
  • Persistent sessions — reconnect without losing state
  • Scrollback replay (configurable, 256 KiB default)
  • Session sharing — multiple clients on one session
  • View mode — read-only observers with automatic window size sync
  • Lightweight binary WebSocket protocol
  • Single static binary (frontend embedded via rust-embed)
  • Multi-arch Docker images (amd64 / arm64) — minimal scratch and playground variants

Quick start

tty-web --address 127.0.0.1 --port 9090 --shell /bin/zsh

Or with Docker:

docker run --rm -p 9090:9090 ghcr.io/alviner/tty-web:playground

The default latest tag is a minimal scratch image for COPY --from:

COPY --from=ghcr.io/alviner/tty-web:latest /tty-web /usr/local/bin/tty-web

Documentation

Full documentation is available at alviner.github.io/tty-web.

Build

make build     # debug
make release   # release
make docker    # docker image

License

MIT