Creare un nodo Bittorrent con una Raspberry Pi – Parte 2

Di - 11 October 2013 - in
Post image for Creare un nodo Bittorrent con una Raspberry Pi – Parte 2

Finalmente, Deluge sulla Raspberry Pi

È finalmente ora di installare sulla Raspberry Pi il nodo Bittorrent. I client bittorrent in circolazione per Linux e presenti anche su Raspberry Pi sono molti. Ne ho provati diversi negli ultimi mesi, ognuno con i suoi pro e i suoi contro, finché non sono approdato a Deluge, che inizialmente avevo snobbato non essendomi piaciuto anni fa (ultimamente utilizzavo qBittorrent, ma su Raspberry Pi mi crashava di continuo).

Quasi tutti i client ben fatti, e Deluge non fa eccezione, propongono per il controllo remoto una WebUI, ovvero un’interfaccia utilizzabile da browser. Ci si collega ad un indirizzo (in questo caso il nostro raspberrypi.local) da un browser su un’altra macchina della rete locale, e si ottiene una schermata che ricorda quella del programma vero e proprio e che permette di gestire i torrent. L’interfaccia WebUI di Deluge non è migliore delle altre: è piú funzionale della media, ma piú pesante e meno usabile.

Oltre alla WebUI, che in questa guida eviteremo persino di installare, Deluge ha un vantaggio enorme. Il programma vero e proprio non ha alcuna interfaccia: è un demone (servizio di sistema) che si occupa solo della gestione dei file via bittorrent. Assieme al demone, vengono fornite a scelta diverse interfaccie: quella su console testuale, la WebUI, l’interfaccia grafica, e altro.

Il bello è che il demone e l’interfaccia sono in grado di comunicare tra loro via Internet. Questo ci permette di installare sulla Raspberry Pi solamente il demone, mentre sui PC dai quali vorremo gestire i torrent installeremo l’interfaccia grafica.

l’effetto sarà sorprendente. Quando apriremo Deluge sul nostro PC ci sembrerà in tutto e per tutto di stare utilizzando un client Bittorrent locale, mentre in realtà staremo utilizzando la Raspberry Pi. Potremo quindi chiudere Deluge, e addirittura spegnere il PC e portarcelo via se è un portatile, mentre la Raspberry Pi continuerà silenziosamente e diligentemente a scaricare e ricondividere, mostrandoci i risultati.

Per prima cosa, quindi, dobbiamo installare il demone di Deluge, assieme all’interfaccia in riga di comando che ci sarà comoda per le prime configurazioni:

sudo apt-get install deluged deluge-console

Finita la procedura di installazione avviamo e terminiamo subito il demone, in modo che crei il file di configurazione degli utenti, cosí da modificarlo come vogliamo:

deluged
sudo pkill deluged

Il file di configurazione degli utenti permette di fare una semplice lista degli utenti (inventati a piacere, non c’entrano nulla con le utenze di sistema) che possono utilizzare il demone da remoto, e del relativo livello di permessi. Il livello può essere 1 (sola lettura, l’utente non può aggiungere torrent), 5 (utilizzo normale) o 10 (utilizzo normale e configurazione del demone). A meno che non vogliate configurare ogni volta tutto dall’interfaccia a caratteri, vi conviene creare almeno un utente di livello 10.

Copiamo per backup il file di configurazione creato dal demone, e modifichiamolo col solito editor nano:

cp ~/.config/deluge/auth ~/.config/deluge/auth.old
nano ~/.config/deluge/auth

Cancelliamone tutto il contenuto, e poi aggiungiamo un utente per riga, nel formato nome:password:livello. Ad esempio:

lorenzo:sfhso2o8:10
visitor:aefdf:1

È il momento di avviare di nuovo il demone, e di attivare il suo sistema di controllo remoto attraverso l’interfaccia a caratteri. Il comando per avviare l’interfaccia è deluge-console:

deluged
deluge-console

Nella console, digitiamo i seguenti comandi:

config -s allow_remote True
config allow_remote
exit

Terminiamo di nuovo il demone con:

sudo pkill deluged

Avvio automatico

Debian, come tutte le distribuzioni linux, ha un suo sistema per la gestione dei programmi in avvio automatico. Vediamo come attivare l’avvio automatico per il demone di Deluge.

