Twitch TUI
  • Rust 96.9%
  • HTML 1.6%
  • JavaScript 0.8%
  • Makefile 0.7%
Find a file
2026-03-09 01:56:50 -06:00
assets *Initially* 2026-03-09 01:56:50 -06:00
src *Initially* 2026-03-09 01:56:50 -06:00
.gitignore *Initially* 2026-03-09 01:56:50 -06:00
Cargo.lock *Initially* 2026-03-09 01:56:50 -06:00
Cargo.toml *Initially* 2026-03-09 01:56:50 -06:00
Makefile *Initially* 2026-03-09 01:56:50 -06:00
my.config.toml *Initially* 2026-03-09 01:56:50 -06:00
README.md *Initially* 2026-03-09 01:56:50 -06:00
TODO *Initially* 2026-03-09 01:56:50 -06:00

Twitch TUI RS

A terminal UI for Twitch with local + remote playback over SSH, built with ratatui in Rust.


Table of Contents

demo

Prerequisites

  • streamlink
  • A media player in your PATH (mpv default)
  • (optional) chatterino for chat
  • (optional) SSH key-based auth for remote playback

Verify with: twt --deps

Installation

cargo install --git https://git.kvndl.xyz/kvndl/twitch-tui-rs.git

Or from local source:

git clone https://git.kvndl.xyz/kvndl/twitch-tui-rs.git
cd twitch-tui-rs
cargo install --path .

Configuration

Config is created at ~/.config/twitch-tui-rs/config.toml on first run:

streamlink_player = "mpv"  # or "vlc"
# player_args = ""

[chat]
client = "browser"         # "browser", "chatterino", or "none"
close_on_stream_end = true

[player]
low_latency = false
enable_title_metadata = true

On first launch, authentication is required. The app uses the Device Code flow — no browser redirect or manual token setup:

  1. The terminal displays a short code and a URL
  2. Open https://www.twitch.tv/activate and enter the code
  3. The app detects authorization automatically and continues

The token is cached locally and reused on subsequent runs.

Remote Playback

Play streams on a remote machine over SSH.

  • Deploys a helper daemon over SSH on first use
  • Persistent SSH channel — no per-command overhead
  • Toggle local/remote with Ctrl+R
remote_host = "pihost" # SSH host alias from ~/.ssh/config
# remote_player = "mpv"
# remote_player_args = "--vo=drm --hwdec=auto"

Keybinds

help

Privacy

This app requests only user:read:follows — it reads which channels you follow and nothing else. The app cannot modify your account, send messages, or access private data.

Token is cached at ~/.config/twitch-tui-rs/token.json with owner-only permissions (0600).

To revoke access: Twitch Connections settings.

License

MIT