Raspberry Pi: torrentbox automatica

Nel precedente post ho spiegato cos’è un Raspberry Pi e come installare il necessario per farlo funzionare. E ora? E ora vediamo come realizzare una torrentbox, o download hub, o come vi pare a voi: un computer che scarica torrent e lo fa in maniera automatica.

– Ehi Jeby, ma scaricare Torrent non è illegale?

Mio puntigliosissimo amico, la risposta è che dipende da cosa scarichi, in generale scaricare torrent non è illegale, ciò che è illegale è condividere e diffondere materiale coperto da copyright, come ci dice l’articolo 171-ter della Legge del 22 aprile 1941 n° 633.

– Ehi Jeby, ma allora la tassa sul giga che paghiamo come equo compenso alla SIAE?

Ehm… beh, non addentriamoci oltre… dopo il disclaimer sulla legalità, manca solo quello per porre attenzione sui rischi delle procedure qui illustrate: userete un sacco di sudo seguiti da comandi strani, fate attenzione o rischiate di far danni 😉

Detto ciò, ecco una serie di appunti utili per realizzare la download station torrent box o quel che vi pare, utilizzando un Raspberry Pi connesso al router e con appiccicato un HD usb o un disco di rete Samba, il tutto senza monitor e senza tastiera, così da ridurre al minimo l’interazione ed evitare gli sprechi.

Lo schema sarà più o meno questo: vedremo come montare un HD o un disco di rete su cui scaricare torrent tramite Transmission e automatizzare il download attraverso Flexget.

Login Automatico

Dato che il Pi verrà utilizzato senza periferiche di input, dobbiamo fare in modo che il login dell’utente principale avvenga automaticamente, senza bisogno ogni volta di loggarci a mano. Questo potrebbe essere un problema di sicurezza nel caso qualcuno entrasse in casa vostra e decidesse di collegare improvvisamente un monitor e una tastiera al Pi 😀

Rinchiuso il Pi nella cassaforte, assumendo che il vostro utente principale si chiami Pi (o anche no) e che il vostro sistema sia Raspbian (o anche no) ecco cosa dovete fare.

  1. Raggiungete via SSH il vostro Pi
  2. digitate sul terminale il comando sudo nano /etc/inittab . Nano è un text editor utilizzabile da riga di comando
  3. Scorrete giù (usando le frecce o ctrl+V) fino ad individuare una linea che fa più o meno così: 1:2345:respawn:/sbin/getty 115200 tty1
  4. aggiungete un # prima di 1:2345:respawn:/sbin/getty 115200 tty1
  5. appena sotto questa linea aggiungete questa (vale il copia e incolla, ma attenti alle combinazione di tasti di Nano) 1:2345:respawn:/bin/login -f pi tty1 </dev/tty1 >/dev/tty1 2>&1
  6. Usate la combinazione di tasti ctrl+X per uscire da Nano e quindi digitate y (o s) per salvare il file

Fatto!

Montare un disco esterno

Come si monta un disco sul RasPi? Dipende. Partiamo dal presupposto che vogliate appiccicare un disco USB. In questo caso avete due opzioni a livello “hardware”:

  1. Avete un disco esterno dotato di alimentatore di corrente
  2. Avete un disco da 2.5″ alimentato via USB: in questo caso dovete avere un hub USB dotato di alimentatore di corrente

questo perché il RasPi di per sé si ciuccia gran parte della corrente che gli arriva dall’alimentatore e alle porte USB dà solo i canonici 500 mAh che non sono sufficienti a far girare gli HD esterni.

Ammesso che il disco abbia la corrente di cui ha bisogno, collegatelo all’usb e verificate il nome del dispositivo. In Raspbian il dispositivo verrà mostrato in /dev/sd*$ dove * è una lettera che indica il numero di dispositivi usb collegati, mentre $ è il numero delle partizioni sul disco usb. Ad esempio un disco con 2 partizioni comparirà in /dev/sda1 e /dev/sda2. Per visualizzare i dischi collegati usate il comando:

sudo blkid

