README.md 1.61 KB
Newer Older
Erick Hitter's avatar
Erick Hitter committed
1
`dyndnsd-client` [![pipeline status](https://git.ethitter.com/open-source/dyndnsd-client/badges/master/pipeline.svg)](https://git.ethitter.com/open-source/dyndnsd-client/commits/master)
Erick Hitter's avatar
Erick Hitter committed
2
================
Erick Hitter's avatar
Erick Hitter committed
3

Erick Hitter's avatar
Erick Hitter committed
4 5 6 7
Client for the [`dyndnsd`](https://github.com/cmur2/dyndnsd) daemon. Set up `dyndnsd` first, otherwise this is useless.

## Use

8
Set up a cron entry to run the program periodically, or manually call it when your IP address changes. The program accepts a single argument, `-config`, pointing to a `config.json` file that handles everything. A sample `config.json` is provided in the form of `config-sample.json`.
Erick Hitter's avatar
Erick Hitter committed
9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

## Configuration Options

* `username`: daemon username
* `password`: daemon password
* `protocol`: `http` or `https`, preferably the latter
* `host`: IP or hostname of `dnydnsd` instance
* `port`: port `dyndnsd` is listening on
* `path`: path to `dnydnsd` daemon, typically `nic/update`
* `dns_hostname`: the `nsd` zone to update
* `ipv4_endpoint`: GET-accessible endpoint that returns an IPv4 IP address as a string; when in doubt, use `http://whatismyip.akamai.com/`
* `ipv6_endpoint`: GET-accessible endpoint that returns an IPv6 IP address as a string; when in doubt, use `http://ipv6.whatismyip.akamai.com/`
* `ipv6_use_prefix`: if running multiple instances on the same network, use only the IPv6 prefix, omitting the instance portion of the address; this greatly reduces unnecessary `nsd` updates

## Proxying via `nginx`

`dnydnsd` doesn't support HTTPS, so using `nginx` as an HTTPS proxy is recommended. Sending a username and password over an unsecured connection should be avoided if possible.

More coming soon...