qnap-dlna-adapter-for-foobar2k-mobile
v2.0.0
Published
Adapter for QNAP NAS DLNA service to work with foobar2000 Mobile via Internet
Downloads
22
Readme
QNAP DLNA adapter for foobar2000 Mobile
Requirements
Node.js v8 (install from QNAP App Center)
Export npm bin folder to
$PATH
:export PATH=/share/CACHEDEV1_DATA/.qpkg/nodejsv8/node/bin:$PATH
Install
Connect to NAS via SSH as admin and run:
npm install -g qnap-dlna-adapter-for-foobar2k-mobile
Usage
Connect to NAS via SSH.
Create config file. Example:
{
"deviceDescriptionPath": "/DeviceDescription.xml",
"dlnaHostname": "http://127.0.0.1",
"dlnaPort": 8200,
"externalHostname": "http://example.com",
"listenHostname": "0.0.0.0",
"port": 8888
}
Start:
dlna-adapter-for-foobar2k-mobile-start [PATH_TO_CONFIG_FILE]
If PATH_TO_CONFIG_FILE
is not specified then default path ~/dlna-adapter.config.json
will be used.
Stop:
dlna-adapter-for-foobar2k-mobile-stop
How it works
foobar2000 Mobile allows to add a custom media server. However most likely foobar will not find it. Thats's because it tries to fetch device description on hard-coded URLs which cannot be amended in foobar application.
The adapter redirects /
and /DeviceDescription.xml
requests to {deviceDescriptionPath}
which is understandable by QNAP DLNA server.
All other requests are being redirected to QNAP DLNA server without modification.
Additionaly it replaces all occurrences of {dlnaHostname}:{dlnaPort}
with {externalHostname}:{port}
in XML output of all http requests.
So the player will try to fetch audio file from your external URL.
Configuration
For QNAP DLNA server (native):
"deviceDescriptionPath": "/rootDesc.xml"
"dlnaHostname": "http://192.168.0.10"
"dlnaPort": 8200
For Asset UPnP:
"deviceDescriptionPath": "/DeviceDescription.xml"
"dlnaHostname": "http://127.0.0.1"
"dlnaPort": 26125