In /dev viene mostrato l’hardware e la sua gerarchia, ma non si possono fare operazioni sui file o accedervi. Per farlo bisogna creare un “punto di mount”, ovvero una cartella vuota in cui verrà rappresentato il contenuto del disco che sarà dunque accessibile. Quindi, create una cartella dove vi pare, il posto più “intelligente” sarebbe creare una sottocartella in /media o in /mnt ma voi potete crearla dove vi pare. Per farlo, usate il comando:

sudo mkdir /mnt/comevipare

fatto ciò, montare la partizione 1 del primo disco usb inserito è un gioco da ragazzi e si fa così:

sudo mount -o uid=pi,gid=pi /dev/sda1 /mnt/comevipare

/dev/sda1 è l’hardware da montare, /mnt/comevipare è il punto di mount, uid e gid sono gli identificativi dell’utente e del gruppo a cui consentire le operazioni di “mount” del disco e se non avete fatto nulla di strano coincidono con quelli predefiniti sul pi. Ovviamente, modificate il comando secondo le vostre esigenze. Fatto ciò, navigando in /mnt/comevipare potete vederne il contenuto e smanacciarci dentro.

Cosa manca? Volete che il disco sia caricato al boot. Niente di più facile. Se digitate

sudo nano /etc/fstab

vi apparirà la tabella delle partizioni a cui dovete aggiungere una riga tipo questa:

/dev/sda1 /mnt/comevipare ntfs rw,defaults 0 0

in questo caso, quello a cui bisogna fare attenzione è il tipo di filesystem. Io ho scritto ntfs e va bene nel caso montiate un disco formattato in ntfs, ma potrebbe essere fat, ext2, ext3 o altro. I tipi di filesystem disponibili in fstab sono:

ext2 ext3 ext4 reiserfs xfs jfs smbfs iso9660 vfat ntfs swap auto

ce ne sono anche altri. L’opzione rw invece assicura i diritti di lettura e scrittura.

Attenzione: se il disco è formattato ntfs, dovrete installare i relativi driver per la lettura:

apt-get install ntfs-3g

Dubbi? Domande? usate google o approfondite qui. Ora avete un disco dove scaricare la robaccia via torrent.

Se volete montare un disco SMB, c’è qualche passo in più. Prima di cominciare: ovviamente il disco deve essere accessibile al RasPi in qualche modo, attraverso il network locale. Quindi, poniamo che il disco di rete sia accessibile ad un indirizzo tipo 191.168.0.111 e che vogliate montare la cartella DISCO_RETE che sta in cima all’albero gerarchico. Insomma quello che volete raggiungere è tutto ciò che sta dentro a 192.168.0.111/DISCO_RETE.

Bisogna in primo luogo creare un file che contiene le credenziali di accesso al disco di rete. Potete crearlo dove volete, la cosa più (s)comoda è crearlo in una cartella di sistema dove difficilmente vi ritroverete a smanacciare. Esempio:

sudo mkdir /root/smb/
sudo chmod 700 /root/smb/
sudo nano /root/smb/credentials

dentro il file credentials dovete scrivere:

username=nomeutente_della_condivisione_samba
password=password_della_condivisione_samba

salvate e ora create la directory di mount. Può essere ovunque, ad esempio:

sudo mkdir /media/sambashare

adesso è il turno di modificare il file fstab:

sudo nano /etc/fstab

a cui andrete ad aggiungere la seguente riga

//192.168.0.111/DISCO /media/sambashare cifs credentials=/root/smb/credentials,sec=ntlm,rw,iocharset=utf8,uid=1000,gid=1000 0 0

dove vedete ovviamente uno schema simile a quello già visto in precedenza per montare il disco USB. Quello che cambia è che stavolta il device da montare è un disco di rete e il filesystem è cifs. Va inoltre specificato il file delle credenziali. L’user id e group id (uid gid) sono gli stessi di prima: invece che 1000 potete anche scrivere pi in entrambi i casi, 1000 vuol dire solo che è il primo utente, e probabilmente l’unico sul vostro RasPi.

