Hoe je je Raspberry Pi kunt veranderen in een Always-On Megalith downloaden

Doe mee aan het wereldwijde Linux-distributienetwerk door een speciale, veilige torrent-downloadende megaliet te bouwen die amper 10 W aan stroom gebruikt. Het zal natuurlijk gebaseerd zijn op een Raspberry Pi.

Doe mee aan het wereldwijde Linux-distributienetwerk door een speciale, veilige torrent-downloadende megaliet te bouwen die amper 10 W aan stroom gebruikt.  Het zal natuurlijk gebaseerd zijn op een Raspberry Pi.
Advertentie

Doe mee aan het wereldwijde 'Linux-distributienetwerk' door een speciale, 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 seeden (je doet zaad, goede mensen zaaien tot een verhouding van minimaal 2, 0) is een moeilijke taak voor elke gewone computer en betekent dat je veel meer elektriciteit zuigt dan je zou moeten zijn door het op te laten staan 's nachts. Wat als je die taak zou kunnen ontladen naar een low-powered Raspberry Pi, klein genoeg om onder een vloerplaat te proppen en nauwelijks 10W vermogen te breken om alles te doen. Dat is precies wat ik je laat zien vandaag.

Dit is het plan:

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

Klinkt ingewikkeld, nietwaar? Niet meer dan een paar honderd Terminal-opdrachten, dat verzeker ik je. Veel van dit overlapt met onze Raspberry Pi NAS Zet uw Raspberry Pi in een NAS-doos Zet uw Raspberry Pi in een NAS-doos Heeft u een paar externe harde schijven rondslingeren en een Raspberry Pi? Maak er een goedkoop, laagvermogen netwerkgebonden aangesloten opslagapparaat van. Hoewel het eindresultaat zeker niet zo zal zijn als ... Lees meer tutorial, dus als je niet zo geïnteresseerd bent in de torrenting- en VPN-kant van dingen, zou je dat in plaats daarvan willen kunnen checken.

USB opslag

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

sudo raspi-config 

Wijzig de hoeveelheid geheugen die wordt gegeven over afbeeldingen tot 16 megabytes - we zullen dit volledig headless gebruiken, dus je hebt geen grafisch geheugen nodig. Sluit af en laten we sommige partities instellen op de USB. We gaan ten minste twee - een instellen om voor het systeem te gebruiken om de levensduur van onze SD-kaart te behouden, en de andere voor het opslaan van de downloads. Zoek eerst uit welk station uw USB is.

 tail /var/log/messages 

In mijn geval was het gemakkelijk om te identificeren als "sda". Pas met dat in gedachten de volgende opdracht aan om het fdisk- hulpprogramma op het juiste apparaat in te voeren.

 sudo fdisk /dev/sda 

Druk op p om de huidige partities weer te geven. Als u bestaande nummers wilt verwijderen, drukt u op d . Maak een nieuwe primaire partitie, met n en dan p . Wanneer u naar de grootte wordt gevraagd, voert u + 8G in . Ga nu door en maak een nieuwe partitie voor je torrent-gegevens (opnieuw, primaire), 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 hebt gepartitioneerd met meer dan twee partities.

 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 de partities correct zijn gemount. Vervolgens willen we de SD-kaartgegevens naar de schijf kopiëren - dit verlengt de levensduur door constante lees- / schrijfbewerkingen naar caches enz. Te voorkomen. Installeer rsync om dit te doen:

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

Hiermee start u een lange reeks van bestandskopieën, dus twiddle uw vingers voor een beetje.

 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 

Wijzig vervolgens fstab om ze te koppelen bij het opstarten.

 sudo nano /etc/fstab 

Voeg de volgende regels toe:

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

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

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

Start de Pi opnieuw op

 sudo reboot 

Gesorteerd! Je Pi zal nu zowel een rootdatapartitie als je torrentpartitie aankoppelen

Deel de rit: Samba

Zorg ervoor dat we eerst zijn bijgewerkt, verwijder Wolfram Mathematica-pakketten die altijd problemen hebben veroorzaakt bij het doen van alles op de Pi (iets met wiskunde-kernel), installeer vervolgens de vereiste pakketten

 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 

