LXF167:Cлать торренты с Pi
Olkol (обсуждение | вклад) (Новая страница: «Категория: Учебники Категория: Компьютер == Примените свой Raspberry Pi для обмена фай…») |
Версия 08:23, 9 ноября 2018
|
|
|
Примените свой Raspberry Pi для обмена файлами с друзьями из Сети
Маянк Шарма показывает, как превратить Pi в торрент-сервер без монитора и скачивать с него файлы на смартфон.
Лучшее в RPi – то, что это не только замечательное устройство для обучения, но и потенциальный сервер без монитора с достаточной производительностью; теперь, с увеличением объема памяти, это тем более верно.
Вопреки распространенному мнению, не каждый сервер требует большой вычислительной мощности. Например, если вы хотите загружать файлы и делиться ими с другими пользователями Сети, независимо от их операционной системы или устройства, многоядерный процессор серверу ни к чему. Вообще-то использование старого компьютера с Linux в качестве такого выделенного сервера – популярный способ спасения отслужившего свое «железа». Единственный недостаток этого подхода – в большом энергопотреблении. У большинства современных роутеров есть USB-порт, и если вставить в него флэшку, то файлы на ней будут доступны всем компьютерам, подключенным к роутеру. Ну, а если у вас более старый роутер и вы хотите не только совместно использовать файлы?
С RPi можно сделать все это и многое другое, не разоряясь на обычный компьютер, и без ограничений, присущих специальным устройствам, таким как роутеры.
Собираем компоненты
Мы воспользуемся RPi редакции 2 RPi с 512 МБ ОЗУ, но все должно прекрасно работать и на более ранних версиях. Усилим ее последней версией Raspbian (версия 2012-10-28-wheezy-raspbian). Более новые релизы прекрасны тем, что могут использовать весь увеличенный объем памяти без дополнительных настроек. В них также по умолчанию включена SSH, что позволит пользователям подключиться к RPi и настроить ее, даже не втыкая монитор.
Загрузите последнюю версию дистрибутива Raspbian и запишите ее на SD-карту командой dd в Linux или Win32DiskImager в Windows. RPi можно подключить к Интернету с помощью беспроводного USB-адаптера, но лучше будет подключить его кабелем к роутеру через порт Ethernet.
Подсоединив и включив Rpi, перейдите на страницу администрирования роутера (ее адрес можно найти на роутере или в документации по нему). Скорее всего, в роутере включен DHCP для выдачи IP-адресов подключаемым устройствам. Изучите настройки в интерфейсе администратора, осмотрите список всех подключенных устройств и запишите IP-адрес, который роутер назначил RPi. Позже нам придется назначить RPi статический IP-адрес (см. врезку), для гарантии, чтобы у RPi всегда был один и тот же адрес. Допустим, динамический IP-адрес, назначенный RPi – 192.168.3.100. Этой информации достаточно, чтобы подключиться к RPi и настроить Raspbian через SSH. Клиент SSH есть в каждом дистрибутиве Linux. Пользователи Windows могут воспользоваться PuTTY.
Для подключения с удаленного компьютера с Linux откройте терминал и скомандуйте:
$ sudo ssh pi@192.168.3.100
Когда вы подтвердите добавление этого адреса в список доверенных хостов, у вас спросят логин и пароль. В свежем, ненастроенном Raspbian это пользователь “pi” и пароль “raspberry”. Дальнейшие команды будут одинаковы, независимо от того, подключаетесь вы из Linux или из Windows, так как они запускаются в дистрибутиве Rasbian Linux на RPi. Поскольку это свежая система, вам предложат сперва ее сконфигурировать. Введите команду
$ sudo raspi-config
На экране появится множество вариантов ваших действий. Прокрутите список до конца и выберите Update [Обновить], так будет загружена последняя версия этой утилиты настройки. После этого RPi перезагрузится, и вам придется снова подключиться к ней командой ssh или PuTTY, как и ранее. Это нужно делать при каждом изменении настроек и перезагрузке RPi.
- Метамодернизм в позднем творчестве В.Г. Сорокина
- ЛитРПГ - последняя отрыжка постмодерна
- "Ричард III и семиотика"
- 3D-визуализация обложки Ridero создаем обложку книги при работе над самиздатом.
- Архитектура метамодерна - говоря о современном искусстве, невозможно не поговорить об архитектуре. В данной статье будет отмечено несколько интересных принципов, характерных для построек "новой волны", столь притягательных и скандальных.
- Литература
- Метамодерн
- Рокер-Прометей против изначального зла в «Песне про советскую милицию» Вени Дркина, Автор: Нина Ищенко, к.ф.н, член Союза Писателей ЛНР - перепубликация из журнала "Топос".
- Как избавиться от комаров? Лучшие типы ловушек.
- Что делать если роблокс вылетает на windows
- Что делать, если ребенок смотрит порно?
- Почему собака прыгает на людей при встрече?
- Какое масло лить в Задний дифференциал (мост) Visco diff 38434AA050
- О чем может рассказать хвост вашей кошки?
- Верветки
- Отчетность бюджетных учреждений при закупках по Закону № 223-ФЗ
- Срок исковой давности как правильно рассчитать
- Дмитрий Патрушев минсельхоз будет ли преемником Путина
- Кто такой Владислав Поздняков? Что такое "Мужское Государство" и почему его признали экстремистским в России?
- Как правильно выбрать машинное масло в Димитровграде?
- Как стать богатым и знаменитым в России?
- Почему фильм "Пипец" (Kick-Ass) стал популярен по всему миру?
- Как стать мудрецом?
- Как правильно установить FreeBSD
- Как стать таким как Путин?
- Где лучше жить - в Димитровграде или в Ульяновске?
- Почему город Димитровград так называется?
- Что такое метамодерн?
- ВАЖНО! Временное ограничение движения автотранспортных средств в Димитровграде
- Тарифы на электроэнергию для майнеров предложено повысить
Вернувшись в утилиту, выберите опцию expand_rootfs, чтобы раздел с Raspbian мог занять все место на SD-карте. Наконец, выберите опцию memory_split – она позволит разделить оперативную память RPi между графическим процессором и центральным процессором. Поскольку мы будем подключаться к Pi только удаленно, выделите графическому процессору минимальный объем памяти – 16 МБ.
Затем нужно добавить в RPi других пользователей. Позже мы ограничим доступ к определенным каталогам на флэшке для определенных пользователей, а также группами пользователей, но некоторые каталоги останутся публичными.
$ sudo adduser bodhi
Эта команда добавит пользователя и создаст соответствующие каталоги – будет запрошен пароль пользователя и другие параметры. Затем добавьте этого пользователя в группу users командой
$ sudo usermod -a -G users bodhi
Просим на сцену
Когда закончите, пора сделать RPi доступным через Интернет. Для этого применим Samba, которая позволит организовать общий доступ к файлам по протоколу CIFS (Common Internet File System – общая файловая система Интернета). Для установки Samba на RPi введите команду
$ sudo apt-get install samba samba-common-bin
Затем нужно добавить в Samba пользователей. Для пользователя по умолчанию pi выполните команду:
$ sudo smbpasswd -a pi
У вас спросят пароль. Обычно можно безопасно использовать тот же пароль, что и в учетной записи пользователя. Повторите этот шаг для каждого пользователя системы.
Samba работает под управлением файла настройки, который нужно изменить до ее использования. Перед этим стоит сделать резервную копию существующего:
$ sudo cp /etc/samba/smb.conf /etc/samba/smb.conf.old
Затем откроем его в редакторе командной строки nano:
$ sudo nano /etc/samba/smb.conf
В этом файле найдите раздел Authentication. Удалите там решетку в начале строки
- security = user
чтобы она стала такой:
security = user
Это гарантирует, что Samba позволит подключиться только тем пользователям, у кого есть домашние каталоги на RPi. Чтобы у пользователей был доступ к их домашним каталогам, найдите раздел [homes] и убедитесь, что значения следующих параметров соответствуют приведенным ниже
browseable = yes
read only = no
Для выхода из nano нажмите Ctrl+X, затем y, чтобы сохранить файл, затем Enter – при появлении имени файла. При любых изменениях в любом сервисе нужно перезапустить сервис, чтобы изменения вступили в силу. Для перезапуска Samba выполните команду:
$ sudo service samba restart
Теперь пора подключать USB-устройство к RPi. Хотя на RPi есть несколько USB-портов, любые дополнительные USB-устройства лучше подключать через USB-хаб с питанием, особенно при подключении больших дисков с большим энергопотреблением. Также обратите внимание на то, как отформатирован диск. По умолчанию многие USB-флэшки отформатированы в FAT32. Возможно, это лучший формат с точки зрения совместимости операционной системы, но для разделения файлов по сети – худший. Кроме того, есть формат NTFS, который используется многими большими внешними USB-дисками. Если вы хотите организовать потоковое воспроизведение мультимедиа с удаленного диска, это не ваш формат: лучше всего воспользоваться EXT4. Выберите EXT4 только в том случае, если диск будет использоваться через сеть или на компьютерах Linux. После подключения диска найдите его командой sudo fdisk -l. Она выведет список устройств, подключенных к RPi, и их разделы. Просмотрите результаты и найдите диск, размер которого совпадает с размером подключенного. Скорее всего, устройство будет sda, а нужный нам раздел – sda1. Создайте точку монтирования и смонтируйте устройство:
$ sudo mkdir /mnt/usb
$ sudo mount /dev/sda1 /mnt/usb
USB-диск останется смонтированным, пока вы не перезагрузите RPi. Чтобы не пришлось перемонтировать устройство, найдите его UUID:
$ sudo blkid
/dev/sda1: LABEL=”ntfs” UUID=”3B5C053D35CAD865” TYPE=”ntfs”
Добавьте его в список устройств, монтируемых во время загрузки:
$ sudo nano /etc/fstab
UUID=3B5C053D35CAD865 /mnt/usb ntfs defaults 0 0
Samba предоставляет общий доступ к файлам и каталогам, заданным в ее файле настройки. Чтобы предоставить общий доступ к каталогам на USB-устройстве, предположим, что на нем есть несколько папок:
$ ls /mnt/usb
documents downloads music videos
Чтобы предоставить общий доступ к каталогу downloads, откройте файл /etc/samba/smb.conf в nano, прокрутите его содержимое и добавьте в конец следующий фрагмент:
[Downloads]
comment = Place all your downloads here
Path = /mnt/usb/downloads
browseable = yes
writable = yes
read only = no
valid users = @users
Эти параметры предоставят общий доступ к каталогу /mnt/usb/downloads всем пользователям в группе users. Позже мы смонтируем этот каталог на компьютерах с Linux и Windows, и пользователи смогут настроить свои менеджеры загрузок так, чтобы они сохраняли файлы прямо в эту папку на USB-устройстве, подключенном к RPi, с любого компьютера сети. Также можно ограничить доступ к некоторым каталогам только заданным пользователям:
[Documents]
comment = Important eyes-only PDF files
path = /mnt/usb/documents
browseable = no
writable = yes
read only = no
valid users = pi, bodhi
Эти настройки разрешат монтировать и изменять содержимое каталогов только пользователям pi и bodhi.
Установим торрент-сервер
Торренты – предпочтительный способ распространения контента с открытым исходным кодом. Таким образом распространяются большинство дистрибутивов Linux – либо на собственных трекерах, либо на linuxtracker.org. Все диски LXF можно загрузить через торрент-клиент в разделе Archive сайта www.linuxformat.com.
В Linux нет недостатка торрент-клиентов. Transmission отличается от прочих удобным web-интерфейсом, который напоминает рабочий стол. Мы установим Transmission в Raspbian и сможем открыть его через браузер на любом компьютере сети для добавления, мониторинга и управления торрентами. Для установки Transmission подключитесь к RPi через SSH и скомандуйте
$ sudo apt-get install transmission-daemon
Она установит и запустит демона Transmission. Но прежде чем вы сможете загружать торренты, его нужно настроить. Перед выполнением любых изменений файла настройки Transmission обеспечьте, чтобы демон не был запущен:
$ sudo service transmission-daemon stop
Также добавьте пользователя Transmission (debian-transmission), который создается автоматически при установке демона, в нашу группу users:
$ sudo usermod -a -G users debian-transmission
Теперь создайте на USB-диске публичный каталог, куда мы загрузим торренты. Сначала создайте на USB-диске каталог и назначьте его владельцем пользователя Transmission:
$ sudo mkdir /mnt/usb/public
$ sudo chown debian-tranmission /mnt/usb/public
Теперь добавьте этот ресурс в файл настройки Samba:
[Public]
comment= Public share for torrents
browseable = yes
path = /mnt/usb/public
public = yes
writeable = yes
guest ok = yes
Перезапустите Samba, и каталог станет доступен всем. Общий ресурс создан; теперь пора настроить демона Transmission. Его параметры задаются в файле /etc/transmission-daemon/settings.json. Откройте файл в nano и в строке
“rpc-whitelist-enabled”: true
измените параметр на
“rpc-whitelist-enabled”: false
чтобы могли подключаться пользователи со всех компьютеров. Затем укажите каталог загрузки:
“download-dir”: “/mnt/usb/public/downloads/Complete”
Незавершенные закачки можно отделить от остальных файлов, разместив их в отдельном каталоге. Включите эту возможность, изменив в строке
“incomplete-dir-enabled”: false
параметр false на true и задайте каталог, где будут размещаться незавершенные закачки:
“incomplete-dir”: “/mnt/usb/public/downloads/Incomplete”
Аутентификация пользователей
Так как мы сделали владельцем каталога /mnt/usb/public пользователя Transmission, он будет автоматически создавать все новые каталоги. Хотя загружаемые торренты являются публичными, можно сделать так, чтобы не все пользователи могли выкладывать торренты для загрузки.
Один из способов это сделать – заставить пользователей аутентифицироваться для доступа в Transmission. Для этого сначала cтроку
“rpc-authentication-required”: false
замените на
“rpc-authentication-required”: true
Затем определите пароль в параметре
“rpc-password”: “<password>”
Этот пароль Transmission автоматически зашифрует.
Теперь сохраните файл и запустите демона Transmission командой sudo service transmission-daemon start. По умолчанию она будет запущена на порте 9091. В нашем примере полный адрес web-интерфейса Transmission будет 192.168.3.100:9091. Запустите браузер и перейдите по этому адресу. Если вы включили параметр password, будут запрошены логин и пароль. Имя пользователя – transmission, а пароль – тот, что был указан в файле настройки.
Прежде чем загружать торрент, нужно указать расположение файла .torrent. Откройте web-интерфейс Transmission и нажмите кнопку Open Torrent [Открыть торрент]. Вставьте URL в открывшееся окно и нажмите Upload [Загрузить] для начала загрузки. В интерфейсе удобно ориентироваться. По умолчанию отображаются все добавленные торренты, но с помощью выпадающих меню можно просмотреть список торрентов по состоянию загрузки или по трекерам. По щелчку правой кнопкой на торренте открывается контекстное меню.
Как только торрент загрузится, в соответствии с нашими настройками, он автоматически переместится в публично доступный каталог /mnt/usb/public/downloads/Complete. Простейший способ открыть общий ресурс в Linux – ввести его адрес в файловый менеджер по умолчанию. Большинство современных файловых менеджеров Linux, таких как Nautilus в Gnome, поддерживают Samba. Запустите Nautilus и нажмите Ctrl+L для перехода к адресной строке. Введите smb://, затем IP-адрес RPi с запущенной Samba. В нашем случае выйдет smb://192.168.3.100. Для доступа к конкретному каталогу добавьте его в конец адреса, например, smb://192.168.3.100/documents. Ресурс также можно смонтировать из командной строки:
- mount -t cifs -o username=pi,password=raspberry //192.168.3.100/usb/downloads /mnt/downloads
Чтобы этот ресурс монтировался автоматически, добавьте его в файл /etc/fstab:
//192.168.3.100/usb/downloads /mnt/downloads cifs username=pi,password=raspberry 0 0
Вы можете связать удаленное USB-устройство с сетевым диском на машине с Windows. В Windows 7 откройте My Computer [Мой компьютер] и нажмите кнопку Map Network Drive [Подключить сетевой диск]. В открывшемся окне выберите букву диска и укажите расположение сетевой папки. В нашем случае это нечто вроде 192.168.3.100\usb\videos. У вас запросят логин и пароль, после чего диск появится в списке дисков. |