L’opzione sec=ntlm indica il tipo di “security mode” e sarebbe ridondante, poiché ntlm è il valore default, però dopo l’ultimo aggiornamento del sistema senza questa opzione il mount del disco di rete fallisce sul mio RasPi. Per provare se tutto funziona fate

sudo mount -a

e verificate che nella cartella /media/sambashare ci sia tutto quello che vi serve

ls -la /media/sambashare

Perfetto. Se volete approfondire il discorso SMB e fstab, fate un salto qui, mentre per approfondire le opzioni di mount dei filesystem CIFS date un occhiata al manuale di mount.cifs.

Installare Python-dev

Perché installare Python? Perché sì. O anche perché tre quarti degli script e dei software per quello che volete fare sul Pi sono fatti con Python. In realtà Python è già installato, quello che vi serve sono i dev tools. Perché? Per avere dei sistemi di installazione facili e veloci. Installeremo anche i setuptools, come giustamente ci suggerisce Herick nei commenti. Si fa così:

sudo apt-get install python-dev
sudo apt-get install python-setuptools

Fine. Adesso potete installare pip, ovvero un sistema di gestione ed installazione dei pacchetti python molto intelligente, più intelligente dell easy_install che avete a disposizione dopo aver installato i dev tools di python. Per installare pip si fa così:

sudo easy_install pip

OPTIONAL: installare Virtualenv  (molto consigliato)

Fatto questo forse vorrete installare Virtualenv. Che cos’è virtualenv? Per dirla brutalmente, è uno strumento con cui creare ambienti di librerie python “ermetici”. È utile quando volete installare tanti programmi scritti in python che hanno bisogno delle stesse librerie ma aggiornate a versioni diverse. Ad esempio mettiamo che il software Pippo abbia bisogno della libreria Pluto con numero di versione <=2. Installando Pippo, il sistema di gestione installerà anche Pluto 1.9. Poi metti caso che vuoi installare anche topolino, che però vuole Pippo in versione >= 2. Allora il sistema sovrascriverà la vecchia installazione di Pluto aggiornandola alla 2.3 ed ecco che Pippo darà errore ogni volta che lo fate girare. Soluzione? Si duplica. Virtualenv creerà degli “ambienti virtuali” (delle cartelle) contententi python nella versione che vi pare e tutte le librerie e dipendenze necessarie per il software che ci andate ad installare, senza che queste vadano ad intaccare le installazioni globali o quelle in altri ambienti. Vediamo cosa significa e come fare. Per prima cosa si installa virtualenv

sudo pip install virtualenv

quindi si crea la cartella degli “ambienti”. Per esempio, mettendo caso che vi troviate al percorso della vostra home:

mkdir envs

che creerà la cartella /home/pi/envs. Quindi si usa virtualenv per creeare gli ambienti, così:

sudo virtualenv --distribute envs/pippo
sudo virtualenv --distribute envs/topo

a questo punto dentro ogni ambiente potete installare il programma desiderato. L’unico modo per essere sicuri di stare installando nell’ambiente giusto è richiamare pip (o easy_install) con il suo percorso assoluto:

sudo /home/pi/envs/pippo/bin/pip install Pippo
sudo /home/pi/envs/topo/bin/pip install Topolino

ogni volta che vorrete richiamare “Pippo” lo dovete far richiamando il percorso completo

/home/pi/envs/pippo/bin/pippo

o quel che è.

C’è anche un altro modo più comodo per attivare l’ambiente, ovvero il comando source:

source envs/pippo/bin/activate

in questo modo non dovete più richiamare il percorso completo. Purtroppo spesso non funziona, sul mio RasPi non funziona mai. Il primo metodo è più noioso ma funziona sempre 😉

Adesso, se volete, potete installare tutti i software Python che volete in questa cartella. Tra gli altri, ad esempio, tvnamer e subliminal (che hanno dipendenze simili ma con versioni discordanti)

Bisogna dire che virtualenv duplica solo se è necessario. La maggior parte delle librerie viene semplicemente linkata con un symlink a quelle di sistema. Per approfondire virtualenv potete partire da qui o ancora meglio da qui.

