rewindtty

A terminal session recorder and replayer written in C that allows you to capture and replay terminal sessions with precise timing.

Loading...

See it in Action

rewindtty demo

Features

🎬 Record Sessions

Capture all terminal input/output with accurate timing information for complete session recording.

▶️ Replay Sessions

Play back recorded sessions with original timing, providing an authentic terminal experience.

📊 Session Analysis

Analyze recorded sessions with detailed statistics, performance insights, and optimization suggestions.

🌐 Browser Player

Advanced web-based player with interactive timeline, bookmarks, and modern controls.

📄 JSON Format

Sessions stored in structured JSON format for easy parsing and integration with other tools.

⚡ Lightweight

Minimal dependencies, written in pure C with minimal memory footprint and high performance.

Installation

Prerequisites

Clone the Repository

This project uses cJSON as a Git submodule. Make sure to clone with submodules:

git clone --recurse-submodules https://github.com/rewindtty/rewindtty.git

If you already cloned without submodules:

git submodule update --init --recursive

Build

make

This creates the executable at build/rewindtty.

Usage

Recording a Session

./build/rewindtty record [--interactive] [file]

Replaying a Session

./build/rewindtty replay [file]

Analyzing a Session

./build/rewindtty analyze [file]

For detailed usage instructions and advanced features, visit the GitHub repository.

Interactive vs Legacy Mode

FeatureInteractive ModeLegacy Mode
Recording StyleReal-time shell interactionCommand-by-command capture
Replay ExperienceLive terminal emulationStep-by-step command replay
Session Analysis❌ Not available✅ Full analysis with statistics
Browser Player✅ Compatible✅ Compatible