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

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

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





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





Вот план:





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

Звучит сложно, не правда ли? Уверяю вас, не более нескольких сотен команд Терминала. Во многом это перекликается с нашими Сетевое хранилище Raspberry Pi учебное пособие, поэтому, если вас не так интересуют торренты и 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 . Создайте новый основной раздел с п , тогда п . Когда вас попросят указать размер, введите + 8G . Теперь продолжайте и создайте еще один раздел для ваших торрент-данных (опять же, первичный) или, если хотите, еще несколько разделов. В запишет новую карту разделов на диск, когда вы закончите.

мой компьютер не распознает мой внешний жесткий диск

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

Поделиться диском: 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

Тест - у вас должна быть возможность подключиться с другого компьютера в вашей сети и читать / записывать файлы в новый общий ресурс. Убедитесь, что они появляются и на Pi с помощью ls изнутри / mnt / torrents папка.

Настройка 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 . Вы узнаете, что это работает, если увидите запись для tap0 (или 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

Изменить ПОЛЬЗОВАТЕЛЬ = демон передачи к ПОЛЬЗОВАТЕЛЬ = корень . Перезагрузите демон.

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
  • Raspberry Pi
Об авторе Джеймс Брюс(Опубликовано 707 статей)

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

Ещё от James Bruce

Подписывайтесь на нашу новостную рассылку

Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!

Нажмите здесь, чтобы подписаться