I built this after getting tired of GUI torrent clients on Linux either being a packaging headache outside Ubuntu/Debian, or just being heavy on an old laptop I use daily.
Tornedo is plain Node (>=22), no Electron. A few things about the implementation:
TUI built with Ink + React, but the whole thing is scriptable - skip the interactive UI and pipe output straight into jq if you want
Queries multiple torrent indexers concurrently, then merges and ranks results instead of showing eight near-identical uploads side by side
Parses release titles into structured metadata (quality, codec, HDR, season/episode) rather than raw filenames
Manual file selection before anything downloads
Crash-safe - reconciles download state on restart instead of leaving things half-verified
tornedo doctor for diagnostics when something breaks, instead of a silent failure
It also works as a plain magnet-link/.torrent downloader without the search layer at all.
GitHub: https://github.com/Itshardtofindagoodname/Tornedo
npm: https://www.npmjs.com/package/tornedo
Happy to go into the crash-recovery design or the release-title parser if anyone's curious, those were the two trickiest parts to get right.
Top comments (0)