A terminal BitTorrent client: a vim-like TUI (bubbletea/lipgloss) on top of a torrent engine (anacrolix/torrent) that runs as a background daemon. The TUI and CLI are both thin clients that talk to that daemon over a local Unix socket - which is what makes detached operation (start a download, close the terminal, it keeps going) possible without a separate architecture.
Documentation: torrnado.dev
┌──────────────────┐┌────────────────────────────────────────────────────────────────────┐
│ torrnado ││ Name Progress Size Status │
│ ││ > archlinux-2026.08.01… ━━━━━━━────── 42% 1.5GiB downloading │
│ Status ││ Fedora-KDE-Desktop-L… ━━━━━━━━━━━━ 100% 3.1GiB seeding │
│ All ││ * ubuntu-26.04-desktop… ━━────────── 11% 6.1GiB paused │
│ Downloading ││ │
│ Seeding │└────────────────────────────────────────────────────────────────────┘
│ Completed │┌────────────────────────────────────────────────────────────────────┐
│ Stopped ││ ─ [Pieces] Peers Files │
│ ││ 1950/24208 pieces verified × 256.0KiB │
└──────────────────┘└────────────────────────────────────────────────────────────────────┘
↓ 21.4MiB/s ↑ 0B/s │ 3 torrents added 1 torrent(s)
Grab an archive for your platform from the releases page, or build it:
go build -o torrnado ./cmd/torrnado # requires Go 1.25+There is no install step beyond putting the binary on your $PATH.
torrnado add 'magnet:?xt=urn:btih:...' # spawns a daemon if none is running
torrnado # attach the TUI
torrnado list --watch # or just watch from the shellQuitting the TUI (q) does not stop the daemon - your torrents keep
running. Press h in the TUI for every key, and : for the command
palette.
- Runs detached. One daemon; the TUI and CLI attach and detach freely.
- Survives restarts. The torrent list, paused state, save paths, rate limits and per-file priorities are restored on start.
- Streams while downloading.
von a video opens it in your player immediately, seeking included. - Opens the folder.
oshows a torrent's files in Finder, your file manager, or whatever you configure. - Waits for your VPN. Optionally holds every transfer until the system is on one, and lets them go again when it reconnects.
- Scripts. Every action is a subcommand.
- Themes. Eight built in, plus your own;
:themeswitches live.
Everything else lives at torrnado.dev:
| Installation · Quick start | build it and add a torrent |
| The TUI · Command line | panes, keys, palette, every subcommand |
| Configuration · Themes | config schema, keybinds, palettes |
| Streaming preview | play a file while it downloads |
| The daemon · systemd · Docker | leave it running on a box |
| Library limitations | the anacrolix/torrent traps this works around |
| Development | layout, tests, how to work on it |
make check - gofmt, vet and the unit tests - is the gate every commit
has to pass. make e2e drives the built binary through the shell suites,
and make docker-test runs all of it on Linux, which is where the daemon
is meant to live. See Development.
MIT. See LICENSE.