Slik slår du Raspberry Pi inn i en Alltid-på Nedlasting Megalith

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

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

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

Nedlasting og sådd (du gjør frø, riktig? Godt frø til minst et 2, 0-forhold) er en vanskelig oppgave for en vanlig datamaskin, og betyr at du suger ned langt mer strøm enn du burde være ved å måtte forlate den over natten. Hva om du kunne laste opp denne oppgaven til en lavdrevet Raspberry Pi, liten nok til å tømme under et gulvbrett og knapt bryte 10W med kraft 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 levetiden til vårt SD-kort.
  • Del det over nettverket.
  • Konfigurer et VPN slik at all trafikk blir sendt over VPN, sikkert - og alt stopper hvis forbindelsen mislykkes. Vi ønsker ikke ut ISP å vite hvilken Linux distro vi favoriserer.
  • Installer en ekstern håndterbar torrent klient, Transmission.

Høres komplisert, ikke sant? Ikke mer enn noen få hundre Terminalkommandoer, jeg forsikrer deg. Mange av dette overlapper med vår Raspberry Pi NAS Slå din Raspberry Pi inn i en NAS-boks Slå din Raspberry Pi inn i en NAS-bok Har du et par eksterne harddisker som ligger rundt og en Raspberry Pi? Lag en billig, lavdrevet nettverksmontert lagringsenhet ut av dem. Selv om sluttresultatet sikkert ikke vil være som ... Les mer opplæringsprogram, så hvis du ikke er så interessert i torrenting og VPN-siden av ting, vil du kanskje sjekke det ut i stedet.

USB lagring

Begynn med en frisk Raspian-installasjon og koble til Ethernet-grensesnittet, og koble til USB-lagringen din (via et drevet USB-hub, eller det er sannsynligvis at du møter feil senere som jeg gjorde) - det trenger ikke formateres enda. Logg på eksternt med standard pi / bringebær brukernavn og passord kombinasjon, og kjør deretter:

sudo raspi-config 

Endre mengden minne som er gitt over grafikk til 16 megabyte - vi kjører dette helt uten hoved, 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 livet til vårt SD-kort, og den andre for nedlastinger som skal lagres. Finn ut først hvilken stasjon er din USB.

 tail /var/log/messages 

I mitt tilfelle var det lett å identifisere som "sda". Med det for øye, juster du følgende kommando for å skrive inn fdiskverktøyet på den aktuelle enheten.

 sudo fdisk /dev/sda 

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

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 du har partisjonene montert riktig. Deretter ønsker vi å kopiere SD-kortdataene til stasjonen - dette vil forlenge levetiden ved å unngå konstant lese / skrive-operasjoner til caches. Installer rsync for å gjøre dette:

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

Dette vil starte en lang serie med filkopiering, så skru av fingrene for 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 modifiserer 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 

Legg ut følgende linje som refererer til SD-kortet:

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

Start pi med

 sudo reboot 

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

Del stasjonen: Samba

Forsikre deg om at vi er oppdatert først, fjern Wolfram Mathematica-pakker som alltid har forårsaket meg problemer når du gjør absolutt noe på Pi (noe å gjøre med matte-kjernen), 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 

Trykk CTRL-W og skriv "sikkerhet" for å finne følgende linje, og ikke kommentere det.

 security = user 

Legg til følgende for å definere vår torrents delte 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 på med for å få tilgang til den delte mappen. Følgende kommandoer ber deg om å opprette passordene dine, den første på et systemnivå og det neste for Samba. Endre de siste kommandoene hvis du ringte data-stasjonen 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 fra en annen maskin på nettverket ditt, og lese / skrive filer til den nye delen. Sjekk at de også vises på Pi med ls fra mappen / mnt / torrents .

VPN-oppsett

Installer de nødvendige pakkene

 sudo apt-get install openvpn resolvconf 

