github.com/yudai/gotty ↗

Share your terminal as a web application

An animated visualization of yudai/gotty's Git history. The project is written mostly in Go. The video runs 44 seconds.

Render your own repo

Turn any GitHub repository into a video like this — free sample in seconds.

Visualize your own →

Open this visualization on its own page →

Advertisement

About yudai/gotty

GoTTY is a command line tool written in Go that exposes terminal sessions as web applications through a simple WebSocket interface. When you run a command with GoTTY, it starts a web server that broadcasts the command's terminal output to connected browsers in real time, allowing you to view and interact with CLI tools from any web browser without needing SSH or special client software.

The application uses xterm.js and hterm JavaScript libraries to render a functional terminal emulator in the browser, while GoTTY itself acts as a lightweight relay server forwarding TTY output to clients and optionally receiving their input back. By default, clients can only view terminal output, but the tool supports write access through command line flags, basic authentication for restricting connections, random URL generation for access control, and TLS/SSL encryption for secure communication. GoTTY also integrates well with terminal multiplexers like tmux and GNU Screen for sharing a single session across multiple clients.

The project is primarily useful for system administrators, developers, and educators who need to share terminal sessions with others over the web, watch remote processes execute, or demonstrate command line operations in a browser-based environment. It offers deployment flexibility through Docker containers and provides various security options for different trust levels, though the architecture keeps traffic unencrypted by default unless explicitly configured otherwise.

Advertisement

Share this video