Reklama

Odegraj swoją rolę w globalnej „sieci dystrybucyjnej Linuksa”, budując dedykowany, bezpieczny megalit pobierający torrenty, który zużywa zaledwie 10 W mocy. Jest to możliwe i będzie oczywiście oparte na Raspberry Pi.

Pobieranie i inicjowanie (robisz nasiona, prawda? Dobrzy ludzie nasieniają co najmniej współczynnik 2,0) jest uciążliwym zadaniem dla każdego zwykłego komputera i oznacza, że ​​zużywasz znacznie więcej prądu, niż powinno być, pozostawiając go na noc. Co, jeśli mógłbyś przeładować to zadanie na Raspberry Pi o małej mocy, wystarczająco mały, aby wsunąć go pod podłogę i ledwo zepsuć 10 W mocy, aby zrobić to wszystko. Właśnie to pokażę Ci, jak dziś robić.

Oto plan:

  • Skonfiguruj Raspberry Pi z pewną pamięcią USB i przenieś dysk systemowy na USB, aby przedłużyć żywotność naszej karty SD.
  • Udostępnij to przez sieć.
  • Skonfiguruj VPN, 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 torrent, Transmission.

Brzmi skomplikowanie, prawda? Zapewniam, że nie więcej niż kilkaset poleceń terminalu. Wiele z nich pokrywa się z naszymi Raspberry Pi NAS Zamień Raspberry Pi w skrzynkę NASCzy masz kilka zewnętrznych dysków twardych i Raspberry Pi? Stwórz z nich tanie, podłączone do sieci urządzenie pamięci masowej o niskiej mocy. Chociaż wynik końcowy z pewnością nie będzie tak ... Czytaj więcej samouczek, więc jeśli nie interesuje Cię torrentowanie i VPN, możesz to sprawdzić.

Pamięć USB

Rozpocznij od nowej instalacji Raspian, podłącz interfejs Ethernet i podłącz pamięć USB (za pośrednictwem zasilanego koncentratora USB, w przeciwnym razie prawdopodobnie napotkasz błędy, tak jak ja) - nie trzeba go formatować jeszcze. 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 przeznaczonej na grafikę na 16 megabajtów - uruchomimy to całkowicie bez głowy, więc nie potrzebujesz pamięci graficznej. Wyjdź i skonfigurujmy niektóre partycje na USB. Zamierzamy skonfigurować co najmniej dwa - jeden do użycia 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ć go 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

naciśnij p aby wyświetlić listę bieżących partycji. Aby usunąć istniejące, naciśnij re. Utwórz nową partycję podstawową za pomocą n, następnie p. Gdy pojawi się pytanie o rozmiar, wprowadź + 8G. Teraz idź dalej i utwórz kolejną partycję dla danych torrenta (ponownie, podstawową) lub więcej partycji, jeśli chcesz. W. zapisze nową mapę partycji na dysku, gdy skończysz.

Po zapisaniu nowej tabeli użyj następujących poleceń, aby sformatować dyski jako linux ext4. Użyj dodatkowych poleceń, jeśli partycjonujesz dysk za pomocą więcej niż dwóch partycji.

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 partycje zostały poprawnie zamontowane. Następnie chcemy skopiować dane karty SD na dysk - wydłuży to jego żywotność, unikając ciągłych operacji odczytu / zapisu w pamięci podręcznej itp. zainstalować rsync aby to zrobić:

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

To zainicjuje długą serię kopiowania plików, więc trochę przesuń palce.

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

Dostosuj to, aby przeczytać:

dwc_otg.lpm_enable = 0 konsola = ttyAMA0,115200 kgdboc = ttyAMA0,115200 konsola = tty1 root = / dev / sda1 rootfstype = ext4 winda = ostateczny termin rootwait rootdelay = 5. 

Następnie zmodyfikuj fstab zamontować je przy uruchomieniu.

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

Posortowane! Twoje Pi zamontuje teraz zarówno partycję root, jak i partycję torrentów

Udostępnij dysk: Samba

Najpierw upewnij się, że jesteśmy zaktualizowani, usuń pakiety Wolfram Mathematica, które zawsze sprawiały mi problemy robiąc absolutnie wszystko na Pi (coś wspólnego z jądrem matematycznym), zainstaluj wymagany paczki

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. 

Trafienie CTRL-W i wpisz „bezpieczeństwo”, aby znaleźć następujący wiersz, i unskomentuj to.

bezpieczeństwo = użytkownik. 

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

[torrenty] komentarz = torrenty. ścieżka = / mnt / torrents. poprawni użytkownicy = @users. grupa siły = użytkownicy. Utwórz maskę = 0775. tryb tworzenia siły = 0775. maska ​​bezpieczeństwa = 0775. wymuś tryb bezpieczeństwa = 0775. maska ​​katalogu = 2775. wymuś tryb katalogu = 2775. maska ​​bezpieczeństwa katalogu = 2775. wymuś tryb zabezpieczeń katalogu = 2775. przeglądalny = tak. zapisywalny = tak. gość ok = nie. tylko do odczytu = nie.

Uruchom ponownie usługę Samba:

sudo service samba restart. 

