Рубрика «UPnP»

Несколько лет назад я уже выкладывал статью о том как из роутера сделать сетевую звуковую карту. Тот вариант требовал наличия активного источника звука и колонок. Переносной вариант выглядел бы слишком громоздким, потому было решено приобрести готовый продукт. По причине доступности и как самое дешевое из возможных вариантов (50 евро) я выбрал renkforce IR 1.

image

Из ключевых характеристик мне были важны следующие:

Читать полностью »

Открываем порты за NAT при помощи NAT-PMP и UPnP IGD - 1

Ранее я много раз слышал, что UPnP каким-то образом умеет самостоятельно открывать порты (производить Port Forwarding на роутере) по запросу от хоста из локальной сети. Однако, то, каким именно образом это происходит, и какие протоколы для этого используются, доселе было покрыто для меня пеленой тумана.

В данной статье я хочу кратко рассказать, как работают два механизма для проброса портов, а именно NAT Port Mapping Protocol и Internet Gateway Device (IGD) Protocol, входящий в набор протоколов UPnP. К своему удивлению я обнаружил, что в рунете информация по данному вопросу более чем скудна, что и сподвигло меня на написание данной заметки.

Для начала приведу краткий FAQ:

Q: Для чего нужны данные протоколы?
A: Для формирования на маршрутизаторе правила проброса определенного TCP/UDP порта (Port Forwarding) не вручную, а «автоматически», т.е. по запросу от хоста во внутренней сети.

Q: Как это реализуется?
A: Устройство за NAT отправляет маршрутизатору запрос с указанием внутреннего и внешнего номеров портов и типа протокола (TCP/UDP). Если указанный внешний порт свободен, маршрутизатор формирует у себя правило трансляции и рапортует запросившему компьютеру об успешном выполнении запроса.

Q: Проводится ли на маршрутизаторе аутентификация/авторизация запросов на открытие порта?
A: Нет, не проводится.

Теперь же рассмотрим работу данных протоколов более подробно (под катом).
Читать полностью »

Уже давно в качестве домашнего DLNA-сервера использую Mediatomb. Это очень надежный и легкий сервер, который позволяет получить доступ к своему видео-аудио-фото архиву с любого устройства, поддерживающего DLNA.
Mediatomb обладает интерактивным WEB-интерфейсом, посредством которого можно добавлять под контроль указанного сервера каталоги с медиа-данными. Однако, мне понадобилась возможность не интерактивного, а консольного управления этим сервером, в частности появилась необходимость добавлять и удалять папки с медиа-информацией. К сожалению, никаких штатных средств для этих операций системой не предусмотрено, поэтому был создан небольшой скрипт, на основе CURL, который, понятно, имитирует работу пользователя с браузером и собственно позволил мне достичь нужного результата.

Возможно, проделанная работа может потребоваться кому-нибудь еще, поэтому решил воспроизвести ее на Хабре.
Читать полностью »

Javascript UPNP/DLNA сервер

По причине «интересно», на досуге, собрал простой upnp/dlna сервер. Написанных на javascript найти не удалось, а идея кажется интересной: один исходный код для всех платформ (спасибо node-webkit), javascript со всеми его достоинствами и недостатками, а также простота сборки. Можно легко собрать проект под все платформы в одной из них. Для этого написал скрипт на питоне, который все сделает сам, даже скачает необходимые файлы node-webkit. Хотелось снизить кол-во телодвижений необходимых для тех, кто захочет внести свою лепту в проект.

Скачать можно здесь, спасибо github за то, что вернули возможность хранить файлы. Умеют сделать людям хорошо. Еще немного текста можно найти под катом.

Читать полностью »

Поводом для перевода послужил топик habrahabr.ru/post/165945/ о том, что SmartTV, активно навязываемый продавцами, покупать не следует. Сразу вспомнилась эта запись, которую не мог не привести. Запись старая, но интресная. Интересна в первую очередь для тех, кому интересно именно внутреннее устройство, а также тем, кто не может понять, почему новое устройство не играет кучу имеющихся видеофайлов.
Почему я так сильно ненавижу DLNA протокол?

Несколько лет назад мне пришлось по работе познакомиться с UPnP A/V-протоколом. Это продолжение UPnP-спецификаций, которые используют многие так называемые аудио/видео проигрыватели/сервера (в основном телеприставки), чтобы обеспечить простой способ обмениваться потоками мультимедийного контента. Поработав с ним, я решил написать небольшой UPnP A/V медиа-сервер с запилом под встроенные решения, так появился uShare (произносится you-share). Удивительно uShare быстро стал одним из наиболее часто используемых UPnP A/V медиа-серверов на UNIX. Теперь он является частью дистрибутива Ubuntu, равно как и включен во множество микро-дистрибутивов, такие как OpenWRT или FreeNAS, которые используются на маршрутизаторах или NAS.Читать полностью »

image
Вкратце, что получилось:

  • ADSL 2+ подключение к Интернету
  • Две домашних WiFi 802.11g/n сети — 2.4Ghz и 5Ghz со скоростью более 100 мегабит/с
  • Гигабитное подключение по кабелю
  • Сетевое хранилище на 6Тб, в виде четырех дисков 2 x 2Тб и 2 x 1Тб с автономным торрент клиентом
  • SMB/CIFS сервер со стабильной скоростью записи/чтения 12-14 мегабайт/с
  • NFS сервер со скоростью записи/чтения 9-10 или 15-18 мегабайт/с (TCP/Windows или UDP/Linux)
  • UPNP/DLNA сервер со скоростью чтения 8-10 мегабайт/с
  • 46-ти дюймовый LED телевизор с встроенным WiFi 802.11n, способный работать с сетевым хранилищем и сам способный раздавать контент по SMB/CIFS со своего USB диска
  • Старый 42-дюймовый телевизор с подключеным BD плеером с поддержкой Ethernet и DLNA клиентом, работающий с сетевым хранилищем
  • 4 домашних компьютера, включая Mac и 4 мобильных телефона которые со всем вышеперечисленным работают, в том числе и мобильные сервера и клиенты DLNA

Кому интересно на какие грабли я наступал, зачем там подушка и как все это работает прошу под кат.
Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js