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

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

Gjør din del for den globale “Linux distribusjonsnettverk” 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ø, ikke sant? Godt folk 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 på 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. Mens sluttresultatet absolutt ikke vil bli som ... Les mer opplæringsprogram, så hvis du ikke er så interessert i torrent 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.

hale / var / log / meldinger

I mitt tilfelle var det lett å identifisere som “sda”. Med det for øye, juster du følgende kommando for å gå inn i fdisk verktøy på riktig enhet.

sudo fdisk / dev / sda

trykk p å liste gjeldende partisjoner. Hvis du vil slette eksisterende, trykker du på d. Opprett en ny primærpartisjon, med n, deretter p. Når det spør 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 etc. Installer rsync å gjøre dette:

sudo apt-get installer 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 konsoll = ttyAMA0,115200 kgdboc = ttyAMA0,115200 konsoll = tty1 root = / dev / sda1 rootfstype = ext4 heis = deadline rootwait rootdelay = 5 

Endre, endre fstab å montere dem ved oppstart.

sudo nano / etc / fstab 

Legg til følgende linjer:

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

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

# / dev / mmcblk0p2 / ext4 standard, 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 oppdatering sudo apt-få dist-oppgradering sudo apt-get fjerne wolfram-motor sudo apt-get install samba samba-common-bin sudo nano /etc/samba/smb.conf 

Truffet CTRL-W og skriv inn “sikkerhet” for å finne følgende linje, og unkommentere det.

sikkerhet = bruker 

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

[torrents] kommentare = torrents path = / mnt / torrents gyldige brukere = @users force group = brukere oppretter maske = 0775 force create mode = 0775 sikkerhetsmaske = 0775 styrke sikkerhetsmodus = 0775 katalogmaske = 2775 kraft katalog modus = 2775 katalog sikkerhet mask = 2775 styrkatalog sikkerhetsmodus = 2775 browseable = ja skrivbar = ja gjest ok = ikke skrivebeskyttet = nei 

Start Samba-tjenesten på nytt:

sudo service samba restart 

Deretter må vi legge til en bruker i systemet. Erstatte “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 kalte datadriveren noe annet (og her er en primer på fil eierskap i Linux).

sudo useradd jamie -m -G brukere sudo passwd jamie sudo smbpasswd -a jamie sudo chown pi: brukere / 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 vises på Pi også med ls fra innsiden av / mnt / torrents mappe.

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 avviger 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 utgang som dette, er du god. Truffet CTRL-C å si opp 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-sikkerhet 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 ned-forhånd ned /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 mnt / torrents / openvpn katalog, 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 ned.sh chmod + x rute-up.sh chmod + x vpn.sh sudo nano /etc/rc.local 

Legg til følgende linje før Avslutt 0 linje. Vi forteller 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 tap0 (eller tun0), og er i stand til å lykkes med å krølle en nettside:

krølle //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 installerer, og stopper daemonen - siden vi må konfigurere den først - åpner du deretter innstillingsfilen for redigering.

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

Endring “RPC-autentisering-krevde” til falsk; endring “RPC-hviteliste” å 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-aktivert": 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 = transmisjon-nissen til USER = root. Last opp demonen.

sudo service transmisjon-daemon reload 

Til slutt vil vi installere avahi-daemon å sette opp 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), navigere 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 torrenten-delt mappe.

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å.

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.

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 bruke BitTorrent Sync til å lage din egen 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?

Utforsk mer om: BitTorrent, Raspberry Pi.