Hvordan gjøre din Raspberry Pi til en alltid nedlasting av Megalith

Hvordan gjøre din Raspberry Pi til en alltid nedlasting av Megalith

Gjør din del for det globale 'Linux-distribusjonsnettverket' ved å bygge en dedikert, sikker, torrent-nedlastende megalitt som knapt bruker 10W strøm. Det er mulig, og det vil selvfølgelig være basert på en Raspberry Pi.





Nedlasting og såing (du gjør frø, ikke sant? Gode mennesker frø til minst et 2,0 -forhold) er en vanskelig oppgave for en vanlig datamaskin, og betyr at du suger ned mye mer strøm enn du burde være ved å la den stå på over natten. Hva om du kunne laste ned denne oppgaven til en lavdrevet Raspberry Pi, liten nok til å stikke under et gulvbord og knapt bryte 10W strøm for å gjøre alt. Det er akkurat det jeg skal vise deg hvordan du gjør i dag.





Her er planen:





  • Sett opp en Raspberry Pi med litt USB -lagring, og flytt systemstasjonen til USB for å forlenge SD -kortets levetid.
  • Del det over nettverket.
  • Konfigurer en VPN slik at all trafikk dirigeres over VPN -en på en sikker måte - og alt stopper hvis forbindelsen mislykkes. Vi vil ikke at ISP skal vite hvilken Linux -distro vi liker.
  • Installer en eksternt håndterbar torrentklient, Transmission.

Høres komplisert ut, ikke sant? Ikke mer enn noen få hundre Terminal -kommandoer, jeg kan forsikre deg. Mye av dette overlapper med vår Raspberry Pi NAS opplæring, så hvis du ikke er så interessert i torrent -og VPN -siden av ting, kan det være lurt å sjekke det ut i stedet.

USB lagring

Begynn med en ny Raspian -installasjon og koble til Ethernet -grensesnittet, og koble til USB -lagringen din (via en drevet USB -hub, eller du vil sannsynligvis møte feil senere som jeg gjorde) - den trenger ikke formateres ennå. Logg på eksternt med standard pi /bringebær brukernavn og passordkombinasjon, og kjør deretter:



sudo raspi-config

Endre mengden minne som er gitt over grafikk til 16 megabyte - vi kjører dette helt hodeløst, så du trenger ikke grafisk minne. Avslutt, og la oss sette opp noen partisjoner på USB. Vi skal sette opp minst to - en til bruk for systemet for å bevare SD -kortets levetid, og den andre for nedlasting som skal lagres. Finn først ut hvilken stasjon som er USB -en din.

tail /var/log/messages

I mitt tilfelle var det lett å identifisere som 'sda'. Med det i bakhodet, juster følgende kommando for å gå inn i fdisk verktøyet på den riktige enheten.





sudo fdisk /dev/sda

trykk s for å vise gjeldende partisjoner. Trykk på for å slette eksisterende d . Opprett en ny primærpartisjon, med n , deretter s . Når den ber deg om størrelse, skriver du inn + 8G . Fortsett nå og lag en annen partisjon for torrentdataene dine (igjen, primær), eller flere partisjoner også hvis du ønsker det. I vil skrive det nye partisjonskartet til stasjonen når du er ferdig.

beste formatet for ekstern harddisk mac

Når den nye tabellen er skrevet, bruker du følgende kommandoer til å formatere stasjonene som linux ext4 . Bruk flere kommandoer hvis du partisjonerte stasjonen med mer enn to partisjoner.





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

Den siste kommandoen vil bekrefte at partisjonene er riktig montert. Deretter ønsker vi å kopiere SD -kortdataene til stasjonen - dette vil forlenge levetiden ved å unngå konstante lese-/skriveoperasjoner til cacher etc. Installer rsync å gjøre dette:

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

Dette vil starte en lang rekke filkopiering, så vri fingrene litt.

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

Juster dette for å lese:

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

Deretter endrer du fstab å montere dem ved oppstart.

sudo nano /etc/fstab

Legg til følgende linjer:

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

Kommenter følgende linje som refererer til SD -kortet:

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

Start Pi på nytt med

sudo reboot

Sortert! Din Pi vil nå montere en både en rotdatapartisjon og din torrents -partisjon

Del The Drive: Samba

Sørg for at vi oppdateres først, fjern Wolfram Mathematica-pakker som alltid har forårsaket meg problemer når jeg gjør absolutt alt på Pi (noe å gjøre med matematikkjernen), og installer deretter de nødvendige pakkene

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

Truffet CTRL-W og skriv 'sikkerhet' for å finne følgende linje, og en kommenter det.

security = user

Legg til følgende for å definere vår delte torrents -mappe:

