Come trasformare il tuo Raspberry Pi in un Megalith di download sempre attivo

Fai la tua parte per la rete di distribuzione Linux globale costruendo un megalith dedicato, sicuro e in grado di scaricare torrent che utilizza a malapena 10W di potenza. Sarà, ovviamente, basato su un Raspberry Pi.

Fai la tua parte per la rete di distribuzione Linux globale costruendo un megalith dedicato, sicuro e in grado di scaricare torrent che utilizza a malapena 10W di potenza.  Sarà, ovviamente, basato su un Raspberry Pi.
Annuncio pubblicitario

Fai la tua parte per la "rete di distribuzione Linux" globale costruendo un megalith dedicato, sicuro e in grado di scaricare torrent che utilizza a malapena 10W di potenza. È possibile, e sarà, ovviamente, basato su un Raspberry Pi.

Download e seeding (fai seed, giusto? Le brave persone seminano almeno un rapporto 2.0) è un compito arduo per qualsiasi computer normale, e significa che stai assorbendo molta più energia di quella che dovresti essere dovendo lasciarla in durante la notte. Cosa succederebbe se potessimo scaricare questa attività su un Raspberry Pi a basso consumo, abbastanza piccolo da farcela sotto una pedana e con appena 10W di energia per fare tutto. Questo è esattamente quello che ti mostrerò come fare oggi.

Ecco il piano:

  • Configura un Raspberry Pi con un po 'di memoria USB e sposta l'unità di sistema su USB per prolungare la durata della nostra scheda SD.
  • Condividilo sulla rete.
  • Configura una VPN in modo che tutto il traffico venga instradato sulla VPN, in modo sicuro - e tutto si interrompe se tale connessione non riesce. Non vogliamo che l'ISP sappia quale distro Linux preferiamo.
  • Installa un client torrent gestibile in remoto, Transmission.

Sembra complicato, vero? Non più di qualche centinaio di comandi del terminale, te lo assicuro. Un sacco di questo si sovrappone al nostro Raspberry Pi NAS Trasforma il tuo Raspberry Pi in un NAS Box Trasforma il tuo Raspberry Pi in un NAS Box Hai un paio di dischi rigidi esterni in giro e un Raspberry Pi? Esegui un dispositivo di archiviazione collegato in rete economico ea basso consumo. Mentre il risultato finale certamente non sarà come ... Leggi di più tutorial, quindi se non sei così interessato al lato torrenting e VPN delle cose, potresti volerlo controllare.

Memoria USB

Iniziare con una nuova installazione di Raspian e connettere l'interfaccia Ethernet e collegare l'archiviazione USB (tramite un hub USB alimentato, o è probabile che si verificheranno errori in seguito come ho fatto io) - non è necessario che sia ancora formattato. Accedi in remoto con la combinazione di nome utente e password predefinita pi / raspberry, quindi esegui:

sudo raspi-config 

Cambia la quantità di memoria fornita sulla grafica a 16 megabyte: eseguiremo tutto senza headless, quindi non avrai bisogno di memoria grafica. Esci e configuriamo alcune partizioni sull'USB. Installeremo almeno due - uno da utilizzare per il sistema in modo da preservare la vita della nostra scheda SD, e l'altro per i download da memorizzare. Scopri prima quale unità è la tua USB.

 tail /var/log/messages 

Nel mio caso, è stato facile identificarlo come "sda". Con questo in mente, regola il seguente comando per accedere all'utilità fdisk sul dispositivo appropriato.

 sudo fdisk /dev/sda 

Premere p per elencare le partizioni correnti. Per eliminare quelli esistenti, premere d . Creare una nuova partizione primaria, con n, quindi p . Quando ti chiede la dimensione, inserisci + 8G . Ora vai avanti e crea un'altra partizione per i tuoi dati torrent (di nuovo, primari) o anche più partizioni se lo desideri. Quando hai finito, W scriverà la nuova mappa delle partizioni sull'unità.

Dopo aver scritto la nuova tabella, utilizzare i seguenti comandi per formattare le unità come linux ext4 . Utilizzare comandi aggiuntivi se si partiziona l'unità con più di due partizioni.

 sudo mkfs.ext4 /dev/sda1 sudo mkfs.ext4 /dev/sda2 sudo mkdir /mnt/systemdrive sudo mkdir /mnt/torrents sudo mount /dev/sda1 /mnt/systemdrive sudo mount /dev/sda2 /mnt/torrents df -h 

L'ultimo comando confermerà che le partizioni sono state montate correttamente. Successivamente, vogliamo copiare i dati della scheda SD nell'unità - questo estenderà la sua durata evitando operazioni di lettura / scrittura costanti alle cache, ecc. Installa rsync per fare ciò:

 sudo apt-get install rsync sudo rsync -axv / /mnt/systemdrive 

Questo avvierà una lunga serie di file di copiatura, quindi per un po 'ti divertirai con le dita.

 sudo cp /boot/cmdline.txt /boot/cmdline.orig sudo nano /boot/cmdline.txt 

