/dyndnsd

Dynamic DNS Daemon for OpenBSD

Primary LanguageCBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

dyndnsd C/C++ CI

dyndnsd is a Dynamic-DNS daemon for OpenBSD. It is minimal, lightweight, intuitive, and generic/extensible enough to support any Dynamic-DNS provider.

Example

First, create the configuration file, /etc/dyndnsd.conf:

run "curl https://www.duckdns.org/update?domains=${DYNDNSD_FQDN}&token=sometoken&ip=${DYNDNSD_IPADDR}"

interface em0 {
	domain www.example.com
}

interface em1 {
	domain ftp.example.com
}

Test the configuration file:

$ dyndnsd -n
$

Then, start the daemon:

$ dyndnsd
$

Build

dyndnsd has no external dependencies—it's only dependency is libevent, but that's included in OpenBSD base—on so compiling dyndnsd is straightforward:

make

TODO

Features

  • route(4)
  • kqueue(2)
  • pledge(2)
  • drop privilege

Code Quality

  • Fuzz Testing
  • Valgrind
  • cppcheck