explaingit

yudai/gotty

Analysis updated 2026-06-21

19,470GoAudience · ops devopsComplexity · 2/5Setup · easy

TLDR

GoTTY shares any terminal command as a live web page so colleagues or clients can watch, or optionally type into, your terminal session from a browser, with no SSH setup required.

Mindmap

mindmap
  root((GoTTY))
    What it does
      Share terminal via web
      Browser-based view
      Optional write access
    Tech stack
      Go
      WebSocket
    Security
      Basic auth
      Random URLs
      TLS encryption
    Use cases
      Remote demos
      Share log views
      Team terminal sessions
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Share a running server log or monitoring dashboard with a colleague by giving them a GoTTY URL to open in a browser, read-only.

USE CASE 2

Demo a command-line tool to a remote client without setting up SSH access, they watch in their browser as you work.

USE CASE 3

Run GoTTY with tmux so multiple remote users can view or interact with the same terminal session simultaneously.

What is it built with?

GoWebSocket

How does it compare?

yudai/gottykubernetes/ingress-nginxdariubs/gobooks
Stars19,47019,49919,404
LanguageGoGoGo
Setup difficultyeasyhardeasy
Complexity2/54/51/5
Audienceops devopsops devopsdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · easy Time to first run · 5min

The -w flag lets remote users type into your terminal, always pair it with authentication to prevent unauthorized command execution.

In plain English

GoTTY is a command-line tool that lets you share your terminal, the text-based window developers use to run commands, as a web page that anyone can view in a browser. The problem it solves is access: you might want to share a running process with a colleague, demonstrate a tool to someone remotely, or give a client a read-only view of a server's status without setting up SSH access. You run GoTTY with any command as an argument, and it starts a local web server (on port 8080 by default). Anyone who opens that URL in a browser sees the terminal output as if they were looking over your shoulder. By default, viewers can only watch, they cannot type. If you explicitly enable write access with the -w flag, remote users can interact with the terminal too, though the README cautions that this is risky for most commands. For safer multi-user interaction, the README suggests running GoTTY alongside tmux or GNU Screen so multiple clients share one session. Security options include basic authentication with a username and password, random URL generation to limit who can find the link, and TLS/SSL encryption. You would use GoTTY when you need to show a running terminal session to someone else over the web without complex setup. It is written in Go and communicates with browsers over WebSocket.

Copy-paste prompts

Prompt 1
I want to use yudai/gotty to share a read-only view of `htop` on my server. Write the gotty command that enables basic authentication with a username and password and uses TLS so the connection is encrypted.
Prompt 2
Set up GoTTY with tmux so multiple remote users can watch the same terminal session. Show me the exact gotty and tmux commands to run and how to connect clients.
Prompt 3
I'm using gotty for a live demo. How do I enable random URL generation to prevent unauthorized access, and how do I set it behind an nginx reverse proxy with HTTPS?
Prompt 4
What are the security risks of enabling write access with gotty -w, and what steps should I take to limit the blast radius if I need remote users to type commands?

Frequently asked questions

What is gotty?

GoTTY shares any terminal command as a live web page so colleagues or clients can watch, or optionally type into, your terminal session from a browser, with no SSH setup required.

What language is gotty written in?

Mainly Go. The stack also includes Go, WebSocket.

How hard is gotty to set up?

Setup difficulty is rated easy, with roughly 5min to a first successful run.

Who is gotty for?

Mainly ops devops.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub yudai on gitmyhub

Verify against the repo before relying on details.