A unified download manager for aMule, rTorrent, qBittorrent, Deluge, and Transmission. Manage ED2K and BitTorrent downloads from a single modern web interface. Features multi-instance support, user management with SSO, Prowlarr integration for torrent search, Torznab indexer and qBittorrent-compatible API for aMule (Sonarr/Radarr integration), push notifications via Apprise, and GeoIP peer location display. Built with Node.js, WebSockets, and React.
- aMule Integration - Control aMule via the EC (External Connection) protocol
- rTorrent Integration - Connect to rTorrent via XML-RPC over HTTP
- qBittorrent Integration - Connect to qBittorrent via WebUI API
- Deluge Integration - Connect to Deluge via WebUI JSON-RPC
- Transmission Integration - Connect to Transmission via HTTP RPC
- Multi-Instance - Run multiple instances of the same client type
- Unified Interface - Manage all clients from a single dashboard
- Real-time Search - Search ED2K/Kad network and Prowlarr indexers
- Download Control - Pause, resume, and delete downloads
- Category Management - Organize downloads with color-coded categories and path mapping
- Batch Operations - Select multiple items for bulk actions
- File Operations - Move downloads to category paths
- User Management - Multi-user authentication, capabilities, and trusted proxy SSO
- Prowlarr Search - Search torrents across multiple indexers (results go to any connected BitTorrent client)
- Sonarr/Radarr - Torznab indexer and qBittorrent-compatible API for aMule
- Push Notifications - Apprise integration for 80+ notification services
- Custom Event Scripts - Run your own scripts on download events
- Upload Tracking - Monitor active uploads with GeoIP location display
- Shared Files - View and manage shared files
- Historical Statistics - Interactive charts for speed and transfer history (24h/7d/30d)
- Download History - Track completed downloads with filtering
- Dark Mode - Automatic theme switching based on system preference
- Responsive Design - Works on desktop, tablet, and mobile
- Configurable Tables - Show/hide and reorder columns per view
- WebSocket Updates - Real-time updates without polling
Prerequisites: At least one of: aMule with External Connections enabled, rTorrent with XML-RPC over HTTP, qBittorrent with WebUI enabled, Deluge with WebUI enabled, or Transmission with RPC enabled.
Available on Docker Hub. Supports linux/amd64 and linux/arm64.
docker pull g0t3nks/amutorrent:latestmkdir -p data logs
sudo chown -R 1000:1000 data logsservices:
amutorrent:
image: g0t3nks/amutorrent:latest
user: "1000:1000"
container_name: amutorrent
ports:
- "4000:4000"
environment:
- NODE_ENV=production
- PORT=4000
extra_hosts:
- "host.docker.internal:host-gateway"
volumes:
- ./logs:/usr/src/app/server/logs
- ./data:/usr/src/app/server/data
restart: unless-stoppeddocker compose up -dOpen http://localhost:4000 and follow the setup wizard to configure your download clients.
All-in-One Setup: For a complete setup with aMule, rTorrent, and qBittorrent in Docker, see docker-compose.all-in-one.yml
# Clone repository
git clone https://github.com/got3nks/amutorrent.git
cd amutorrent
# Install and build
cd server && npm install && cd ..
npm install && npm run build
# Start server
node server/server.jsOpen http://localhost:4000 and complete the setup wizard.
| Document | Description |
|---|---|
| Configuration Guide | Setup wizard, settings, environment variables |
| aMule Integration | Connect to aMule via EC protocol |
| rTorrent Integration | Connect to rTorrent via XML-RPC |
| qBittorrent Integration | Connect to qBittorrent via WebUI API |
| Deluge Integration | Connect to Deluge via WebUI JSON-RPC |
| Transmission Integration | Connect to Transmission via HTTP RPC |
| Prowlarr Integration | Search torrents via Prowlarr indexers |
| Notifications | Push notifications via Apprise (80+ services) |
| Custom Scripting | Run custom scripts on download events |
| GeoIP Setup | Display peer locations with MaxMind databases |
| Sonarr/Radarr Integration | Complete guide for *arr applications setup |
| User Management | Authentication, capabilities, SSO, and API keys |
| API Reference | REST API and WebSocket protocol |
| Development Guide | Building, project structure, contributing |
Can't connect to aMule?
- Verify EC is enabled in aMule: Preferences → Remote Controls → External Connections
- Check the EC password is correct
- Ensure firewall allows port 4712
Can't connect to rTorrent?
- Ensure XML-RPC is exposed over HTTP (nginx/lighttpd proxy or ruTorrent)
- Test with:
curl http://host:port/RPC2 - See rTorrent Integration for setup details
Can't connect to qBittorrent?
- Verify WebUI is accessible:
curl http://host:8080/api/v2/app/version - New installs generate a random password - check container logs:
docker logs qbittorrent - See qBittorrent Integration for setup details
Can't connect to Deluge?
- Verify WebUI is accessible:
curl -X POST http://host:8112/json - Default password is
deluge— check if it was changed - See Deluge Integration for setup details
Can't connect to Transmission?
- Verify RPC is accessible:
curl http://host:9091/transmission/rpc(a 409 response means RPC is working) - Check username/password if RPC authentication is enabled
- See Transmission Integration for setup details
Docker: Can't reach services on host?
- Ensure
extra_hostsis set in docker-compose.yml - Use
host.docker.internalas the hostname
Notifications not working?
- Verify Apprise is installed:
apprise --version - Test your service configuration via the Notifications page
- See Notifications Guide for setup details
Sonarr/Radarr can't find downloaded files?
- Configure categories with correct download paths
- Set up Remote Path Mappings if using Docker
- See Integration Guide for details
More help: Check server logs or open an issue.
MIT License - see LICENSE for details.