Regola questo per leggere:

 dwc_otg.lpm_enable=0 console=ttyAMA0, 115200 kgdboc=ttyAMA0, 115200 console=tty1 root=/dev/sda1 rootfstype=ext4 elevator=deadline rootwait rootdelay=5 

Successivamente, modifica fstab per montarli all'avvio.

 sudo nano /etc/fstab 

Aggiungi le seguenti linee:

 /dev/sda1 / ext4 defaults, noatime 0 1 /dev/sda2 /mnt/torrents ext4 defaults 0 2 

Commentare la seguente riga che si riferisce alla scheda SD:

 #/dev/mmcblk0p2 / ext4 defaults, noatime 0 1 

Riavviare il Pi con

 sudo reboot 

Smistato! Ora il tuo Pi monterà sia una partizione di dati di root che la tua partizione di torrent

Condividi The Drive: Samba

Assicurati di essere prima aggiornato, rimuovi i pacchetti di Wolfram Mathematica che mi hanno sempre causato problemi quando esegui assolutamente qualsiasi cosa sul Pi (qualcosa che ha a che fare con il kernel di matematica), quindi installa i pacchetti richiesti

 sudo apt-get update sudo apt-get dist-upgrade sudo apt-get remove wolfram-engine sudo apt-get install samba samba-common-bin sudo nano /etc/samba/smb.conf 

Premi CTRL-W e digita "sicurezza" per trovare la seguente riga e commentarla.

 security = user 

Aggiungi quanto segue per definire la nostra cartella condivisa torrent:

 [torrents] comment = torrents path = /mnt/torrents valid users = @users force group = users create mask = 0775 force create mode = 0775 security mask = 0775 force security mode = 0775 directory mask = 2775 force directory mode = 2775 directory security mask = 2775 force directory security mode = 2775 browseable = yes writeable = yes guest ok = no read only = no 

Riavvia il servizio Samba:

 sudo service samba restart 

Successivamente dobbiamo aggiungere un utente al sistema. Sostituisci "jamie" con il nome utente desiderato con il quale accedi per accedere alla cartella condivisa. I seguenti comandi ti chiedono quindi di creare le tue password, la prima a livello di sistema e la successiva a Samba. Modifica gli ultimi comandi se hai chiamato il tuo disco dati qualcos'altro (ed ecco un primer sulla proprietà dei file in linux).

 sudo useradd jamie -m -G users sudo passwd jamie sudo smbpasswd -a jamie sudo chown pi:users /mnt/torrents chmod g+w /mnt/torrents 

Test: dovresti riuscire a connetterti da un'altra macchina sulla tua rete e leggere / scrivere file nella nuova condivisione. Controllare che compaiano anche su Pi con ls dalla cartella / mnt / torrents .

Configurazione VPN

Installa i pacchetti richiesti

 sudo apt-get install openvpn resolvconf 

Scarica i file di configurazione di OpenVPN dal tuo provider. Puoi controllare un elenco delle migliori VPN qui, ma assicurati di trovarne uno compatibile con il torrente. Uso privacy.io personalmente, ma l'accesso Internet privato è un'altra opzione popolare all'interno delle community di torrent. Ad ogni modo, dovresti essere in grado di prendere un file ZIP di configurazioni e un certificato. Metti questi nella tua cartella torrents, all'interno di una directory chiamata openvpn . Modificare il seguente comando in modo che punti al file di configurazione, che sarà quasi certamente diverso da privacyIO.ovpn

 sudo openvpn --client --config /mnt/torrents/openvpn/privacyIO.ovpn --ca /mnt/torrents/openvpn/privacy.ca.crt --script-security 2 

openvpn-connection-uscita

Se ottieni un risultato come questo, sei bravo. Premi CTRL-C per terminarlo. È fastidioso dover digitare la password, però, e abbiamo bisogno di alcune modifiche per aggiungere script di avvio e arresto. Modifica il file di configurazione (di nuovo, sostituisci privacyIO.ovpn con il file .ovpn fornito dal tuo provider)

 nano /mnt/torrents/openvpn/privacyIO.ovpn 

Modificare prima la seguente riga. Fondamentalmente stiamo dicendo che memorizzeremo il nome utente e la password in un file chiamato pass.txt

 auth-user-pass /mnt/torrents/openvpn/pass.txt 

Salva e digita:

 nano /mnt/torrents/pass.txt 

Inserisci il tuo nome utente nella prima riga e la password nel prossimo. Salva e prova a connetterti di nuovo:

 sudo openvpn --client --config /mnt/torrents/openvpn/privacyIO.ovpn --ca /mnt/torrents/openvpn/privacy.ca.crt --script-security 2 

Non dovresti essere disturbato per accedere in questo momento. Sìì! Quindi, aprire di nuovo il file di configurazione e aggiungere le seguenti righe:

 route-up /mnt/torrents/openvpn/route-up.sh down-pre down /mnt/torrents/openvpn/down.sh 