Raak CTRL-W aan en typ 'beveiliging' om de volgende regel te vinden en geef er commentaar op.

 security = user 

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

 [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 de Samba-service opnieuw:

 sudo service samba restart 

Vervolgens moeten we een gebruiker aan het systeem toevoegen. Vervang "jamie" door uw gewenste gebruikersnaam waarmee u inlogt om toegang te krijgen tot de gedeelde map. De volgende opdrachten vragen u vervolgens om uw wachtwoorden te maken, de eerste op systeemniveau en de volgende voor Samba. Pas de laatste commando's aan als je je datadrive iets anders noemde (en hier is een inleiding over het eigendom van bestanden in 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 - u zou in staat moeten zijn om verbinding te maken vanaf een andere machine op uw netwerk en om bestanden te lezen / schrijven naar de nieuwe share. Controleer of ze ook op de Pi verschijnen met ls vanuit de map / mnt / torrents .

VPN-configuratie

Installeer de vereiste pakketten

 sudo apt-get install openvpn resolvconf 

Download de OpenVPN-configuratiebestanden van uw provider. Je kunt hier een lijst met de beste VPN's bekijken, maar zorg dat je er een vindt die torrentvriendelijk is. Ik gebruik zelf privacy.io, maar privé-internettoegang is een andere populaire optie binnen torrent-communities. Hoe dan ook, je zou in staat moeten zijn om een ​​ZIP-bestand met configuraties en een certificaat te bemachtigen. Zet deze in je torrent-map, in een map met de naam openvpn . Wijzig de volgende opdracht zodat deze naar uw configuratiebestand verwijst, 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-aansluiting output

Als je zo'n uitvoer krijgt, ben je goed. Druk op CTRL-C om het te beëindigen. Het is echter vervelend om het wachtwoord te moeten invoeren en we hebben een paar aanpassingen nodig om start- en stop-scripts toe te voegen. Bewerk het configuratiebestand (vervang nogmaals privacyIO.ovpn door het .ovpn-bestand dat uw provider u heeft gegeven)

 nano /mnt/torrents/openvpn/privacyIO.ovpn 

Wijzig eerst de volgende regel. Eigenlijk zeggen we dat we de gebruikersnaam en het wachtwoord 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 je gebruikersnaam in op de eerste regel en wachtwoord op de volgende regel. 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-security 2 

Je moet niet worden lastiggevallen om in te loggen in deze tijd. Yay! Open vervolgens het configuratiebestand opnieuw en voeg de volgende regels toe:

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

Dit specificeert enkele scripts die we later gaan maken om taken uit te voeren wanneer de verbinding met succes tot stand komt of naar beneden gaat. Zorg ervoor dat je in de map mnt / torrents / openvpn staat en voer dan het volgende uit:

 nano route-up.sh 

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

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

Maak vervolgens het script down.sh aan

 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 in de VPN-startopdracht van tevoren. In het geval u het vergeten bent:

 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 vóór de regel exit 0 . We vertellen het gewoon om dit script te starten bij het opstarten.

 /mnt/torrents/openvpn/vpn.sh 

Eindelijk start je systeem opnieuw op.

ifocnfig-check-VPN

Log opnieuw in en voer ifconfig uit . U weet dat het werkt als u een item ziet voor tai0 (of tun0) en een webpagina kunt omcirkelen :

 curl //www.makeuseof.com 

De Torrent-client

Nu bijna daar. Ten slotte gaan we Transmission installeren, dat licht is en een mooie web-GUI heeft. De volgende opdrachten worden geïnstalleerd en vervolgens wordt de daemon gestopt - omdat we deze eerst moeten configureren - en opent vervolgens het instellingenbestand voor bewerking.

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

Wijzig "rpc-authentication-required" in false; verander "rpc-whitelist" naar uw lokale subnet - 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": true, "umask": 2,  

Bewerk vervolgens het opstartbestand van de daemon zelf om met sommige toestemmingsproblemen om te gaan.

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

Verander de USER = transmission-daemon in USER = root . Laad de daemon opnieuw.

 sudo service transmission-daemon reload 

Ten slotte zullen we avahi-daemon installeren om bonjour / zeroconf-netwerken in te stellen, wat betekent dat we het IP-adres van de Pi niet hoeven te gebruiken om het via een browser te benaderen - in plaats daarvan zullen we raspberrypi.local kunnen gebruiken adres.

 sudo apt-get install avahi-daemon 

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

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

Controleer eerst of je torrent-IP correct is verborgen door de VPN. Download het test torrent-bestand van TorGuard - de download-afbeelding ziet eruit als een advertentie, maar dat is het niet - en laat deze in de gedeelde torrents-map vallen.

check-torrent-ip

We hebben Transmissie al geconfigureerd om deze map te bekijken voor nieuwe torrents, dus deze moet onmiddellijk worden toegevoegd. Ga je gang en stop ook wat legale Linux distro-torrents.

transmissie-torrent-ip-check-resultaten

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

shared-aandrijving

Dat is het! Je hebt nu een super low-powered, 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 in het netwerk of het gebruik van BitTorrent Sync om uw eigen cloudopslag te maken. Bouw uw eigen cloudopslag met Raspberry Pi en BitTorrent Sync Bouw uw eigen cloudopslag met Raspberry Pi en BitTorrent Synchroniseren Geloof de hype niet: de cloud is verre van veilig. Maar wees niet bang - nu kunt u uw eigen private, onbeperkte en veilige cloudopslagplatform uitrollen. Lees verder . Welke functies ga je toevoegen?

In this article