Sådan slår du din Raspberry Pi i en Alltid-On Downloading Megalith

Gør din del til det globale Linux-distributionsnet ved at opbygge en dedikeret, sikker, torrent-download-megalit, der næsten ikke bruger 10W strøm. Det vil selvfølgelig være baseret på en Raspberry Pi.

Gør din del til det globale Linux-distributionsnet ved at opbygge en dedikeret, sikker, torrent-download-megalit, der næsten ikke bruger 10W strøm.  Det vil selvfølgelig være baseret på en Raspberry Pi.
Reklame

Gør din del til det globale "Linux-distributionsnetværk" ved at opbygge en dedikeret, sikker, torrent-downloadende megalit, der næsten ikke bruger 10W strøm. Det er muligt, og det vil selvfølgelig være baseret på en Raspberry Pi.

Download og seeding (du gør frø, rigtigt? Gode mennesker frø til mindst et 2, 0 forhold) er en vanskelig opgave for enhver almindelig computer og betyder at du suger ned langt mere elektricitet, end du burde være ved at skulle forlade den natten over. Hvad nu hvis du kunne offload denne opgave til en lavt powered Raspberry Pi, lille nok til at spore under et gulvbræt og næppe bryde 10W magt for at gøre alt. Det er præcis, hvad jeg vil vise dig, hvordan man gør i dag.

Her er planen:

  • Opsæt en Raspberry Pi med noget USB-lager, og flyt systemdrevet til USB for at forlænge vores SD-kort.
  • Del det over netværket.
  • Konfigurer en VPN, så al trafik bliver sendt over VPN'en, sikkert - og alt stopper, hvis forbindelsen fejler. Vi ønsker ikke at udbyde ISP og vide, hvilken Linux distro vi favoriserer.
  • Installer en fjernstyret torrent-klient, transmission.

Lyder kompliceret, ikke? Ikke mere end et par hundrede Terminal kommandoer, jeg forsikrer dig. Meget af dette overlapper med vores Raspberry Pi NAS Skift din Raspberry Pi i en NAS Box Skift din Raspberry Pi til en NAS Box Har du et par eksterne harddiske, der ligger rundt og en Raspberry Pi? Lav en billig, lavdrevet netværksforbundet lagerenhed ud af dem. Selvom slutresultatet helt sikkert ikke vil være som ... Læs mere vejledning, så hvis du ikke er så interesseret i den spændende og VPN side af ting, kan du måske tjekke det ud i stedet.

USB-opbevaring

Begynd med en frisk Raspian-installation og tilslut Ethernet-grænsefladen, og tilslut din USB-opbevaring (via et USB-hub, eller det er sandsynligt, at du får problemer senere som jeg gjorde) - det behøver ikke at blive formateret endnu. Log ind eksternt med standard pi / hindbær brugernavn og adgangskode kombination, og kør derefter:

sudo raspi-config 

Ændre mængden af ​​hukommelse givet over grafik til 16 megabyte - vi kører dette helt hovedløst, så du behøver ikke grafisk hukommelse. Afslut, og lad os indstille nogle partitioner på USB. Vi skal konfigurere mindst to - en til brug for systemet for at bevare livet på vores SD-kort, og den anden til downloads, der skal gemmes. Find ud af, hvilken drev der er din USB.

 tail /var/log/messages 

I mit tilfælde var det let at identificere som "sda". Med det for øje skal du justere følgende kommando for at indtaste fdisk- værktøjet på den pågældende enhed.

 sudo fdisk /dev/sda 

Tryk på p for at vise aktuelle partitioner. Hvis du vil slette eksisterende, skal du trykke på d . Opret en ny primærpartition med n, og derefter på p . Når det spørger dig om størrelse, skal du indtaste + 8G . Nu skal du lave en anden partition til dine torrentdata (igen, primær) eller flere partitioner også, hvis du ønsker det. W vil skrive det nye partitionskort til drevet, når du er færdig.

Når den nye tabel er skrevet, skal du bruge følgende kommandoer til at formatere drevene som linux ext4 . Brug yderligere kommandoer, hvis du partitionerede dit drev med mere end to partitioner.

 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 sidste kommando bekræfter, at du har skillevægge monteret korrekt. Dernæst vil vi kopiere SD-kortdata til drevet - dette vil forlænge sit liv ved at undgå konstant læsning / skrive-handling til caches osv. Installer rsync for at gøre dette:

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

Dette vil igangsætte en lang række filkopiering, så twiddle dine fingre lidt.

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

Juster dette for at læse:

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

Dernæst modificer fstab at montere dem ved opstart.

 sudo nano /etc/fstab 

Tilføj følgende linjer:

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

Kommentér den følgende linje, der refererer til SD-kortet:

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

Genstart pi med

 sudo reboot 

Sorteret! Din Pi vil nu montere en både en root data partition og din torrents partition

Del drevet: Samba

Sørg for, at vi først opdateres, fjern Wolfram Mathematica-pakker, der altid har givet mig problemer med at gøre absolut noget på Pi'en (noget at gøre med math-kernel), så installer de nødvendige pakker

 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 

Tryk CTRL-W og skriv "sikkerhed" for at finde den følgende linje, og ikke kommentere den.

 security = user 

Tilføj følgende for at definere vores 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 

Genstart Samba-tjenesten:

 sudo service samba restart 