Installare Transmission-daemon e Transmissionrpc

Transmission è il client BitTorrent più semplice e funzionale oggi disponibile. Nasce come software solo per Mac ma la sua progettazione azzeccata ha fatto sì che si sia evoluto e diffuso grandemente in tutto il mondo *nix e non solo. Noi andremo ad installare un “demone” di transmission, ovvero un programma che gira in background senza interfaccia grafica. Per avere il controllo della situazione ci serviremo, da remoto, di un’interfaccia web o di un’app, entrambe raggiungibili dopo aver installato l’apposito modulo sul RasPi.

Per prima cosa installiamo il demone:

sudo apt-get install transmission-daemon

e aggiungiamo l’account transmission-daemon a quelli associati al nostro utente:

sudo usermod -a -G debian-transmission pi

dove “pi” è l’utente del RasPi

fatto ciò, andiamo a creare delle cartelle in cui poter scaricare i file completi e gli incompleti. Le mettiamo sul disco USB o su quello di rete mettendo a posto anche i permessi di lettura e scrittura, insomma una cosa del genere:

sudo mkdir /mnt/dovevipare/complete
sudo mkdir /mnt/dovevipare/incomplete
sudo chmod 770 /mnt/dovevipare/complete
sudo chmod 770 /mnt/dovevipare/incomplete

ok, ora facciamo partire il demone di transmission e poi blocchiamolo nuovamente:

sudo service transmission-daemon start
sudo service transmission-daemon stop

in questo modo il demone ha creato i vari file di configurazione, tra cui il file in cui inserire le nostre preferenze. Si tratta di un file di testo, o meglio un file “json” e si modifica digitando:

sudo nano /etc/transmission-daemon/settings.json

ci sono un sacco di voci preimpostate, la struttura del file e il significato delle voci si possono trovare qui. Quello che interessa a noi è dire al programma dove scaricare le cose ed eventualmente aggiungere un nome utente e password con cui proteggere l’accesso all’interfaccia web. Le cose da modificare sono:

download-dir: /mnt/dovevipare/complete
incomplete-dir: /mnt/dovevipare/incomplete
incomplete-dir-enabled: true
peer-port-random-on-start: true
rpc-password: passwordascelta
rpc-username: ilnomeutente
rpc-whitelist-enabled: false

ok, ora potete far ripartire il demone:

sudo service transmission-daemon start

e da qualunque browser web potete andare su indirizzopi:9091/transmission/web/ e avere un’interfaccia di controllo del demone che gira sul Pi: “indirizzopi” sarà una cosa del tipo 192.168.0.222 se siete dentro alla rete domestica, ma con servizi di routing del DNS dinamico (tipo: dynDNS) e aprendo le porte giuste sul router, potete accedervi anche da fuori dalla rete domestica.

L’unica cosa che manca è installare il modulo python transmissionrpc. Questo serve per dare accesso al demone ad applicazioni di terze parti, tra cui applicazioni di interfaccia remota, come ad esempio transmission remote gui sul desktop o Gearshift su Android, ma anche il software per l’automazione dei download, Flexget, che installeremo tra poco. Installare transmissionrpc è facile come un

sudo pip install transmissionrpc

ecco fatto, tutto pronto. Tente presente che di default il demone di transmission si avvierà al boot, c’è un apposito script in /etc/init.d già configurato per voi 🙂

Installare Flexget

Siamo arrivati quasi alla fine. Che cos’è Flexget? Flexget è un software meraviglioso che fa quello che io ho sempre sognato: prende automaticamente roba da varie sorgenti, la filtra secondo le nostre esigenze, e la dà in pasto ad  un programma per l’ottenimento dei contenuti. Detta così fa schifo, riprovo citando il sito ufficiale:

FlexGet is a multipurpose automation tool for content like torrents, nzbs, podcasts, comics, series, movies, etc. It can use different kinds of sources like RSS-feeds, html pages, csv files, search engines and there are even plugins for sites that do not provide any kind of useful feeds.

