Annonse

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

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

Her er planen:

  • Sett opp en Raspberry Pi med litt USB-lagring, og flytt systemstasjonen over til USB for å forlenge levetiden til SD-kortet.
  • Del det over nettverket.
  • Konfigurer en VPN slik at all trafikk blir dirigert over VPN, sikkert - og alt stopper hvis den tilkoblingen mislykkes. Vi vil ikke at ISP vet hvilken Linux-distro vi favoriserer.
  • Installer en ekstern håndterbar torrentklient, overføring.
instagram viewer

Høres komplisert ut, ikke sant? Ikke mer enn noen hundre terminalkommandoer, forsikrer jeg deg. Mye av dette overlapper med vårt Raspberry Pi NAS Gjør bringebærpien din i en NAS-boksHar du et par eksterne harddisker liggende og en Raspberry Pi? Lag en billig, nettdrevet nettbasert lagringsenhet ut av dem. Mens sluttresultatet absolutt ikke vil være like ... Les mer tutorial, så hvis du ikke er så interessert i torrenting og VPN siden av ting, kan det være lurt å sjekke det ut i stedet.

USB lagring

Begynn med en ny Raspian-installasjon og tilkobling av Ethernet-grensesnittet, og koble til USB-lagringen (via et drevet USB-hub, eller det er sannsynlig at du vil få feil senere som jeg gjorde) - det trenger ikke være formatert ennå. Logg inn eksternt med standard brukernavn og passordkombinasjon pi / bringebær, 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, slik at du ikke trenger grafisk minne. Gå ut, og la oss konfigurere noen partisjoner på USB-en. Vi skal konfigurere minst to - ett som skal brukes til systemet for å bevare levetiden til SD-kortet vårt, og det andre for nedlastinger som skal lagres. Finn ut hvilken stasjon som er USB-en din.

hale / var / logg / meldinger

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

sudo fdisk / dev / sda

trykk p for å liste opp gjeldende partisjoner. Trykk på for å slette eksisterende d. Lag en ny primær partisjon, med n, deretter p. Når det ber deg om størrelse, skriv inn + 8G. Nå kan du lage 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, bruk følgende kommandoer til å formatere stasjonene som linux ext4. Bruk ekstra 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 montert partisjonene riktig. Deretter ønsker vi å kopiere SD-kortdataene til stasjonen - dette vil forlenge levetiden ved å unngå konstante lese / skriveoperasjoner til hurtigbuffer osv. Installere rsync å gjøre dette:

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

Dette vil sette i gang en lang serie med filkopiering, så tvi fingrene 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. 

Neste, endre fstab å montere dem ved oppstart.

sudo nano / etc / fstab. 

Legg til følgende linjer:

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

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

# / dev / mmcblk0p2 / ext4 standardverdier, noatime 0 1. 

Start Pi på nytt med

starte på nytt. 

Sortert! Pi-en din vil nå montere både en rotdata-partisjon og torrents-partisjonen din

Del The Drive: Samba

Sørg for at vi blir oppdatert først, fjern Wolfram Mathematica-pakker som alltid har skapt meg problemer når du gjør absolutt noe på Pi (noe å gjøre med matematikkjernen), så installer det nødvendige pakker

sudo apt-get oppdatering. 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 den følgende linjen, og unkommenter det.

sikkerhet = bruker. 

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

[torrents] kommentar = torrents. bane = / mnt / torrents. gyldige brukere = @brukere. styrke gruppe = brukere. opprette maske = 0775. kraft opprette modus = 0775. sikkerhetsmaske = 0775. tvinge sikkerhetsmodus = 0775. katalogmaske = 2775. tving katalogmodus = 2775. katalogsikkerhetsmaske = 2775. tving katalogsikkerhetsmodus = 2775. søkbar = ja. skrivbar = ja. gjest ok = nei. lese bare = nei.

Start Samba-tjenesten på nytt:

sudo service samba omstart. 

