Com convertir el vostre Raspberry Pi en un megalit que sempre descarrega

Com convertir el vostre Raspberry Pi en un megalit que sempre descarrega

Feu la vostra part per a la 'xarxa de distribució de Linux' global creant un megàlit dedicat, segur i de descàrrega de torrents que amb prou feines fa servir 10W d'energia. És possible i, per descomptat, es basarà en un Raspberry Pi.





Descàrrega i sembra (feu llavor, oi? La bona gent sembra com a mínim una proporció de 2,0) és una tasca feixuga per a qualsevol ordinador normal i vol dir que esteu absorbint molta més electricitat del que hauríeu de ser per haver de deixar-la encesa durant la nit. Què passa si poguéssiu descarregar aquesta tasca a un Raspberry Pi de poca potència, prou petit per embotir-lo sota un tauler de terra i amb prou feines trencar 10W de potència per fer-ho tot. Això és exactament el que us mostraré com fer avui.





Aquí teniu el pla:





  • Configureu un Raspberry Pi amb una mica d’emmagatzematge USB i moveu la unitat del sistema a USB per allargar la vida útil de la nostra targeta SD.
  • Comparteix això a la xarxa.
  • Configureu una VPN de manera que tot el trànsit s’encamini de manera segura per la VPN i tot s’atura si falla aquesta connexió. No volem que l'ISP sàpiga quina distribució de Linux preferim.
  • Instal·leu un client torrent gestionable remotament, Transmission.

Sembla complicat, oi? No més que uns quants centenars d’ordres de Terminal, us ho asseguro. Una gran part d'això se superposa a la nostra NAS de Raspberry Pi tutorial, de manera que si no us interessa tant el torrent com la VPN, podríeu comprovar-ho.

Emmagatzematge USB

Comenceu amb una nova instal·lació de Raspian i connecteu la interfície Ethernet i connecteu l’emmagatzematge USB (a través d’un concentrador USB alimentat, o és probable que s’enfronti a errors més endavant com he fet); encara no cal que tingueu format. Inicieu la sessió remotament amb la combinació predeterminada de nom d'usuari i contrasenya pi / raspberry i, a continuació, executeu:



sudo raspi-config

Canvieu la quantitat de memòria que es proporciona als gràfics a 16 megabytes; ho farem completament sense cap, de manera que no necessiteu memòria gràfica. Sortiu i configurem algunes particions a l’USB. Configurarem com a mínim dos: un per al sistema per preservar la vida de la nostra targeta SD, i l’altre per emmagatzemar les descàrregues. Esbrineu primer quina és la vostra unitat USB.

tail /var/log/messages

En el meu cas, era fàcil identificar-lo com a 'sda'. Amb això en ment, ajusteu l'ordre següent per introduir el fitxer fdisk utilitat al dispositiu adequat.





sudo fdisk /dev/sda

Premeu pàg per llistar les particions actuals. Per suprimir-ne qualsevol, premeu d . Creeu una partició principal nova amb n , doncs pàg . Quan us demani mida, introduïu + 8G . Ara seguiu endavant i creeu una altra partició per a les vostres dades de torrent (de nou, primària), o també més particions si ho desitgeu. IN escriurà el nou mapa de particions a la unitat quan hàgiu acabat.

com moure música de Google Play al telèfon

Un cop escrita la nova taula, utilitzeu les ordres següents per formatar les unitats com a linux ext4 . Utilitzeu ordres addicionals si heu particionat la unitat amb més de dues particions.





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'última ordre confirmarà que les particions s'han muntat correctament. A continuació, volem copiar les dades de la targeta SD a la unitat; això prolongarà la seva vida evitant operacions de lectura / escriptura constants a les memòries cau, etc. rsync fer això:

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

D’aquesta manera s’iniciarà una llarga sèrie de còpies de fitxers, de manera que torceu els dits una mica.

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

Ajusteu-ho per llegir:

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

A continuació, modifiqueu fstab per muntar-los a la posada en marxa.

sudo nano /etc/fstab

