Vai al contenuto

[Guida] Trasformare il Raspberry PI in un downloader torrent!

Inviato

http://www.nonsologaming.com/vd/rasptorrent.png

Qualche giorno fa abbiamo parlato di come configurare l'IP statico su Raspberry, oggi vediamo come installargli sopra il noto client torrent Transmission e renderlo accessibile da un altro PC attraverso un interfaccia web.

 

Transmission infatti integra al suo interno la funzionalità (disattivata di default) di piccolo server web che permette di monitorare tramite browser lo stato di download dei nostri file torrent, aggiungerne di nuovi, rimuoverne, etc... anche senza avere fisicamente accesso alla macchina.

Facciamo un esempio: siamo in giro con il nostro smartphone Android e ci viene in mente che è appena uscita la nuova distro Ubuntu. Ci sono due cose che potrebbero impedirci di scaricarlo direttamente da smartphone:

1) Il traffico dati non sufficiente: con tutte le principali tariffe internet per smartphone che offrono solo 1GB di traffico, scaricare 700-800MB e bruciarsi internet per il mese potrebbe non essere una buona idea.

Poi chi la sente la fidanzata se non riceve risposta ai messaggi su Whatsapp?

2) La connessione instabile: Il frequente cambio di IP del telefono non lo rende adatto a scaricare file di grosse dimensioni direttamente dal browser, ed usare un client torrent direttamente dal telefono non farebbe altro che ucciderci la batteria, anche se avessimo traffico dati a sufficienza.

 

La soluzione è semplice. Basterà usare lo smartphone per dire al Raspberry a casa di scaricarsi la iso di Ubuntu. Quando torneremo a casa, probabilmente il download sarà terminato da un pezzo... ed il nostro traffico internet mensile sarà salvo.

 

Se l'idea vi piace, ho preparato la bellezza di due procedure, che portano entrambe allo stesso risultato... la prima per i pigri, mentre la seconda per quelli che vogliono capire cosa è stato fatto o magari vogliono usare Transmission su un'altra distro.

 

Colleghiamo al Raspberry -prima dell'accensione- un drive USB che utilizzeremo per il download dei file.

 

Punto 1: Preparazione del sistema e installazione di Transmission

 

Procedura per i pigri:

  • Scaricate da qui il pacchetto "Raspbian torrent machine".
    In sostanza si tratta della distro "Raspbian - MS edition" con l'aggiunta di Transmission (preconfigurato) e dell'IP statico attivato di default.
  • Ripristinate il contenuto dell'immagine disco su SD con una delle procedure illustrate qua.

Fatto. Il Raspberry è pronto per mettere in crisi la vostra connessione ad internet.

Passate ora al punto 2 per sapere come accedere al Raspberry da un dispositivo remoto.

 

Procedura per quelli che vogliono sapere cosa è stato fatto:

Quello che dovremo fare è partire da una distribuzione Raspbian di base, configurare l'IP statico e installare/configurare Transmission a piacimento.

Non vi elencherò le istruzioni per installare un sistema Raspbian su SD solo perchè ne ho già parlato in questo articolo, ma se è la prima volta che prendete in mano un Raspberry non dovete fare altro che installare Raspbian per poi tornare su questo tutorial.

 

Mini-guida: Impostare un IP statico su Raspberry Pi (Raspbian)

A sistema Raspbian avviato, apriamo un terminale e digitiamo:

sudo leafpad etc/network/interfaces

Questo comando non fa altro che dire a leafpad (l'editor di testi) di aprire il file "interfaces" che si trova nella cartella /etc/network.

All'interno di questo file dovremo individuare questa riga:

iface eth0 inet dhcp

Di queste voci ci interessano "eth0" e "dhcp". Eth0 è l'interfaccia di rete alla quale le regole andranno applicate (in questo caso eth0 è la connessione cablata, per modificare l'interfaccia wireless -se presente- dovremo individuare la voce corrispondente), mentre dhcp è il protocollo di comunicazione che permette al router di assegnare dinamicamente un indirizzo IP libero ad un computer.

In pratica permette al router di comunicare col Raspberry anche se non ha ancora un indirizzo IP. Il Raspberry chiede un indirizzo IP a caso e il router gli dice: "guarda, il .100 è libero, prenditelo".

Siccome questo è quello che non vogliamo, cambieremo la voce "dhcp" in "static", aggiungendo anche le informazioni relative all'indirizzo IP che il Raspberry dovrà pretendere nella rete:

iface eth0 inet static

address 192.168.1.124

