Skip to content
forked from dtinth/ttycast

Broadcast your tty to the world! Stream your live terminal session online. Powered by ttyrec, tty.js and Socket.IO

License

Notifications You must be signed in to change notification settings

kweechuan/ttycast

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

72 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ttycast: broadcast your tty!

This app allows you to broadcast your tty online, in really real time! Powered by:

ttycast

Prerequisites

Install ttyrec and ttycast:

npm install -g ttyrec ttycast
  • The above command installs the JavaScript port of ttyrec, which is fairly new. If it does not work, you can also try the native ttyrec, which is available in most package managers (apt-get, Homebrew, ...).

Running (Broadcast & Record)

First, set your terminal to the size that you prefer to broadcast, then run the script:

ttyreccast outfile.tty

Open your browser and navigate to the server. You should see a blank black screen.

https://localhost:13377/

Then, open a new terminal of the same size and run this command:

reset && ttyrec /tmp/ttycast

You should see your terminal screen on the web browser now. Recorded output goes into outfile.tty.

Changing Port

ttycast uses the PORT environment variable but the default port is 13377

Running (manual way)

In your terminal emulator, create a named pipe and pipe it using ttyplay -n to ttycast.

mkfifo /tmp/ttycast && ttyplay -n /tmp/ttycast | ttycast -s 80x25; rm /tmp/ttycast

Open your browser and navigate to the server.

https://localhost:13377/

Then, spawn a new 80x25 terminal window and start recording:

reset && ttyrec /tmp/ttycast

Then you should see characters appearing in real-time. After using, don't forget to rm /tmp/ttycast!

Piping Via SSH

You can install ttycast on your server somewhere, and pipe your local terminal there through SSH!

Good when you are behind a firewall.

ttyplay -n /tmp/ttycast | ssh myserver.dt.in.th PORT=12345 ttycast

Pipe Anything

Um you can pipe anything that a terminal can understand to ttycast, and it will be broadcasted.

brew install sl
{ while true; do sl 2>&1; done } | ttycast

sl!!

License

The MIT license

About

Broadcast your tty to the world! Stream your live terminal session online. Powered by ttyrec, tty.js and Socket.IO

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • JavaScript 91.8%
  • HTML 4.0%
  • CSS 2.5%
  • Shell 1.3%
  • Makefile 0.4%