feat: add rtorrent client via PDCA
Some checks failed
Build and Push Docker Image / build (push) Failing after 40s
CI / Security audit (push) Failing after 27s
CI / Tests & coverage (push) Failing after 35s
Docs Check / Markdown lint (push) Successful in 32s
Docs Check / Mermaid diagram parse check (push) Successful in 1m12s
Licence Check / Licence compatibility and copyright header verification (push) Failing after 24s
Some checks failed
Build and Push Docker Image / build (push) Failing after 40s
CI / Security audit (push) Failing after 27s
CI / Tests & coverage (push) Failing after 35s
Docs Check / Markdown lint (push) Successful in 32s
Docs Check / Mermaid diagram parse check (push) Successful in 1m12s
Licence Check / Licence compatibility and copyright header verification (push) Failing after 24s
- Implement RTorrentClient extending DownloadClient abstract class - Use xmlrpc package (v1.3.2) for XML-RPC communication - Support HTTP Basic Auth when credentials are configured - Map rTorrent states (d.state, d.is_active, d.is_hash_checking) to normalized statuses - Calculate ETA from download speed and remaining bytes - Add getRtorrentInstances() to config.js - Register RTorrentClient in downloadClients.js registry - Add 8 comprehensive unit tests covering all functionality - Update .env.sample with rtorrent configuration examples - Update ARCHITECTURE.md with rtorrent client details - Update ADDING-A-DOWNLOAD-CLIENT.md with rtorrent-specific notes
This commit is contained in:
14
.env.sample
14
.env.sample
@@ -94,6 +94,20 @@ QBITTORRENT_INSTANCES=[{"name":"main","url":"https://qbittorrent.example.com","u
|
||||
# QBITTORRENT_USERNAME=admin
|
||||
# QBITTORRENT_PASSWORD=your-password
|
||||
|
||||
# =============================================================================
|
||||
# RTORRENT INSTANCES (JSON Array Format)
|
||||
# Add one or more rTorrent instances as a single-line JSON array
|
||||
# Uses username/password authentication (optional)
|
||||
# Format: [{"name":"instance-name","url":"https://...","username":"...","password":"..."}]
|
||||
# XML-RPC endpoint is automatically appended: ${url}/RPC2
|
||||
# =============================================================================
|
||||
# RTORRENT_INSTANCES=[{"name":"main","url":"https://rtorrent.example.com","username":"rtorrent","password":"rtorrent"}]
|
||||
|
||||
# Legacy single-instance format (optional - still supported)
|
||||
# RTORRENT_URL=https://rtorrent.example.com
|
||||
# RTORRENT_USERNAME=rtorrent
|
||||
# RTORRENT_PASSWORD=rtorrent
|
||||
|
||||
# =============================================================================
|
||||
# SONARR INSTANCES (JSON Array Format)
|
||||
# Add one or more Sonarr instances as a single-line JSON array
|
||||
|
||||
Reference in New Issue
Block a user