Annons
Gör din del för det globala "Linux-distributionsnätverket" genom att bygga en dedikerad, säker, torrentnedladdande megalith som knappt använder 10W ström. Det är möjligt, och det kommer naturligtvis att baseras på en Raspberry Pi.
Nedladdning och sådd (du gör frö, eller hur? Bra folk utsäde till minst en 2,0-kvot) är en besvärlig uppgift för alla vanliga datorer och innebär att du suger ner mycket mer el än du borde vara genom att behöva lämna den på över natten. Vad händer om du kunde ladda ner den här uppgiften till en lågdrivet Raspberry Pi, liten nog att fylla under en golvbräda och knappt bryta 10W ström för att göra allt. Det är precis vad jag ska visa dig hur du gör i dag.
Här är planen:
- Ställ in en Raspberry Pi med lite USB-lagring och flytta systemenheten över till USB för att förlänga livslängden på vårt SD-kort.
- Dela det via nätverket.
- Konfigurera ett VPN så att all trafik dirigeras över VPN, säkert - och allt stoppar om den anslutningen misslyckas. Vi vill inte att ISP vet vilken Linux-distro vi föredrar.
- Installera en fjärrstyrbar torrentklient, sändning.
Låter komplicerat, eller hur? Högst några hundra terminalkommandon, jag försäkrar dig. Mycket av detta överlappar vår Hallon Pi NAS Vänd din hallonpi till en NAS-lådaHar du ett par externa hårddiskar som ligger runt och en Raspberry Pi? Gör en billig, lågdrivna nätanslutna lagringsenhet ur dem. Även om slutresultatet verkligen inte kommer att vara lika ... Läs mer tutorial, så om du inte är så intresserad av torrenting och VPN-sidan av saker, kanske du vill kolla in det istället.
USB-minne
Börja med en ny Raspian-installation och anslut Ethernet-gränssnittet och anslut din USB-lagring (genom ett USB-nav, eller så kommer det troligtvis att du kommer att möta fel senare som jag gjorde) - det behöver inte formateras än. Logga in på distans med användarnamnet och lösenordskombinationen pi / hallon, kör sedan:
sudo raspi-config
Ändra mängden minne som givits över grafik till 16 megabyte - vi kör detta helt huvudlöst, så du behöver inte grafiskt minne. Avsluta och låt oss ställa in några partitioner på USB. Vi kommer att konfigurera minst två - en som ska användas för systemet för att bevara vårt SD-kort livslängd, och det andra för nedladdningar som ska lagras. Ta reda på först vilken enhet som är din USB.
svans / var / logg / meddelanden
I mitt fall var det lätt att identifiera som ”sda”. Med det i åtanke, justera följande kommando för att ange fdisk verktyg på rätt enhet.
sudo fdisk / dev / sda
Tryck p för att lista aktuella partitioner. För att ta bort befintliga, tryck på d. Skapa en ny primär partition med ndå p. När det ber dig om storlek, ange + 8G. Gå nu vidare och skapa en annan partition för dina torrentdata (igen, primär) eller fler partitioner också om du vill. W kommer att skriva den nya partitionskartan till enheten när du är klar.
När den nya tabellen har skrivits, använd följande kommandon för att formatera enheterna som Linux ext4. Använd ytterligare kommandon om du partitionerade din enhet med mer än två 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.
Det sista kommandot bekräftar att du har monterat partitionerna korrekt. Därefter vill vi kopiera SD-kortdata till enheten - detta kommer att förlänga dess livslängd genom att undvika ständiga läs / skrivoperationer till cachar etc. Installera rsync att göra detta:
sudo apt-get install rsync. sudo rsync -axv / / mnt / systemdrive.
Detta kommer att initiera en lång serie filkopiering, så vrida fingrarna lite.
sudo cp /boot/cmdline.txt /boot/cmdline.orig. sudo nano /boot/cmdline.txt.
Justera detta för att läsa:
dwc_otg.lpm_enable = 0 console = ttyAMA0,115200 kgdboc = ttyAMA0,115200 console = tty1 root = / dev / sda1 rootfstype = ext4 lift = deadline rootwait rootdelay = 5.
Nästa, ändra fstab att montera dem vid uppstart.
sudo nano / etc / fstab.
Lägg till följande rader:
/ dev / sda1 / ext4 standard, noatime 0 1. / dev / sda2 / mnt / torrents ext4 standard 0 2.
Kommentera följande rad som hänvisar till SD-kortet:
# / dev / mmcblk0p2 / ext4 standard, noatime 0 1.
Starta om Pi med
starta om.
Sorterad! Din Pi kommer nu att montera både en rotdatapartition och din torrentspartition
Dela The Drive: Samba
Se till att vi uppdateras först, ta bort Wolfram Mathematica-paket som alltid har orsakat mig problem när du gör absolut något på Pi (något att göra med matematisk kärna), installera sedan önskat paket
sudo apt-get-uppdatering. sudo apt-get dist-upgrade. sudo apt-get ta bort wolfram-engine. sudo apt-get install samba samba-common-bin. sudo nano /etc/samba/smb.conf.
Träffa CTRL-W och skriv "säkerhet" för att hitta följande rad, och fnkommentera det.
säkerhet = användare.
Lägg till följande för att definiera vår delade mapp för torrenter:
[enter] kommentar = torrents. sökväg = / mnt / torrents. giltiga användare = @användare. kraftgrupp = användare. skapa mask = 0775. tvinga skapa-läge = 0775. säkerhetsmask = 0775. tvinga säkerhetsläge = 0775. katalogmask = 2775. tvinga katalogläge = 2775. katalogsäkerhetsmask = 2775. tvinga katalogsäkerhetsläge = 2775. sökbar = ja. skrivbar = ja. gäst ok = nej. läs endast = nej.
Starta om Samba-tjänsten:
sudo service samba omstart.
Nästa måste vi lägga till en användare i systemet. Byt ut "jamie" med önskat användarnamn som du loggar in med för att komma åt den delade mappen. Följande kommandon ber dig sedan skapa dina lösenord, de första på systemnivå och nästa för Samba. Ändra de sista kommandona om du kallade din datadisk till något annat (och här är en primer på filägande i Linux).
sudo useradd jamie -m -G-användare. sudo passwd jamie. sudo smbpasswd -a jamie. sudo chown pi: användare / mnt / torrents. chmod g + w / mnt / torrents.
Testa - du bör kunna ansluta från en annan maskin i ditt nätverk och läsa / skriva filer till den nya delningen. Kontrollera att de också visas på Pi ls från inom /mnt/torrents mapp.
VPN-installation
Installera de nödvändiga paketen
sudo apt-get install openvpn resolvconf.
Ladda ner OpenVPN-konfigurationsfilerna från din leverantör. Du kan kolla in en lista över bästa VPN: er De bästa VPN-tjänsternaVi har sammanställt en lista över vad vi anser vara de bästa leverantörerna av Virtual Private Network (VPN) -tjänster, grupperade efter premium-, gratis- och torrentvänliga. Läs mer här, men se till att hitta en som är torrentvänlig. jag använder privacy.io själv, men Privat internetuppkoppling är ett annat populärt alternativ inom torrentsamhällen. Hursomhelst, bör du kunna ta en ZIP-fil med konfigurationer och ett certifikat. Lägg dessa i din torrentsmapp, i en katalog som heter openvpn. Ändra följande kommando så att det pekar på din konfigurationsfil, som nästan säkert kommer att skilja sig från privacyIO.ovpn
sudo openvpn --client --config /mnt/torrents/openvpn/privacyIO.ovpn --ca /mnt/torrents/openvpn/privacy.ca.crt - script-security 2.

