Advertentie

Draag uw steentje bij aan het wereldwijde 'Linux-distributienetwerk' door een toegewijde, veilige, torrent-downloadende megaliet te bouwen die amper 10 W stroom verbruikt. Het is mogelijk en het zal natuurlijk gebaseerd zijn op een Raspberry Pi.

Downloaden en zaaien (je doet toch zaad? Goede mensen zaaien tot een verhouding van tenminste 2.0) is een zware taak voor elke gewone computer, en betekent dat u veel meer elektriciteit opzuigt dan u zou moeten zijn door hem 's nachts aan te laten staan. Wat als je die taak zou kunnen overzetten naar een Raspberry Pi met een laag vermogen, klein genoeg om onder een vloerplaat te proppen en amper 10 W vermogen te breken om het allemaal te doen. Dat is precies wat ik je vandaag laat zien.

Dit is het plan:

  • Stel een Raspberry Pi in met wat USB-opslag en verplaats de systeemschijf naar USB om de levensduur van onze SD-kaart te verlengen.
  • Deel dat via het netwerk.
  • Configureer een VPN zodat al het verkeer veilig over de VPN wordt geleid - en alles stopt als die verbinding mislukt. We willen niet dat ISP weet welke Linux-distro we prefereren.
  • instagram viewer
  • Installeer een op afstand te beheren torrent-client, Transmission.

Klinkt ingewikkeld, nietwaar? Niet meer dan een paar honderd Terminal-opdrachten, dat kan ik u verzekeren. Veel hiervan overlapt met onze Raspberry Pi NAS Verander uw Raspberry Pi in een NAS-boxHeb je een paar externe harde schijven die rondslingeren en een Raspberry Pi? Maak er een goedkoop aangesloten netwerkopslagapparaat met laag vermogen van. Hoewel het eindresultaat zeker niet zo zal zijn als ... Lees verder tutorial, dus als je niet zo geïnteresseerd bent in de torrent- en VPN-kant van de dingen, wil je dat misschien eens proberen.

USB opslag

Begin met een nieuwe Raspian-installatie en sluit de Ethernet-interface aan en sluit uw USB-opslag aan (via een USB-hub met eigen voeding, anders krijg je waarschijnlijk later fouten te zien zoals ik deed) - het hoeft niet te worden geformatteerd nog. Log op afstand in met de standaard combinatie van pi / raspberry gebruikersnaam en wachtwoord en voer vervolgens uit:

sudo raspi-config

Verander de hoeveelheid geheugen die wordt gegeven via afbeeldingen in 16 megabytes - we gebruiken dit volledig zonder hoofd, dus je hebt geen grafisch geheugen nodig. Sluit af en laten we een aantal partities op de USB instellen. We gaan er ten minste twee instellen: één om voor het systeem te gebruiken om de levensduur van onze SD-kaart te behouden, en de andere om downloads op te slaan. Zoek eerst uit welk station uw USB is.

tail / var / log / messages

In mijn geval was het gemakkelijk te identificeren als "sda". Met dat in gedachten, past u de volgende opdracht aan om de fdisk hulpprogramma op het juiste apparaat.

sudo fdisk / dev / sda

druk op p om huidige partities weer te geven. Druk op om bestaande te verwijderen d. Maak een nieuwe primaire partitie aan met n, vervolgens p. Voer in als u om maat wordt gevraagd + 8G. Ga nu door en maak een andere partitie voor je torrent-gegevens (opnieuw, primair), of meer partities als je dat wilt. W zal de nieuwe partitiekaart naar de schijf schrijven als je klaar bent.

Nadat de nieuwe tabel is geschreven, gebruikt u de volgende opdrachten om de schijven te formatteren als linux ext4. Gebruik extra opdrachten als u uw schijf met meer dan twee partities hebt gepartitioneerd.

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. 

De laatste opdracht bevestigt dat je de partities correct hebt gemount. Vervolgens willen we de SD-kaartgegevens naar de schijf kopiëren - dit zal de levensduur verlengen door constante lees- / schrijfbewerkingen naar caches enz. Te vermijden. Installeren rsync om dit te doen:

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

Dit zal een lange reeks bestanden kopiëren, dus draai even met je vingers.

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

Pas dit aan om te lezen:

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

Pas vervolgens aan fstab om ze bij het opstarten te monteren.

sudo nano / etc / fstab. 

Voeg de volgende regels toe:

/ dev / sda1 / ext4 standaardinstellingen, noatime 0 1. / dev / sda2 / mnt / torrents ext4 standaard 0 2. 

