Как да превърнете вашия Raspberry Pi в непрекъснато изтеглящ се мегалит

Как да превърнете вашия Raspberry Pi в непрекъснато изтеглящ се мегалит

Направете своята част за глобалната „Linux дистрибуторска мрежа“, като изградите специален, защитен, изтеглящ торент мегалит, който едва използва 10 W енергия. Възможно е и, разбира се, ще се основава на Raspberry Pi.





Изтегляне и засяване (правите семена, нали? Добрите хора сеят поне до съотношение 2.0) е трудна задача за всеки обикновен компютър и означава, че изсмуквате много повече електроенергия, отколкото би трябвало да бъде, като трябва да я оставите включена за една нощ. Какво ще стане, ако можете да разтоварите тази задача на ниско захранващ Raspberry Pi, достатъчно малък, за да го натопите под дъска за пода и едва счупил 10 W мощност, за да свърши всичко. Точно това ще ви покажа как се прави днес.





Ето плана:





  • Настройте Raspberry Pi с малко USB хранилище и преместете системното устройство на USB, за да удължите живота на нашата SD карта.
  • Споделете това в мрежата.
  • Конфигурирайте VPN, така че целият трафик да се насочва през VPN, сигурно - и всичко спира, ако връзката се провали. Не искаме външният доставчик да знае кой дистрибутор на Linux предпочитаме.
  • Инсталирайте дистанционно управляем торент клиент, Transmission.

Звучи сложно, нали? Не повече от няколкостотин команди на терминала, уверявам ви. Много от това се припокрива с нашето Raspberry Pi NAS урок, така че ако не се интересувате толкова от нещата с торент и VPN, може да искате да проверите това вместо това.

USB памет

Започнете с нова инсталация на Raspian и свържете Ethernet интерфейса и включете USB паметта си (чрез захранван USB хъб, или вероятно ще срещнете грешки по -късно, както направих аз) - все още не е необходимо да се форматира. Влезте дистанционно с комбинацията потребителско име и парола по подразбиране pi /raspberry, след което стартирайте:



sudo raspi-config

Променете обема на паметта, дадена върху графиката, на 16 мегабайта - ще работим напълно без глава, така че нямате нужда от графична памет. Излезте и нека настроим някои дялове на USB. Ще настроим поне две - едната да се използва за системата, така че да запази живота на нашата SD карта, а другата за съхранение на изтегляния. Първо разберете кое устройство е вашето USB.

tail /var/log/messages

В моя случай беше лесно да се идентифицира като „sda“. Имайки това предвид, коригирайте следната команда, за да въведете fdisk помощна програма на съответното устройство.





sudo fdisk /dev/sda

Натиснете стр за изброяване на текущи дялове. За да изтриете всички съществуващи, натиснете д . Създайте нов първичен дял, с н , тогава стр . Когато ви поиска размер, въведете + 8G . Сега продължете и създайте друг дял за вашите торент данни (отново първичен), или повече раздели, ако желаете. IN ще запише новата карта на дяловете на устройството, когато приключите.

говори с текстови приложения за android безплатно

След като новата таблица бъде записана, използвайте следните команди, за да форматирате устройствата като Linux ext4 . Използвайте допълнителни команди, ако сте разделили устройството си с повече от два дяла.





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

Последната команда ще потвърди, че дяловете са монтирани правилно. След това искаме да копираме данните от SD картата в устройството - това ще удължи живота му, като избягва постоянни операции за четене/запис в кешовете и т.н. rsync да го направя:

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

Това ще инициира дълга поредица от копиране на файлове, така че завъртете пръстите си за малко.

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

Коригирайте това, за да прочетете:

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

След това променете fstab да ги монтирате при стартиране.

sudo nano /etc/fstab

Добавете следните редове:

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

Коментирайте следния ред, който се отнася до SD картата:

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

Рестартирайте Pi с

sudo reboot

Сортирано! Вашият Pi вече ще монтира както root дял на данни, така и вашият торент дял

Споделете устройството: Samba

Уверете се, че първо сме актуализирани, премахнете пакетите на Wolfram Mathematica, които винаги са ми създавали проблеми, когато правим абсолютно всичко на Pi (нещо свързано с ядрото на математиката), след това инсталирайте необходимите пакети

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

Удари CTRL-W и въведете „security“, за да намерите следния ред, и а коментирайте го.

security = user

Добавете следното, за да определите нашата споделена папка за торенти:

[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

Рестартирайте услугата Samba:

sudo service samba restart

След това трябва да добавим потребител към системата. Заменете „jamie“ с желаното от вас потребителско име, с което ще влизате, за да получите достъп до споделената папка. Следните команди след това ви молят да създадете вашите пароли, първата на системно ниво и следващата за Samba. Променете последните команди, ако сте нарекли вашия диск с данни нещо друго (и ето го пример собственост на файлове в 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

Тест - трябва да можете да се свържете от друга машина във вашата мрежа и да четете/записвате файлове към новия споделен ресурс. Проверете дали се появяват и на Pi с ls отвътре на / mnt / торенти папка.

VPN настройка

Инсталирайте необходимите пакети

sudo apt-get install openvpn resolvconf

Изтеглете конфигурационните файлове на OpenVPN от вашия доставчик. Можете да разгледате списък на най -добрите VPN тук, но не забравяйте да намерите такъв, който е подходящ за торент. използвам privacy.io себе си, но Частен достъп до интернет е друга популярна опция в торент общностите. Така или иначе, трябва да можете да вземете ZIP файл с конфигурации и сертификат. Поставете ги в папката си торенти, в директория, наречена openvpn . Променете следната команда, така че да сочи към вашия конфигурационен файл, който почти сигурно ще се различава от privacyIO.ovpn

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

Ако получите такъв изход, вие сте добре. Удари CTRL-C да го прекрати. Досадно е обаче да въвеждате паролата и се нуждаем от няколко модификации, за да добавим начални и крайни скриптове. Редактирайте конфигурационния файл (отново заменете privacyIO.ovpn с .ovpn файла, предоставен от вашия доставчик)

nano /mnt/torrents/openvpn/privacyIO.ovpn

Първо променете следния ред. По принцип казваме, че ще съхраняваме потребителското име и паролата във файл, наречен pass.txt

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

Запазете и въведете:

nano /mnt/torrents/pass.txt

Въведете потребителското си име на първия ред и паролата на следващия. Запазете и опитайте да се свържете отново:

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

Този път не трябва да бъдете подслушвани, за да влезете. Да! След това отворете отново конфигурационния файл и добавете следните редове:

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

Това уточнява някои скриптове, които ще създадем по -късно за изпълнение на задачи, когато връзката или се появи успешно, или се срине. Уверете се, че сте в mnt/торенти/openvpn директория, след това изпълнете следното:

nano route-up.sh

Добавете следното, което гарантира, че трафикът се изпраща през VPN:

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

След това създайте скрипта down.sh

nano down.sh

Добавете:

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

И накрая, искаме скрипт да отвори връзката, вместо да я стартираме от командния ред, както направихме.

nano vpn.sh

Поставете командата за стартиране на VPN от преди. В случай, че сте забравили:

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

Сега направете всички тези скриптове изпълними и стартирайте VPN скрипта при стартиране.

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

Добавете следния ред преди изход 0 линия. Просто му казваме да стартира този скрипт при стартиране.

/mnt/torrents/openvpn/vpn.sh

Накрая рестартирайте системата отново.

Влезте отново и стартирайте ifconfig . Ще разберете, че работи, ако видите запис за докоснете 0 (или tun0) , и са в състояние успешно да къдрят уеб страница:

curl https://www.makeuseof.com

Торент клиент

Вече почти там. Накрая ще инсталираме Transmission, който е лек и има хубав уеб графичен интерфейс. Следните команди се инсталират, след което спират демона - тъй като първо трябва да го конфигурираме - след това отваря файла с настройки за редактиране.

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

Променете „rpc-authentication-required“ на false; променете „rpc -whitelist“, за да включите вашата локална подмрежа - например:

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

Добавете или коригирайте следното, ако вече е налично:

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

След това редактирайте самия стартиращ файл на демона, за да се справите с някои проблеми с разрешенията.

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

Променете USER = демон за предаване да се USER = корен . Презаредете демона.

sudo service transmission-daemon reload

Накрая ще инсталираме авахи-демон за настройка на bonjour/zeroconf мрежи, което означава, че няма да е необходимо да използваме IP адреса на Pi за достъп до него от браузър - вместо това ще можем да използваме raspberrypi.local адрес.

sudo apt-get install avahi-daemon

Ако приемем, че вашето име на хост е по подразбиране (raspberrypi, но може да се промени с помощта на raspi-config) , навигирайте до:

http: //raspberrypi.local: 9091/предаване/уеб/

Първо проверете дали торент IP е правилно прикрит чрез VPN. Изтеглете тестовия торент файл от TorGuard - графиката за изтегляне изглежда като реклама, но не е - и я пуснете в споделената папка на торентите.

Вече сме конфигурирали Transmission да гледа тази папка за нови торенти, така че трябва да се добави незабавно. Продължете и пуснете някои законни дистрибутивни торенти за Linux там.

Торентът за проверка на IP трябва да върне грешка, заедно с открития IP адрес. Уверете се, че това не е вашият домашен IP - ако е така, VPN не е настроен правилно. По подразбиране всички торенти, които пуснете в папката, ще бъдат преименувани на .added и .part файл трябва да бъде създаден, докато прехвърлянето приключи. Уверете се, че това е така в споделената ви папка.

Това е! Вече имате супер ниска мощност, защитена, изтегляща торент Pi-оставяйки вашата работна станция на разположение за по-добри неща. Сега може да искате да разгледате добавянето на UPnP сървър за стрийминг на медии в мрежата или да използвате BitTorrent Sync, за да създадете свое собствено облачно хранилище. Какви функции ще добавите?

Дял Дял Туит електронна поща 8 -те най -добри уебсайта за безплатно изтегляне на аудиокниги

Аудиокнигите са чудесен източник на забавление и са много по -лесни за смилане. Ето осемте най -добри уебсайта, където можете да ги изтеглите безплатно.

Прочетете Напред
Свързани теми
  • Направи си сам
  • BitTorrent
  • Малина Пи
За автора Джеймс Брус(707 статии са публикувани)

Джеймс има бакалавърска степен по изкуствен интелект и е сертифициран по CompTIA A+ и Network+. Когато не е зает като редактор на хардуерни рецензии, той се радва на LEGO, VR и настолни игри. Преди да се присъедини към MakeUseOf, той беше техник по осветление, учител по английски език и инженер в центъра за данни.

Още от Джеймс Брус

Абонирайте се за нашия бюлетин

Присъединете се към нашия бюлетин за технически съвети, рецензии, безплатни електронни книги и изключителни оферти!

Щракнете тук, за да се абонирате