Om du får en produkt som denna är du bra. Träffa CTRL-C att säga upp det. Det är dock irriterande att behöva skriva in lösenordet och vi behöver några ändringar för att lägga till start- och stoppskript. Redigera konfigurationsfilen (igen, ersätt privacyIO.ovpn med .ovpn-filen som din leverantör gav dig)
nano /mnt/torrents/openvpn/privacyIO.ovpn.
Ändra först följande rad. I princip säger vi att vi kommer att lagra användarnamn och lösenord i en fil som heter pass.txt
autor-user-pass /mnt/torrents/openvpn/pass.txt.
Spara och skriv:
nano /mnt/torrents/pass.txt.
Ange ditt användarnamn på den första raden och lösenordet på nästa. Spara och försök ansluta igen:
sudo openvpn --client --config /mnt/torrents/openvpn/privacyIO.ovpn --ca /mnt/torrents/openvpn/privacy.ca.crt
--script-security 2
Du bör inte vara felaktig för att logga in den här gången. Jippie! Öppna sedan konfigureringsfilen igen och lägg till följande rader:
route-up /mnt/torrents/openvpn/route-up.sh. down-pre. ned /mnt/torrents/openvpn/down.sh.
Detta specificerar några skript som vi ska skapa senare för att utföra uppgifter när anslutningen antingen kommer fram eller släpper. Se till att du är i mnt / enter / openvpn katalog, kör sedan följande:
nano route-up.sh.
Lägg till följande som säkerställer att trafik skickas ut över VPN:
#! / Bin / sh. iptables -t nat -I POSTROUTING -o tun0 -j MASQUERADE.
Skapa sedan down.sh-skriptet
nano ner.sh.
Lägg till:
#! / Bin / sh. iptables -t nat -D POSTROUTING -o tun0 -j MASQUERADE.
Slutligen vill vi att ett skript öppnar anslutningen istället för att starta den från kommandoraden som vi just gjorde.
nano vpn.sh.
Klistra in VPN-startkommandot från tidigare. Om du har glömt:
sudo openvpn --client --config /mnt/torrents/openvpn/privacyIO.ovpn --ca /mnt/torrents/openvpn/privacy.ca.crt - script-security 2.
Gör nu alla dessa skript körbara och starta VPN-skriptet vid start.
chmod + x down.sh. chmod + x route-up.sh. chmod + x vpn.sh. sudo nano /etc/rc.local.
Lägg till följande rad före avsluta 0 linje. Vi ber bara om att starta det här skriptet vid start.
/mnt/torrents/openvpn/vpn.sh.
Slutligen starta om ditt system igen.

