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