Last ned OpenVPN config-filene fra leverandøren din. Du kan sjekke ut en liste over de beste VPNene her, men husk å finne en som er torrent-vennlig. Jeg bruker privacy.io meg selv, men Privat Internett-tilgang 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 torrentsmappen din, i en katalog som heter openvpn . Endre følgende kommando slik at den peker på config-filen din, som nesten helt sikkert vil skille seg fra privacyIO.ovpn

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

OpenVPN-forbindelse-utgang

Hvis du får en utgang som dette, er du god. Trykk CTRL-C for å avslutte det. Det er irriterende å måtte skrive inn passordet i skjønt, og vi trenger noen modifikasjoner for å legge til start og stopper skript. Rediger config filen (igjen, erstatt privacyIO.ovpn med .ovpn filen leverandøren ga deg)

 nano /mnt/torrents/openvpn/privacyIO.ovpn 

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

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

Lagre og skriv inn:

 nano /mnt/torrents/pass.txt 

Skriv inn brukernavnet ditt på første linje og passord på 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 forbindelsen enten kommer opp med hell, eller går ned. Pass på at du er i katalogen mnt / torrents / openvpn, og kjør deretter følgende:

 nano route-up.sh 

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

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

Deretter lager du down.sh-skriptet

 nano down.sh 

Legg til:

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

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

 nano vpn.sh 

Lim inn i 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 utgang 0- linjen. Vi forteller bare å starte dette skriptet ved oppstart.

 /mnt/torrents/openvpn/vpn.sh 

Til slutt, start systemet på nytt.

ifocnfig-check-vpn

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

 curl //www.makeuseof.com 

Torrentklienten

Nesten der nå. Til slutt skal vi installere Transmission, som er lett og har en fin web GUI. Følgende kommandoer installeres, og stopper daemonen - siden vi må konfigurere den først - åpner du 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-autentisering-påkrevd" til falsk; endre "rpc-whitelist" 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,  

Deretter må du redigere selve oppstartsfilen til demonen for å håndtere noen tillatelsesproblemer.

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

Endre USER = overføringsdemoen til USER = root . Last opp demonen.

 sudo service transmission-daemon reload 

Til slutt vil vi installere 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 vil vi kunne 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), naviger til:

http: //raspberrypi.local: 9091 / overføring / web /

Først må du kontrollere at torrent-IP-en din blir riktig forkledd gjennom VPN. Last ned test torrentfilen fra TorGuard - nedlastingsgrafen ser ut som en annonse, men den er ikke - og slippes i torrents delte mappe.

sjekk torrent-ip

Vi har allerede konfigurert Overføring for å se denne mappen for nye torrenter, så den skal legges til umiddelbart. Gå videre og slipp noen lovlige Linux distro torrents der også.

overføring-torrent-ip-sjekk-resultater

IP-kontrollen torrent skal returnere en feil, sammen med IP-adressen den oppdaget. Pass på at det ikke er hjemme-IP-en din, hvis VPN ikke er satt opp riktig. Som standard vil eventuelle torrents du slipper i mappen bli omdøpt til .added, og en .part-fil skal opprettes til overføringen er ferdig. Bekreft at dette er tilfellet i din delte mappe.

shared-stasjon

Det er det! Du har nå en super lav, sikker, torrent-nedlasting Pi - slik at arbeidsstasjonen din er tilgjengelig for bedre ting. Du kan nå se på å legge til en UPnP-server for streaming media rundt nettverket eller ved hjelp av BitTorrent Sync for å lage ditt eget skylagring. Lag ditt eget Cloud Storage med Raspberry Pi og BitTorrent Sync. Bygg ditt eget Cloud Storage med Raspberry Pi og BitTorrent Synkroniser Ikke tro på sprøytenarkomanen: Cloud er langt fra sikker. Men ikke frykt - nå kan du rulle ut din egen, ubegrensede og sikre skyplattform. Les mer . Hvilke funksjoner vil du legge til i?

In this article