Hardcore terminal torrent client with cyberpunk aesthetics, optimized for rare torrents
Project description
▓▓▓▓ TorrentCLI Pro
Hardcore terminal torrent client with cyberpunk aesthetics, optimized for rare content.
What Makes This Different?
TorrentCLI Pro is not another GUI client. It's an intelligent aria2c wrapper designed for:
- Rare torrents with 0-1 seeders that other clients give up on
- Terminal enthusiasts who want a beautiful CLI experience
- Archivists downloading educational/historical content
- Privacy-conscious users preferring CLI over bloated GUIs
Key Features
✨ Zero-Config Excellence
- Works perfectly with just
torrentcli download "magnet:?xt=..." - Automatic health analysis selects optimal profile
- Auto-fetches 50-100 working trackers from trusted sources
🎨 Distinctive Cyberpunk TUI
- Real-time sparklines, heatmaps, and animations
- 6 built-in themes (cyberpunk, matrix, solarized, nord, gruvbox, midnight)
- Responsive layouts (80/120 column support)
🚀 Intelligent Optimization
- Analyzes torrent health before wasting your time
- Auto-escalates configuration when downloads stall
- Profile system: rare, fast, seeder, privacy, batch
📊 Actionable Feedback
- See why downloads are slow (0 seeders vs. slow peers vs. network issues)
- Tracker heatmap shows which trackers are working
- Seeder discovery progress (not just "0 B/s")
⚡ Legendary Efficiency
- <50 MiB memory total (Python + aria2c wrapper)
- <5% CPU average (excluding aria2c download activity)
- <500ms cold start
Screenshots
Primary View (Cyberpunk Theme)
╔══════════════════════════════════════════════════════════════════════════════╗
║ ▓▓▓▓ TORRENTCLI PRO v1.0 [RARE MODE] VPN:✓ RAM:8.2M ║
╚══════════════════════════════════════════════════════════════════════════════╝
Linux ISO Collection
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
HASH a1b2c3d4e5f6...
SIZE 4.7 GiB • FILES 3 • PIECES 512
╭─ DOWNLOAD ─────────────────────────────────────────────────────────────╮
│ │
│ ████████████████████▓▓▓▓▒▒░░░░░░░░░░░░░░░ 42.3% │
│ ↓ 2.0 GiB / 4.7 GiB 2.7 GiB remaining ⧗ 8m 12s │
│ │
│ SPEED ▁▂▃▅▇█▇▅▃▂▁ 5.8 MiB/s AVG 5.2 PEAK 7.1 @ 14:23 │
│ RATIO ▁▁▁▂▂▂▃▃▃▂▂ 0.15 (312M↑) │
│ │
╰────────────────────────────────────────────────────────────────────────╯
╭─ NETWORK ──────────────────────────────────────────────────────────────╮
│ │
│ 🌐 PEERS ▂▃▅▇ 5/18 connected │ 🌱 SEEDERS ▁▃▅▇█ 2 active │
│ Last seen 3s ago │ Found @ 14:18 │
│ │
│ 📡 TRACKERS ████▓▓▓▓▒▒▒░░ 52/89 responding (58.4% success) │
│ ✓ udp://tracker.opentrackr.org:1337 8 peers 67ms │
│ ✓ udp://tracker.torrent.eu.org:451 2 peers 134ms │
│ ✗ udp://tracker.zer0day.to:1337 TIMEOUT │
│ │
╰────────────────────────────────────────────────────────────────────────╯
[q]uit [p]ause [s]tats [t]trackers [f]files [l]ogs [h]elp
Installation
Prerequisites
- Python 3.9+
- aria2c 1.36.0+ (install guide)
Install via pip (recommended)
pip install torrentcli-pro
Install from source
git clone https://github.com/torrentcli/torrentcli-pro.git
cd torrentcli-pro
pip install -e .
macOS (Homebrew)
brew install aria2
pip install torrentcli-pro
Linux (Ubuntu/Debian)
sudo apt install aria2
pip install torrentcli-pro
Verify Installation
torrentcli --version
aria2c --version
Quick Start
1. Download a torrent (automatic profile selection)
torrentcli download "magnet:?xt=urn:btih:..."
TorrentCLI will:
- Analyze torrent health (query DHT, test trackers)
- Fetch 50-100 working trackers automatically
- Select optimal profile (rare/default/fast)
- Display beautiful real-time progress
2. Force rare-torrent mode
For dead/rare torrents with 0-1 seeders:
torrentcli download "magnet:?xt=..." --profile rare
This enables:
- Aggressive peer discovery (200 max peers vs. 55 default)
- All 100+ trackers (vs. just "best" 20)
- IPv6 + DHT bootstrap nodes
- Auto-escalation if stalled
3. Batch download
cat magnets.txt | while read m; do
torrentcli dl "$m" --quiet
done
4. Customize theme
# Matrix green-on-black
torrentcli download "magnet:?xt=..." --theme matrix
# Solarized light (for bright environments)
torrentcli download "magnet:?xt=..." --theme solar
5. Speed limits and seeding
# Limit to 5 MiB/s, seed for 1 hour
torrentcli dl "magnet:?xt=..." --max-speed 5M --seed-time 60
Configuration
Initialize config
torrentcli config init
Creates ~/.config/torrentcli/config.toml with defaults.
Edit config
torrentcli config edit # Opens in $EDITOR
Example config
[general]
default_profile = "rare"
download_dir = "~/Torrents"
tracker_update_interval = 43200 # 12 hours
[ui]
theme = "cyberpunk"
[notifications]
level = "important" # all | important | none
[aria2c]
max_overall_download_limit = "10M" # Global speed cap
[profiles.my_rare]
inherit = "rare"
aria2c_options.bt_max_peers = 300 # Even more aggressive
Profiles
| Profile | Use Case | Max Peers | Trackers |
|---|---|---|---|
auto |
Analyzes health, chooses best | Dynamic | Dynamic |
default |
Popular torrents (10+ seeders) | 55 | Best 20 |
rare |
Dead/rare torrents (0-10 seeders) | 200 | All 100+ |
fast |
High-speed LANs (100+ Mbps) | 100 | Best 20 |
seeder |
Seed for 24h or 2.0 ratio | 100 | Best 20 |
privacy |
VPN-friendly, minimal exposure | 50 | Best 20, no DHT |
batch |
Multiple concurrent downloads | 30 | Best 20 |
Themes
Available themes:
- cyberpunk (default) - Neon accents on deep black, data brutalism
- matrix - Classic green-on-black hacker terminal
- solar - Solarized light for bright environments
- nord - Arctic blues, easy on the eyes
- gruvbox - Warm retro terminal colors
- midnight - Deep blues and purples
Preview all themes:
torrentcli download "magnet:..." --theme matrix # Try each one
Commands
Download Management
# Download
torrentcli download <magnet|torrent_file> [OPTIONS]
torrentcli dl <magnet|torrent_file> # Alias
# List active/resumable
torrentcli list
torrentcli ls
# Resume paused download
torrentcli resume <hash|name>
# Pause active download
torrentcli pause <hash|name>
# Cancel and delete session
torrentcli cancel <hash> [--delete-files]
# Clean old sessions
torrentcli clean --older-than 30d
Information
# Show torrent metadata without downloading
torrentcli info <magnet|torrent>
# Download history
torrentcli history --limit 20
# Aggregate stats
torrentcli stats
# Tracker performance
torrentcli tracker-stats --limit 20
Configuration
# Show current config
torrentcli config show
# Initialize default config
torrentcli config init [--force]
# Edit config in $EDITOR
torrentcli config edit
# List available profiles
torrentcli list-profiles
Trackers
# Manually refresh tracker lists
torrentcli update-trackers
Advanced Usage
Selective File Download
For multi-file torrents:
torrentcli download "magnet:..." --select
Displays interactive file picker with arrow keys + space.
Custom Completion Hook
torrentcli dl "magnet:..." --on-complete "say 'Download complete'"
Non-Interactive Modes
# Quiet mode (no output except errors)
torrentcli dl "magnet:..." --quiet
# JSON mode (for scripts)
torrentcli dl "magnet:..." --json > stats.json
# Summary only
torrentcli dl "magnet:..." --summary
Environment Variables
export TORRENTCLI_PROFILE=rare
export TORRENTCLI_DOWNLOAD_DIR=/data
export TORRENTCLI_THEME=matrix
export TORRENTCLI_QUIET=1
torrentcli dl "magnet:..." # Uses env vars
Troubleshooting
No seeders found
# Try rare profile
torrentcli dl "magnet:..." --profile rare
# Manually update trackers
torrentcli update-trackers
# Check VPN (some trackers block non-VPN IPs)
Slow download despite seeders
# Check if VPN throttling
# Try fast profile
torrentcli dl "magnet:..." --profile fast
# Check aria2c version (need 1.36.0+)
aria2c --version
aria2c not found
# macOS
brew install aria2
# Ubuntu/Debian
sudo apt install aria2
# Arch
sudo pacman -S aria2
Development
Setup Dev Environment
git clone https://github.com/torrentcli/torrentcli-pro.git
cd torrentcli-pro
# Install Poetry
curl -sSL https://install.python-poetry.org | python3 -
# Install dependencies
poetry install
# Activate venv
poetry shell
# Run tests
pytest
# Linting
ruff check .
mypy src/
Run from Source
poetry run torrentcli download "magnet:..."
# OR
python -m torrentcli download "magnet:..."
Roadmap
v1.0 (Current - MVP)
- ✅ CLI interface with Click
- ✅ Profile system (6 built-in profiles)
- ✅ Theme system (6 themes)
- ✅ Config management (TOML)
- ⏳ aria2c wrapper (stub)
- ⏳ Tracker management (stub)
- ⏳ Health analyzer (stub)
- ⏳ TUI renderer (stub)
- ⏳ SQLite history DB (stub)
v1.1 (Next)
- aria2c RPC mode (advanced control)
- Speed scheduling (full speed at night)
- Selective file downloads (interactive picker)
- Improved stall detection
v2.0 (Future)
- Web UI (optional, Flask + React)
- RSS feed support (auto-download)
- Torrent creation
- Ratio management for private trackers
Contributing
Contributions welcome! Please read CONTRIBUTING.md first.
Bug Reports
Use GitHub Issues.
Feature Requests
Open a discussion first to align on scope.
License
MIT License - see LICENSE for details.
Credits
- Built with Click, Rich, and aria2c
- Tracker lists from ngosang/trackerslist and XIU2/TrackersListCollection
- Inspired by the terminal aesthetics of Neuromancer, Blade Runner, and underground torrent trackers
Disclaimer
TorrentCLI Pro is for legal downloads only (Linux ISOs, public domain content, authorized educational materials). Users are responsible for complying with copyright laws in their jurisdiction. The developers do not condone piracy.
Made with ⚡ by terminal hackers, for archivers.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file torrentcli_pro-1.0.4.tar.gz.
File metadata
- Download URL: torrentcli_pro-1.0.4.tar.gz
- Upload date:
- Size: 47.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.14.2 Darwin/25.2.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cd47fb7419144c2459f56704fcdf6a9131ec816b182c730c32883ff9a60be8b0
|
|
| MD5 |
bf84f084de77bedf79968fffe3b82cea
|
|
| BLAKE2b-256 |
801b176c84be741581469b17e462960b3c9ef327a2fa88212f067bec02eebc69
|
File details
Details for the file torrentcli_pro-1.0.4-py3-none-any.whl.
File metadata
- Download URL: torrentcli_pro-1.0.4-py3-none-any.whl
- Upload date:
- Size: 52.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.2.1 CPython/3.14.2 Darwin/25.2.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7f999b6549c4627d088b8db83983dae02db77a7836d9e4406ef7e9832f9e33f8
|
|
| MD5 |
1950907bab728abe4f10182ef2162b69
|
|
| BLAKE2b-256 |
37a9080fb9d16069cd2f89c2392dc7cdcdd590bdc69d6a74f58c29133035e307
|