Logga in igen och kör ifconfig. Du vet att det fungerar om du ser en post för tap0 (eller tun0), och kan lyckas krulla en webbsida:
locka //www.makeuseof.com.
Torrentklienten
Nästan där nu. Slutligen kommer vi att installera Transmission, som är lätt och har ett trevligt webbgränssnitt. Följande kommandon installeras och stoppar sedan demonen - eftersom vi måste konfigurera den först - öppnar sedan inställningsfilen för redigering.
sudo apt-get install transmission-daemon. sudo /etc/init.d/transmission-daemon stop. sudo nano /etc/transmission-daemon/settings.json.
Ändra "rpc-verifiering-krävs" till falsk; ändra "rpc-whitelist" för att inkludera ditt lokala undernät - till exempel:
"rpc-whitelist": "127.0.0.1,10.0.1. *",
Lägg till eller justera följande om redan finns:
"download-dir": "/ mnt / torrents", "watch-dir": "\ / mnt \ / torrents \ /", "watch-dir-enabled": true, "umask": 2,
Därefter redigerar du själva startfilen för daemon för att hantera vissa behörighetsproblem.
sudo nano /etc/init.d/transmission-daemon.
Ändra USER = transmission-daemon till USER = rot. Ladda om demonen.
överföring av sudo-tjänst-daemon.
Slutligen kommer vi att installera avahi-daemon för att ställa in bonjour / zeroconf-nätverk, vilket innebär att vi inte behöver använda IP-adressen för Pi för att komma åt den från en webbläsare - istället kommer vi att kunna använda raspberrypi.local adress.
sudo apt-get install avahi-daemon.
Förutsatt att ditt värdnamn är standard (raspberrypi, men kan ändras med raspi-config), navigera till:
http://raspberrypi.local: 9091 / sändning / webb /
Kontrollera först att din torrent-IP är korrekt dold genom VPN. Ladda ner testtorrentfilen från TorGuard - nedladdningsgrafiken ser ut som en annons, men den är det inte - och släpp den i den delade mappen torrents.

Vi har redan konfigurerat sändningen för att titta på den här mappen för nya torrenter, så den bör läggas till omedelbart. Gå vidare och släpp också några lagliga Linux-distro-torrenter där.

IP-kontrolltorrenten ska returnera ett fel tillsammans med den IP-adress som den upptäckte. Se till att det inte är din hem-IP - om så är fallet har VPN inte ställts in rätt. Som standard byts namn på alla torrenter som du släpper i mappen till .added och en .part-fil ska skapas tills överföringen är klar. Kontrollera att detta är fallet i din delade mapp.

Det är allt! Du har nu en superlågdriven, säker, torrent-nedladdning Pi - lämnar din arbetsstation tillgänglig för bättre saker. Du kanske nu vill titta på att lägga till en UPnP-server till för strömmande media runt nätverket eller använda BitTorrent Sync för att skapa din egen molnlagring Bygg din egen molnlagring med Raspberry Pi och BitTorrent SyncTro inte hype: molnet är långt ifrån säkert. Men ha ingen rädsla - nu kan du rulla ut din egen privata, obegränsade och säkra molnlagringsplattform. Läs mer . Vilka funktioner kommer du att lägga till i?
James har en kandidatexamen i artificiell intelligens och är CompTIA A + och Network + certifierad. Han är ledande utvecklare av MakeUseOf och tillbringar sin fritid med att spela VR-paintball och brädspel. Han har byggt datorer sedan han var liten.