È necessario uno piccolo script, da mettere nella directory /etc/init.d/, che contiene tutti gli script da eseguire come script di avvio automatico. Avendone trovato uno ben fatto, lo ho reso disponibile per scaricarlo, attraverso il comando wget:

sudo wget -O /etc/init.d/deluge-daemon http://www.lbreda.com/ups/deluge-daemon.txt
sudo chmod 755 /etc/init.d/deluge-daemon

Il secondo comando dà i permessi di sistema necessari allo script per essere eseguito.

Lo script ha bisogno di un piccolissimo file di configurazione, che al solito creeremo con l’editor nano:

nano /etc/default/deluge-daemon

Nell’editor, incollate questo testo:

# Configurazione per /etc/init.d/deluge-daemon

# Utente che esegue il demone
DELUGED_USER="pi"

# Il demone va avviato automaticamente?
RUN_AT_STARTUP="YES"

La seconda variabile può essere impostata a “NO”. In tal caso, il demone va avviato a mano (ma lo script ci è comunque utile per farlo nel modo il piú possibile pulito).

Configurato lo script, dobbiamo solo rendere eseguibile la configurazione, e dire al sistema che c’è qualcosa di nuovo da avviare, con i comandi:

sudo chmod 755 /etc/default/deluge-daemon
sudo update-rc.d deluge-daemon defaults

Possiamo avviare infine il demone con:

sudo service deluge-daemon start

Lasciamolo attivo per il resto della guida, ma se avessimo bisogno di fermarlo, il comando sarà:

sudo service deluge-daemon stop

Avviato il demone, possiamo scollegarci dalla Raspberry Pi con il comando exit per continuare il nostro lavoro dal PC da cui dovremo controllare Deluge.

Installazione dell’interfaccia grafica di Deluge

Se il computer da cui vi collegherete è Linux, troverete un pacchetto con un nome molto simile a “deluge-gtk”, e per installare l’interfaccia di Deluge vi basterà installare quello dal gestore pacchetti.

Chi non ha questo pacchetto nella propria distribuzione di Linux, o chi utilizza Windows o Mac, dovrà andare sul sito ufficiale di Deluge, scaricarlo ed installarlo con la solita procedura per i rispettivi sistemi.

Configurazione dell’interfaccia grafica

Installata l’interfaccia, apriamola e configuriamola per collegarsi alla nostra Raspberry Pi.

Aperto il programma, andiamo su Modifica > Preferenze e da lí sulla voce “Interfaccia”. Troveremo una finestra di questo genere:

È necessario togliere la spunta da “Abilita” sotto “Modalità classica”, per poi dare l’OK e chiudere il programma con File > Esci.

Riaprendo Deluge, verrà mostrato un pannellino che chiede a quale host collegarsi:

Clicchiamo su “Aggiungi”, e inseriamo i dati del nostro demone, con il nome utente con permessi di livello 10 e la relativa password:

Diamo l’OK, e cliccando “Connetti” saremo connessi al demone presente sulla Raspberry Pi. Aggiungendo torrent, quindi, li daremo da scaricare alla Raspberry Pi, e spegnendo il nostro computer questi continueranno ad essere in download. Inoltre, su qualunque altro PC della rete locale potremmo installare il client di Deluge e vedere lo stato dei download o aggiungerne di nuovi.

Prima di fare questo, però, è necessario configurare un’ultima cosa per il demone: è necessario dirgli che vogliamo scaricare i file sul nostro disco esterno.

Per farlo, apriamo di nuovo la configurazione di Deluge con Modifica > Preferenze, e nella sezione “Scaricamenti” impostiamo l’indirizzo della directory che avevamo creato per i download (/mnt/disco/bt-download):

Diamo l’OK ed iniziamo a scaricare!

Recuperare i file scaricati

Una volta scaricato un file, però, questo si troverà sul disco della Raspberry Pi, e andrà recuperato per aprirlo. Vedremo due modi per farlo. Il primo è piú semplice, e consente di scaricare i file in questione dalla Raspberry Pi al nostro computer. Il secondo è leggermente piú complesso, ma consente di aprire direttamente i file che sono sulla Raspberry Pi, senza scaricarli necessariamente.

Primo metodo: sftp

Quando abbiamo installato SSH, abbiamo automaticamente installato anche sftp, un server che permette di trasferire file da e verso la nostra Raspberry Pi. Per recuperare i file, quindi, basta avere sul PC un software che sappia collegarsi via sftp.