Geef commentaar op de volgende regel die verwijst naar de SD-kaart:

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

Start de Pi opnieuw op met

sudo herstart. 

Gesorteerd! Je Pi zal nu zowel een root-gegevenspartitie als je torrents-partitie koppelen

Deel The Drive: Samba

Zorg ervoor dat we eerst worden bijgewerkt, verwijder Wolfram Mathematica-pakketten die me altijd problemen hebben bezorgd wanneer je absoluut alles op de Pi doet (iets dat te maken heeft met wiskunde-kernel), installeer dan de vereiste pakketjes

sudo apt-get update. sudo apt-get dist-upgrade. sudo apt-get verwijder wolfram-engine. sudo apt-get installeer samba samba-common-bin. sudo nano /etc/samba/smb.conf. 

Raken CTRL-W en typ "beveiliging" om de volgende regel te vinden, en unbecommentarieer het.

beveiliging = gebruiker. 

Voeg het volgende toe om onze gedeelde torrents-map te definiëren:

[torrents] comment = torrents. pad = / mnt / torrents. geldige gebruikers = @gebruikers. force group = gebruikers. masker maken = 0775. forceer creëer modus = 0775. beveiligingsmasker = 0775. forceer beveiligingsmodus = 0775. directory masker = 2775. forceer directory-modus = 2775. directory beveiligingsmasker = 2775. forceer map beveiligingsmodus = 2775. doorzoekbaar = ja. beschrijfbaar = ja. gast ok = nee. alleen lezen = nee.

Start de Samba-service opnieuw:

sudo service samba herstart. 

Vervolgens moeten we een gebruiker aan het systeem toevoegen. Vervang 'jamie' door je gewenste gebruikersnaam waarmee je inlogt om toegang te krijgen tot de gedeelde map. De volgende opdrachten vragen je vervolgens om je wachtwoorden te maken, de eerste op systeemniveau en de volgende voor Samba. Pas de laatste opdrachten aan als u uw gegevensstation iets anders hebt aangeroepen (en hier volgt een inleiding) bestandseigendom in Linux).

sudo useradd jamie -m -G gebruikers. sudo passwd jamie. sudo smbpasswd-een jamie. sudo chown pi: gebruikers / mnt / torrents. chmod g + w / mnt / torrents. 

Test - u moet verbinding kunnen maken vanaf een andere machine in uw netwerk en bestanden kunnen lezen / schrijven naar de nieuwe share. Controleer of ze ook op de Pi verschijnen ls van binnen de /mnt/torrents map.

VPN-instellingen

Installeer de vereiste pakketten

sudo apt-get installeer openvpn resolvconf. 

Download de OpenVPN-configuratiebestanden van uw provider. U kunt een lijst met de bekijken beste VPN's De beste VPN-servicesWe hebben een lijst samengesteld met wat we beschouwen als de beste Virtual Private Network (VPN) -serviceproviders, gegroepeerd op premium, gratis en torrent-vriendelijk. Lees verder hier, maar zorg ervoor dat je er een vindt die torrent-vriendelijk is. ik gebruik privacy.io mezelf, maar Privé-internettoegang is een andere populaire optie binnen torrent-gemeenschappen. Hoe dan ook, je zou een ZIP-bestand met configuraties en een certificaat moeten kunnen pakken. Zet deze in je torrents-map, in een directory genaamd openvpn. Wijzig de volgende opdracht zodat deze verwijst naar uw configuratiebestand, dat vrijwel zeker zal verschillen van privacyIO.ovpn

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

Als je zo'n output krijgt, zit je goed. Raken CTRL-C om het te beëindigen. Het is echter vervelend om het wachtwoord in te typen en we hebben een paar aanpassingen nodig om start- en stop-scripts toe te voegen. Bewerk het configuratiebestand (vervang opnieuw privacyIO.ovpn door het .ovpn-bestand dat uw provider u heeft gegeven)

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

Pas eerst de volgende regel aan. In feite zeggen we dat we de gebruikersnaam en het wachtwoord zullen opslaan in een bestand met de naam pass.txt

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

Opslaan en typ:

nano /mnt/torrents/pass.txt. 

Voer uw gebruikersnaam in op de eerste regel en het wachtwoord op de volgende. Sla op en probeer opnieuw verbinding te maken:

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

U hoeft zich deze keer niet te laten afluisteren. Yay! Open vervolgens het configuratiebestand opnieuw en voeg de volgende regels toe:

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

