Stream your terminal to web without installing anything 🌐
Alternatives To Streamhut
Project NameStarsDownloadsRepos Using ThisPackages Using ThisMost Recent CommitTotal ReleasesLatest ReleaseOpen IssuesLicenseLanguage
Node Draftlog1,1335691362 years ago11March 26, 20215mitJavaScript
📜 Create mutable log lines into the terminal, and give life to your logs!
Streamhut8691310 months ago5April 19, 20199apache-2.0Go
Stream your terminal to web without installing anything 🌐
Zulip Terminal515
5 days ago9May 21, 2022394apache-2.0Python
Official Zulip terminal client.
8 days ago4mitPython
🎥 Stream your favorite movie from the terminal!
Gauge318391,23732715 days ago38October 14, 20228otherJavaScript
A terminal based horizontal guage aka, a progress bar
Travis Watch294222 years ago53August 22, 20197mitJavaScript
Stream live travis test results of the current commit to your terminal!
4 years ago1September 22, 201813gpl-3.0Rust
A modular system monitor written in Rust
6 months ago103gpl-2.0C
Terminal I/O logger
3 months agomitRust
A multiplexed p2p network framework that supports custom protocols
Go Streams191
4 months ago1July 20, 20213Go
Stream Collections for Go. Inspired in Java 8 Streams and .NET Linq
Alternatives To Streamhut
Select To Compare

Alternative Project Comparisons



Stream and send data, terminal to web and vice versa.

License Build Status Go Report Card GoDoc


  • Stream your terminal to anyone without installing anything.
  • Path names map to channels.
  • Anyone in the same channel can view what's streamed.
  • Easily self-host your own streamhut server.

Streamhut allows you to stream (pipe) realtime data from your terminal stdout/stderr to a web xterm UI or even to another terminal. It also allow you to quickly share data and files between devices.

As long as you have netcat which comes pre-installed in most *nix systems than you can use streamhut! If you can't install netcat, you may also use the streamhut CLI client.

⚠️ Disclaimer: This software is alpha quality and not production ready. Use at your own risk!



Getting Started (without installing anything)

One liner to stream your terminal:

$ exec &> >(nc 1337)

The above command pipes stdout and stderr of new bash shell to streamhut.

Stream to a custom channel name:

$ exec &> >(nc 1337);echo \#mychannel

Example of streaming tail of file:

# terminal 1
$ cat > data.txt
# terminal 2
$ tail -F data.txt | nc 1337

Stream the current date every second:

$ while true; do date; sleep 1; done | nc 1337

Stream output of a program (delay is required to see share url):

$ (sleep 5; htop) | nc 1337
# waits 5 seconds, and then send contents of program.

Example of piping a program to both stdout and streamhut:

$ (echo -n; sleep 5; htop) | tee >(nc 1337)

Don't have netcat available? Pipe to a file descriptor with an open TCP connection:

$ exec 3<>/dev/tcp/ && head -1 <&3 && exec &> >(tee >(cat >&3))


$ go get


Example of using streamhut CLI:

Stream to server

Piping commands:

$ htop | streamhut

Add delay to see share url:

$ htop | streamhut -d 5

Open url in browser:

$ htop | streamhut -o

Stream to different server:

$ htop | streamhut -h -p 1337

Stream to custom channel:

$ htop | streamhut -c mychannel

For more options, run streamhut --help

Run your own server:

$ streamhut server

Starting server...
HTTP/WebSocket port: 8080
TCP port: 1337

Run server with SSL/TLS:

$ mkcert localhost

$ sudo streamhut server --tls --tls-cert=localhost.pem --tls-key=localhost-key.pem -p 443

For more options, run streamhut server --help

Connecting to a channel

# terminal 1
$ streamhut connect -c mychannel

For more options, run streamhut connect --help


You can run streamhut as a Docker container:

$ docker pull streamhut/streamhut
$ docker run -e PORT=8080 -e TCP_PORT=1337 -p 8080:8080 -p 1337:1337 --restart unless-stopped streamhut/streamhut:latest

Self-host (docker one-liner)

One-liner to self-host using Docker:

docker run -p 8080:8080 -p 1337:1337 streamhut/streamhut


make test


Start server:

make start

Run migrations:

make migrate

Web App

The web app source code is found on streamhut/web.


  • Q: How is the stream log data stored?

    • A: Currently it's stored in a local sqlite3 database. You can disable storage with the --no-storage flag, e.g. streamhut server --no-storage.
  • Q: What happened to the streamhut NPM module?

  • Q: Can the same channel be used more than once?

    • A: Yes! send #{channel} (ie #mychannel) as the first stream text to use that channel.


      exec &> >(nc 1337);echo \#mychannel
  • Q: What's the difference between and

    • A: The domain is an alias for, meaning you can type as the domain for convenience. Other aliases are and
  • Q: What is the difference between exec > >(nc 1337) 2>&1 and exec &> >(nc 1337)

    • A: They are the same in that they both stream stdout and stderr to the server.


Released under the Apache 2.0 license.

© Miguel Mota

Popular Terminal Projects
Popular Stream Projects
Popular Command Line Interface Categories
Related Searches

Get A Weekly Email With Trending Projects For These Categories
No Spam. Unsubscribe easily at any time.
Real Time