Tetrax is a distributed terminal management system that allows for seamless terminal session management across different machines. It uses a client-server architecture with gRPC for communication and supports multiple terminal types on Windows.
- ConsoleHandler: Manages multiple terminal sessions and their I/O operations
- ConPTyRunner: Interfaces with Windows console API to create and manage terminal processes
- ConPTyTerminal: Handles terminal I/O operations using the ConPTY API
- Controller: Manages gRPC communication with the server
- Proto: Contains Protocol Buffer definitions for gRPC communication
- Utils: Utility functions for communication and process management
- Server Handle: gRPC server implementation
- State Manager: Manages terminal session state
- Web: Web interface for terminal sessions
- Windows 10/11
- Python 3.9+
- gRPC libraries
-
Clone the repository:
git clone https://github.com/tetrax/tetrax.git cd tetrax
-
Install dependencies:
pip install -r requirements.txt -
Generate Protocol Buffer code:
python core/comms_core/proto/run_codegen.py
-
Start the server:
python -m core.server_core.main -
Start the client:
python -m core.host_core.main