Skip to content

qnkhuat/tstream

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

TStream - Streaming from terminal

tstream.xyz | Join our Discord | Start Streaming

TStream

Install

Download pre-built package

The easiest way to install tstream is download it form our Release page. Make sure you download the version that match your Operating System

  • Unpack it with command: tar -xzf tstream_{version}_{os}_{arch}.tar.gz
  • Setup TStream to run it anywhere: cp tstream /usr/local/bin

Build from source

  • Install the Go toolchain
  • Clone the project: https://github.com/qnkhuat/tstream
  • Cd to tstream source code: cd tstream/
  • Build: go build cmd/tstream.go
  • Setup TStream to run it anywhere: cp tstream /usr/local/bin

Start Streaming

Just type tstream in the terminal and it will instruct you 🙂

If you want to start a private session run: tstream -private

(Optional) Tstream chat inside terminal

We also have a chat client on terminal, you can start it with tstream -chat after you've started your streaming session TStream chat

(Optional) Voice chat 🔈

Inside TStream chat client, you can turn on voice chat with command /unmute and turn off it with /mute

Self Host

This diagram is an overview of all needed components to run TStream

Overview of TStream

TServer

The easiest way to install tserver is download it from our Release page

Or if you prefer to build from source

  • Clone the repo git clone https://github.com/qnkhuat/tstream
  • Install the Go toolchain
  • Build the server package: cd tstream/tstream && go build cmd/server
  • Run it ./server

Optional configurations:

  • -host localhost:3000: Address to server tserver. Default is localhost:3000
  • -db .db: path to BoltDB file. This DB is used to store data like: finished streaming. Default is $(pwd)/.db

Test the server with curl http://localhost:3000/api/health. It should return the current time

Client web app

This is what currently running at tstream.xyz.

To run it:

  • Install nodejs
  • Clone the repo: git clone https://github.com/qnkhuat/tstream
  • cd to the client folder: cd client/
  • Install dependencies: npm install
  • Tell the client your the server address by: export REACT_APP_API_URL={your server address}
  • Run server: npm run start

Now go to localhost:3001, it should be exactly like tstream.xyz

For production I recommend using service like Vercel. It's free and very easy to setup

Streaming

By default the tstream package will stream to https://server.tstream.xyz

You can override it with by running tstream -server {your server address}.

For example : tstream -server http://localhost:3000

Upcoming features

  • One command to stream terminal session to web => just like tty-share
  • In room Chat
  • Voice chat
  • Stream playback
  • Private session
  • Multiple tabs support
  • User management system