Stream any command’s stdout to a browser (with support for most TUIs).
You can and probably should only use this as a read-only view for a long-running process (<yours> | show).
At your own risk, you can also use it bidirectionally (show -pty -input -- <yours>)
- Go:
go install github.com/elimelt/show/cmd/show@latest - macOS:
curl -fsSL https://raw.githubusercontent.com/elimelt/show/main/install/macos.sh | sudo bash - Linux:
curl -fsSL https://raw.githubusercontent.com/elimelt/show/main/install/linux.sh | sudo bash
The installers use the latest stable release by default and verify checksums when the release provides them. Set VERSION to install a specific stable or beta release:
curl -fsSL https://raw.githubusercontent.com/elimelt/show/main/install/linux.sh | sudo env VERSION=v0.2.0-beta.12.gabcdef123456 bashSee the prereleases page for available beta versions.
- Beta: every successful push to
mainpublishes a uniquely versioned GitHub prerelease with Linux and macOS archives for amd64 and arm64. - Stable: pushing a
vMAJOR.MINOR.PATCHtag publishes a stable release after CI passes. Maintainers can also run the Stable release workflow with a version and a branch, commit, or beta tag.
Both channels include SHA-256 checksums and generated release notes. Stable releases are the only releases selected by GitHub's latest URL, so existing install commands never pick up a beta.
- Pipe and mirror to terminal:
ls --color=always -la | show -p 8000→ openhttp://localhost:8000 - Interactive (PTY) mode:
- Split args:
show -pty -- sudo cat - Single command string:
show -pty -- "sudo cat"
- Split args:
-pport (default 8000)-hostbind address (default 127.0.0.1)-titlepage title-historyreplay bytes (default 16MB, 0 = unlimited)-versionprint version and exit-ptyrun a command under a PTY and mirror to terminal (accepts either split args or a single shell command string)-inputallow browser keyboard input (PTY mode)
Notes: Piped commands may disable color; use --color=always. For interactive TUIs, use -pty.
- Interactive shell in the browser:
show -pty -input -- script -q -c "bash" | tee /dev/stdout
- TUI with keyboard input in browser:
show -pty -input -- btop
- Remote over SSH port forwarding:
ssh -L 8000:<hostname>:8000 <user>@<hostname>- On remote:
ps aux | show -p 8000 -host 0.0.0.0
Elijah Melton