Grab pre-built executables from releases or build from source:
$ git clone https://github.com/manojchandrashekar/dnsup.git
$ cargo build --release --locked
This program should be executed (ideally, scheduled) on a device that exists on the network that resolves to the WAN IP that the domains must point to.
On the first run, if a config file is not found, a skeleton config will be created at: ~/.dnsup.toml
. If not, create it manually using the template.
Uses TOML formatting.
-v, --verbose Show verbose output
-c, -config <file> Specify config file location.
version = "1" # For handling changes in config structure
[lookup]
method = "dig"
provider = "opendns"
[cloudflare]
auth_token = "<auth-token>"
account_id = "<account-id>"
domains = "<comma-separated domain list>"
This instructs what method to use to fetch the WAN IP.
method = "dig"
provider = "opendns"
This method uses the program `dig` to query myip.opendns.com to fetch the network IP.
This block holds the account information for accessing and editing DNS zones and records from the cloudflare account.
auth_token:
Create an authentication token in your cloudflare account management with DNS:Edit
permissions for all the zones that you wish to update.
account_id:
The account ID can be found at the domain overview page:
domains:
Comma-separated domains that needs the A record to be updated.