Installation
Dependencies
Building: gcc/cc, make, pkg-config, libncursesw-dev (or the equivalent dev package for your distro, e.g. ncurses-devel on Fedora).
Running: only libncursesw (shared via the system, already installed if you could build). No libcurl, jansson, or json-c needed - the HTTP client (raw TCP socket, own HTTP/1.1 parser) and JSON handling (cJSON, vendored in third_party/) are built into the binary. See Architecture for why.
Debian/Ubuntu:
sudo apt install build-essential libncursesw6 libncurses-dev pkg-config
Build
make # regular build (-Os -Wall -Wextra), binary: ./transtui
make release # same, but stripped binary (smaller file size)
make clean # removes build artifacts
The binary typically lands around 70-90 KB stripped, thanks to no heavy libraries being linked in.
Install
make install # copies to $PREFIX/bin (default /usr/local/bin)
Run as root or set DESTDIR/PREFIX for a different location, e.g.:
make install PREFIX=$HOME/.local
When not run as root, make install also registers transtui as the handler for magnet links and .torrent files (see Browser Integration), so clicking a magnet link in the browser opens transtui --add automatically. sudo make install skips this step - run make install-desktop afterward as your normal user instead.
After installing, make sure $PREFIX/bin is in your PATH if you're using a non-standard path - otherwise transtui --add ... from the browser won't find the binary (see Browser Integration).
Next steps
- Configuration - connect to your
transmission-daemon - Daemon: setup & troubleshooting -
if you don't already have a daemon running