Ne esistono molti, in gran parte gratuiti. Quello che vedremo qui è FileZilla Client, disponibile per tutti e tre i principali sistemi operativi e gratuito.

Una volta installato FileZilla (su alcune distribuzioni Linux è presente nel gestore pacchetti), apriamo il programma e troveremo una struttura a due colonne. Nella colonna sinistra troviamo i file locali, mentre la colonna destra è vuota.

Apriamo il gestore siti con File > Gestore siti, e nel gestore clicchiamo su “Nuovo sito”. Come nome del nuovo sito possiamo mettere qualsiasi cosa, io ho messo Raspberry Pi. Come nome host va impostato l’ormai familiare raspberrypi.local, la porta deve essere la 22, il protocollo deve essere SFTP, il tipo di accesso “Normale”, il nome utente “pi” e la password quella di accesso alla Raspberry Pi:

Nella scheda “Avanzate” possiamo facoltativamente impostare una cartella locale che comparirà automaticamente nella colonna sinistra alla connessione, e una cartella remota, che è bene che sia quella dove scarichiamo i file: /mnt/disco/bt-download

Cliccando “Connetti”, troveremo nella colonna destra i file scaricati via Deluge, e potremo trasferirli con il semplice trascinamento verso la colonna sinistra.

Non è bene cancellare i file dalla colonna destra: va fatto da Deluge (tasto destro sul torrent, poi “rimuovi”).

Secondo metodo: Samba

Il secondo metodo consiste nell’utilizzare il protocollo di condivisione file e cartelle di Windows, noto tecnicamente come smb, che è ben supportato anche da Linux e Mac. Tutti e tre i sistemi sono in grado di vedere le risorse collegate via smb nelle rispettive “Risorse di rete”.

Su Linux, l’implementazione di smb si chiama Samba. Dobbiamo quindi installare e configurare il demone samba, che permetterà di condividere in rete come risorsa la directory che abbiamo dedicato a bittorrent.

Per installare il demone, dobbiamo di nuovo connetterci via SSH alla Raspberry Pi (capitolo “Collegarsi da remoto” della guida già linkata) e dare il comando:

sudo apt-get install samba

Finita la procedura di installazione, dobbiamo aprire il file di configurazione con il nostro solito editor:

sudo nano /etc/samba/smb.conf

Andando in fondo al file (il resto della configurazione va bene cosí com’è), aggiungiamo queste righe:

[Bittorrent]
  path = /mnt/disco/bt-download
  comment = File Bittorrent scaricati
  browseable = yes
  writeable = no
  public = yes
  guest only = yes

In questa configurazione ho supposto che non sia un problema il fatto che la cartella sia visibile da chiunque sia collegato alla rete locale. Se fosse un problema, andrà fatta qualche configurazione in piú aggiungendo delle utenze, e vi rimando per questo alla documentazione ufficiale o alle innumerevoli guide a riguardo.

Usciti dal file di configurazione col solito Ctrl+X seguito da S e due volte invio, riavviamo il demone, in modo che legga la nuova configurazione.

sudo service samba restart

Se non restituisce alcun errore (se invece lo fa controllate di aver copiato bene), abbiamo finito. Nelle risorse di rete dei computer locali troverete un nuovo computer, chiamato RaspberryPi, con dentro una condivisione chiamata Bittorrent con i file scaricati al suo interno.

Spegnimento

Un ultima nota: la Raspberry Pi, per quanto ciò possa sembrare allettante, non va mai spenta staccando il cavo di alimentazione. Facendolo, rischierete danni ai file che state scaricando, e a seconda di come è fatto il disco rischiate di rompere anche quello. La procedura corretta consiste nel connettersi via ssh, e dare il comando sudo halt, seguito da exit. Solo quando i led si saranno spenti, è possibile scollegare il cavo, per riaccenderla collegandolo.

Buon divertimento!

Leave a Reply

Lorenzo Breda Articolo scritto da

Studente di Informatica a Roma, si occupa di programmazione web sopratutto lato server, e di accessibilità del web. Utilizza e ama Debian GNU/Linux, e si interessa di fisica, fumetto, trekking e fotografia (gli ultimi due possibilmente abbinati). Collabora con Googlab da aprile 2012.

Contatta l'autore

Previous post:

Next post: