Most server settings are determined automatically at startup — the server detects your IP address, generates a UUID, and begins listening on fixed ports. The sections below describe each setting, where it comes from, and how to change it if needed.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/swimauger/dlna/llms.txt
Use this file to discover all available pages before exploring further.
Network address
The server detects its own IP address at startup by scanning your machine’s network interfaces (os.networkInterfaces()). It picks the first non-internal IPv4 address it finds. If no external interface is available, it falls back to 127.0.0.1.
src/constants/ip.ts
If your machine has multiple active network interfaces (for example, both Ethernet and Wi-Fi), the server uses whichever external IPv4 address
os.networkInterfaces() returns first. If you need to control which interface is used, you can edit src/constants/ip.ts to hardcode a specific address and rebuild with npm run build.Ports
The server uses two fixed ports:| Service | Protocol | Port | Purpose |
|---|---|---|---|
| SOAP/HTTP | TCP | 8080 | Device description, ContentDirectory Browse, event subscriptions |
| SSDP | UDP | 1900 | UPnP multicast discovery (239.255.255.250) |
src/upnp/soap.ts for HTTP, src/upnp/ssdp.ts for SSDP). When the server starts, it logs:
Port
1900 is the standard SSDP port defined by the UPnP specification. Changing it would prevent DLNA clients from discovering the server automatically, since they send M-SEARCH multicast messages to 239.255.255.250:1900 by default.Device UUID
The server generates a fresh UUID every time it starts usingcrypto.randomUUID():
src/constants/uuid.ts
Because the UUID changes on every restart, some DLNA clients that cache device identifiers may display duplicate entries or take a moment to re-recognize the server. If this is disruptive, you can replace the
crypto.randomUUID() call in src/constants/uuid.ts with a hardcoded UUID string and rebuild.Friendly name
The name DLNA clients display in their device lists is set insrc/router.ts:
src/router.ts
friendlyName value in this file.
Manufacturer info
Themanufacturer and manufacturerURL fields in src/router.ts are included in the UPnP device description XML. Some clients display this information alongside the friendly name.
| Field | Default value |
|---|---|
manufacturer | 'Mark Auger' |
manufacturerURL | 'https://swimauger.com' |
To customize the server’s identity — friendly name, manufacturer, or manufacturer URL — edit the corresponding values in Restart the server after rebuilding for changes to take effect.
src/router.ts and rebuild: