Jak zamienić Raspberry Pi w stale pobierający megalit?

Jak zamienić Raspberry Pi w stale pobierający megalit?

Zrób swoją część dla globalnej „sieci dystrybucji Linuksa”, budując dedykowany, bezpieczny megalit do pobierania torrentów, który zużywa zaledwie 10 W mocy. Jest to możliwe i oczywiście będzie oparte na Raspberry Pi.





Pobieranie i seedowanie (Ty robisz nasiona, prawda? Dobrzy ludzie nasiona w stosunku co najmniej 2,0) jest żmudnym zadaniem dla każdego zwykłego komputera i oznacza, że ​​wysysasz znacznie więcej energii elektrycznej niż powinieneś, gdy musisz pozostawić go włączony na noc. Co by było, gdybyś mógł przenieść to zadanie na Raspberry Pi o niskim poborze mocy, wystarczająco mały, aby schować się pod deską podłogową i ledwo zużywający 10 W mocy, aby to wszystko zrobić. Dokładnie to pokażę ci dzisiaj, jak to zrobić.





Oto plan:





  • Skonfiguruj Raspberry Pi z pamięcią USB i przenieś dysk systemowy na USB, aby przedłużyć żywotność naszej karty SD.
  • Udostępnij to w sieci.
  • Skonfiguruj VPN tak, aby cały ruch był bezpiecznie kierowany przez VPN — a wszystko się zatrzyma, jeśli połączenie się nie powiedzie. Nie chcemy, aby dostawca usług internetowych wiedział, którą dystrybucję Linuksa preferujemy.
  • Zainstaluj zdalnie zarządzanego klienta torrentowego Transmission.

Brzmi skomplikowanie, prawda? Nie więcej niż kilkaset poleceń terminala, zapewniam cię. Wiele z tego pokrywa się z naszym Raspberry Pi NAS samouczek, więc jeśli nie jesteś tak zainteresowany torrentami i stroną VPN, możesz to sprawdzić.

Pamięć USB

Rozpocznij od nowej instalacji Raspian i podłącz interfejs Ethernet i podłącz pamięć USB (przez zasilany koncentrator USB lub prawdopodobnie później napotkasz błędy, tak jak ja) – nie musi być jeszcze sformatowana. Zaloguj się zdalnie przy użyciu domyślnej kombinacji nazwy użytkownika i hasła pi /raspberry, a następnie uruchom:



sudo raspi-config

Zmień ilość pamięci przeznaczoną na grafikę na 16 megabajtów – będziemy działać całkowicie bez głowy, więc nie potrzebujesz pamięci graficznej. Wyjdź i skonfigurujmy kilka partycji na USB. Zamierzamy skonfigurować co najmniej dwa - jeden do wykorzystania w systemie, aby zachować żywotność naszej karty SD, a drugi do przechowywania pobranych plików. Najpierw dowiedz się, który dysk jest twoim USB.

tail /var/log/messages

W moim przypadku łatwo było zidentyfikować jako „sda”. Mając to na uwadze, dostosuj następujące polecenie, aby wprowadzić fdisk narzędzie na odpowiednim urządzeniu.





sudo fdisk /dev/sda

naciskać P aby wyświetlić listę aktualnych partycji. Aby usunąć istniejące, naciśnij D . Utwórz nową partycję podstawową za pomocą n , następnie P . Gdy pojawi się pytanie o rozmiar, wprowadź + 8G . Teraz stwórz kolejną partycję dla swoich danych torrent (ponownie, podstawową) lub więcej partycji, jeśli chcesz. W po zakończeniu zapisze nową mapę partycji na dysku.

jak ulepszyć system Windows 10 do gier

Po zapisaniu nowej tabeli użyj następujących poleceń, aby sformatować dyski jako linux ext4 . Użyj dodatkowych poleceń, jeśli podzieliłeś dysk na więcej niż dwie partycje.





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

Ostatnie polecenie potwierdzi, że masz poprawnie zamontowane partycje. Następnie chcemy skopiować dane z karty SD na dysk - wydłuży to jego żywotność, unikając ciągłych operacji odczytu/zapisu do pamięci podręcznych itp. Zainstaluj rsync aby to zrobić:

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

Zainicjuje to długą serię kopiowania plików, więc trochę pokręć palcami.

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

Dostosuj to, aby przeczytać:

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

Następnie zmodyfikuj fstab zamontować je na starcie.

