Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. Command-Line Apps
  3. GoTTY

GoTTY

MITGov1.0.1

A command-line tool that turns any CLI application into a shareable web-based terminal interface.

GitHubGitHub
19.5k stars1.4k forks0 contributors

What is GoTTY?

GoTTY is a command-line tool written in Go that converts any terminal application into a web application accessible via a browser. It launches a web server that relays terminal I/O between the command process and connected web clients using WebSockets, solving the problem of sharing live terminal sessions remotely without requiring SSH or specialized client software.

Target Audience

System administrators, DevOps engineers, and developers who need to share terminal sessions for demonstrations, remote collaboration, or providing web-based access to command-line tools.

Value Proposition

Developers choose GoTTY for its simplicity, security features like TLS and authentication, and its ability to work with any existing CLI tool without modification, offering a lightweight alternative to full remote desktop or SSH solutions for terminal sharing.

Overview

Share your terminal as a web application

Use Cases

Best For

  • Sharing live terminal sessions during team debugging or pair programming
  • Providing web-based access to monitoring tools like top or htop
  • Running command-line demos or workshops through a browser
  • Creating isolated web terminals using Docker containers
  • Integrating terminal output into web-based dashboards
  • Securely exposing CLI tools to limited users with authentication

Not Ideal For

  • Projects requiring full, safe bidirectional terminal access for multiple concurrent users
  • Production systems needing a scalable, feature-rich web-based SSH client with advanced terminal emulation
  • Teams that need built-in support for non-Latin scripts like CJK without additional configuration

Pros & Cons

Pros

Dead Simple Deployment

Turn any CLI command into a web app with a single gotty command, requiring no modifications to the underlying tool, as shown in the basic usage example.

Robust Security Options

Offers TLS/SSL encryption, basic authentication, and client certificate support, allowing secure session sharing over the web with configurable options like -c for credentials.

Multiplexer and Container Integration

Seamlessly works with tmux for shared terminal control and Docker for creating isolated, per-client environments, enabling flexible session management.

Cons

Risky Client Input

Enabling write permissions (-w flag) is explicitly warned against as dangerous in the README, severely limiting safe interactive use cases without complex workarounds like tmux.

Missing Advanced Terminal Features

Lacks support for CJK characters and IME input, which are available in alternatives like ttyd, making it less suitable for international teams or specific text handling needs.

Manual Certificate Management

TLS setup requires generating and managing self-signed certificates manually with openssl, and the README notes additional steps for Safari compatibility, adding setup complexity.

Frequently Asked Questions

Quick Stats

Stars19,451
Forks1,412
Contributors0
Open Issues112
Last commit1 year ago
CreatedSince 2015

Tags

#websocket-server#go-application#terminal#remote-access#tty#websocket#devops-tools#terminal-sharing#typescript#javascript#web#docker-integration#browser#go#cli-tools#tmux-integration

Built With

W
WebSocket
G
Go

Included in

Command-Line Apps19.2kSSH2.8k
Auto-fetched 1 day ago

Related Projects

ttydttyd

Share your terminal over the web

Stars11,473
Forks1,125
Last commit10 days ago
warpwarp

Secure and simple terminal sharing

Stars1,621
Forks49
Last commit8 years ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub