aMule docker container with dynamic leech protection (DLP) support
50K+
Source Repository: https://github.com/minnyres/docker-amule-dlp
aMule is an eMule-like client for the eDonkey and Kademlia networks. This project maintains docker containers for the aMule fork amule-dlp, which supports dynamic leech protection (DLP). Only aMule daemon and Web UI are enabled, while the GUI components are disabled in the container. To control aMule, use aMule GUI for remote connection or use your Web browswer to visit the Web UI.
Inspired by the work of tetreum, tchabaud and ngosang.
Supported architectures:
The recommended way is to use docker-compose. Create and edit the file docker-compose.yml as the template
version: '2.1'
services:
amule:
container_name: amule
image: minnyres/amule-dlp:latest
restart: unless-stopped
network_mode: host
environment:
- UID=1000
- GID=1000
- WEBUI=bootstrap
- ECPASSWD=amule-passwd
- WEBPASSWD=amuleweb-passwd
- TIMEZONE=Asia/Shanghai
- RECURSIVE_SHARE=yes
volumes:
- <config>:/config
- <downloads>:/downloads
- <temp>:/temp
Then, start the container with the command
docker-compose up -d
The default port to connect with aMule GUI and aMule CMD is 4712, and the default port for aMule Web UI is 4711.
In the volumes section, some parameters need to be replaced by the paths on the host system:
<config> - the directory for configuration files<downloads> - the directory for downloaded and shared files<temp> - the directory for incomplete download filesPlease carefully read the notes on the variables:
| Variable | Meaning | Notes |
|---|---|---|
| UID | User id | Given by echo $UID on the host system |
| GID | Usergroup id | Given by echo $GID on the host system |
| WEBUI | Web UI theme | Can be default, bootstrap, adaptable or reloaded |
| ECPASSWD | Password for external connection with aMule GUI or aMule CMD. | This setting is only necessary when you run aMule for the first time, or want to change the password. |
| WEBPASSWD | Password for aMule Web UI. | This setting is only necessary when you run aMule for the first time, or want to change the password. |
| TIMEZONE | Time zone | |
| RECURSIVE_SHARE | Whether to recursively share the files in the sub-folders of the path <downloads> | Can be yes or no |
To use bridge network, one needs to manually define port mapping as the template below. Note that UPnP is not supprted under bridge network.
version: '2.1'
services:
amule:
container_name: amule
image: minnyres/amule-dlp:latest
restart: unless-stopped
network_mode: bridge
ports:
- "4711:4711"
- "4712:4712"
- "24662:24662"
- "24665:24665/udp"
- "24672:24672/udp"
environment:
- UID=1000
- GID=1000
- WEBUI=bootstrap
- ECPASSWD=amule-passwd
- WEBPASSWD=amuleweb-passwd
- TIMEZONE=Asia/Shanghai
- RECURSIVE_SHARE=yes
volumes:
- <config>:/config
- <downloads>:/downloads
- <temp>:/temp
Meanings of the ports:
4711 - port for aMule Web UI4712 - port for remote connection with aMule GUI and aMule CMD24662 - standard client TCP port24672 - extended client UDP port24665 - extended server request UDP portThe port numbers can be modified in aMule setting.
This project also provides an image for official aMule. To run the latest official release v2.3.3 without DLP, just change the image option
image: minnyres/amule-dlp:official-2.3.3
The settings of aMule are stored in the file <config>/amule.conf. If the file already exists, aMule will use the existing configuration file. Otherwise, aMule will create a new configuration file according to the default settings.
To view and change the settings, one can connect to aMule with aMule GUI. Note that aMule GUI does not support to change the Web UI theme and password for external connection, and it is recommended to set the two options by docker-compose.
Content type
Image
Digest
sha256:64d3f9f0c…
Size
9.1 MB
Last updated
over 1 year ago
docker pull minnyres/amule-dlp