Как превратить Raspberry Pi в постоянно загружаемый мегалит

Внесите свой вклад в глобальную «сеть распространения Linux», создав специальный защищенный мегалит с торрент-загрузкой, который потребляет всего лишь 10 Вт. Это возможно, и это, конечно, будет основано на Raspberry Pi.

Загрузка и посев (вы делаете посев, верно? Хорошие люди затравливают, по крайней мере, в соотношении 2,0) — трудная задача для любого обычного компьютера, и это означает, что вы потребляете гораздо больше электроэнергии, чем нужно, оставляя его включенным с ночевкой. Что, если бы вы могли переложить это задание на маломощный Raspberry Pi, достаточно маленький, чтобы уложиться под доску пола и едва ломающий мощность 10 Вт, чтобы сделать все это. Это именно то, что я покажу вам, как сделать сегодня.

Вот план:

  • Установите Raspberry Pi с USB-накопителем и перенесите системный диск на USB, чтобы продлить срок службы нашей SD-карты.
  • Поделитесь этим по сети.
  • Сконфигурируйте VPN так, чтобы весь трафик передавался через VPN, безопасно — и все останавливалось в случае сбоя этого соединения. Мы не хотим, чтобы провайдер узнал, какой дистрибутив Linux мы предпочитаем.
  • Установите дистанционно управляемый торрент-клиент Transmission.

Звучит сложно, не правда ли? Уверяю вас, не более нескольких сотен команд терминала. Многое из этого пересекается с нашим Raspberry Pi NAS

учебник, так что если вы не очень заинтересованы в вещании и VPN, вы можете проверить это.

Флешка

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

sudo raspi-config

Измените объем памяти, выделяемый на графику, до 16 мегабайт — мы будем использовать это полностью без головы, поэтому вам не понадобится графическая память. Выйдите, и давайте настроим некоторые разделы на USB. Мы собираемся настроить как минимум два — один для использования в системе, чтобы сохранить срок службы нашей SD-карты, а другой — для сохранения загрузок. Сначала выясните, какой диск является вашим USB.

tail /var/log/messages

В моем случае это было легко идентифицировать как «sda». Имея это в виду, настройте следующую команду, чтобы ввести FDISK утилита на соответствующем устройстве.

sudo fdisk /dev/sda

Нажмите п перечислить текущие разделы. Чтобы удалить все существующие, нажмите d. Создайте новый основной раздел, с N, затем п. Когда он запрашивает у вас размер, введите +8G. Теперь идите вперед и создайте другой раздел для ваших торрент-данных (опять же, основной) или еще несколько разделов, если хотите. W запишет новую карту разделов на диск, когда вы закончите.

Как только новая таблица будет написана, используйте следующие команды для форматирования дисков как 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

Перезагрузите пи с

sudo reboot

Сортировка! Теперь ваш Pi будет монтировать как корневой раздел данных, так и ваш раздел торрентов.

Поделиться The Drive: Samba

Сначала убедитесь, что мы обновились, удалите пакеты Wolfram Mathematica, которые всегда вызывали у меня проблемы при выполнении абсолютно любых действий с Pi (что-то связанное с math-kernel), а затем установите необходимые пакеты

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 = 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

Тест — вы должны иметь возможность подключиться с другого компьютера в сети и читать / записывать файлы в новый общий ресурс. Проверьте, что они появляются на пи тоже с Ls изнутри / MNT / торрентов папка.

Настройка VPN

Установите необходимые пакеты

sudo apt-get install openvpn resolvconf

Загрузите файлы конфигурации OpenVPN от вашего провайдера. Вы можете проверить список лучших VPN здесь, но не забудьте найти тот, который ориентирован на торренты. Я сам пользуюсь privacy.io, но частный доступ в Интернет — еще один популярный вариант в торрент-сообществах. В любом случае вы сможете получить ZIP-файл с конфигурациями и сертификатом. Поместите их в свою папку torrents, в каталоге под названием OpenVPN. Измените следующую команду, чтобы она указала на ваш конфигурационный файл, который почти наверняка будет отличаться от privacyIO.ovpn

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

OpenVPN-соединения-вывода

Если вы получаете такой результат, у вас все хорошо. Удар 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

Это указывает на некоторые сценарии, которые мы собираемся создать позже для выполнения задач, когда соединение либо устанавливается успешно, либо прерывается. Убедитесь, что вы находитесь в мнт / Торренты / 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

Наконец, перезагрузите вашу систему снова.

ifocnfig-чек-VPN

Войдите снова и запустите Ifconfig. Вы узнаете, что это работает, если увидите запись для tap0 (или tun0), и могут успешно свернуть веб-страницу:

curl //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», чтобы включить вашу локальную подсеть — например:

"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

Наконец, мы установим Avahi-демон для настройки сети 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 для создания собственного облачного хранилища.

, Какие функции вы будете добавлять?

Ссылка на основную публикацию
Adblock
detector