#sharing #tty #terminal #collaboration

bin+lib tshare

Share your terminal session with anyone through a simple web link

2 stable releases

Uses new Rust 2024

1.0.5 Jul 30, 2025

#154 in WebSocket

MIT license

270KB
1.5K SLoC

Rust 1K SLoC // 0.1% comments Just 156 SLoC // 0.2% comments

TShare

Crates.io Version MIT License Rust GitHub

Collaborative terminal sharing.

Screenshots

TShare Screenshot 1 TShare Screenshot 2

TShare Screenshot 3

Requirements

  • Rust (any recent version)

Development dependencies:

  • just (cargo install just)
  • djlint (pip install djlint) for HTML formatting

Installation

Download pre-built packages from the releases page or build from source:

cargo build --release
# Binaries will be in target/release/

Usage

Start servers:

tshare tunnel &
tshare web &

Share terminal:

tshare connect

Development

See justfile for available commands:

just --list

Common commands:

just run            # Start both servers
just client connect # Create session
just build          # Build release
just build-deb      # Build .deb package

Architecture

  • tshare: CLI client, captures terminal sessions
  • tshare tunnel: WebSocket relay and API, port 8385
  • tshare web: Web interface, port 8386

Configuration

All binaries accept --help for options. Default configuration works for local development.

Production example:

tshare tunnel --host 0.0.0.0
tshare web --host 0.0.0.0 --tunnel-url http://tunnel.example.com:8385
tshare connect --tunnel-host tunnel.example.com --web-host web.example.com

License

MIT

Dependencies

~21–40MB
~596K SLoC