gateway 192.168.1.1

netmask 255.255.255.0

..dove "address" indica l'indirizzo IP desiderato, nel range di quelli permessi dalla rete, "gateway" l'IP del router e "netmask" la maschera di sottorete che in genere è 255.255.255.0.

Se volete che il Raspberry acquisisca un IP differente, non dovete fare altro che modificare "124" in quello che preferite (range 1-255) sotto la voce "address".

 

Salviamo il file, chiudiamo leafpad e riavviamo il Raspberry.

A questo punto possiamo passare all'installazione di Transmission.

Chi ha avuto a che fare con Ubuntu avrà già avuto modo di apprezzare la semplicità e le possibilità di personalizzazione di questo client torrent.

 

Apriamo quindi un terminale (su Raspberry) e aggiorniamo il database dei pacchetti con il comando:

sudo apt-get update

Al termine della procedura di aggiornamento del database possiamo procedere con l'installazione di Transmission:

sudo apt-get install transmission-daemon transmission-gtk

transmission-daemon installerà il demone del client (e le dipendenze, compreso il client torrent) mentre transmission-gtk installerà l'interfaccia grafica, che ci consentirà di mettere mano più semplicemente ai settaggi.

Per l'installazione sarà necessario aspettare qualche minuto, per cui prendetevela comoda.

Al termine troveremo la voce "Transmission" sotto il menù "Internet":

http://www.nonsologaming.com/vd/transmission_menu.png

 

Potremo già avviare il programma. Facciamolo.

Apparirà a schermo l'interfaccia di Transmission, e da qui potremo iniziare a personalizzare l'installazione. Apriamo il pannello impostazioni da Modifica->Preferenze

http://www.nonsologaming.com/vd/transmission_preferenze.png

...spostiamoci nella scheda "Ricezione" ed impostiamo la posizione di scrittura dei file scaricati:

http://www.nonsologaming.com/vd/transmission_drive.png

...poi andiamo su "Web" e mettiamo la spunta su "Abilitare il client web" per poter accedere al client anche tramite interfaccia remota.

Per aumentare la sicurezza, mettiamo la spunta su "Usare l'autenticazione" ed inseriamo delle informazioni di accesso a piacere.

Togliamo invece la spunta a "Consentire la connessione solo a questi indirizzi IP" per evitare che l'accesso all'interfaccia remota ci sia impedito se abbiamo un IP diverso da quelli in lista.

Con queste impostazioni, l'accesso sarà disponibile a chiunque abbia l'IP, username e password.

http://www.nonsologaming.com/vd/transmission_web.png

Ora finalizziamo il tutto mettendo transmission tra le applicazioni che si avviano all'accensione del Raspberry.

Per fare questo apriamo un terminale e digitiamo in successione:

http://www.nonsologaming.com/vd/transmission_startup.png

Dopo aver premuto invio all'ultima riga, si aprirà l'editor di testi Leafpad.

Riempiamo il file con queste informazioni:

http://www.nonsologaming.com/vd/leafpad_transmission.png

...dopodichè salviamo il file e chiudiamo l'editor. Transmission è ora avviato automaticamente ad ogni accensione.

 

Punto 2: Settaggio per l'accesso remoto

Passiamo sullo smartphone/tablet di turno.

Sul Play Store sono presenti diversi remote client per Transmission, ma tra quelli gratuiti penso che Remote Transmission di Guillaume Bouerat è davvero ottimo: Interfaccia pulita e ordinata, niente pubblicità ed in pieno stile Holo.

Aggiudicato.

http://www.nonsologaming.com/vd/transmission_app.png

All'apertura ci chiede subito i settaggi per l'accesso:

http://www.nonsologaming.com/vd/transmission_app1.png http://www.nonsologaming.com/vd/transmission_app2.png

Una volta fornite tutte le informazioni (IP locale per l'accesso da rete locale, DNS dinamico per l'accesso da rete esterna) siamo in grado da subito di iniziare ad aggiungere torrent al download. E' un invito a nozze.

http://www.nonsologaming.com/vd/transmission_app3.png http://www.nonsologaming.com/vd/transmission_app4.png

Ci procuriamo l'ultima distro di ubuntu dal sito releases.ubuntu.com e apriamo il torrent: l'integrazione è tale che il Remote Transmission riconosce il torrent, si apre e invia subito il file al Raspberry, in attesa di nostre istruzioni per l'avvio del download. Premiamo su "Add" ed il download partirà all'istante.

http://www.nonsologaming.com/vd/transmission_app5.png http://www.nonsologaming.com/vd/transmission_app6.png

