diff --git a/.drone.yml b/.drone.yml index bf92a03..77d6da8 100644 --- a/.drone.yml +++ b/.drone.yml @@ -20,5 +20,6 @@ steps: - dyndns-server checksum: - sha256 + - sha512 when: event: tag diff --git a/README.md b/README.md new file mode 100644 index 0000000..3170985 --- /dev/null +++ b/README.md @@ -0,0 +1,27 @@ +dyndns-server +============= + +`dyndns-server` is a simple self-hosted dynamic DNS API service which can be used +together with e.g. AVM FritzBox's DynDNS functionality or +[ddclient](https://github.com/ddclient/ddclient). It implements a subset of the +API described by +[Google Domains](https://support.google.com/domains/answer/6147083?hl=en#zippy=%2Cuse-the-api-to-update-your-dynamic-dns-recordhttps://support.google.com/domains/answer/6147083?hl=en#zippy=%2Cuse-the-api-to-update-your-dynamic-dns-record) +and forwards DNS Updates to an authoritive DNS server as per +[RFC2136](https://datatracker.ietf.org/doc/html/rfc2136). + +Requirements +------------- + - `go` for building the `dyndns-server` binary + - an authoritive DNS server responsible for the records to be dynamically + updated which is capable of RFC2136 (e.g. knot, bind) + - `knsupdate` needs to be installed for sending DNS update requests + - a reverse-proxy for https (e.g. nginx), this is optional and `dyndns-server` + can also directly operate at port 80 which is discouraged as otherwise + secrets will be transmitted unencrypted + +Configuration +------------- +`dyndns-server` will look for a file named `config.toml` inside the current +working directory unless a different config path has been supplied via `-config +`. For details regarding the configuration file format, +please consult `config.example.toml`.