Dit specificeert enkele scripts die we later gaan maken om taken uit te voeren wanneer de verbinding tot stand komt of verbroken wordt. Zorg ervoor dat je in de mnt / torrents / openvpn directory en voer dan het volgende uit:

nano route-up.sh. 

Voeg het volgende toe dat ervoor zorgt dat er verkeer wordt verzonden via de VPN:

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

Maak vervolgens het down.sh-script

nano down.sh. 

Toevoegen:

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

Ten slotte willen we dat een script de verbinding opent, in plaats van het vanaf de opdrachtregel te starten, zoals we net deden.

nano vpn.sh. 

Plak de VPN-startopdracht van eerder. Voor het geval je het bent vergeten:

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

Maak nu al die scripts uitvoerbaar en start het VPN-script bij het opstarten.

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

Voeg de volgende regel toe voor de uitgang 0 lijn. We vertellen het alleen om dit script te starten bij het opstarten.

/mnt/torrents/openvpn/vpn.sh. 

Start ten slotte uw systeem opnieuw op.

ifocnfig-check-vpn

Log opnieuw in en ren ifconfig. U weet dat het werkt als u een vermelding ziet voor tik op 0 (of tun0), en zijn in staat om een ​​webpagina succesvol te krullen:

krul //www.makeuseof.com. 

De Torrent-client

Bijna daar nu. Ten slotte gaan we Transmission installeren, die lichtgewicht is en een mooie web-GUI heeft. De volgende opdrachten installeren en stoppen vervolgens de daemon - omdat we deze eerst moeten configureren - en openen vervolgens het instellingenbestand voor bewerking.

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

Wijzig "rpc-authentication-required" in false; verander "rpc-whitelist" om uw lokale subnet op te nemen - bijvoorbeeld:

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

Voeg het volgende toe of pas het aan als het al aanwezig is:

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

Bewerk vervolgens het daemon-opstartbestand zelf om enkele toestemmingsproblemen op te lossen.

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

Verander de USER = transmissie-daemon naar USER = root. Laad de daemon opnieuw.

sudo service transmissie-daemon herladen. 

Eindelijk installeren we avahi-daemon om bonjour / zeroconf-netwerken in te stellen, wat betekent dat we het IP-adres van de Pi niet hoeven te gebruiken om er toegang toe te krijgen vanuit een browser - in plaats daarvan kunnen we de raspberrypi.local adres.

sudo apt-get installeer avahi-daemon. 

Ervan uitgaande dat uw hostnaam de standaard is (raspberrypi, maar kan worden gewijzigd met raspi-config), navigeren naar:

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

Controleer eerst of je torrent-IP correct is vermomd via de VPN. Download het test torrent-bestand van TorGuard - de downloadafbeelding ziet eruit als een advertentie, maar dat is het niet - en plaats deze in de gedeelde map van torrents.

check-torrent-ip

We hebben Transmission al geconfigureerd om deze map te bekijken voor nieuwe torrents, dus deze moet onmiddellijk worden toegevoegd. Ga je gang en laat daar ook wat legale Linux-distributies in vallen.

transmissie-torrent-ip-check-resultaten

De torrent voor IP-controle zou een fout moeten retourneren, samen met het IP-adres dat het heeft gedetecteerd. Zorg ervoor dat dit niet uw thuis-IP is - als dat zo is, is de VPN niet goed ingesteld. Standaard worden alle torrents die u in de map zet, hernoemd naar .added en een .part-bestand moet worden gemaakt totdat de overdracht is voltooid. Controleer of dit het geval is in uw gedeelde map.

gedeelde drive

Dat is het! Je hebt nu een superlage, veilige, torrent-downloadende Pi - waardoor je werkstation beschikbaar blijft voor betere dingen. Misschien wilt u nu kijken naar het toevoegen van een UPnP-server voor het streamen van media over het netwerk of het gebruik van BitTorrent Sync om creëer uw eigen cloudopslag Bouw je eigen cloudopslag met Raspberry Pi en BitTorrent SyncGeloof de hype niet: de cloud is verre van veilig. Maar wees niet bang - nu kunt u uw eigen privé, onbeperkt en veilig cloudopslagplatform uitrollen. Lees verder . Welke functies ga je toevoegen?

James heeft een BSc in Artificial Intelligence en is CompTIA A + en Network + gecertificeerd. Hij is de hoofdontwikkelaar van MakeUseOf en brengt zijn vrije tijd door met het spelen van VR paintball en bordspellen. Hij bouwt al pc's sinds hij een kind was.