v3.1.0 - qBittorrent Support
π Three-Client Support
This release adds full qBittorrent integration, making aMuTorrent a unified download manager for aMule, rTorrent, and qBittorrent simultaneously.
β¨ Added
qBittorrent Integration
- Full qBittorrent Support - Connect to qBittorrent via its WebUI API
- Auto-Reconnect - Automatic connection recovery on disconnect
- Torrent Management - Add magnets and torrent files, pause/resume/stop/delete
- Category Sync - Bidirectional category synchronization between aMuTorrent and qBittorrent
- Native File Moves - Uses qBittorrent's
setLocation()API for efficient moves (no filesystem access needed) - Native File Deletion - Deletes via API (no volume mount required for delete operations)
- Transfer Statistics - Upload/download speeds and totals tracked in metrics
- Connection Status - Real-time status with port information in footer
- Application Logs - View qBittorrent logs in the Logs page
- Configuration - Full setup via Settings page or environment variables
Event Scripting Enhancements
- File Path in Events -
downloadFinished,fileDeleted, andcategoryChangedevents now includepathandmultiFilefields - Debug Script - New
scripts/log-to-file.shlogs all event data for debugging - JSON Payload Examples - Complete examples for all 5 event types
π§ Changed
UI Restructuring
- Unified BitTorrent Section - Settings page combines rTorrent and qBittorrent under "BitTorrent Integration"
- Client Filter Toggle - Header ED2K/BT toggle filters all BitTorrent clients as one group
- Multi-Client Footer - Speed totals from all connected clients with per-client tooltip breakdown
- Statistics Charts - Renamed from "rTorrent" to "BitTorrent" to reflect all BT clients
- Client Icons - Distinct SVG icons for rTorrent and qBittorrent
Architecture Improvements
- Extended download normalizer, unified item builder, data fetch service, metrics, auto refresh, config tester, and field formatters for qBittorrent support
- Category management with bidirectional sync and per-client default paths
- Native API-based move operations for qBittorrent
π Fixed
- aMule Delete Event -
deletedFromDisknow correctly reportstruewhen cancelling aMule downloads - Move Size Verification - Fixed incorrect size comparison for incomplete downloads
- Path Translation - Fixed path mapping to handle both prefix matching and fallback patterns
π Documentation
- New qBittorrent Integration Guide (
docs/QBITTORRENT.md) - Updated all existing docs for three-client support
- Event scripting docs with full JSON payload examples
- Documentation website with GitHub Pages deployment