Następnie musimy dodać użytkownika do systemu. Zamień „jamie” na żądaną nazwę użytkownika, którą będziesz się logować, aby uzyskać dostęp do udostępnionego folderu. Następujące polecenia proszą następnie o utworzenie haseł, pierwsze na poziomie systemu, a następne dla Samby. Zmodyfikuj ostatnie polecenia, jeśli nazwałeś swój dysk danych czymś innym (a tutaj jest podkład własność pliku w systemie 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 do nowego udziału. Sprawdź, czy pojawiają się również na Pi ls z poziomu /mnt/torrents 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 Najlepsze usługi VPNZebraliśmy listę najlepszych dostawców usług wirtualnej sieci prywatnej (VPN), pogrupowanych według kategorii premium, darmowych i przyjaznych dla torrentów. Czytaj więcej tutaj, ale koniecznie znajdź taki, który jest przyjazny dla torrentów. używam privacy.io ja, ale Prywatny dostęp do Internetu jest kolejną popularną opcją w społecznościach torrentowych. Tak czy inaczej, powinieneś być w stanie pobrać plik ZIP konfiguracji i certyfikat. Umieść je w folderze torrentów w katalogu o nazwie openvpn. Zmodyfikuj następujące polecenie, aby wskazywało na plik konfiguracyjny, który prawie na pewno będzie się różnić privacyIO.ovpn

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

Jeśli otrzymujesz taki wynik, jesteś dobry. Trafienie CTRL-C aby to zakończyć. To denerwujące, że trzeba wpisać hasło i potrzebujemy kilku modyfikacji, aby dodać skrypty start i stop. Edytuj plik konfiguracyjny (ponownie zamień privacyIO.ovpn na plik .ovpn podany przez twojego dostawcę)

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

Najpierw zmodyfikuj następujący wiersz. Zasadniczo mówimy, że przechowujemy 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ś mieć problemów z zalogowaniem się. Tak! Następnie ponownie otwórz plik konfiguracyjny i dodaj następujące wiersze:

route-up /mnt/torrents/openvpn/route-up.sh. w dół przed. down /mnt/torrents/openvpn/down.sh. 

Określa niektóre skrypty, które zamierzamy utworzyć później, aby wykonywać zadania, gdy połączenie zostanie pomyślnie nawiązane lub przestanie działać. Upewnij się, że jesteś w mnt / torrents / openvpn katalogu, a następnie uruchom następujące polecenie:

nano route-up.sh. 

Dodaj następujące elementy, które zapewniają wysyłanie ruchu przez sieć VPN:

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

Następnie utwórz skrypt down.sh

nano down.sh. 

Dodaj:

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

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

nano vpn.sh. 

Wklej wcześniej polecenie uruchamiania VPN. W przypadku zapomnienia:

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

Teraz uczyń wszystkie te skrypty wykonywalnymi 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, aby uruchamiał ten skrypt podczas uruchamiania.

/mnt/torrents/openvpn/vpn.sh. 

Na koniec uruchom ponownie system.

ifocnfig-check-vpn

Zaloguj się ponownie i uruchom ifconfig. Będziesz wiedział, że to działa, jeśli zobaczysz wpis dla dotknij 0 (lub tun0)i potrafią zwijać stronę:

curl //www.makeuseof.com. 

Klient Torrent

Prawie już teraz. Na koniec zainstalujemy transmisję, która jest lekka i ma przyjemny internetowy interfejs użytkownika. Następujące polecenia instalują, a następnie zatrzymują demona - ponieważ najpierw musimy go skonfigurować - a następnie otwierają plik ustawień do edycji.

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

Zmień „wymagane uwierzytelnienie rpc” na false; zmień „białą listę rpc”, aby uwzględnić lokalną podsieć - na przykład:

„rpc-biała lista”: „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 dokonaj edycji samego pliku startowego demona, aby rozwiązać problemy z uprawnieniami.

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

Zmienić USER = demon transmisji do USER = root. Załaduj ponownie demona.

przeładowanie demona usługi sudo. 

Wreszcie zainstalujemy avahi-daemon 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 nazwa hosta jest domyślna (raspberrypi, ale można to zmienić za pomocą raspi-config), nawigować do:

http://raspberrypi.local: 9091 / transmisja / sieć /

Po pierwsze, sprawdź, czy Twój torrent IP jest poprawnie maskowany przez VPN. Pobierz testowy plik torrent z TorGuard - grafika do pobrania wygląda jak reklama, ale tak nie jest - i upuść ją w folderze udostępnionym torrentów.

check-torrent-ip

Skonfigurowaliśmy już Transmisję, aby oglądać ten folder pod kątem nowych torrentów, więc należy go natychmiast dodać. Śmiało i upuść tam również legalne dystrybutory Linuksa.

transmisja-torrent-ip-sprawdź-wyniki

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, to VPN nie został poprawnie skonfigurowany. Domyślnie wszelkie torrenty upuszczone w folderze zostaną przemianowane na .added, a plik .part powinien zostać utworzony do czasu zakończenia przesyłania. Sprawdź, czy tak jest w folderze udostępnionym.

wspólny dysk

Otóż ​​to! Masz teraz super niski pobór mocy, bezpieczne pobieranie torrentów Pi - pozostawiając swoją stację roboczą dostępną dla lepszych rzeczy. Możesz teraz rozważyć dodanie serwera UPnP do przesyłania strumieniowego multimediów w sieci lub użycie BitTorrent Sync do stwórz własną pamięć w chmurze Zbuduj własną pamięć masową w chmurze dzięki Raspberry Pi i BitTorrent SyncNie wierz w szum: chmura jest daleka od bezpieczeństwa. Ale nie bój się - teraz możesz stworzyć własną, nieograniczoną i bezpieczną platformę do przechowywania w chmurze. Czytaj więcej . Jakie funkcje dodasz?

James ma licencjat z zakresu sztucznej inteligencji i jest certyfikowany przez CompTIA A + i Network +. Jest głównym programistą MakeUseOf i spędza wolny czas grając w paintball VR i gry planszowe. Buduje komputery od dziecka.