Skip to content

aMule è la versione per Linux di eMule, il client per le reti eD2k e Kad. Sul Raspberry Pi lo faccio girare senza interfaccia grafica, come servizio sempre acceso (amuled), e lo comando dal browser con un’interfaccia web che ho rivisto per renderla più comoda anche dal telefono e che metto a disposizione in fondo a questo articolo.

Cosa serve

  • Raspberry Pi con Raspberry Pi OS (Debian 12) e IP fisso
  • spazio su disco per i download
  • accesso SSH al Raspberry

Usa aMule solo per contenuti che hai il diritto di scaricare e condividere.

1. Le cartelle

mkdir -p ~/downloads/amule/{temp,incoming}

temp contiene i file in corso di scaricamento, incoming quelli completati.

2. Installazione

sudo apt update
sudo apt install amule-daemon amule-utils

amule-daemon contiene il servizio amuled e il server web amuleweb; amule-utils aggiunge alcuni strumenti da riga di comando, come amulecmd.

3. Primo avvio

Lancia aMule una volta, solo per fargli creare la cartella di configurazione ~/.aMule:

amuled

Si chiude subito con questo errore, ed è normale:

ERROR: aMule daemon cannot be used when external connections are disabled.

4. La password

Nella configurazione aMule non vuole la password in chiaro ma la sua impronta MD5. Calcolala così, mettendo la password che vuoi usare per l’interfaccia web:

echo -n 'LA_TUA_PASSWORD' | md5sum | cut -d ' ' -f 1

Il risultato è una stringa di 32 caratteri: tienila da parte per il passo successivo.

5. Configurazione

nano ~/.aMule/amule.conf

Il file è diviso in sezioni, con il nome tra parentesi quadre. Cerca queste voci e cambiale così, mettendo il tuo nome utente nei percorsi e l’impronta della password al posto di IMPRONTA_MD5:

[eMule]
Nick=NOME_A_SCELTA
MaxUpload=12
MaxDownload=36
Port=4662
UDPPort=4672
AddServerListFromServer=1
AddServerListFromClient=1
AutoConnectStaticOnly=1
TempDir=/home/TUO_UTENTE/downloads/amule/temp
IncomingDir=/home/TUO_UTENTE/downloads/amule/incoming
MinFreeDiskSpace=100
IPFilterURL=

[ExternalConnect]
AcceptExternalConnections=1
ECPassword=IMPRONTA_MD5

[WebServer]
Enabled=1
Password=IMPRONTA_MD5
Port=4711
Template=NOME_TEMPLATE
  • MaxUpload e MaxDownload sono i limiti di banda in kB/s: adattali alla tua connessione (0 vuol dire nessun limite).
  • Port (TCP) e UDPPort sono le porte per gli altri utenti. Se le apri sul router verso l’IP del Raspberry, ottieni l’ID alto e scarichi più velocemente.
  • AutoConnectStaticOnly=1 fa collegare aMule solo ai server della tua lista di server fidati (vedi il passo 8).
  • MinFreeDiskSpace è lo spazio minimo, in MB, che aMule lascia libero sul disco.
  • IPFilterURL resta vuoto: la lista degli indirizzi da bloccare la aggiorno con uno script a parte (passo 9).
  • Port=4711 nella sezione [WebServer] è la porta dell’interfaccia web, che non va aperta sul router.
  • Template è il nome dell’interfaccia web, che installi al passo 6.

aMule riscrive questo file quando si chiude: modificalo sempre con il servizio fermo.

6. L’interfaccia web

L’interfaccia predefinita di aMule è piuttosto datata. La mia è una versione rivista di AmuleWebUI-Reloaded di Matteo Ragni.

[DA COMPLETARE: link per scaricarla e breve descrizione delle modifiche]

Le interfacce di aMule stanno in /usr/share/amule/webserver, una cartella per ciascuna. Scarica l’archivio e copia la cartella lì:

cd /tmp
wget LINK_ARCHIVIO
unzip NOME_ARCHIVIO.zip
sudo cp -r NOME_TEMPLATE /usr/share/amule/webserver/

Il nome della cartella deve essere uguale al valore di Template nella configurazione.

7. Avvio come servizio

Indica al servizio con quale utente girare:

sudo nano /etc/default/amule-daemon
AMULED_USER="TUO_UTENTE"
AMULED_HOME="/home/TUO_UTENTE"

Poi abilitalo all’avvio e fallo partire:

sudo systemctl enable amule-daemon
sudo systemctl start amule-daemon
systemctl status amule-daemon

Con Enabled=1 nella sezione [WebServer], il servizio avvia da solo anche l’interfaccia web. Aprila dal browser all’indirizzo http://IP_DEL_RASPBERRY:4711 ed entra con la password scelta al passo 4.

8. Server e nodi

Per collegarsi alle reti aMule usa due file in ~/.aMule: staticservers.dat, la lista dei server fidati, e nodes.dat, i punti di ingresso della rete Kad.

Se arrivi da un’altra installazione di aMule o eMule, ferma il servizio e copia nella nuova ~/.aMule questi file:

  • staticservers.dat e nodes.dat;
  • clients.met, known.met e known2_64.met, per conservare statistiche e crediti;
  • ipfilter.dat, se vuoi avere subito la lista degli indirizzi filtrati.

I file già scaricati vanno invece copiati in ~/downloads/amule/incoming. Poi riavvia il servizio.

9. Manutenzione automatica

[DA COMPLETARE con gli script check-amule.sh e restart-amule.sh]

aMule, dopo giorni di funzionamento, tende a occupare sempre più memoria. Un riavvio notturno risolve. Apri il crontab di root:

sudo crontab -e

e aggiungi questa riga, che lo riavvia ogni notte alle 4:

0 4 * * * systemctl restart amule-daemon

Note

  • Nel settembre 2026 è uscita la versione 3.1 di aMule, che introduce una nuova interfaccia web e considera superato amuleweb, destinato a sparire nelle versioni future. La versione 3 però non è nei pacchetti né di Debian 12 né di Debian 13 (Trixie), e quindi neanche di Raspberry Pi OS: arriverà con la versione successiva di Debian. Fino ad allora si installa la 2.3, quella usata in questa guida.
  • Riferimenti: il README di Debian per amule-daemon e il progetto AmuleWebUI-Reloaded.
Torna su