[Из песочницы] Реализация некоторых задач для самосборного NAS

Привет, Хабр. Наконец-то я созрел для того, чтобы собрать своё собственное сетевое хранилище. Цели и задачи простые — скачивание торрентов, раздача контента по DLNA на IPTV-приставку MAG-245, iPad Mini первого поколения и смартфон на ОС Windows Phone. С учетом того, что необходимая база у меня уже была, а именно — материнская плата Intel D425KT форм-фактора mini-ITX с встроенным двухъядерным процессором Atom с пассивным охлаждением; 2 гигабайта ноутбучной оперативной памяти, и ноутбучный же HDD Seagate 750Gb. Докупил только корпус 3Cott M01, в комплекте с которым шел блок питания ноутбучного типа и адаптер для него.В ходе «боевых» тестов выяснилось, что в тесном корпусе без единого вентилятора жесткий диск неприлично греется, поэтому было принято решение вынести его за пределы корпуса и прикрепить к переходнику от SSD. Эта конструкция живёт на шкафу в прихожей рядом с роутером и никому не мешает.6c5ecef7116f4e649ee6fd9ae69daf76.png

Отправной точкой для экспериментов послужила статья на Хабре «Домашний медиа-сервер на основе Ubuntu Server 12.04 LTS» за авторством PaulZi. Она была моим основным руководством.

Собственно, не хочу заниматься копипастингом, по этой статье были установлены Ubuntu Server 14.04, настроены простейшая Samba-шара, торрент-клиент Transmission и сервис MiniDLNA. А вот дальше возникли другие задачи.

1. Автоматическое монтирование usb устройств при подключении, размонтирование по нажатию клавиши питанияАвтоматическое монтирование было решено с помощью настройки udev, для чего было создано правило /etc/udev/rules.d/10-automount.rules с такими параметрами: SUBSYSTEM==«block», KERNEL==«sd[b-z][0–9]», ACTION==«add», RUN+=»/bin/mount -o iocharset=utf8, codepage=866, uid=1000 /dev/%k /mnt/flash» SUBSYSTEM==«block», KERNEL==«sd[b-z][0–9]», ACTION==«remove», RUN+=»/bin/umount /mnt/flash» Так как кнопка питания практически не используется, было решено повесить на неё задачу размонтирования подключенных USB-дисков. Для начала нужно отредактировать файл /etc/systemd/logind.conf и заменить #HandlePowerKey=poweroff на #HandlePowerKey=ignore Затем привести /etc/acpi/events/powerbtn к виду: event=button[ /]power action=/etc/acpi/powerbtn.sh И в завершении /etc/acpi/powerbtn.sh отредактировать до: #!/bin/sh umount /dev/sdb1 Выполнить: sudo udevadm control --reload-rules sudo service systemd-logind restart Готово! Теперь при подключении в передний usb-разъём любое устройство будет автоматически смонтировано в /mnt/flash, а при кратковременном нажатии кнопки питания — размонтироваться. Имейте ввиду, что мои правила для одного диска, если их больше — нужно редактировать поле sd[…z].

Для чего это нужно? Например, у меня есть товарищ, который живет в деревне, и быстрым, а тем более безлимитным интернетом там и не пахнет. Вот и скачиваю ему на флэшку фильмы и всё что попросит. Копировать, естественно, быстрее на локальном хосте, чем тягать через всю сеть, но нет желания каждый раз вручную монтировать-размонтировать диски при подключении флэшки к NAS. Вот такая маленькая автоматизация.

2. Управление торрентами с iPad на iOS 7.1.2 без джейлбрейка Основу метода я нашел здесь, к нему и отсылаю, чтобы не копипастить. Смысл заключается в том, чтобы Transmission автоматически подхватывал торрент-файлы из определенной папки (в данном случае из Dropbox) и начинал их закачку. Казалось бы, причём здесь iPad? Так вот, с него я и хочу добавлять файлы в очередь. Для этого этого использую браузер iCab Mobile (платный), функционал которого намного шире, чем у Safari. В частности, iCab умеет скачивать торрент-файлы с трекеров, а также умеет подключать Dropbox. Дальше всё просто: — скачиваем торрент-файл:

dd96de0e6f044472bde54cb446c0d3e6.PNG

— тапаем по нему в «Загрузках» и выбираем «Загрузить файл в Dropbox» (аккаунт которого мы уже подключили в настройках iCab):

c7c39ed8c714445f87a6c93084ef7b6e.PNG

— торрент-файл появляется на NAS, его подхватывет Transmission, в чём мы можем убедиться, открыв веб-интерфейс — и загрузка стартует:

885be5ebdd9a41cc8a86ec6ffb943df5.PNG

Для воспроизведения видео с NAS использую iOS-программу AVPlayerHD, которая воспроизвёла всё, что я ей предлагал, и которая умеет воспроизводить по DLNA. Бонусом есть возможность запустить на iPad FTP-сервер и заливать видео по Wi-Fi, не используя iTunes.

e7b76d504b954838a9b3c7404694f500.PNG

На этом всё, спасибо за внимание.

© Habrahabr.ru