Afegiu les línies següents:

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

Comenteu la següent línia que fa referència a la targeta SD:

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

Reinicieu el Pi amb

sudo reboot

Ordenat! El vostre Pi ara muntarà una partició de dades arrel i una partició de torrents

Comparteix The Drive: Samba

Assegureu-vos que primer estem actualitzats, elimineu els paquets de Wolfram Mathematica que sempre m’han causat problemes quan feia absolutament qualsevol cosa al Pi (alguna cosa que té a veure amb el nucli matemàtic) i, a continuació, instal·leu els paquets necessaris

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

Encertat CTRL-W i escriviu 'seguretat' per trobar la línia següent, i 1 comenta-ho.

security = user

Afegiu el següent per definir la nostra carpeta compartida de torrents:

[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

Reinicieu el servei Samba:

sudo service samba restart

A continuació, hem d'afegir un usuari al sistema. Substituïu 'jamie' pel nom d'usuari que desitgeu amb el qual inicieu la sessió per accedir a la carpeta compartida. Les ordres següents us demanaran que creeu les vostres contrasenyes, la primera a nivell de sistema i la següent per a Samba. Modifiqueu les darreres ordres si heu trucat a la vostra unitat de dades per una altra cosa (i aquí teniu una introducció a propietat de fitxers a 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

Prova: hauríeu de poder connectar-vos des d'una altra màquina de la vostra xarxa i llegir / escriure fitxers al nou recurs compartit. Comproveu que també apareguin al Pi amb ls des de dins de / mnt / torrents carpeta.

Configuració de VPN

Instal·leu els paquets necessaris

sudo apt-get install openvpn resolvconf

Baixeu-vos els fitxers de configuració OpenVPN del vostre proveïdor. Podeu consultar una llista dels fitxers millors VPN aquí, però assegureu-vos de trobar-ne un que sigui torrent. jo utilitzo privacy.io jo, però Accés privat a Internet és una altra opció popular a les comunitats torrent. Sigui com sigui, hauríeu de poder agafar un fitxer ZIP de configuracions i un certificat. Introduïu-los a la carpeta de torrents, dins d'un directori anomenat openvpn . Modifiqueu l'ordre següent perquè apunti al fitxer de configuració, que gairebé segur que serà diferent privacyIO.ovpn

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

Si obteniu una sortida com aquesta, esteu bé. Encertat CTRL-C per acabar-ho. Tanmateix, és molest haver d’escriure la contrasenya i necessitem algunes modificacions per afegir scripts d’inici i aturada. Editeu el fitxer de configuració (torneu a substituir privacyIO.ovpn pel fitxer .ovpn que us ha proporcionat el vostre proveïdor)

nano /mnt/torrents/openvpn/privacyIO.ovpn

Modifiqueu primer la línia següent. Bàsicament estem dient que emmagatzemarem el nom d’usuari i la contrasenya en un fitxer anomenat pass.txt

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

Desa i escriu:

nano /mnt/torrents/pass.txt

Introduïu el vostre nom d’usuari a la primera línia i la contrasenya a la següent. Deseu i torneu a provar de connectar-vos:

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

No se us hauria d'errorar per iniciar la sessió en aquest moment. Visca! A continuació, torneu a obrir el fitxer de configuració i afegiu les línies següents:

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

Això especifica alguns scripts que crearem més endavant per realitzar tasques quan la connexió sorgeixi correctament o es produeixi un descens. Assegureu-vos que esteu al mnt / torrents / openvpn directori i, a continuació, executeu el següent:

nano route-up.sh

Afegiu el següent per assegurar que el trànsit s’envia per la VPN:

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

A continuació, creeu l'script down.sh

nano down.sh

Afegeix:

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

Finalment, volem que un script obri la connexió, en lloc d’iniciar-la des de la línia d’ordres com acabem de fer.

nano vpn.sh

Enganxeu l’ordre d’inici de VPN anterior. Per si ho heu oblidat:

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

Ara, feu que tots aquests scripts siguin executables i inicieu el script VPN a l’inici.

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

Afegiu la línia següent abans de sortida 0 línia. Només li estem dient que iniciï aquest script al començament.

/mnt/torrents/openvpn/vpn.sh

Finalment, reinicieu de nou el sistema.

Torneu a iniciar la sessió i executeu ifconfig . Sabreu que funciona si veieu una entrada per a toc0 (o tun0) , i poden arrossegar amb èxit una pàgina web:

curl https://www.makeuseof.com

El client de Torrent

Gairebé allà ara. Finalment, instal·larem Transmission, que és lleuger i té una bona interfície gràfica d’usuari. Les següents ordres s’instal·len i, a continuació, aturen el dimoni, ja que primer hem de configurar-lo, i després obre el fitxer de configuració per editar-lo.

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

Canvieu 'rpc-authentication-required' a false; canvieu 'rpc-whitelist' per incloure la vostra subxarxa local, per exemple:

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

Afegiu o ajusteu el següent si ja és present:

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

A continuació, editeu el fitxer d’inici del dimoni per tractar alguns problemes de permisos.

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

Canvia el USUARI = dimoni de transmissió a USUARI = root . Torneu a carregar el dimoni.

sudo service transmission-daemon reload

Finalment, instal·larem avahi-daemon per configurar la xarxa bonjour / zeroconf, el que significa que no haurem d’utilitzar l’adreça IP del Pi per accedir-hi des d’un navegador; en canvi, podrem utilitzar el raspberrypi.local adreça.

sudo apt-get install avahi-daemon

Suposant que el vostre nom d'amfitrió és el predeterminat (raspberrypi, però es pot canviar mitjançant raspi-config) , aneu a:

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

Primer, comproveu que la vostra IP de torrent s'està disfressant correctament a través de la VPN. Descarregueu el fitxer torrent de prova des de TorGuard - El gràfic de baixada sembla un anunci, però no ho és - i deixeu-lo anar a la carpeta compartida de torrents.

Ja hem configurat Transmission per veure aquesta carpeta de torrents nous, de manera que s'hauria d'afegir immediatament. Seguiu endavant i deixeu anar també alguns torrents legals de distribució de Linux.

El torrent de comprovació d’IP hauria de retornar un error, juntament amb l’adreça IP que va detectar. Assegureu-vos que no sigui la vostra IP de casa; si és així, la VPN no s’ha configurat bé. Per defecte, tots els torrents que deixeu caure a la carpeta passaran a anomenar-se .added i s'hauria de crear un fitxer .part fins que s'acabi la transferència. Verifiqueu que aquest sigui el cas de la carpeta compartida.

Això és! Ara teniu un Pi de baix consum, segur, que descarrega torrents, deixant la vostra estació de treball disponible per obtenir coses millors. Ara és possible que vulgueu mirar afegir un servidor UPnP per transmetre contingut multimèdia a la xarxa o utilitzar BitTorrent Sync per crear el vostre propi emmagatzematge al núvol. Quines funcions afegiràs?

Compartir Compartir Tweet Correu electrònic Els vuit millors llocs web per descarregar audiollibres de forma gratuïta

Els audiollibres són una gran font d’entreteniment i són molt més fàcils de digerir. Aquests són els vuit millors llocs web on els podeu descarregar gratuïtament.

Llegiu a continuació
Temes relacionats
  • Bricolatge
  • BitTorrent
  • Raspberry Pi
Sobre l'autor James Bruce(707 articles publicats)

James té un BSc en Intel·ligència Artificial i està certificat CompTIA A + i Network +. Quan no està ocupat com a editor de ressenyes de maquinari, li agrada LEGO, VR i els jocs de taula. Abans d’incorporar-se a MakeUseOf, era tècnic d’il·luminació, professor d’anglès i enginyer de centres de dades.

Més de James Bruce

Subscriu-te al nostre butlletí

Uniu-vos al nostre butlletí per obtenir consells tècnics, ressenyes, llibres electrònics gratuïts i ofertes exclusives.

Feu clic aquí per subscriure-us