Keenetic dlna сервер настройка

Простой способ создания и использования DLNA сервера для домашнего хранилища

В последние несколько лет, когда интернет начал свое движение в сторону всё большей и большей доступности, количество разнообразного контента растёт в геометрической прогрессии, а способы его хранения явно стали нуждаться в апгрейде. Всевозможные CD- и DVD-диски оказались не только весьма подвластны времени, но и весьма ограничены в объёме; пришедшие им на смену USB flash носители были объёмнее, быстрее и универсальнее, но полностью «закрыли» вопрос выбора самого удобного способа для хранения контента внешние жёсткие диски.

Следующим этапом стала проблема универсализации, которая бы позволила не только удобно хранить фото или фильмы, но и в простом и понятном, а по возможности ещё и универсальном способе потреблять этот контент в рамках как минимум отдельно взятой квартиры. По сути, список протоколов, которые могли быть использованы для решения этой задачи, состоит из трёх пунктов: FTP, SMB и DLNA. Более всего для стриминга медиа предназначен последний.

Строго говоря, DLNA — это не протокол, а набор стандартов, которые используются для принятия и передачи различных типов мультимедийного контента. По данным Wiki, Digital Living Network Alliance ещё в далёком 2013 году насчитывал более 200 производителей оборудования, и встретить поддержку технологии в современных планшетах, телефонах, приложениях и Smart TV сейчас легко, а список поддерживаемых форматов для фото, аудио и видео просто огромен.

С чего начать?

Самым простым способом развернуть DLNA-сервер для совместного использования дома становится связка из роутера ZyXEL (даже среднего ценового диапазона, прошлого поколения с USB портом — в конкретном случае это Keenetic Ultra) и внешнего жёсткого диска, который так или иначе есть почти у каждого. Стоит иметь ввиду, что роутер вряд ли будет стабильно работать с дисками более 2.5 ТБ, а также использование внешнего питания для диска крайне желательно.

Далее на диске, который будет подключен к роутеру, нужно создать папку для контента, скопировать туда всё, что нужно (поддиректории поддерживаются вплоть до 3 уровней). Дальнейшая конфигурация состоит из указания папки для сканирования.

В зависимости от количества контента процесс может занять до нескольких часов, но это требуется только один раз, в дальнейшем при добавлении или удалении файлов сервер будет индексировать изменения за считанные секунды.

Если же вам не нужен сервер, который будет работать в режиме 24х7 независимо от других устройств, то стоит обратить внимание на программы Home media server (только Windows), PLEX (WIndows, Mac, Unix и даже FreeBSD), KODI (ex XBMC, WIndows, Mac, Unix, FreeBSD, Android, iOS при наличии Jailbreak и даже Raspberry Pi). Помимо этого есть ещё сетевое оборудование ASUS и OpenWRT based прошивки для ряда роутеров (тут уже на свой страх и риск).

Как смотреть?

Итак, с настройкой и копированием контента всё понятно, теперь же поговорим о том, как можно смотреть всё это.

Для ноутбуков на Windows и Mac самым простым способом будет использования всеядного и широко известного плеера VLC, из пункта «протокол UPnP» виден созданный нами DLNA-сервер и доступна возможность не только просмотреть контент по категориям, но и просто по папкам.

Для iOS-устройств Apple есть множество альтернативных плееров (VLC тоже есть) с поддержкой различных протоколов, из них самым удобным является nPlayer (платная версия или бесплатная с рекламой), который позволяет не только смотреть контент, но и скачивать его на устройство, а также запоминает позицию воспроизведения. Словом, приложение классное.

Для Android-устройств задача ещё более упрощается ввиду того, что большая их часть поддерживает DLNA из коробки, для остальных можно посоветовать приложение BubbleUPnP for DLNA/Chromecast (платная версия или бесплатная с рекламой), которое позволяет работать с DLNA и открывать видео посредством любого удобного для вас плеера, включая даже системный.