Esempio idiota: andate su un qualunque torrent tracker e cercate Ubuntu. Prendete il feed rss della ricerca e inseritelo nel file di configurazione di Flexget, dite a Flexget di scaricare tramite Transmission e ora, se tutto funziona, ogni volta che spunta una nuova distribuzione di Ubuntu su quel tracker, Transmission la scaricherà. Sostituite il feed di ricerca di Ubuntu con quello che vi fornisce ad esempio ShowRSS e pensate a cosa potrebbe succedere.

Per fare sì che la magia funzioni bisogna per prima cosa installare Flexget e poi modificare il file di configurazione. Installare Flexget è banale:

sudo pip install flexget

la modifica del file di configurazione è da mal di testa! Qui c’è una guida passo passo, mentre qui ci sono delle “ricette” già pronte. Io vi faccio vedere una configurazione semplicissima per scaricare via torrent tutto quello che proviene da un feed rss contenente torrent. Il file va creato in una cartella che di default è si chiama .flexget e sta nascosta nella home del pi. Potete crearla così:

sudo mkdir /home/pi/.flexget

il passo dopo è creare e riempire il file di configurazione:

nano /home/pi/.flexget/config.yml

dentro ci va qualcosa del genere:

schedules:
- tasks: [task1, task2, task3....]
interval:
hours: 3

– tasks: task5
interval:
weeks: 1

tasks:
task1:
rss: http://blablabla/vostrolink/rss
accept_all: yes

transmission:
host: localhost
port: 9091
username: nomeutente_transmission
password: password_transmission

il file così com’è non funziona!!!! Però vi dà una traccia di come può essere impostato il file di configurazione.

C’è una prima parte che assegna gli intervalli di esecuzione dei vari task e poi una parte in cui vengono elencati i task. Ad ogni compito bisogna assegnare un nome, un input (in questo caso gli rss), un filtro (o nessuno, accettando ogni contenuto) e un output, ad esempio indirizzando il risultato del filtro a Transmission.

Ci sono in realtà miliardi di cose che potete fare con Flexget, moltissimi filtri, tipi di input e così via. Vi consiglio vivamente di dare un’occhiata alla pagina dei plugin e alle pagine di tutti i plugin elencati, a quella della configurazione e alle ricette già pronte. C’è un mondo da scoprire!

Per controllare che il file di configurazione si formattato correttamente (attenti a come indentate!!!) potete dare il comando

flexget check

e se tutto è ok potete fare un test

flexget --test execute

e quindi far partire / verificare / fermare il demone di flexget

flexget daemon start -d
flexget daemon status
flexget daemon stop

Se volete far partire automaticamente il demone di Flexget al boot potete farlo modificando la tabella di cron

crontab -e

aggiungendo una riga come questa

@reboot flexget daemon start -d > /dev/null 2>&1

probabilmente c’è un modo più elegante ma io non lo conosco.

Fate attenzione che se (come me) avete installato Flexget in virtualenv, ogni volta che richiamate  il comando flexget lo dovete fare attraverso il suo percorso completo, quindi ad esempio invece di

@reboot flexget daemon start -d > /dev/null 2>&1

avrete

@reboot /home/pi/envs/flexget/bin/flexget daemon start -d > /dev/null 2>&1

e così via 🙂

Conclusioni

In questo post avete visto come sia possibile effettuare il login automatico al RasPi, montare dischi USB e dischi condivisi attraverso il protocollo SMB e avete visto come sia possibile installare Transmission, controllarlo da remoto, e utilizzare Flexget per automatizzare lo scaricamento dei contenuti. A latere, è stato presentato virtualenv come metodo per non incasinare le installazioni di software python, come ad esempio subliminal, tvnamer o lo stesso Flexget. Si tratta più che altro di appunti e non di una guida completa ed esaustiva: sta a voi approfondire, sperimentare e magari commentare aggiungendo suggerimenti e modifiche.

Nella prossima puntata: minidlna!

