# arr-tui A terminal UI to search for movies and series with [Radarr](https://radarr.video) and [Sonarr](https://sonarr.tv), pick releases by hand, and follow the downloads in [SABnzbd](https://sabnzbd.org). - **Movies / Series**: search as you type, add titles with a quality profile and root folder, optionally start the automatic search. - **Interactive search**: list the releases Radarr/Sonarr find (approved or rejected, with reasons), sort and filter them, and grab one. Series: pick a season or a single episode first. - **Library**: browse your movies and series side by side, filter by missing / downloaded / monitored, toggle monitoring, trigger searches. Series open into seasons and episodes with per-season and per-episode monitoring, automatic search and release search. - **Downloads**: SABnzbd queue and history plus the Radarr/Sonarr queues. Pause/resume, delete, retry failed downloads, remove from the arr queue and blocklist. - **Log (F5)**: actions report through popups that fade away; the log keeps the history. - Connection indicators for all three services in the top right; `?` shows every key. Requires Radarr/Sonarr v3+ API (Radarr 5/6, Sonarr 4) and SABnzbd 4+. Only Usenet releases are shown for grabbing, torrents are hidden. ## Install ```sh go install git.stinnesbeck.com/nils/arr-tui/cmd/arr-tui@latest ``` or build from a checkout (`make build`), or `make dist` for cross-compiled binaries in `dist/`. ## Configure Copy `config.example.json` to `$XDG_CONFIG_HOME/arr-tui/config.json` (usually `~/.config/arr-tui/config.json`), or pass `--config path`. API keys are in each app under Settings → General. ```json { "radarr": { "url": "http://localhost:7878", "apikey": "...", "default_quality_profile": "HD-1080p", "default_root_folder": "/movies" }, "sonarr": { "url": "http://localhost:8989", "apikey": "...", "default_quality_profile": "HD-1080p", "default_root_folder": "/tv" }, "sabnzbd": { "url": "http://localhost:8080", "apikey": "..." }, "ui": { "refresh_seconds": 3 } } ``` `default_*` are optional preselections in the add dialog. URL and key can also come from the environment: `ARR_TUI_{RADARR,SONARR,SABNZBD}_{URL,APIKEY}`, which takes precedence over the file. Keep the file private (`chmod 600`); it holds your API keys. ## Keys | Key | Action | |---|---| | `F1`–`F4` | switch view | | `Tab`, `Shift+Tab` | switch panel within a view | | `?` / `F9` | help | | `/` | focus search box | | `Enter`, `a` | add selected title | | `i` | interactive release search | | `Tab`, `f`, `/`, `t`, `s`, `i`/`Enter`, `r` (library) | movies/series list, filter, text filter, monitor, search, releases/episodes, reload | | `Enter`, `i`, `s`, `t` (episodes) | expand season / releases, release search, search, monitor | | `Enter`/`g`, `s`, `f` (release list) | grab, cycle sort, hide rejected | | `p`, `d`, `t`, `b`, `r` (downloads) | pause, delete, retry, blocklist, refresh | | `Esc` | back / close dialog | | `q`, `Ctrl+C` | quit | ## Development `dev/` has a compose file with pinned Radarr, Sonarr and SABnzbd containers plus a fake indexer; see [dev/README.md](dev/README.md). `make test` runs vet and the unit tests. The design and milestone history are in [SPECS.md](SPECS.md). ## License MIT, see [LICENSE](LICENSE).