Smart TV большинства производителей (в случае Samsung с самого первого поколения) достаточно только иметь подключение к сети любым способом, буквально через несколько минут после включения в списке источников появится сервер с возможностью навигации по папкам и по типу контента.

Запас прочности и использование в реальной жизни

Несмотря на простоту решения, его работа весьма стабильна, а запас прочности велик, так что можно смотреть файлы объёмом до 4-6 Гбайт. Число одновременных подключений выдерживает 3-4 устройства без каких-либо проблем с производительностью.

Даже Android-устройства среднего уровня и самые старые поколения iPhone и iPad воспроизводят видео с диска посредством DLNA без проблем с производительностью.

Единственным минусом, характерным только для Smart TV, является отсутствие возможности быстрой перемотки файла — её можно делать только шагами по минуте или две, что несколько усложняет просмотр видео не с начала.

Итоги

Использование DLNA фактически не имеет альтернатив ввиду специфичности решений класса STB, весьма ощутимой цены и малого распространения HDMI-стиков под управлением Windows 10, а универсальность использования и создания DLNA-сервера с минимальными затратами на дополнительное «железо» просто бьёт в пух и прах возможные альтернативы в лице NAS.

О каких технологиях вам было бы интересно почитать в следующий раз?
Спасибо за внимание

Источник

Расширяем функциональность ZyXel Keenetic

Напоминаем, что попытки повторить действия автора могут привести к потере гарантии на оборудование и даже к выходу его из строя. Материал приведен исключительно в ознакомительных целях. Если же вы собираетесь воспроизводить действия, описанные ниже, настоятельно советуем внимательно прочитать статью до конца хотя бы один раз. Редакция 3DNews не несет никакой ответственности за любые возможные последствия.

⇡#Вступление

В комментариях к одной из первых статей про альтернативные прошивки читатели спрашивали, нет ли чего-нибудь подобного и для роутеров ZyXel. То ли официальные прошивки ZyXel жуть как хороши, то ли энтузиасты не такие активные, но хоть какой-то более-менее приличной альтернативы фирменным микропрограммам нынче нет. Ну, вы, конечно, можете скачать исходные коды прошивки, изменить её, заново собрать и залить в роутер. Но это как-то уже слишком для обычного пользователя. Тем интереснее выглядит совсем молодой проект наших соотечественников с незамысловатым названием zyxel-keenetic-packages, зародившийся в недрах форума Zyxmon. В данном случае идея гораздо проще и изящнее. Никаких перепрошивок роутера не требуется, а все дополнительные приложения запускаются со съёмного накопителя — флешки или внешнего винчестера. Более того, при отсоединении накопителя устройство продолжает работать как ни в чём не бывало, но, естественно, уже безо всяких «плюшек». Ну а в данной статье мы рассмотрим установку и настройку обновлённого торрент-клиента Transmission, сервера DLNA и доступ к локальной сети из Интернета посредством OpenVPN.

⇡#Подготовка

Для начала нам необходимо отформатировать накопитель в ext 2/3 или NTFS. Лучше, конечно, в ext 2/3, хотя некоторые естествоиспытатели утверждают, что и с NTFS всё прекрасно работает. Программ, которые могут форматировать разделы в нужную нам ФС, довольно много: Partition Magic, продукты Paragon и Acronis, в конце концов, бесплатный GParted Live. Если вам вдруг понадобится срочно считать данные в Windows с такого накопителя, то можно воспользоваться либо файловым менеджером Ext2Read, либо установить драйвер Ext2Fsd. Также в веб-интерфейсе роутера необходимо включить доступ к диску по сети в «USB-приложения» → «Сетевой диск».

Ещё нам понадобится SSH-клиент PuTTY и непосредственно установщик. Распакуем архив в любое удобное место. Теперь зайдём на наш накопитель по сети: Win+R, \\KEENETIC, Enter. В папке disk_a1 потребуется создать директорию system, а в ней ещё одну — bin. Вот туда-то и надо скопировать файл ext_init.sh из архива. Таким образом, полный путь до него будет выглядеть как \\KEENETIC\disk_a1\system\bin\ext_init.sh. Заодно полезно создать в корне папку data, куда будут складываться все файлы. Теперь надо отключить накопитель от роутера и снова подключить. Через пару минут в логах («Система» → «Журнал») должна появиться запись:

dropbear[xxxx] Running in background

Запускаем PuTTY, в поле Host Name вбиваем root@ip_адрес_роутера, а в Windows → Translation выбираем кодировку UTF-8 и нажимаем Open. Вводим пароль — zyxel (он не показывается при наборе) и нажимаем Enter. Завершаем установку и сразу же обновляем систему командами:

⇡#Настройка Transmission

Установка новых приложений осуществляется командой opkg install имя_пакета. На данный момент число портированных приложений не так велико — их список можно посмотреть здесь. В принципе, в вики проекта неплохо описаны основные нюансы их установки. Однако неподготовленному пользователю вряд ли будут понятны определенные моменты относительно их настройки. Так что разберём для ясности некоторые примеры. Для начала рассмотрим установку и настройку более новой версии торрент-клиента Transmission, чем та, которая предустановлена в прошивке роутера, — 2.3 вместо 1.93. Установим клиент и текстовый редактор nano командой:

Традиционный совет — вместо того чтобы вручную набирать команды, просто скопируйте их отсюда и кликните правой кнопкой в окне PuTTTY. По умолчанию все новые закачки будут записываться в папку transmission, то есть так же, как по умолчанию происходит и со встроенным в роутер торрент-клиентом. Предварительно остановим его, перейдя в веб-интерфейсе роутера в раздел «USB-приложения» → «Торренты», сняв галочку «Включить BitTorrent-клиент» и нажав «Применить». Отредактируем настройки Transmission командой:

Здесь достаточно изменить по желанию несколько строчек:

Для включения авторизации с целью доступа к веб-интерфейсу Transmission необходимо изменить значение параметра rpc-authentication-required с false на true. Тогда вместо username и password потребуется указать соответственно логин и пароль. В peer-port и rpc-port надо указать номера портов, которые служат для соединения с другими клиентами и доступа к веб-интерфейсу клиента соответственно. Прочие параметры можно и не менять. Сохраняем файл и выходим — F2, Y, Enter. Для автозапуска Transmission при включении роутера необходимо переименовать один из скриптов:

Его же необходимо немного подкорректировать:

В самом начале есть две переменные TRN_PORT и TRN_RPC_PORT. Если вы меняли в settings.json peer-port и rpc-port, то их значения нужно соответственно подставить в эти переменные. Также надо будет «раскомментировать» (убрать # в начале строки) ещё шесть команд вида iptables –A (или D) INPUT -p tcp —dport $TRN_PORT (TRN_RPC_PORT) -j ACCEPT. Не забываем сохранить файл и запускаем Transmission. Только учтите, что теперь его панель управления будет на английском языке.

⇡#Настройка медиасервера DLNA

Более полезный сервис — это minidlna. С его помощью у роутера появляется поддержка протокола DLNA, так что мультимедийные файлы можно смотреть, например, на телевизоре или приставке. Устанавливается и настраивается он гораздо проще, чем Transmission.

В файле конфигурации потребуется поменять параметры media_dir, в которых надо указать папки, где хранятся мультимедийные файлы. Можно дополнительно установить фильтр типа файлов — только аудио (A), видео (V) или изображения. Помните, что корневая папка съёмного накопителя доступна как /media/DISK_A1.Вот пример настроек.

Осталось только запустить minidlna-сервер.

Настройка OpenVPN

Скачайте дистрибутив OpenVPN на официальном сайте, выбрав в разделе загрузок Windows Installer. При установке отметьте галочками все компоненты. Как и в прошлый раз, мы будем использовать авторизацию по статическому ключу, то есть нам будет доступно только одно VPN-подключение. Ключ предварительно надо сгенерировать — из главного меню в разделе OpenVPN → Utilities запускаем Generate a static OpenVPN key. Готовый ключ находится в файле C:\Program Files\OpenVPN\config\key.txt. Переименуйте его в static.key и скопируйте на накопитель в папку \disk_a1\system\var. Теперь установим OpenVPN на роутер командой:

Создадим конфигурационный файл:

И вставим в него следующие строки:

Сохраняем файл (F2,Y, Enter). Затем чуть подправим скрипт запуска:

В нём надо добавить правила iptables в конце разделов start

Сохраняем этот скрипт, переименовываем для автоматического запуска и сразу же запускаем.

Теперь создадим группу правил для брандмауэра:

В этот файл надо скопировать следующие строки:

После сохранения делаем файл запускаемым и тут же выполняем его:

Естественно, нам нужно прописать DDNS-имя на нашем роутере. Подробнее о регистрации на примере DynDNS написано здесь в разделе «Настройка DDNS ». Через веб-интерфейс роутера переходим в раздел «Интернет» → «Доменное имя», включаем галочку «Использовать динамическую DNS», заполняем соответствующие поля и жмём «Применить». Кстати, после включения DDNS вам будет доступен также веб-интерфейс Transmission (http://ddns_имя_роутера:rpc-port), а если поставите галочку «Разрешить удаленный доступ» и укажете «TCP-порт веб-конфигуратора», то и веб-интерфейс роутера. Аналогичным образом можно открыть доступ к файлам на накопителе по FTP — ставим галочку «Разрешить доступ из Интернета» в разделе «USB-приложения» → «Сервер FTP».

На клиенте (например, на офисном компьютере или на ноутбуке) также надо установить OpenVPN, а заодно скопировать наш ключ static.key, который мы сгенерировали ранее, в папку C:\Program Files\OpenVPN\easy-rsa\keys\ (ну, или куда вам удобно, только в клиентских настройках надо будет поменять путь до него). Теперь в папке C:\Program Files\OpenVPN\config\ нужно создать новый текстовый файл, вставить в него нижеследующие строки и переименовать его, например, в router.ovpn. Обратите внимание, что в пути до файла secret.key нужно использовать именно двойные слеши (\\), а не одинарные (\).

При двойном клике по файлу ovpn будет подниматься туннель до роутера. Можно запустить OpenVPN GUI и из главного меню — в области уведомлений появится иконка, двойной клик по которой также поднимет туннель. При этом цвет иконки сменится с красного на зелёный. Ещё один двойной клик по иконке покажет окно с логом. Для отключения от VPN нажмите кнопку Disconnect. После подключения вам будет доступна ваша домашняя сеть и можно, к примеру, настроить удалённый рабочий стол (см. раздел «Настройка TightVNC» здесь). Также необходимо проследить, чтобы адресация на удалённой машине, в домашней сети и внутри VPN-туннеля была разной. В нашем примере мы использовали подсеть 10.8.0.0 для туннеля, а в домашней сети — 192.168.1.0. При необходимости подкорректируйте адреса во всех скриптах и файлах конфигурации в этом разделе.

Заключение

На данный момент это, пожалуй, все приложения, о которых есть смысл рассказывать. Конечно, в репозитории есть и другие пакеты, но вряд ли домашнему пользователю захочется поднимать свой веб-сервер на роутер, становить на него Drupal или, например, заморачиваться с другими DDNS-сервисами либо монтировать по сети ещё один накопитель. Впрочем, если и захочется, то настройка не так уж сложна. В конце концов, не забанили же вас в Google или «Яндексе». Для молодого проекта столь небольшое число пакетов — явление нормальное. К тому же их список постепенно пополняется, однако, по признанию самого автора zyxel-keenetic-packages, времени у него не так много. Так что энтузиасты, готовые собирать новые пакеты и развивать проект, явно не помешают. Напоследок ещё раз рекомендуем ознакомиться с вики и форумом, ссылки на которые были приведены в начале статьи. Засим позвольте откланяться и традиционно пожелать удачных экспериментов.

Источник