Buon download a tutti!

PS: Devo comunque avvertirvi che nel caso abbiate una connessione molto veloce, usare una pendrive lenta in scrittura potrebbe rivelarsi un collo di bottiglia. Nel mio caso, il raspberry non riusciva a scrivere sulla pendrive i dati con la stessa velocità con la quale li scaricava. In pratica la pendrive era troppo lenta, e il Raspberry non faceva a tempo a scrivere quanto scaricato. L'unica soluzione nel mio caso è stato quello di usare un HDD usb al posto della pendrive.

 

Ma.. cosa succederebbe se installassimo sia Transmission che XBMC sullo stesso Raspberry?

  • Risposte 58
  • Visite 31k
  • Creato
  • Ultima Risposta

Miglior contributo in questa discussione

Featured Replies

Inviato
Grazie massijay. Ho visto che lui chiama il disco /nas. La mia chiavetta USB si chiama CHIAVE. La domanda è: quando monto la chiave devo dare /mnt/chiave? O /mnt/nas? So che sono sciocchezze, ma mi perdo in queste cose.

No, non serve che la chiami chiave. Il nome dell'hard disk o chiavetta usb non centra con il nome della directory in cui vuoi montarlo. Per esempio il mio hard disk si chiama "HDD 2TB" ma l'ho montato nella posizione /home/pi/hdd . Facendo in questo modo se io vado in /home/pi e apro la directory "hdd" trovo dentro tutti i file che ci sono nell'hard disk. Spero di essere stato chiaro :)

Inviato
Sei stato molto chiaro. Vedi, come ho scritto prima, mi perdo in un bicchiere d'acqua. Grazie mille. Spero di riuscire a fare tutto senza chiedere ulteriore aiuto.
  • 2 mesi dopo...
Inviato

Salve, ho appena montato su SD la versione modificata da te.

Purtroppo ho un problema, che riscontro anche con la distro pura scaricata dal sito ufficiale. Collego il mio HD esterno da 500GB (ovviamente, con alimentazione esterna) formattato in NTFS. Mi dice che il disco è in sola lettura, e se provo con tasto destro-proprietà a cambiare da "sola lettura" a "lettura - scrittura" mi restituisce l'errore "il filesystem è in sola lettura". Come risolvo questo problema?

 

Grazie infinite per la risposta :)

  • 4 mesi dopo...
Inviato

A me funziona tutto alla perfezione a livello di connessioni raspberry-pc-smartphone, ho però un problema più grave: I torrent, già testati su pc, segnano invece 0 peer e non cominciano mai a scaricare :/

 

EDIT: ho risolto, descrivo per chi avesse il mio stesso problema, per quanto riguarda il download che non partiva ho aperto le porre del modem come virtual server ed è partito, poi mi segnava la chiavetta formattata in NTFS come in sola lettura e l'ho sistemata con i seguenti comandi:

 

(le cose fra perentesi tonda non fanno parte dei comandi da dare ovviamente!)

sudo umount /PERCORSOCHIAVETTA (nel mio caso era /media/NOMECHIAVETTA)

sudo apt-get install ntfsprogs

sudo fdisk -l (per controllare "dov'era" la chiavetta, nel mio caso /dev/sda1, si vede dalle ultime righe dell'output)

sudo mount /mnt

 

ed infine per verificare in avere effettivamente i permessi

sudo mount (e da qui controllo a finaco di /dev/sda1 di avere fra le varie scritte dentro alla parentesi nella stessa riga "rw" che sta per read-write)

 

Adesso è l'una di notte e posso andare a dormire soddisfatto con il mio bel rpi che scarica silenziosamente^^ Linux certe volte sa davvero far arrabbiare ma quando va è una festa :)

Modificato da Drifting_King

  • 8 mesi dopo...
Inviato
Molto interessante questa guida, appena ho tempo lo provo a casa ;)
  • 5 mesi dopo...
Inviato
salve a tutti. seguita alla lettera la spiegazione. al momento di inserire i file torrent, me li accetta, il raspberry mi naviga, ma i torrent son tutti a zero peer. su wuin mi scarica. qui no. la porta è aperta. quale potrebbe essere la causa?
  • 3 mesi dopo...
Inviato

Nella guida hai scritto che è meglio un hard disk esterno piuttosto che la SD...

Forse è una domanda banale... Ci vuole con alimentatore o va bene alimentato da USB?

  • 1 mese dopo...
Inviato
Quale remote client per Transmission posso usare con l'iPhone?