Skip to content
Secure DDNS update client
C C++ Makefile Roff Shell
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
tests
.gitignore
CHANGELOG.md
Makefile
README.md
b64_decode.c
b64_encode.c
base64.h
build.mk
config-test.sh
daemonize.c
def.h
enhanced-duc-config.h
enhanced-duc.1
example.conf
install.mk
interpreter.cpp
interpreter.h
log.c
log.h
main.c
main.h
my_vasprintf.c
network-openssl.c
network.c
network.h
options.mk
rename-pattern
settings.c
settings.h
sig.c
sig.h
strlcat.c
strlcpy.c
various.c
various.h
wrapper.c
wrapper.h

README.md

README

EDUC globe

About

Enhanced DUC is a dynamic DNS update client and daemon. Primarily it's written for use with the DNS services that NoIP provide. However: the protocol "is in an open format used by other service providers". I began working on the project in November 2015. The goal is to create a better update client for UNIX by using modern C coding practices.

Cloning

To clone the repository use Git.

$ git clone https://github.com/uhlin/enhanced-duc.git

Framework

Enhanced DUC depends on the OpenSSL toolkit. Which means that on, for example, a Debian GNU/Linux system you need to install a package with name libssl-dev before building:

# apt install libssl-dev

Building and installing

$ cd /path/to/source

If your system comes with strlcpy() and strlcat() please edit enhanced-duc-config.h.

$ make
$ sudo make install

Program options

-h           Print help
-c           Create a config file by asking the user for input.
             The user will be given the opportunity to choose a
             location for the config file, i.e. where to create it.
-x <path>    Start the DUC with the config file specified by path
-D           Turn on debug mode
-o           Don't cycle, i.e. don't periodically check for IP
             changes. Only update the hostname(s) once.
-B           Run in the background and act as a daemon

Good to know

  • If the program isn't running as a daemon it can be terminated with CTRL+C.
  • If port 443 is specified TLS/SSL will be enabled.
  • Valid ports are 80, 443 and 8245.

Other notes

  • Building for GNU/Linux was broken in v1.2 - v1.3.1.
  • Please read the system log, possibly /var/log/daemon.log or /var/log/daemon (depending on your UNIX variant).
You can’t perform that action at this time.