sudo nano /etc/fstab

Dodaj następujące wiersze:

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

Skomentuj następujący wiersz, który odnosi się do karty SD:

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

Uruchom ponownie Pi za pomocą

sudo reboot

Posortowane! Twoje Pi zamontuje teraz zarówno główną partycję danych, jak i partycję z torrentami

Udostępnij napęd: Samba

Upewnij się, że jesteśmy zaktualizowani jako pierwsi, usuń pakiety Wolfram Mathematica, które zawsze sprawiały mi kłopoty podczas robienia absolutnie wszystkiego na Pi (coś związanego z math-kernel), a następnie zainstaluj wymagane pakiety

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

Uderzyć CTRL+W i wpisz „zabezpieczenia”, aby znaleźć następującą linię, oraz a skomentuj to.

security = user

Dodaj następujące elementy, aby zdefiniować nasz współdzielony folder torrentów:

[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

Uruchom ponownie usługę Samba:

sudo service samba restart

Następnie musimy dodać użytkownika do systemu. Zastąp „jamie” wybraną nazwą użytkownika, za pomocą której będziesz się logować, aby uzyskać dostęp do udostępnionego folderu. Następujące polecenia poproszą cię o utworzenie haseł, pierwszego na poziomie systemu, a drugiego dla Samby. Zmodyfikuj ostatnie polecenia, jeśli nazwałeś swój dysk danych w inny sposób (a tutaj jest elementarz) własność plików w 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 — powinieneś być w stanie połączyć się z innego komputera w sieci i odczytywać/zapisywać pliki w nowym udziale. Sprawdź, czy pojawiają się również na Pi za pomocą ls z wewnątrz / mnt / torrenty teczka.

Konfiguracja VPN

Zainstaluj wymagane pakiety

sudo apt-get install openvpn resolvconf

Pobierz pliki konfiguracyjne OpenVPN od swojego dostawcy. Możesz sprawdzić listę najlepsze VPN tutaj, ale upewnij się, że znajdziesz taki, który jest przyjazny dla torrentów. używam prywatność.io ja, ale Prywatny dostęp do Internetu to kolejna popularna opcja w społecznościach torrentowych. Tak czy inaczej, powinieneś być w stanie pobrać plik ZIP z konfiguracjami i certyfikatem. Umieść je w swoim folderze z torrentami, w katalogu o nazwie otwórz VPN . Zmodyfikuj następujące polecenie tak, aby wskazywało na twój plik konfiguracyjny, który prawie na pewno będzie się różnił od prywatnośćIO.ovpn

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

Jeśli uzyskasz taki wynik, jesteś dobry. Uderzyć CTRL+C aby to zakończyć. Wpisywanie hasła jest denerwujące i potrzebujemy kilku modyfikacji, aby dodać skrypty startu i stopu. Edytuj plik konfiguracyjny (ponownie zastąp privacyIO.ovpn plikiem .ovpn otrzymanym od dostawcy)

nano /mnt/torrents/openvpn/privacyIO.ovpn

Najpierw zmodyfikuj następujący wiersz. Zasadniczo mówimy, że będziemy przechowywać nazwę użytkownika i hasło w pliku o nazwie pass.txt

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

Zapisz i wpisz:

nano /mnt/torrents/pass.txt

Wpisz swoją nazwę użytkownika w pierwszym wierszu, a hasło w następnym. Zapisz i spróbuj połączyć się ponownie:

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

Tym razem nie powinieneś być podsłuchiwany, aby się zalogować. Tak! Następnie ponownie otwórz plik konfiguracyjny i dodaj następujące wiersze:

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

To określa niektóre skrypty, które będziemy tworzyć później, aby wykonywać zadania, gdy połączenie zostanie pomyślnie nawiązane lub zerwane. Upewnij się, że jesteś w mnt/torrenty/openvpn katalogu, a następnie uruchom następujące polecenie:

nano route-up.sh

Dodaj następujące elementy, które zapewnią przesyłanie ruchu przez VPN:

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

Następnie utwórz skrypt down.sh

nano down.sh

Dodać:

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

Na koniec chcemy, aby skrypt otwierał połączenie, zamiast uruchamiać je z wiersza poleceń, tak jak właśnie to zrobiliśmy.

nano vpn.sh

Wklej poprzednie polecenie uruchamiania VPN. Jeśli zapomniałeś:

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

Teraz spraw, aby wszystkie te skrypty były wykonywalne i uruchom skrypt VPN podczas uruchamiania.

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

Dodaj następujący wiersz przed wyjście 0 linia. Po prostu mówimy mu, aby uruchamiał ten skrypt przy starcie.

/mnt/torrents/openvpn/vpn.sh

Na koniec ponownie uruchom system.

Zaloguj się ponownie i uruchom ifconfig . Będziesz wiedział, że to działa, jeśli zobaczysz wpis dla dotknij0 (lub tun0) i są w stanie skutecznie zwinąć stronę internetową:

curl https://www.makeuseof.com

Klient Torrent

Prawie tam teraz. Na koniec zainstalujemy Transmisję, która jest lekka i ma ładny webowy graficzny interfejs użytkownika. Następujące polecenia instalują, a następnie zatrzymują demona - ponieważ najpierw musimy go skonfigurować - a następnie otwiera plik ustawień do edycji.

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

Zmień 'rpc-authentication-required' na false; zmień 'rpc-whitelist', aby uwzględnić lokalną podsieć - na przykład:

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

Dodaj lub dostosuj następujące elementy, jeśli są już obecne:

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

Następnie edytuj sam plik startowy demona, aby rozwiązać niektóre problemy z uprawnieniami.

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

Zmienić USER=demon transmisji do UŻYTKOWNIK=root . Przeładuj demona.

sudo service transmission-daemon reload

Na koniec zainstalujemy avahi-demon aby skonfigurować sieć bonjour/zeroconf, co oznacza, że ​​nie będziemy musieli używać adresu IP Pi, aby uzyskać do niego dostęp z przeglądarki - zamiast tego będziemy mogli użyć raspberrypi.local adres.

sudo apt-get install avahi-daemon

Zakładając, że twoja nazwa hosta jest domyślna (raspberrypi, ale można to zmienić za pomocą raspi-config) , nawigować do:

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

Najpierw sprawdź, czy Twój adres IP torrenta jest poprawnie zamaskowany przez VPN. Pobierz testowy plik torrent z TorGuard - pobrana grafika wygląda jak reklama, ale nią nie jest - i wrzuć ją do współdzielonego folderu torrentów.

Skonfigurowaliśmy już Transmisję do oglądania tego folderu pod kątem nowych torrentów, więc powinien zostać dodany natychmiast. Śmiało i upuść tam również legalne torrenty dystrybucji Linuksa.

Torrent sprawdzający IP powinien zwrócić błąd wraz z wykrytym adresem IP. Upewnij się, że to nie jest Twój domowy adres IP — jeśli tak, VPN nie został poprawnie skonfigurowany. Domyślnie wszystkie torrenty, które umieścisz w folderze, zostaną zmienione na .added, a plik .part powinien zostać utworzony do czasu zakończenia przesyłania. Sprawdź, czy tak jest w Twoim udostępnionym folderze.

Otóż ​​to! Masz teraz bardzo energooszczędne, bezpieczne, pobierające torrenty Pi — pozostawiając stację roboczą dostępną na lepsze rzeczy. Możesz teraz rozważyć dodanie serwera UPnP do strumieniowego przesyłania multimediów w sieci lub użycie BitTorrent Sync do stworzenia własnego magazynu w chmurze. Jakie funkcje dodasz?

Udział Udział Ćwierkać E-mail 8 najlepszych stron internetowych do pobierania audiobooków za darmo

Audiobooki są doskonałym źródłem rozrywki i są znacznie łatwiejsze do strawienia. Oto osiem najlepszych stron internetowych, z których można je pobrać za darmo.

Czytaj dalej
Powiązane tematy
  • majsterkowanie
  • BitTorrent
  • Malina Pi
O autorze James Bruce(707 opublikowanych artykułów)

James ma tytuł licencjata w dziedzinie sztucznej inteligencji i posiada certyfikaty CompTIA A+ i Network+. Kiedy nie jest zajęty jako redaktor recenzji sprzętu, lubi LEGO, VR i gry planszowe. Przed dołączeniem do MakeUseOf był technikiem oświetlenia, nauczycielem języka angielskiego i inżynierem centrum danych.

Więcej od Jamesa Bruce .a

Zapisz się do naszego newslettera

Dołącz do naszego newslettera, aby otrzymywać porady techniczne, recenzje, bezpłatne e-booki i ekskluzywne oferty!

Kliknij tutaj, aby zasubskrybować