’nuff said

  • Herik

    ciao, manca una riga per installare pip:

    apt-get install python-setuptools

    • jeby

      Grazie 🙂 aggiunto!

  • Herik

    A me non scriveva sul disco NTFS, mancava il supporto: “apt-get install ntfs-3g”
    un altro casino è che il Mac mi formatta i dischi con una partizione GPT iniziale, quindi avevo un bel cercare di usare /sda1 😉

    • jeby

      adesso sto scrivendo una guida per utilizzare dischi formattati in EXT4 e montare il disco da UUID 😉

  • Pingback: Time Machine via RasPi | Jeby's Blog()

  • frizzi

    Ciao! Complimenti per il lavoro. Qui c’è un errore? “Poi metti caso che vuoi installare anche topolino, che però vuole Pippo in versione >= 2” Per me è corretto così: “Poi metti caso che vuoi installare anche topolino, che però vuole Pluto in versione >= 2”

  • inzirio

    ciao, un gran bel lavoro! Sto usando il tuo blog come riferimento per raspPi… Ho un suggerimento/domanda.

    Facendo un test con transmission mi dava permission denied per le cartelle di download… Da ciò che ho letto in rete pare che ciò sia dovuto ai permessi dell’albero delle cartelle. Insomma, transmission dovrebbe avere i permessi di lettura e scrittura su tutto l’alvero e quindi il comando andrebbe cambiato in ‘sudo chmod -R 770 /mnt/’, ma ovviamente questo va ad influire sui permessi di tutto il disco usb…
    Hai qualche suggerimento?

    • jeby

      Ciao,
      Cambiali solo alla cartella di download non a tutto il disco:

      sudo chmod -R 777 /mnt/percorso/download

      Dovrebbe bastare, non c’è bisogno di cambiarli a tutto l’albero

      • inzirio

        ottimo, con 777 va, che fesso non c’avevo pensato 🙂

        Grazie!

  • Bella guida 😉

  • Benz

    Spettacolare! era proprio quello che cercavo. Perchè ho il HDD collegato alla usb sul router. Quindi dovrei riuscire a far quello che voglio e collegarmi da remoto. Chissà se avro tempo !! ma

    Python-dev e Virtualenv non sono estremamente necessari da installare. e per montare l hdd samba con

    Transmission-daemon e Transmissionrpc
    come si deve fare?

    • jeby

      ciao, nella guida c’è scritto come montare il disco SMB. Una volta inserito il percorso in fstab (esempio: /media/discoSMB) basta modificare il file di configurazione di transmission ed inserire lì il percorso.

      Virtualenv non è necessario ma consigliato soprattutto se installi altri software python.

      • Benz

        Ciao, si nella guida cè scritto (premesso che il hdd è collegato via usb al router) e non ho credenziali per entrare. Quindi ho fatto come riportato ” come montare un disco SMB” e quindi modificato il indirizzo IP, poi ho provato sudo mount -a ma nulla non funziona

        • Benz

          Scusami, ho fatto tutto ma non ho messo le credenziali e su indirizzo ip ho messo quello del mio hdd. e invece che DISCO ho scritto Volume1 (cosi si chiama la cartella all’interno o come visto su windows)

          • jeby

            ok, vediamo un attimo.
            1. Sei sicuro che il disco sia accessibile liberamente nel network?
            2. controlla di avere cifs-utils installato:
            digita nel terminale:
            dpkg -s cifs-utils
            dopo l’invio dovresti avere un messaggio tipo:
            Package: cifs-utils
            Status: install ok installed

            3. Se non è installato installalo con sudo apt-get install cifs-utils
            4. Verifica l’uid e il gid del tuo utente con il comando “id”. Nel caso dell’utente default pi digita
            id pi
            e dovresti avere che il uid e il gid sono 1000
            5. su fstab prova con
            //192.168.0.111/Volume1 /media/sambashare cifs guest,uid=1000,gid=1000,iocharset=utf8 0 0
            6. monta con
            sudo mount -a
            7. verifica cosa c’è in /media/sambashare con
            ls -la /media/sambashare

          • Benz

            Ciao! sei un grande! ci sono riuscito. La colpa era la mia , era tutto giusto ma avevo sbagliato su gid avevo inserito uno zero in più e altre cavolate. adesso devo fare il login automatico all’avvio e l’accesso remoto e via!!!

          • Benz

            Ora se non erro, dovrei aprire la porta 9091 per quel indirizzo ip cosi mi posso collegare da remoto , dico bene?

          • jeby

            Esattamente: devi fare port forwarding della porta 9091 sull’IP del raspberry. Se vuoi accedere da remoto o hai un IP pubblico fisso (dubito), oppure devi usare un servizio di dns dinamico tipo dynDNS

          • Benz

            Essi, sono uno di quelli che ha il ip statico perchè uso tecnologia wimax quindi devo farmi aprire la porta.

          • Benz

            Fatto , funziona!!
            Ora sarebbe da togliere che finito il download va comunque in upload e il login automatico. Per il resto è ok, cè anche xdcc per debian ? simile a torrentbox?

          • Benz

            Funziona tutto perfettamente, tranne quando va via la corrente , la cosa strana è che l ip interno della rasp e tutto il resto è statico , quindi non cambia, configurato anche sul router. Ogni volta quindi devo riaccedere al file di configurazione e risalvare il file e rimontare il samba…bha

          • jeby

            Che strano! Io per non complicare le cose ho settato l’assegnamento statico dell’IP del Pi dal router, e non sul Pi. In pratica quando il Pi è connesso al router, il router riconosce l’indirizzo MAC del Pi e gli assegna un IP prestabilito

          • Benz

            Si, infatti è quello che ho fatto, mi sono spiegato male, ho indicato il MAC e quindi l’indirizzo ip che se si riavvia il router non deve cambiare ip
            Comunque la microsd credo che ci sia qualche settore danneggiato
            ho dovuto rifare tutta la pappardella dall’inizio , da debian ecc ecc. che palle!
            Ora, cè un sistema per fare una copia 1:1 della microsd ??

          • jeby

            ci sono un paio di metodi. Su linux e su Mac puoi usare il comando dd. Per Mac esiste anche un tool con interfaccia grafica, chiamato PiCloner.

            Su Windows il tool più consigliato è Win32DiskImager, mai utilizzato, quindi boh.

          • Benz

            boh…infatti win32diskimager l’ho usato per metter debian. Non credo che faccia altro.
            Non saprei come fare perchè non so come è ripartita la scheda, anche perchè avrà partizioni linux che windows non vede

          • jeby

            li legge, li vede come file .img
            Almeno, credo:
            http://www.raspberrypi.org/forums/viewtopic.php?f=91&t=26463

          • Benz

            Ah giusto, cè scritto pure. grazie!!

  • Bobby

    Ciao, a me da errore perché non ho spazio libero a sufficienza. Ho collegato una pen drive da 32 gb formattata in hfs plus è tolto il journaled. La pen drive è vuota e quindi non capisco come mai mi segni così, se provo a forzare il riavvio riparte per qualche mega poi si ferma. Nella cartella incomplete mi ha salvato il file e quindi non capisco dove stia il problema!
    Scusa se non son stato abbastanza chiaro e grazie se riesci ad aiutarmi

    • jeby

      ciao, non ho capito bene il problema… ma perché usi una chiavetta formattata hfs+? prova a formattarla FAT32 o (meglio) ext3 e vedere se funziona 🙂

      • Bobby

        ciao son riuscito con la hfs (uso questa perché la uso anche sul mac). volevo anche chiederti come fare per evitare che trasmission si avvii da solo all’accensione del rasp. perché quando avvio il rasp senza la pendrive dove ho le cartelle di download mi riparte il download da capo. grazie

        • Roby

          Anche io volevo usare una pendrive. Per caso occorre lo stesso alimentare il raspberry con alimentatore esterno o va bene l’alimentazione della porta usb?

  • ccalboni

    Ciao! Sto provando a seguire questa guida. Quando creo il file di configurazione di Flexget con nano, mi dà accesso negato quando provo a salvarlo (non avendolo avviato con sudo). Se lo avvio con sudo però poi non Flexget non riesce a lavorarci. Hai suggerimenti?

    • jeby

      Ciao, probabilmente c’è un errore nei permessi. Assegna come owner l’utente sotto cui gira flexget, ad esempio (ammesso che “pi” sia l’utente)

      sudo chown pi:pi config.yml

      verfica anche che flexget abbia i permessi per scrivere nella cartella dove si trova il file config.

      Trucchetto: puoi usare sudo per modificare il file e “fingerti” utente non root, così:

      sudo -u pi nano config.yml

      se vuoi specificare anche il gruppo

      sudo -u pi -g pi nano config.yml

      in alternativa prova a lanciare flexget come root, ma giusto per vedere se funziona.

  • Herik

    Dal mac trovo molti più peer che dal raspi!

  • Massimiliano Adamo

    Proveró sicuramente flexget. Transmission fa il suo lavoro ma è scarno abbastanza e non ha delle cose essenziali, quale ad esempio lo scheduler per impostare velocità diverse ad orari diversi.
    Su un normale computer consiglierei di usare deluge, connesso dal client remoto, ma è scritto ibn python e USA troppe risorse su raspberry. Su rasperry consiglio rtorrebt + rutorrent

  • giacomo

    Ciao! Grazie mille per questa guida! Volevo chiederti, è utilizzabile (vedo che è passato un po’ di tempo dalla sua stesura) sul raspberry nuovo?
    Se ho capito bene, serve a creare un raspberry che scarica automaticamente torrent su nu hard disk usb o su un hard disk in rete, E’ possibile usarlo a questo punto anche come mediacenter?

    grazie e complimenti ancora!

  • giacomo

    Ciao! Grazie mille per questa guida! Volevo chiederti, è utilizzabile
    (vedo che è passato un po’ di tempo dalla sua stesura) sul raspberry
    nuovo?
    Se ho capito bene, serve a creare un raspberry che scarica
    automaticamente torrent su nu hard disk usb o su un hard disk in rete,
    E’ possibile usarlo a questo punto anche come mediacenter?

    grazie e complimenti ancora!

    • jeby

      Esatto, sei può usare tranquillamente sul raspberry nuovo. Puoi usarlo anche come media center, non ti aspettare però prestazioni brillanti se contemporaneamente sta facendo tanta altra roba 😉

      • giacomo

        si può limitare i download simultaneii?

        • jeby

          sì, direttamente dalle impostazioni di Transmission: nel file json di configurazione oppure, più facilmente, dall’interfaccia web

          • giacomo

            grazie mille jeby

  • giacomo

    Ciao! Sto seguendo la guida ma ho rsicontrato due problemi:

    -Nel “Login Automatico” il mio file è vuoto, non c’è niente, e quindi non riesco a trovare la riga che indichi. Dove sbaglio?

    -Nel “Optional” qunado arrivo al comando: sudo virtualenv –distribute envs/pippo
    mi dice che non conosce il comando virtualenv. Dove sbaglio?

    -Infine neanche il comando: sudo pip install flexget mi va a buon fine. Dove sbaglio?

    – Che versione di raspbian mi consigli? Forse ho sbagliato li, ho messo quella lite.

    Se mai risucirò a portare a termine questa guida fatta molto bene (sono io non in grado ), come posso aggiungere anche il mediacenter e usarlo anche come lettore? Va installata l interfaccia grafica?

    Scusa le mie mille domande

    grazie mille

    Giacomo

    • giacomo

      Nessuna idea?

  • Benz

    Ciao ragazzi, ormai uso questo servizio da credo due anni. A parte che qualche volta (quando va via la corrente) mi tocca nuovamente ridar i comandi sudo mount -a e ls -la /media/sambashare ( e qualche volta devo fermare il servizio daemon e farlo ripartire). Attualmente sono fermo alla versione 2.52, vedo che l’ultima è la 2.92 Cè modo di aggiornare manualmente? perdo qualche dato?

  • Benz

    Scusate ma oltre a torrentbox e possibile accedere da remoto con FTP?