Transmission TUI: Managing Torrents from the Terminal

Transmission TUI is a lightweight, keyboard-driven terminal interface for monitoring and managing a Transmission daemon. It is written in Python and built with Textual, with direct access to Transmission through its RPC interface.

The project grew out of a practical need: managing a headless Transmission instance on a remote server without depending on a browser-based interface. It keeps routine torrent administration inside the terminal, where it remains fast, script-friendly, and easy to use over SSH.

Why I built it

Transmission works particularly well as a daemon on a home server, but its usual remote interfaces do not always fit a terminal-centred workflow. The official command-line client is efficient for individual operations, while the Web interface requires a browser and provides a different style of interaction.

Transmission TUI sits between these two approaches. It offers a persistent, interactive overview of the daemon while preserving the immediacy of a native terminal application. The interface is designed primarily for keyboard use and avoids introducing another Web service into the system.

Main features

  • real-time monitoring of torrents and transfer rates;
  • search, filtering, and sortable torrent lists;
  • detailed information about torrents and trackers;
  • addition of torrents from magnet links or URLs;
  • pause, resume, verification, and removal operations;
  • file selection and per-file priority management;
  • upload and download speed limits;
  • relocation of downloaded data; and
  • tracker diagnostics for identifying connectivity or announce problems.

The goal is not to reproduce every option exposed by Transmission. The interface focuses on the operations that are most useful during regular remote administration.

Design and architecture

The application deliberately has a small technical footprint:

Keeping the interface separate from the daemon has two advantages. Transmission continues to manage downloads independently, and the TUI can be started only when an interactive view is needed. This also makes the application suitable for remote use over SSH.

The design follows a few simple principles:

  • keyboard-driven interaction;
  • clear presentation of operational information;
  • minimal dependencies and no additional Web frontend;
  • compatibility with a remotely hosted Transmission daemon; and
  • behaviour that remains predictable during destructive operations.

Installation

The project can currently be installed directly from its Git repository with uv:

uv tool install git+https://github.com/fmaillar/transmission-tui.git

The installed command is then available as:

transmission-tui

For development, clone the repository and create the locked environment:

git clone https://github.com/fmaillar/transmission-tui.git
cd transmission-tui
uv sync
uv run transmission-tui

A reachable Transmission RPC endpoint is required. Authentication and connection settings depend on the daemon configuration.

Project status

Transmission TUI is an active personal open-source project. Version 0.2.0 marks its transition from a monitoring interface to a more complete management application. It is already useful for day-to-day administration, but it should still be considered evolving software rather than a mature, production-grade client.

The source code, release history, installation details, and current limitations are available in the project repository.