По причине «интересно», на досуге, собрал простой upnp/dlna сервер. Написанных на javascript найти не удалось, а идея кажется интересной: один исходный код для всех платформ (спасибо node-webkit), javascript со всеми его достоинствами и недостатками, а также простота сборки. Можно легко собрать проект под все платформы в одной из них. Для этого написал скрипт на питоне, который все сделает сам, даже скачает необходимые файлы node-webkit. Хотелось снизить кол-во телодвижений необходимых для тех, кто захочет внести свою лепту в проект.
Скачать можно здесь, спасибо github за то, что вернули возможность хранить файлы. Умеют сделать людям хорошо. Еще немного текста можно найти под катом.
В качестве сервера использован молодой проект upnpserver, который сам по себе является законченным продуктом — сервер с интерфейсом командной строки. Для интерфейса выбрал reactjs и всеми любимый bootstrap. Идеи на которых основан reactjs, мне кажется, чрезвычайно правильными. В чем я убедился на практике, замысловатая логика поведения интерфейса довольно легко реализуется и читается в последствии. Возможность не думать о состоянии DOM, а каждый раз генерировать его с нуля в функции render, действительно сильно упрощает жизнь.
Сейчас проект находится на очень ранней стадии, протестирован на уровне — вроде работает. Основные компоненты собраны вместе, для того, чтобы что-то дописать не нужно вникать в весь код проекта. Правда отсутствует ряд важных функций, например, сервер не умеет транскодировать, но необходимый модуль для nodejs существует.
Приглашаю всех желающих присоединиться к разработке на github.
Автор: vf1