TShare - Terminal Sharing Library
TShare is a terminal sharing application that allows you to share your terminal session with others through a web interface. This library provides the core components for building terminal sharing systems.
Quick Start
The easiest way to use TShare is through the command-line interface:
# Start the servers
&
&
# Share your terminal
Library Usage
You can also use TShare components programmatically:
use ;
use ;
use ;
# async
Architecture
TShare consists of three main components:
- Client: Creates terminal sessions and forwards I/O
- Tunnel Server: Coordinates sessions and manages data routing
- Web Server: Serves browser interface and proxies connections
Security
TShare supports password-based authentication with bcrypt hashing:
- Owner passwords: Full read/write access to terminals
- Guest passwords: Configurable read-only or read/write access
- No authentication: First user gets owner privileges
Performance
- Concurrent connections: Supports multiple viewers per session
- Efficient broadcasting: Uses tokio broadcast channels for data distribution
- Memory management: Bounded history buffers prevent unlimited growth
- Real-time streaming: WebSocket-based for low-latency terminal interaction