This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revisionNext revisionBoth sides next revision | ||
software:ssdpd:config [2014/10/22 21:05] – root | software:ssdpd:config [2022/02/04 18:43] – removed - external edit (Unknown date) 127.0.0.1 | ||
---|---|---|---|
Line 1: | Line 1: | ||
- | ====== Настройка ====== | ||
- | В ssdpd.conf указываем полный путь до / | ||
- | |||
- | ssdpd и веб сервер могут быть запущены на разных серверах, | ||
- | |||
- | /upnp/ - положить/ | ||
- | / | ||
- | Нужен PHP с поддержкой SOAP.\\ | ||
- | |||
- | |||
- | ===== ssdpd.conf ===== | ||
- | |||
- | |||
- | ==== log ==== | ||
- | Лог файл. | ||
- | |||
- | <code xml>< | ||
- | < | ||
- | </ | ||
- | |||
- | === file === | ||
- | Имя файла. Запись производится если в командной строке не указан -v, иначе лог пишется в stdout. | ||
- | |||
- | ---- | ||
- | |||
- | |||
- | ==== skt ==== | ||
- | Настройки сокета. | ||
- | |||
- | <code xml>< | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | </ | ||
- | |||
- | === rcvBuf === | ||
- | Максимальный размер буфера для приёма (SO_RCVBUF). | ||
- | |||
- | === sndBuf === | ||
- | Максимальный размер буфера для отправки (SO_SNDBUF). | ||
- | |||
- | === ttl === | ||
- | TTL - Только для IPv4. IP_MULTICAST_TTL | ||
- | |||
- | === hopLimit === | ||
- | TTL - Только для IPv6. IPV6_MULTICAST_HOPS | ||
- | |||
- | ---- | ||
- | |||
- | |||
- | ==== Общие настройки ==== | ||
- | |||
- | <code xml>< | ||
- | < | ||
- | < | ||
- | </ | ||
- | |||
- | === flagEnableIPv4 === | ||
- | Включить IPv4. | ||
- | |||
- | === flagEnableIPv6 === | ||
- | Включить IPv6. | ||
- | |||
- | === httpServer === | ||
- | Если не задано или пустое то автоматически генерируется поле Server вида: ' | ||
- | |||
- | ---- | ||
- | |||
- | |||
- | ==== announceList ==== | ||
- | Список устройств для анонсирования.\\ | ||
- | |||
- | <code xml>< | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | < | ||
- | </ | ||
- | </ | ||
- | </ | ||
- | </ | ||
- | </ | ||
- | |||
- | === announce === | ||
- | Описание UPnP устройства для анонсирования. | ||
- | |||
- | == xmlDevDescr == | ||
- | Путь к XML файлу с описанием устройства.\\ | ||
- | SSDPd загружает из этого файла описание устройства и его сервисов.\\ | ||
- | |||
- | == maxAge == | ||
- | Время в секундах, | ||
- | |||
- | == interval == | ||
- | Время в секундах, | ||
- | |||
- | == ifList, if == | ||
- | Список сетевых интерфейсов для отсылки анонсов данного устройства.\\ | ||
- | |||
- | = ifName = | ||
- | Имя сетевого интерфейса для отсылки анонсов.\\ | ||
- | |||
- | = DevDescrURL4 = | ||
- | URL для IPv4 анонсов.\\ | ||
- | Адрес " | ||
- | URL должен указывать на файл с XML описанием UPnP устройства и его сервисов, | ||
- | |||
- | |||
- | |||
- | ---- | ||
- | |||
- | |||
- | |||
- | |||
- | |||
- | ===== Настройка nginx ===== | ||
- | Здесь самый минимум настроек, | ||
- | |||
- | Расшариваем папку с контентом: | ||
- | [code] | ||
- | # allow files listing: DataStore | ||
- | location ^~ /DataStore/ { | ||
- | root /usr/; | ||
- | |||
- | add_header TransferMode.DLNA.ORG ' | ||
- | add_header ContentFeatures.DLNA.ORG ' | ||
- | } | ||
- | [/code] | ||
- | |||
- | Поддержка UPnP SUBSCRIBE/ | ||
- | [code] | ||
- | # UPnP SUBSCRIBE/ | ||
- | location ^~ / | ||
- | if ($request_method = SUBSCRIBE) { | ||
- | add_header Pragma " | ||
- | add_header SID " | ||
- | add_header Timeout " | ||
- | return 200; | ||
- | } | ||
- | if ($request_method = UNSUBSCRIBE) { | ||
- | add_header Pragma " | ||
- | return 200; | ||
- | } | ||
- | } | ||
- | [/code] | ||
- | Далее можно будет превратить их в POST с доп заголовком и передать в скрипт, | ||
- | |||
- | Разрешаем PHP для UPnP скриптов: | ||
- | [code] | ||
- | # php for: UPnP | ||
- | location ^~ / | ||
- | root / | ||
- | |||
- | include fastcgi_params; | ||
- | # | ||
- | fastcgi_pass unix:/ | ||
- | fastcgi_connect_timeout 30; | ||
- | fastcgi_read_timeout 600; | ||
- | fastcgi_send_timeout 600; | ||
- | fastcgi_ignore_client_abort off; | ||
- | # | ||
- | fastcgi_intercept_errors off; | ||
- | fastcgi_param SCRIPT_FILENAME | ||
- | } | ||
- | [/code] | ||
- | |||
- | |||
- | |||
- | ==== Расширенная настройка и кастомизация под себя ==== | ||
- | В файле [b]root.xml[/ | ||
- | [b]root/ | ||
- | friendlyName - отображаемое имя UPnP устройства; | ||
- | UDN - UUID идетификатор устройства, | ||
- | presentationURL - можно указать там страничку с описанием или админкой | ||
- | |||
- | [b]root/ | ||
- | url - URL на png иконку 48х48; | ||
- | |||
- | [b]root/ | ||
- | SCPDURL - URL до хмл файла с описанием; | ||
- | controlURL - URL куда будут прилетать HTTP POST запросы к сервисам; | ||
- | eventSubURL - URL куда будут идти HTTP SUBSCRIBE/ | ||
- | [b]root.xml описано ТРИ сервиса, | ||
- | |||
- | |||