[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

Start Samba -tjenesten på nytt:

sudo service samba restart

Deretter må vi legge til en bruker i systemet. Erstatt 'jamie' med ønsket brukernavn som du logger deg på for å få tilgang til den delte mappen. Følgende kommandoer ber deg om å opprette passordene dine, det første på systemnivå og det neste for Samba. Endre de siste kommandoene hvis du kalte datastasjonen din noe annet (og her er en primer på fil eierskap i 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 - du bør kunne koble til fra en annen maskin på nettverket ditt, og lese/skrive filer til den nye delingen. Sjekk at de vises på Pi også med ls innenfra / mnt / torrents mappe.

VPN -oppsett

Installer nødvendige pakker

sudo apt-get install openvpn resolvconf

Last ned OpenVPN -konfigurasjonsfilene fra leverandøren din. Du kan sjekke ut en liste over beste VPN -er her, men sørg for å finne en som er torrentvennlig. jeg bruker privacy.io meg selv, men Privat internettilgang er et annet populært alternativ i torrent -samfunn. Uansett bør du kunne ta en ZIP -fil med konfigurasjoner og et sertifikat. Sett disse inn i torrents -mappen i en katalog som heter openvpn . Endre følgende kommando slik at den peker til konfigurasjonsfilen din, som nesten helt sikkert vil avvike fra privacyIO.ovpn

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

Hvis du får en slik utgang, er du flink. Truffet CTRL-C å avslutte den. Det er imidlertid irriterende å måtte skrive inn passordet, og vi trenger noen endringer for å legge til start- og stoppskript. Rediger konfigurasjonsfilen (erstatt privacyIO.ovpn igjen med .ovpn -filen som leverandøren ga deg)

nano /mnt/torrents/openvpn/privacyIO.ovpn

Endre følgende linje først. I utgangspunktet sier vi at vi vil lagre brukernavn og passord i en fil som heter pass.txt

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

Lagre, og skriv:

nano /mnt/torrents/pass.txt

Skriv inn brukernavnet ditt på den første linjen, og passordet på den neste. Lagre, og prøv å koble til igjen:

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

Du bør ikke bli bugged for å logge inn denne gangen. Jippi! Deretter åpner du konfigurasjonsfilen igjen, og legger til følgende linjer:

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

Dette spesifiserer noen skript vi skal lage senere for å utføre oppgaver når tilkoblingen enten oppstår vellykket eller går ned. Sørg for at du er i mnt/torrents/openvpn katalogen, og kjør deretter følgende:

nano route-up.sh

Legg til følgende som sikrer at trafikk sendes ut via VPN:

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

Deretter lager du ned.sh -skriptet

nano down.sh

Legge til:

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

Til slutt vil vi at et skript skal åpne forbindelsen, i stedet for å starte den fra kommandolinjen som vi nettopp gjorde.

nano vpn.sh

Lim inn VPN -startkommandoen fra før. I tilfelle du har glemt:

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

Gjør nå alle disse skriptene kjørbare, og start VPN -skriptet ved oppstart.

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

Legg til følgende linje før avslutte 0 linje. Vi forteller det bare å starte dette skriptet ved oppstart.

/mnt/torrents/openvpn/vpn.sh

Til slutt, start systemet på nytt.

Logg inn igjen, og kjør ifconfig . Du vet at det fungerer hvis du ser en oppføring for trykk0 (eller tun0) , og kan lykkes med å krølle en webside:

curl https://www.makeuseof.com

Torrent -klienten

Nesten der nå. Til slutt skal vi installere Transmission, som er lett og har en fin web -GUI. Følgende kommandoer installeres og stopper da demonen - siden vi først må konfigurere den - åpner deretter innstillingsfilen for redigering.

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

Endre 'rpc-authentication-required' til false; endre 'rpc -hviteliste' for å inkludere ditt lokale delnett - for eksempel:

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

Legg til eller juster følgende hvis det allerede er tilstede:

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

Rediger deretter selve oppstartsfilen for demonen for å håndtere noen tillatelsesproblemer.

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

Endre BRUKER = overførings-demon til BRUKER = root . Last inn demonen på nytt.

sudo service transmission-daemon reload

Til slutt installerer vi avahi-daemon for å konfigurere bonjour/zeroconf nettverk, noe som betyr at vi ikke trenger å bruke IP -adressen til Pi for å få tilgang til den fra en nettleser - i stedet kan vi bruke raspberrypi.local adresse.

sudo apt-get install avahi-daemon

Forutsatt at vertsnavnet ditt er standard (raspberrypi, men kan endres ved hjelp av raspi-config) , navigere til:

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

Sjekk først at torrent -IP -en din er forkledd riktig gjennom VPN. Last ned test -torrent -filen fra TorGuard - nedlastingsgrafikken ser ut som en reklame, men det er den ikke - og slipp den i torrents delte mappe.

Vi har allerede konfigurert Transmission til å se denne mappen for nye torrenter, så den bør legges til umiddelbart. Legg igjen noen juridiske Linux -distro -torrenter der inne.

IP -sjekketorrenten skulle returnere en feil, sammen med IP -adressen den oppdaget. Sørg for at det ikke er din hjem -IP - hvis det er det, har VPN -en ikke blitt konfigurert riktig. Som standard vil alle torrenter du slipper i mappen få nytt navn til .added, og en .part -fil bør opprettes til overføringen er fullført. Kontroller at dette er tilfelle i den delte mappen din.

Det er det! Du har nå en super lavdrevet, sikker, torrent-nedlastende Pi-slik at arbeidsstasjonen din er tilgjengelig for bedre ting. Du vil nå kanskje se på å legge til en UPnP -server for å streame medier rundt nettverket, eller bruke BitTorrent Sync for å lage din egen skylagring. Hvilke funksjoner vil du legge til?

Dele Dele kvitring E -post De 8 beste nettstedene for å laste ned lydbøker gratis

Lydbøker er en flott underholdningskilde, og mye lettere å fordøye. Her er de åtte beste nettstedene der du kan laste dem ned gratis.

Les neste
Relaterte temaer
  • DIY
  • BitTorrent
  • Bringebær Pi
Om forfatteren James Bruce(707 artikler publisert)

James har en BSc i kunstig intelligens og er CompTIA A+ og Network+ sertifisert. Når han ikke er opptatt som Hardware Reviews Editor, liker han LEGO, VR og brettspill. Før han begynte i MakeUseOf, var han belysningstekniker, engelsklærer og datasenteringeniør.

Mer fra James Bruce

Abonner på vårt nyhetsbrev

Bli med i vårt nyhetsbrev for tekniske tips, anmeldelser, gratis ebøker og eksklusive tilbud!

Klikk her for å abonnere