Appunti su Gentoo Linux

Deluge

Deluge è un programma per scaricare file che usa il protocollo Bittorrent. In realtà è composto da diversi programmi: un server e diversi tipi di client. Il server permette a tanti utenti diversi, ovunque essi si trovino, di poter accedere a deluge e controllare gli scaricamenti, aggiungerne di altri, ecc... Insomma deluged permette di accedere al deluge che sta girando sul vostro pc, da qualsiasi parte del mondo.

Noi considereremo il caso di un server usato per scaricare. Installeremo quindi una versione minimale di deluge. Disabilitiamo tutte le use flag e abilitiamo solo la use flag webinterface

emerge deluge

I client per comandare il server sono tre: Gtk-UI (il client completo), Web-UI (l'interfaccia web) e Console-UI (l'interfaccia a riga di comando). Io tratterò solo il caso più sicuro, quello dell'interfaccia web. È più scomodo ma le funzioni sono le stesse e si può accedere al nostro server dovunque sia presente un browser e un collegamento ad internet.

Prima di tutto creiamo l'utente che potrà lanciare deluge

useradd -r -m -c "Deluge user" -d /dev/null -s /bin/false deluge
(viene creato l'utente e il gruppo deluge)

Prima di tutto va configurato il file /etc/conf.d/deluged:

DELUGED_USER="deluge"
DELUGEUI_START="true"
DELUGEUI_OPTS="-u web"

Dovete indicare prima di tutto l'utente sotto il quale girerà deluged e deluge. Infatti per motivi di sicurezza non possono girare con i permessi di root. Quindi ovviamente dovete mettere un utente realmente esistente sul server. Noi abbiamo messo l'utente deluge che avevamo creato poco prima. Quel "true" significa che, dopo il demone deluged, verrà avviato anche deluge-web, cioè deluge con l'interfaccia web.

Ora fate partire il demone e aggiungete lo script al runlevel di default. Così facendo deluged e deluge partiranno in automatico ogni volta che accenderete il pc.

/etc/init.d/deluged start
rc-update add deluged default
su --shell /bin/bash --login deluge
deluge -u console
config -s allow_remote True
exit

(facoltativo)
echo "<username>:<password>" >> ~/.config/deluge/auth

exit

/etc/init.d/deluged restart

Ora non resta che testare il collegamento da una macchina remota. Aprite un browser su un qualsiasi computer che abbia accesso alla rete e digitate l'indirizzo

http://192.168.1.1:8112

Ovviamente sostituite l'indirizzo IP locale 192.168.1.1 con l'IP locale del vostro server se vi trovate in una LAN oppure altrimenti l'url o l'IP statico del vostro server (vi potrebbe essere utile sapere in questo caso cosa è dyndns.org). Chiaramente se il server si trova in una rete locale, come spesso accade, bisogna fare in modo che il router indirizzi il traffico della porta 8112 al vostro server. Deluge incorpora l'UPnP quindi dovrebbe fare tutto da solo purché il vostro router supporti lo Universinal Plug and Play. Se vedete che non va forwardate la porta a mano.

Digitato l'url corretto vi apparirà una finestra dove vi verrà richiesta una password. Quella di default è "deluge" ma, ovviamente, vi consiglio di cambiarla immediatamente. Per cambiarla, prima entrate con la password deluge e poi nelle opzioni cambiate la password. Come vedete comandare deluge da remoto tramite il browser è più spartano e oltretutto gli utenti non sono differenziati, infatti tutti i torrent sono visti da chiunque acceda, non c'è una gestione multiutente. Inoltre l'utente con cui si scieglie di far girare il processo dovrà anche avere i diritti di scrittura dove vorrete salvare i file e i file creati avranno i permessi standard dell'utente scelto. Occhio quindi a scegliere bene utente e permessi. Questo però rimane il modo più sicuro e semplice.

Un'ultima dritta. Se per qualche motivo lo script per l'avvio del server deluged dovesse dire che è tutto ok ma voi non riuscite a connettervi più al vostro server è perché in effetti il vostro server non sta girando! Ve ne accorgete guardando i programmi in esecuzione. Troverete deluge ma non deluged. Per ovviare al problema fermate il servizio, cancellate i file di configurazione nella home dell'utente con cui viene lanciato il servizio (in pratica l'utente che avete scritto nel file /etc/conf.d/deluged) e fate ripartire il servizio:

/etc/init.d/deluged stop
rm -rf /home/<utente>/.config/deluge
/etc/init.d/deluged start

Vi avverto che in questo modo perderete tutti i file che stavate scaricando e uploadando.

Consiglio di mettere come cartella di download /home/deluge/downloads. Se avete una cartella pubblica (e magari anche condivisa nella LAN come spiegato nella sezione su Samba), potete crearci dentro una cartella chiamata per esempio __SCARICA__ dentro la quale è sufficiente mettere un .torrent e questo verrà scaricato!

da root:
mkdir /home/public/__SCARICA__
chown deluge /home/public/__SCARICA__
chmod g+w /home/public/__SCARICA__

Creata la cartella con i permessi giusti non resta che dire a deluge di scaricare i torrent in automatico. Basta collegarsi tramite l'interfaccia web (o qualsiasi altra) e cambiare le impostazioni in maniera opportuna.