Deretter må vi legge til en bruker til systemet. Bytt ut "jamie" med ønsket brukernavn som du skal logge på med for å få tilgang til den delte mappen. Følgende kommandoer ber deg deretter lage passordene dine, de første på systemnivå og de neste for Samba. Endre de siste kommandoene hvis du kalte datastasjonen din noe annet (og her er en startbok fileierskap 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 skal kunne koble fra en annen maskin i nettverket ditt, og lese / skrive filer til den nye delen. 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 De beste VPN-tjenesteneVi har samlet en liste over hva vi anser som de beste VPN-tjenesteleverandørene (Virtual Private Network), gruppert etter premium, gratis og torrentvennlig. Les mer 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 innen torrentsamfunn. Uansett bør du kunne ta tak i en ZIP-fil med konfigurasjoner og et sertifikat. Sett disse inn i torrents-mappen din, i en katalog som heter OpenVPN. Endre følgende kommando slik at den peker på 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. 
OpenVPN-forbindelse-utgang

Hvis du får en utgave som dette, er du bra. Truffet CTRL-C å avslutte det. Det er irriterende å skrive inn passordet selv, og vi trenger noen få endringer for å legge til start- og stoppskript. Rediger konfigurasjonsfilen (igjen, erstatt privacyIO.ovpn med .ovpn-filen som leverandøren din ga deg)

nano /mnt/torrents/openvpn/privacyIO.ovpn. 

Endre først følgende linje. I utgangspunktet sier vi at vi lagrer brukernavnet og passordet 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-sikkerhet 2

Du skal ikke være feil for å logge deg på nå. Jippi! Deretter åpner du konfigureringsfilen igjen, og legger til følgende linjer:

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

Dette spesifiserer noen skript vi skal lage senere for å utføre oppgaver når tilkoblingen enten kommer opp, eller går ned. Forsikre deg om 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 trafikken blir sendt ut over VPN:

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

Deretter oppretter du down.sh-skriptet

nano ned.sh. 

Legg til:

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

Til slutt ønsker vi at et skript skal åpne forbindelsen, i stedet for å starte den fra kommandolinjen slik 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 ned.sh. chmod + x route-up.sh. chmod + x vpn.sh. sudo nano /etc/rc.local. 

Legg til følgende linje før avkjørsel 0 linje. Vi ber bare om å starte dette skriptet ved oppstart.

/mnt/torrents/openvpn/vpn.sh. 

Til slutt, start systemet på nytt.

ifocnfig-check-vpn

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

krøll //www.makeuseof.com. 

Torrent-klienten

Nesten der nå. Til slutt skal vi installere Transmission, som er lett og har en fin nettgrensesnitt. Følgende kommandoer installeres og stopper daemonen - siden vi må konfigurere den først - å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-autentication-required” til falsk; endre “rpc-hviteliste” for å inkludere det lokale undernettet - for eksempel:

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

Legg til eller juster følgende hvis du allerede er til stede:

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

Deretter redigerer du selve startfilen for demon for å håndtere noen tillatelsesproblemer.

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

Endre USER = transmisjon-nissen til USER = root. Last inn demonen på nytt.

sudo service transmission-daemon reload. 

Endelig installerer vi 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 er standard (raspberrypi, men kan endres ved hjelp av raspi-config), navigere til:

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

Kontroller først at torrent-IP-en din er korrekt forkledd gjennom VPN. Last ned testtorrentfilen fra TorGuard - Nedlastingsgrafikken ser ut som en annonse, men den er det ikke - og slipp den i den delte mappen torrents.

check-torrent-ip

Vi har allerede konfigurert sending for å se på denne mappen for nye torrenter, så den bør legges til umiddelbart. Gå videre og slipp noen lovlige Linux-distro-torrenter der også.

overføring-torrent-ip-check-resultater

IP-sjekk-torrenten skal returnere en feil sammen med IP-adressen den oppdaget. Forsikre deg om at det ikke er din hjemme-IP - hvis den er, har VPN ikke blitt satt opp riktig. Som standard blir eventuelle torrenter du slipper i mappen, nytt navn til .tilført, og en .part-fil skal opprettes til overføringen er fullført. Kontroller at dette er tilfelle i den delte mappen.

shared-stasjon

Det er det! Du har nå en super lavdrevet, sikker, torrent nedlasting Pi - og lar arbeidsstasjonen være tilgjengelig for bedre ting. Det kan være lurt å se på å legge til en UPnP-server til for streaming av media rundt nettverket, eller bruke BitTorrent Sync til lag din egen skylagring Bygg din egen skylagring med Raspberry Pi og BitTorrent SyncIkke tro hypen: Cloud er langt fra sikker. Men frykt ikke - nå kan du rulle ut din egen private, ubegrensede og sikre skylagringsplattform. Les mer . Hvilke funksjoner vil du legge til?

James har en BSc i kunstig intelligens, og er CompTIA A + og Network + sertifisert. Han er hovedutvikler av MakeUseOf, og bruker fritiden sin på å spille VR paintball og brettspill. Han har bygd pc-er siden han var liten.