Service Discovery Protocol daemon
Simple Service Discovery Protocol daemon (SSDP) for networked Linux devices.
Useful for small and embedded systems that want to announce themselves to UPnP
capable systems, e.g. Windows.
is a stand-alone UNIX daemon with no external
dependencies but the standard C library. It has a built-in web server for
serving the UPnP XML description which Windows use to present the icon, by
default an InternetGatewayDevice is announced.
On Linux systems, ssdpd
, in that order to determine the
distribution name and version, which along with the system hostname, is
periodically transmitted in SSDP multicast discovery frames. If neither file
exists a built-in default is used as server string. On non-Linux systems the
since that is the canonical UNIX location for such information.
Each SSDP capable device on a LAN has its own UUID. This is generated the first
is started and then stored in
, on *BSD systems it is
stored in /var/db/ssdpd.cache
. Note, depending on
your system this directory may be wiped on reboot, so
may start up with a different UUID every
- Show program help text
- SSDP notify interval (30-900), default 300 sec
- Set log level to one of the following, default
- Disable all logging
- Error conditions
- Warning conditions
- Normal but significant condition (default)
- Debug-level messages
- Run in foreground, do not daemonize by default
- Interface refresh interval (5-1800), default 600 sec
- Use syslog, default unless running in foreground,
- TTL for multicast frames, default 2, according to the UPnP
Device Architecture (UDA)
- Show program version
- By default ssdpd runs on all
IPv4 capable interfaces, except loopback. If interface names are given as
arguments, ssdpd will run only on them.
Interfaces are refrehed at runtime, so if an interface given on the
command line does not exist at first, ssdpd
will add them later.
- PID file, created as soon as all setup is complete
- Linux standard base release information. Primarily used to
figure out distribution name and release version
- If /etc/os-release does not
exist, ssdpd falls back to query this
non-standard file for information on the distribution name and release
- Cached UUID (Linux), may be wiped by the system on
- Cached UUID (*BSD), may be wiped by the system on