Progetto TorrentBox Pi: Quando il lampone incontra BitTorrent

1

Quello che non si può creare con Raspberry Pi è soltanto quello che non si può immaginare. Credo che ormai tutti conoscono sia il lampone che BitTorrent, perciò… perchè non farli stare insieme? In questo articolo è spiegato passo passo come: Creare un TorrentBox con Raspberry Pi risparmiando soldi.
Per chi ancora non dovesse conoscere Raspberry Pi ecco un link utile dove è spiegato cosa è e come utilizzare la scheda per la prima volta.

Ecco in breve un riassunto su cosa è BitTorrent e come funziona:
BitTorrent è un protocollo di tipo peer-to-peer (P2P) utilizzato per lo scambio di file in rete.

A differenza dei tradizionali sistemi di file sharing, l’obiettivo di BitTorrent è di realizzare e fornire un sistema efficiente per distribuire lo stesso file verso il maggior numero di utenti disponibili sia che lo stiano prelevando (download), sia che lo stiano inviando (upload). Si tratta quindi di un meccanismo per coordinare in automatico il lavoro di numerosi computer, ottenendo il massimo beneficio possibile per tutti. Grazie a questo sistema, ogni nodo contribuisce alla diffusione del file. Maggiore è l’ampiezza di banda in uscita su quel nodo, maggiori sono le probabilità che il file venga diffuso verso altri nodi. Questo metodo ha anche il pregio di ridurre l’impatto della cosiddetta “leech resistance”.
BitTorrent permette di distribuire file di qualsiasi tipo. Il documento originale viene spezzettato in tanti piccoli frammenti che poi saranno ricomposti a destinazione. Le parti hanno dimensione fissa, la fingerprint calcolata con l’algoritmo SHA1 viene distribuita agli altri client per verifica mediante i network (come il Web).
Per tutti i dettagli su questo argomento vi congilio la lettura di questo articolo.

Per la sua natura intrinsecamente trasparente e per il notevole risparmio di banda che procura, BitTorrent è probabilmente il protocollo di condivisione dei file più utilizzato per scopi legali, che cioè non violano il diritto d’autore. Esempi di questo tipo di contenuti sono le distribuzioni GNU/Linux e i trailer cinematografici di grandi dimensioni. Tuttavia sempre più spesso BitTorrent viene utilizzato per lo scambio di file musicali, film e software coperti da copyright. A questo riguardo ci sono molte discussioni su chi sia perseguibile e in che termini secondo le leggi vigenti.
La privacy di chi utilizza BitTorrent non è tutelata perciò quello che può essere fatto per risolvere questo problema è utilizzare:
un proxy per la connessione del client che mascheri il vero IP dell’utente,
una rete di anonimato, come quella offerta dal programma Tor (in cui il proxy è comunque incluso),
una block-list degli indirizzi IP ritenuti malevoli da inserire nel client stesso (qualora esso supporti tale funzionalità),
uno speciale firewall come Peerguardian (ora convertito nel progetto Peerblock).
NB: in nessun modo tali indicazioni sono da considerarsi incitamento ad atti illeciti e/o illegali da parte dell’autore, della redazione e dello staff tutto (NdR).

Perciò è un sistema molto utile per scaricare qualsiasi tipo di file, ma per desistere dall’idea di scaricare dei file basta pensare che per scaricare diversi file si deve tenere il proprio computer acceso almeno una giornata intera.
Infatti un computer nella media consuma almeno 300W e perciò in 24 ore consumerebbe davvero tanta corrente.

Un modo estremamente economico per scaricare dei file Tramite BitTorrent è quello di utilizzare proprio un Raspberry Pi.
Infatti, oltre a costare soltanto 35$, la corrente che consuma è nettamente inferiore a quella che consumerebbe un computer ed inoltre occuperebbe un piccolo spazio.
Perciò la nostra TorrentBox Pi potrà rimanere eternamente accesa a scaricare qualunque cosa noi vogliamo.

Ecco cosa serve per creare la Versione 1.0 TorrentBox Pi:
1 Raspberry Pi;
Hard Disk con adattatore USB;
1 led verde;
1 led rosso;
1 pulsante per Reset;
1 ventola di raffreddamento, OPTIONAL;
1 alimentatore;
1 prolunga USB;
1 pennino wifi (opzionale);
1 scatola per collocare il lampone, l’hard disk, la ventola e i fili.

Per prima cosa bisogna assemblare la TorrentBox procedendo nel seguente modo.
Bisogna trovare una scatola (meglio se di alluminio o ferro) che permetta l’installazione del Raspberry Pi ed il resto in modo ottimale.
Un esempio potrebbe essere quello di recuperare il case di un ATX.
Adesso che abbiamo la nostra scatola c’è bisogno di adattarla secondo le nostre esigenze creando gli alloggi per Il Raspberry Pi e l’Hard Disk in modo tale da non farli muovere durante uno spostamento.
Posizionare la ventola in modo tale che possa raffreddare sia l’Hard Disk che il mini pc.
Dopodiché si può creare un frontalino dove posizionare i led di stato, il pulsante di RESET e almeno una porta USB.
Non c’è bisogno di installare un monitor in quanto l’applicazione che ho scelto per scaricare i torrent permette di caricarli da remoto tramite un browser qualunque o tramite smartphone Android.


- COLLEGAMENTI -
I collegamenti che bisogna effettuare tra il Raspberry Pi e l’hardware sono i seguenti:

- Tasto di RESET collegato ai pin P6 (vedi foto);
- collegare l’anodo (+) del led verde al pin 8 (GPIO14) del Raspberry Pi 
e il catodo al pin 6 (GND);
- collegare l’anodo (+) del led rosso al pin 1 (3.3V) del Raspberry Pi 
e il catodo al pin 6 (GND);
- collegare la prolunga usb da collocare frontalmente ad una porta USB;
- collegare l’Hard Disk all’altra porta USB del Raspberry Pi;

Adesso che tutto l’hardware è stato collegato bisogna installare il software.
In questa pagina si è parlato dei 5 migliori client torrent per Linux.
Secondo me il migliore è Transmission.
Infatti è possibile trovarlo su Linux e Mac OS X ed ha un’interfaccia nativa per Qt, GTK +, la linea di comando e l’interfaccia web.
Ma aspettate, c’è di più! Trasmission ha anche un sacco di strumenti di terze parti che funzionano ed interagiscono con il programma, compreso Transdroid – un client remoto per Android tramite il quale controllare la trasmissione dal telefono. La maggior parte delle distribuzioni Linux supporta il pacchetto trasmission e può anche essere installato di default su alcune tra le più famose.

Quasi sempre nelle reti casalinghe, il Router assegna ad ogni PC un indirizzo IP casuale che cambia ogni volta che il PC effettua un nuovo collegamento alla rete locale.
Prima di tutto quindi è importante impostare l’indirizzo IP del nostro Raspberry Pi da Dinamico a Statico così da sapere sempre a quale indirizzo IP raggiungerlo.
Per effettuare questa operazione dobbiamo vedere qual’è il BroadCast, l’Host e La Mask che possiamo conoscere digitando “ifconfig”.
Atre informazioni possiamo ricavarle da un computer che abbia come sistema operativo Windows aprendo Esegui=>cmd e digitando ipconfig.
Dopo aver appuntato questi indirizzi, possiamo proseguire nella configurazione facendo l’accesso come root (se non l’abbiamo già fatto) digitando “sudo –i”, e modificando il file di configurazione dell’ interfaccia network nel seguente modo:

auto lo

iface lo inet loopback

iface eth0 inet static

address 192.168.1.70 ==> L’indirizzo IP che vogliamo assegnare al nostro Raspberry Pi

netmask 255.255.255.0 ==> Quì la Netmask

gateway 192.168.1.254 ==> Quì inseriamo il Gateway del Router

network 192.168.1.0 ==> Quì scriviamo l’indirizzo del Network

broadcast 192.168.1.255 ==> Quì inseriamo il Broadcast

allow-hotplug wlan0

iface wlan0 inet manual

wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

iface default inet dhcp

digitiamo

nano /etc/network/interfaces

e modifichiamo il file.
Adesso bisogna aggiornare il database dei pacchetti con il comando:

sudo apt-get update

Dopo aver effettuato queste modifiche e dopo aver aggiornato il database dei pacchetti è possibile proseguire con l’installazione di Transmission, azione che potrebbe richiedere diversi minuti.
Per installarlo bisogna digitare:

sudo apt-get install transmission-daemon

Questo ha installato il demone del client (quello che farà avviare in automatico il client in fase di boot) e il client stesso.
Continuiamo digitando:

