Complete usenet download support for unarr CLI: - NZB XML parser with password extraction from <head> meta - yEnc decoder with CRC32 verification - NNTP client with TLS, auth, and connection pool (up to 10 conns) - Segment downloader with parallel workers and progress reporting - Post-processing: par2 verify/repair, unrar/7z extraction with password support - Agent client methods: SearchNzbs, DownloadNzb, GetUsenetCredentials - UsenetDownloader implementing full Downloader interface - Daemon wiring: UsenetDownloader passed to Manager E2E tested: Oppenheimer 1080p (2.94 GB) downloaded via NNTP in 77.6s. |
||
|---|---|---|
| .github | ||
| .lefthook/commit-msg | ||
| cmd/unarr | ||
| internal | ||
| .dockerignore | ||
| .gitignore | ||
| .golangci.yml | ||
| .goreleaser.yml | ||
| CHANGELOG.md | ||
| CODE_OF_CONDUCT.md | ||
| CONTRIBUTING.md | ||
| docker-build.sh | ||
| docker-compose.yml | ||
| Dockerfile | ||
| go.mod | ||
| go.sum | ||
| install.ps1 | ||
| install.sh | ||
| lefthook.yml | ||
| LICENSE | ||
| Makefile | ||
| README.md | ||
| SECURITY.md | ||
unarr
Powerful terminal tool for torrent search and management.
Search 30+ torrent sources, inspect torrent quality, discover popular content, find streaming providers, and manage your media collection — all from your terminal.
Installation
Go install
go install github.com/torrentclaw/torrentclaw-cli/cmd/unarr@latest
Homebrew (macOS/Linux)
brew install torrentclaw/tap/unarr
GitHub Releases
Download prebuilt binaries for Linux, macOS, and Windows from GitHub Releases.
Build from source
git clone https://github.com/torrentclaw/torrentclaw-cli.git
cd torrentclaw-cli
make build
Quick Start
# Configure (first time)
unarr config
# Search for content
unarr search "breaking bad" --type show --quality 1080p
# Inspect a torrent
unarr inspect "magnet:?xt=urn:btih:ABC123&dn=Movie.2023.1080p.BluRay.x265"
# Popular content
unarr popular --limit 20
# Recently added
unarr recent
# Where to watch (streaming + torrents)
unarr watch "oppenheimer" --country ES
# System statistics
unarr stats
Commands
Search
Search the unarr catalog with advanced filters.
unarr search "inception" --sort seeders --min-rating 7 --lang es
Filters:
| Flag | Description | Example |
|---|---|---|
--type |
Content type | movie, show |
--quality |
Video quality | 480p, 720p, 1080p, 2160p |
--lang |
Audio language (ISO 639) | es, en, fr |
--genre |
Genre filter | Action, Comedy, Drama |
--year-min |
Minimum release year | 2020 |
--year-max |
Maximum release year | 2026 |
--min-rating |
Minimum IMDb/TMDb rating | 7 |
--sort |
Sort order | relevance, seeders, year, rating, added |
--limit |
Results per page (1-50) | 10 |
--page |
Page number | 2 |
--country |
Country for streaming info | US, ES |
Inspect
TrueSpec analysis — parse a torrent and show detailed specs.
unarr inspect "Oppenheimer.2023.1080p.BluRay.x265"
Accepts magnet URIs, 40-character info hashes, or torrent names.
Output includes: quality, codec, size, seeds, languages, source, quality score, and health.
Watch
Find where to watch — streaming services alongside torrent options.
unarr watch "oppenheimer" --country ES
Shows legal streaming options first (subscription, free, rent, buy), then torrent alternatives.
Popular
Show trending content ranked by community engagement.
unarr popular --limit 20
Recent
Show the most recently added content.
unarr recent --limit 20
Stats
Display unarr system statistics.
unarr stats
Config
Interactive configuration setup.
unarr config
Saves to ~/.config/unarr/config.yaml.
Alias
You can use un as a shorthand for unarr:
un search "breaking bad" --type show
un popular --limit 5
Global Flags
| Flag | Description |
|---|---|
--json |
Output as JSON (for piping to jq, scripts) |
--no-color |
Disable colored output |
--api-key |
API key (overrides config file and env) |
--config |
Custom config file path |
JSON Output
All commands support --json for scripting:
# Pipe to jq
unarr search "matrix" --json | jq '.results[].title'
# Save to file
unarr popular --json > popular.json
# Use in scripts
SEEDS=$(unarr search "inception" --json | jq '.results[0].torrents[0].seeders')
Configuration
Config file location: ~/.config/unarr/config.yaml
api_url: https://torrentclaw.com
api_key: tc_your_api_key_here
country: US
Environment variables (override config file):
export UNARR_API_URL=https://torrentclaw.com
export UNARR_API_KEY=tc_your_api_key
export UNARR_COUNTRY=ES
Coming Soon
These commands are stubbed and will be available in future releases:
unarrupgrade— Find a better version of a torrentunarrmoreseed— Find same quality with more seedersunarrcompare— Compare two torrents side by sideunarrscan— Scan your media library for upgradesunarradd— Search and add torrents to your clientunarrmonitor— Watch for new episodes of a series
Contributing
See CONTRIBUTING.md for development setup, code style, and guidelines.
License
MIT License — see LICENSE for details.