Installazione di MLDonkey

In Debian Sarge Testing c'era il pacchetto mldonkey-server, abbastanza ben fatto (script start/stop funzionanti) è stato rimosso dalla distribuzione Testing, ma rimane in Debian Unstable e non dovrebbe avere dipendenze difficili da soddisfare. Consigliato.

La home page è http://mldonkey.org/. Download della distribuzione stabile, linkata staticamente da savannah.nongnu.org

Scompattato il file, presi i tre eseguibili principali e messi in /usr/local/bin/

Creare una directory vuota a nome dell'utente che dovrà eseguire il programma, entrare nella directory e metterci dentro il file servers.ini che contiene un elenco di server ai quali tentare la connessione. Eseguire mlnet. Vengono create le sottodirectory incoming e temp, inoltre vengono creati tutti i file di configurazione necessari. A questo punto si dirige il browser su http://localhost:4080/.

Si devono aprire alcune porte sul firewall, alcune alla rete locale (loc) altre a Internet (net). Controllare in donkey_expert.ini quale porta overnet_port viene usata, alla prima esecuzione ne viene scelta una a caso. questo è un esempio di configurazione per Shorewall:

ACCEPT  loc     fw     tcp     4000    # MLdoneky (telnet control)
ACCEPT  loc     fw     tcp     4001    # MLdoneky (GUI control)
ACCEPT  loc     fw     tcp     4080    # MLdonkey (web control)

ACCEPT  net     fw     tcp     4662    # MLdonkey (eDonkey TCP port)
ACCEPT  net     fw     udp     4666    # MLdonkey (eDonkey UDP port)
ACCEPT  net     fw     tcp     ????    # MLdonkey (Overnet file transfer)
ACCEPT  net     fw     udp     ????    # MLdonkey (Overnet searches)
ACCEPT  net     fw     tcp     6346    # MLdonkey (Gnutella)

Il controllo via telnet (porta 4000) e web (porta 4080) è accettato inizialmente solo da localhost, ma senza password! Per accettare il controllo da remoto mettere l'indirizzo IP autorizzato in downloads.ini (per indicare un'intera classe C mettere qualcosa del tipo 192.168.2.255):

allowed_ips = [
  "127.0.0.1";
  "10.0.1.2";]

Per imporre un minimo di sicurezza si potrebbero creare degli account ciascuno con una propria password, come minimo si imposta la password per l'utente di default admin, da interfaccia telnet:

> add_user admin pippo123

Gli account creati e gli hash delle password sono salvate in downloads.ini nella sezione users. A questo punto l'accesso via HTTP richiede l'autenticazione base, l'accesso via telnet sarà invece ancora libero, ma sarà necessario immettere la password prima di eseguire i comandi privilegiati:

> auth admin pippo123