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

Come trasformare il tuo Raspberry Pi in un Megalith di download sempre attivo / Fai da te

Fai la tua parte per il globale “Rete di distribuzione Linux” costruendo un megalite dedicato, sicuro, 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 seme, 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 per tutta 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 la 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 invece.

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.

coda / var / log / messaggi

Nel mio caso, è stato facile identificare come “sda”. Con questo in mente, regola il seguente comando per accedere al fdisk utilità sul dispositivo appropriato.

sudo fdisk / dev / sda

stampa p per elencare le partizioni correnti. Per eliminare quelli esistenti, premere d. Crea una nuova partizione primaria, con n, poi p. Quando ti chiede la taglia, entra +8G. Ora vai avanti e crea un'altra partizione per i tuoi dati torrent (di nuovo, primari) o anche più partizioni se lo desideri. W scriverà la nuova mappa delle partizioni sul disco quando hai finito.

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 costanti operazioni di lettura / scrittura alle cache, ecc. rsync per fare questo:

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 = scadenza rootwait rootdelay = 5 

Quindi, 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 

Colpire CTRL-W e scrivi “sicurezza” per trovare la seguente riga, e uncommentalo.

sicurezza = utente 

Aggiungi quanto segue per definire la nostra cartella condivisa torrent:

[torrents] commenti = percorso torrents = / mnt / torrents utenti validi = @users force group = utenti creano maschera = 0775 force create mode = 0775 security mask = 0775 forza modalità sicurezza = 0775 directory mask = 2775 force directory mode = 2775 sicurezza directory mask = 2775 force security mode mode = 2775 browseable = yes scrivibile = yes guest ok = no read only = no 

Riavvia il servizio Samba:

riavvio del servizio sudo sudo 

Successivamente dobbiamo aggiungere un utente al sistema. Sostituire “jamie” con il nome utente desiderato con cui 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 di dati qualcos'altro (ed ecco un primer sulla proprietà dei file in linux).

sudo useradd jamie -m -G utenti sudo passwd jamie sudo smbpasswd -a jamie sudo chown pi: utenti / 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. Controlla che compaiano anche sul Pi ls dall'interno del / mnt / torrents cartella.

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 

Se ottieni un risultato come questo, sei bravo. Colpire 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 --sicurezza degli script 2

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

instradamento /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 si interrompe. Assicurati di essere nel mnt / Torrent / openvpn directory, quindi eseguire 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 del uscita 0 linea. Lo stiamo solo dicendo per avviare questo script all'avvio.

/mnt/torrents/openvpn/vpn.sh 

Infine, riavvia nuovamente il sistema.

Accedi di nuovo ed esegui ifconfig. Saprai che funziona se vedi una voce per tap0 (o tun0), e sono in grado di arricciare una pagina web di 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 trasmissione-daemon sudo /etc/init.d/transmission-daemon stop sudo nano /etc/transmission-daemon/settings.json 

Modificare “RPC-autenticazione necessaria” a falso; modificare “RPC-whitelist” per includere la 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 

Cambiare il USER = trasmissione-daemon a USER = radice. Ricarica il daemon.

ricarica del servizio sudo - ricarica del demone 

Finalmente, 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 il raspberrypi.local indirizzo.

sudo apt-get install avahi-daemon 

Supponendo che il tuo hostname sia il default (raspberrypi, ma può essere cambiato usando raspi-config), navigare verso:

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 - l'immagine di download sembra un annuncio, ma non lo è - e rilasciala nella cartella condivisa di torrent.

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.

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.

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?

Scopri di più su: BitTorrent, Raspberry Pi.