dyndnsd icon indicating copy to clipboard operation
dyndnsd copied to clipboard

Dynamic DNS Daemon for OpenBSD

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

  • [x] route(4)
  • [x] kqueue(2)
  • [x] pledge(2)
  • [x] drop privilege

Code Quality

  • [ ] Fuzz Testing
  • [x] Valgrind
  • [x] cppcheck