sudo apt-get install transmission-gtk

Quest’altro ha invece installato l’interfaccia grafica tramite la quale è possibile effettuare i settaggi in modo veloce.

Infatti, adesso che abbiamo installato l’interfaccia grafica del client, possiamo velocemente configurare la TorrentBox Pi.
Per effettuare la configurazione bisogna andare su MODIFICA=> PREFERENZE.
Si aprirà una finestra e ci si dovrà spostare nella scheda RICEZIONE per impostare la posizione di scrittura dei file scaricati.
Invece, per abilitare l’accesso al client anche tramite interfaccia remota bisogna spostarsi nella scheda WEB.
Mettiamo la spunta su “Abilitare il client web” ed anche su “Usare l’autenticazione”, spuntiamo invece “Consentire la connessione solo a questi indirizzi IP”.
Facendo questo si è già quasi alla fine della configurazione, adesso rimane soltanto da inserire Transmission tra le applicazioni che vengono avviate in fase di boot.
Per effettuare questa operazione si devono digitare ed eseguire i seguenti comandi:

mkdir ~/.config/autostart
touch ~/.config/autostart/transmission.desktop
sudo nano ~/.config/autostart/transmission.desktop

Alla fine premendo invio si aprirà il file che è stato appena creato che bisogna riempiere nel segunte modo:

[Desktop Entry]
Name=Transmission
Exec=transmission-gtk
Type=application

Usciamo salvando i cambiamenti.

Il TorrentBox Pi è pronto! Adesso può scaricare qualsiasi Torrent noi gli diciamo.

Come ho detto in precedenza un aspetto davvero interessante di Transmission è la possibilità di caricare ed avviare il download di Torrent direttamente da remoto.
Infatti penso che chi abbia uno smartphone non lo utilizzi esclusivamente per effettuare chiamate, ma credo proprio che lo sfrutti al massimo.
Perciò specialmente quando il sistema operativo installato sul proprio smartphone è Android, un sistema operativo Open Source, perchè non sfruttare ancora una volta le sue potenzialità per collegarsi al TorrentBox Pi ed avviare i download?
Ottimo direi!
Per eseguire queste operazioni prima si deve installare sul proprio smartphone un software per collegarsi da remoto a Transmission.
Molto velocemente può essere cercato questo software su Google Play, dove sono presenti diversi software per lo scopo tra quali probabilmente il migliore è “Remote Transmission”, un software completo e molto semplice da utilizzare creato da Guillaume Bouerat.

Questo è tutto!
Mi auguro di poter ampliare questo progetto, magari aggiungendo anche un display lcd per vedere lo stato dei download.

Alla prossima,
Ivan Scordato.

22 Comments

  1. Tiziano.Pigliacelli Tiziano.Pigliacelli 4 ottobre 2013
  2. IvanScordato Ivan Scordato 4 ottobre 2013
  3. Tiziano.Pigliacelli Tiziano.Pigliacelli 4 ottobre 2013
  4. IvanScordato Ivan Scordato 4 ottobre 2013
  5. Tiziano.Pigliacelli Tiziano.Pigliacelli 4 ottobre 2013
  6. IvanScordato Ivan Scordato 4 ottobre 2013
  7. Tiziano.Pigliacelli Tiziano.Pigliacelli 4 ottobre 2013
  8. IvanScordato Ivan Scordato 4 ottobre 2013
  9. IvanScordato Ivan Scordato 7 ottobre 2013
  10. Tiziano.Pigliacelli Tiziano.Pigliacelli 7 ottobre 2013
  11. IvanScordato Ivan Scordato 7 ottobre 2013
  12. IvanScordato Ivan Scordato 7 ottobre 2013
  13. Giorgio B. Giorgio B. 8 ottobre 2013
  14. IvanScordato Ivan Scordato 8 ottobre 2013
  15. alex272 alex272 8 ottobre 2013
  16. IvanScordato Ivan Scordato 11 ottobre 2013
  17. Giorgio B. Giorgio B. 16 ottobre 2013
  18. Giorgio B. Giorgio B. 16 ottobre 2013
  19. IvanScordato Ivan Scordato 17 ottobre 2013
  20. IvanScordato Ivan Scordato 17 ottobre 2013
  21. IvanScordato Ivan Scordato 4 luglio 2014
  22. Piero Boccadoro Piero Boccadoro 5 luglio 2014

Leave a Reply