Skip to content
This repository has been archived by the owner on Sep 3, 2022. It is now read-only.
/ ddns-client Public archive

client to update public DNS with your current IP (a.k.a DynDNS)

License

Notifications You must be signed in to change notification settings

via-justa/ddns-client

Repository files navigation

Go Test Language Go Report Card license

ddns-client

General

ddns-client is a Go client to update public DNS with your current IP (a.k.a DynDNS).

Supported Operating systems

The binaries are built for Linux (amd and arm), Windows (i386) and MacOs (darwin i386). The client should work on any operating system when built from source

Installation

  • Download the relevant version from the release page
  • Set the relevant Environment variables to your provider.

Running in Docker

docker pull viajusta/ddns-client
docker run --rm -e <provider env var>=<val> viajusta/ddns-client -p <provider> -d <comma separated list of FQDN> -i <interval>

Build from source

git clone git@github.com:via-justa/ddns-client.git
cd ddns-client
go build

Command line flags

  • -d, --dns comma separated list of FQDN of records to set
  • -p, --provider provider hosting the DNS zone
  • -i, --interval interval to check records status in time format (e.g. 30m, 1h)
  • -l, --log set log file path to use. default: none (print to console)
  • -h, --help print available options
  • -v, --version print away client version

Supported providers and required environment variables

Provider Environment variables comments
hetzner HETZNER_API_KEY
namecheap NAMECHEAP_<DOMAIN>_PASSWORD <DOMAIN> is your domain when all - and . are replaced with underscore (e.g. for my-domain.com set NAMECHEAP_MY_DOMAIN_PASSWORD)

Issues and feature requests

I'm more than happy to reply to any issue of feature request via the github issue tracker. When opening an issue, please provide the version you're using and any useful information that can be used to investigate the issue.

If you like to suggest improvements please provide relevant use case it solves.

Requests to add providers should include link to the provider API documentation and information if the provider can set a send box environment.

Pull requests are welcomed, just try to keep the structure as close to the existing ones.

License

Creative Commons License
This work is licensed under a Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License.