Tutti noi conosciamo aMule non è vero?!!! Bene… allora non servono spiegazioni in merito. Allora perchè questo
articolo? Perchè voglio mostrarvi, da una parte la semplice installazione di aMule come client, dall’altra come creare un piccolo aMule Server per poter scaricare dal nostro server casalingo e collegarci da remoto attraverso il client. Molto utile se vogliamo controllare o aggiungere download da remoto.
Vediamo come allora…
Installazione Client
Per installazione client intendo aver aMule sul proprio Desktop come se fosse un classico programma di download, quindi avere sia il demone che il client sulla stessa macchina. Per prima cosa procediamo con l’installazione lanciando da terminale il comando:
$ yaourt -Sy amule
per chi invece utilizza come ISP FastWeb è presente su AUR il pkg di adunanza, installabile con il comando:
$ yaourt -Sy amule-adnza
Per avviare aMule troviamo il collegamento in menù delle applicazioni -> Internet.-> aMule.
Installazione come Demone
Avere aMule come demone sul nostro Server ci offre molti vantaggi, come la possibilità di poter utilizzare aMule su un server privo di ambiente grafico, la possibilità di poter accedervi da remoto da qualsiasi client ecc.
Installiamo amule con il comando:
$ sudo pacman -S amule
creiamo al termine dell’installazione l’utente con cui faremo “girare” il demone:
$ sudo useradd -m -d /srv/amule -s /bin/bash amule
loghiamoci con l’utenza appena creata attraverso il comando:
$ sudo su amule
una volta loggati lanciamo:
$ amuled --ec-config $ exit
inseriamo quando richiesta la password temporanea e usciamo premendo i tasti “CTRL + C“.
Creiamo a questo punto l’md5 della nostra password che ci permetterà di collegarici da remoto al server. Questo con il comando:
$ echo -n <password> | md5sum | cut -d ' ' -f 1
dove <password> è la tua password. Modifichiamo il file di configurazione con il nostro editor preferito:
$ sudo vim /srv/amule/.aMule/amule.conf
e modifichiamo le direttive:
AcceptExternalConnections=1
ECPort=<numeroporta> # la porta dove sarà in ascolto il server ECPassword=<md5> # l'md5 della nostra password creata poco fa
salviamo e applichiamo i permessi alla direcory /srv/amule con il comando:
$ sudo chown -R amule.amule /srv/amule
Ora non ci rimane altro che creare lo script del demone. Per fare questo creiamo il file con il comando:
$ sudo touch /etc/rc.d/amuled
e modifichamolo con il nostro editor preferito aggiungendo le seguenti righe:
#!/bin/bash DAEMON=amuled USER=amule . /etc/rc.conf . /etc/rc.d/functions case "$1" in start) stat_busy "Starting $DAEMON" su "$USER" -l -s /bin/sh -c "$(printf "%q -f>/dev/null" "/usr/bin/amuled" )" if [ $? = 0 ]; then add_daemon $DAEMON stat_done else stat_fail exit 1 fi ;; stop) stat_busy "Stopping $DAEMON" killall --quiet --ignore-case "/usr/bin/amuled" if [ $? = 0 ]; then rm_daemon $DAEMON stat_done else stat_fail exit 1 fi ;; restart|force-reload) $0 stop sleep 4 #1 is not enough $0 start ;; *) printf "Usage: %q {start|stop|restart|force-reload}\n" "$0" >&2 exit 1 ;; esac exit 0
Salviamo e rendiamolo eseguibile con il comando:
$ sudo chmod +x /etc/rc.d/amuled
A questo punto non ci rimane altro che avviare il demone con il comando:
$ sudo /etc/rc.d/amuled start
Per avviarloin modo automaticao aggiungerlo semplicemente nell’array DAEMONS nel file di configurazione /etc/rc.conf dopo la voce network.
DAEMONS=( network amuled ... )
Installiamo nel Client aMule e apriamo aMuleGUI inserendo IP del server dove risiede il demone, la porta specificata e la password.
Se tutto è andato nel verso giusto ci siamo connessi al server aMule e possiamo scaricare tranquillamente. Chiudendo il client il nostro server continuerà a scaricare.
L’unico difetto è che tutti i file completati avranno i permessi dell’utente amule e quindi il nostro utente non potrà accedervi. Per ovviare ci sono due metodi:
- spostarli nella nostra home con utenza root e applicare i permessi della nostra utenza;
- un piccolo script in bash che controlla la presenza i file completi e li sposta in automatico per noi.
ecco il mio script inserito nel crontab dell’utente root:
#!/bin/bash amule_dir=/srv/amule/.aMule/Incoming dest=/home/<username>/amule tempdir=/home/<username>/amule/.temp count=`ls $amule_dir | wc -l` if [ ! -d $dest ]; then mkdir $dest fi case $count in 0) exit ;; *) if [ ! -d $tempdir ]; then mkdir $tempdir fi mv $amule_dir/* $tempdir chown -R <username>:users $tempdir mv $tempdir/* $dest rm -rf $tempdir ;; esac
Cambiate <username> con il vostro nome utente ed il gioco è fatto. Ogni n minuti controllerà la directory /srv/amule/.aMule/Incoming e se troverà file li sposterà nella vostra home.
Buon Download a tutti.