Næste skal vi tilføje en bruger til systemet. Udskift "jamie" med dit ønskede brugernavn, som du logger ind med for at få adgang til den delte mappe. Følgende kommandoer beder dig om at oprette dine adgangskoder, den første på et systemniveau og det næste for Samba. Ændre de sidste kommandoer, hvis du kaldte din datastation noget andet (og her er en primer på fil ejerskab 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 skal kunne oprette forbindelse fra en anden maskine på dit netværk og læse / skrive filer til den nye del. Kontroller, at de også vises på Pi med ls fra mappen / mnt / torrents .

VPN Setup

Installer de nødvendige pakker

 sudo apt-get install openvpn resolvconf 

Download OpenVPN config-filerne fra din udbyder. Du kan tjekke en liste over de bedste VPN'er her, men sørg for at finde en, der er torrent-venlig. Jeg bruger privacy.io mig selv, men privat internetadgang er en anden populær mulighed inden for torrent samfund. Uanset hvad, skal du kunne få fat i en ZIP-fil med konfigurationer og et certifikat. Sæt disse i din torrents mappe, inden for en mappe kaldet openvpn . Ændr følgende kommando, så den peger på din config-fil, som næsten helt sikkert adskiller sig fra privacyIO.ovpn

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

openvpn-forbindelse-output

Hvis du får en produktion som denne, er du god. Tryk CTRL-C for at afslutte den. Det er irriterende at skulle indtaste adgangskoden i dog, og vi har brug for et par ændringer for at tilføje start og stop scripts. Rediger config filen (igen, erstatt privacyIO.ovpn med .ovpn filen din udbyder gav dig)

 nano /mnt/torrents/openvpn/privacyIO.ovpn 

Ændr først følgende linje. Dybest set siger vi, at vi gemmer brugernavnet og adgangskoden i en fil, der hedder pass.txt

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

Gem og skriv:

 nano /mnt/torrents/pass.txt 

Indtast dit brugernavn på første linje og password på det næste. Gem, og prøv at oprette forbindelse igen:

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

Du bør ikke være bugged for at logge ind denne gang. Yay! Derefter åbner du konfigurationsfilen igen, og tilføjer følgende linjer:

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

Dette angiver nogle scripts, vi skal oprette senere for at udføre opgaver, når forbindelsen enten kommer op med succes eller går ned. Sørg for at du er i mnt / torrents / openvpn biblioteket, og kør derefter følgende:

 nano route-up.sh 

Tilføj følgende, der sikrer, at trafikken sendes ud over VPN:

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

Opret derefter down.sh script

 nano down.sh 

Tilføje:

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

Endelig vil vi have et script til at åbne forbindelsen, i stedet for at starte det fra kommandolinjen, som vi lige gjorde.

 nano vpn.sh 

Indsæt i VPN-startkommandoen fra før. Hvis du har glemt:

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

Nu gør alle disse scripts eksekverbare, og start VPN scriptet ved opstart.

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

Tilføj følgende linje før udgang 0 linjen. Vi fortæller bare at starte dette script ved opstart.

 /mnt/torrents/openvpn/vpn.sh 

Endelig genstart dit system igen.

ifocnfig-check-vpn

Log ind igen, og kør ifconfig . Du ved, at det virker, hvis du ser en post for tap0 (eller tun0), og du kan lykkes med at krølle en webside:

 curl //www.makeuseof.com 

Torrent-klienten

Næsten der nu. Endelig vil vi installere Transmission, som er letvægts og har en god web GUI. Følgende kommandoer installeres og stopper daemonen - da vi skal konfigurere det først - åbner vi derefter indstillingsfilen til redigering.

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

Skift "rpc-authentication-required" til false; ændre "rpc-whitelist" for at inkludere dit lokale undernet - for eksempel:

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

Tilføj eller juster følgende, hvis du allerede er til stede:

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

Dernæst rediger daemon startup filen selv til at håndtere nogle tilladelsesproblemer.

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

Skift USER = transmission-daemon til USER = root . Genindlæs dæmonen.

 sudo service transmission-daemon reload 

Endelig installerer vi avahi-daemon til opsætning af bonjour / zeroconf-netværk, hvilket betyder, at vi ikke behøver at bruge Pi-adressen til at få adgang til den fra en browser - i stedet kan vi bruge raspberrypi.local adresse.

 sudo apt-get install avahi-daemon 

Hvis du antager dit værtsnavn er standard (raspberrypi, men kan ændres ved hjælp af raspi-config), skal du navigere til:

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

Først skal du kontrollere, at din torrent-IP bliver korrekt forklædt gennem VPN'en. Download test torrent fil fra TorGuard - download grafikken ligner en annonce, men det er ikke - og slip det i torrents delte mappe.

check-torrent-ip

Vi har allerede konfigureret Transmission for at se denne mappe til nye torrenter, så den skal tilføjes med det samme. Gå videre og slip nogle lovlige Linux distro torrents der også.

transmission-torrent-ip-tjek-resultater

IP-kontrollen torrent skal returnere en fejl sammen med den IP-adresse, den registrerede. Sørg for, at det ikke er din hjemme-IP - hvis det er, er VPN'en ikke konfigureret rigtigt. Som standard bliver alle torrents, du taber i mappen, omdøbt til .added, og en .part-fil skal oprettes, indtil overførslen er færdig. Bekræft, at dette er tilfældet i din delte mappe.

delt-drev

Det er det! Du har nu en super lav, sikker, torrent-downloadende Pi - der giver din arbejdsstation mulighed for bedre ting. Du vil måske nu se på at tilføje en UPnP-server til streaming media rundt om netværket eller ved at bruge BitTorrent Sync til at oprette dit eget cloud storage. Opbygg dit eget Cloud Storage med Raspberry Pi og BitTorrent Sync. Byg din egen Cloud Storage med Raspberry Pi og BitTorrent Synkronisering Tro ikke hype: Clouden er langt fra sikker. Men du er ikke bange for det - nu kan du udrulle din egen private, ubegrænsede og sikre cloud storage platform. Læs mere . Hvilke funktioner vil du tilføje i?

In this article