A modern, real-time web interface for controlling aMule via the EC (External Connection) protocol. Features Sonarr/Radarr integration (Torznab indexer + qBittorrent-compatible API) and GeoIP peer location display. Built with Node.js, WebSockets, and React.
- Real-time Search - Search the ED2K/Kad network with live results
- Download Management - Monitor and control downloads with pause/resume support
- Category Management - Organize downloads into categories with color coding
- Upload Monitoring - Track 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)
- Sonarr/Radarr Integration - Works as Torznab indexer and qBittorrent-compatible download client
- Dark Mode - Automatic theme switching based on system preference
- Responsive Design - Works on desktop, tablet, and mobile
- WebSocket Updates - Real-time updates without polling
Prerequisites: aMule running with External Connections (EC) enabled.
Available on Docker Hub.
docker pull g0t3nks/amule-web-controller:latestmkdir -p data logs
sudo chown -R 1000:1000 data logsservices:
amule-web:
image: g0t3nks/amule-web-controller:latest
user: "1000:1000"
container_name: amule-web-controller
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:
- aMule Host:
host.docker.internal(for aMule on host machine) - aMule Port:
4712(default EC port) - aMule Password: Your EC password
All-in-One Setup: If you need aMule in Docker too, see docker-compose.all-in-one.yml
# Clone repository
git clone https://github.com/got3nks/amule-web-controller.git
cd amule-web-controller
# 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 |
| GeoIP Setup | Display peer locations with MaxMind databases |
| Sonarr/Radarr Integration | Complete guide for *arr applications setup |
| 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
Docker: Can't reach aMule on host?
- Ensure
extra_hostsis set in docker-compose.yml - Use
host.docker.internalas the aMule host
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.