Questo specifica alcuni script che creeremo in seguito per eseguire attività quando la connessione si presenta correttamente o va giù. Assicurati di essere nella directory mnt / torrents / openvpn, quindi esegui quanto segue:

 nano route-up.sh 

Aggiungi il seguente che garantisce che il traffico venga inviato tramite la VPN:

 #!/bin/sh iptables -t nat -I POSTROUTING -o tun0 -j MASQUERADE 

Quindi, crea lo script down.sh

 nano down.sh 

Inserisci:

 #!/bin/sh iptables -t nat -D POSTROUTING -o tun0 -j MASQUERADE 

Infine, vogliamo che uno script apra la connessione, invece di avviarlo dalla riga di comando come abbiamo appena fatto.

 nano vpn.sh 

Incolla nel comando di avvio VPN di prima. Nel caso tu abbia dimenticato:

 sudo openvpn --client --config /mnt/torrents/openvpn/privacyIO.ovpn --ca /mnt/torrents/openvpn/privacy.ca.crt --script-security 2 

Ora, rendi tutti questi script eseguibili e avvia lo script VPN all'avvio.

 chmod +x down.sh chmod +x route-up.sh chmod +x vpn.sh sudo nano /etc/rc.local 

Aggiungi la seguente riga prima della riga 0 di uscita . Lo stiamo solo dicendo per avviare questo script all'avvio.

 /mnt/torrents/openvpn/vpn.sh 

Infine, riavvia nuovamente il sistema.

ifocnfig-check-vpn

Accedi di nuovo ed esegui ifconfig . Saprai che funziona se vedi una voce per tap0 (o tun0), e sei in grado di arricciare una pagina web con successo:

 curl //www.makeuseof.com 

Il client Torrent

Quasi lì ora. Infine, installeremo Transmission, che è leggero e ha una buona interfaccia grafica web. I seguenti comandi installano, quindi interrompono il daemon, poiché è necessario prima configurarlo, quindi apre il file delle impostazioni per la modifica.

 sudo apt-get install transmission-daemon sudo /etc/init.d/transmission-daemon stop sudo nano /etc/transmission-daemon/settings.json 

Cambia "rpc-authentication-required" in false; cambia "rpc-whitelist" per includere la tua subnet locale, ad esempio:

 "rpc-whitelist": "127.0.0.1, 10.0.1.*",  

Aggiungi o modifica i seguenti se già presenti:

 "download-dir": "/mnt/torrents", "watch-dir": "\/mnt\/torrents\/", "watch-dir-enabled": true, "umask": 2,  

Successivamente, modifica il file di avvio del daemon stesso per risolvere alcuni problemi di autorizzazione.

 sudo nano /etc/init.d/transmission-daemon 

Cambia USER = daemon di trasmissione in USER = root . Ricarica il daemon.

 sudo service transmission-daemon reload 

Infine, installeremo avahi-daemon per configurare il networking bonjour / zeroconf, il che significa che non avremo bisogno di usare l'indirizzo IP del Pi per accedervi da un browser - invece saremo in grado di usare raspberrypi.local indirizzo.

 sudo apt-get install avahi-daemon 

Supponendo che il tuo nome host sia il predefinito (raspberrypi, ma può essere modificato usando raspi-config), vai a:

http: //raspberrypi.local: 9091 / trasmissione / web /

Innanzitutto, controlla che il tuo IP torrent sia mascherato correttamente attraverso la VPN. Scarica il file di test torrent da TorGuard - il grafico di download sembra un annuncio, ma non lo è - e rilasciatelo nella cartella condivisa di torrent.

il check-torrent-ip

Abbiamo già configurato Transmission per guardare questa cartella per i nuovi torrent, quindi dovrebbe essere aggiunta immediatamente. Vai pure e lascia cadere alcuni torrent legali di Linux.

trasmissione-torrent-ip-check-risultati

Il controllo IP torrent dovrebbe restituire un errore, insieme all'indirizzo IP rilevato. Assicurati che non sia il tuo IP di casa - se lo è, la VPN non è stata impostata correttamente. Per impostazione predefinita, tutti i torrent che si eliminano nella cartella verranno rinominati in .added e un file .part dovrebbe essere creato fino al termine del trasferimento. Verifica questo è il caso nella tua cartella condivisa.

guida condivisa

Questo è tutto! Ora disponi di un Pi molto potente, sicuro e con download di torrent, lasciando la tua workstation disponibile per cose migliori. Ora potresti voler aggiungere un server UPnP allo streaming multimediale nella rete o utilizzare BitTorrent Sync per creare il tuo cloud storage Crea il tuo cloud storage con Raspberry Pi e BitTorrent Sync Costruisci il tuo cloud storage con Raspberry Pi e BitTorrent Sincronizzazione Non credere all'hype: il Cloud è tutt'altro che sicuro. Ma non temere: ora puoi implementare la tua piattaforma di cloud storage privata, illimitata e sicura. Leggi di più . Quali funzionalità aggiungerai?

In this article