Dynamic IP updater written in Go for DNSimple.com host domains.
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.



go-dns is a dynamic IP updater for DNSimple.com domains. go-dns will update and pre-configured domain's ip to the ip of your router.

Quick Start

Download one of the archives listed below, and extract to the location of your choice. One of the included files is a settings.json.sample. Rename that file to settings.json, and update its contents appropriately. The values in the file are pretty self explanitory. The required email is the one you use to log into dnsimple.com with. The token can be found in your dnsimple.com account profile, under the API tab.

Here is an example settings.json file. Note, you shouldn't have to change the record-type attribute.

  "credentials" : {
      "email": "john.doe@example.com",
      "token": "ABCfGHI56aPe98IuYTR"
  "domains" : [
      "name": "example.com",
      "record-type": "A"
      "name": "foobarbaz.com",
      "record-type": "A"

Next, run go-dns

$ go-dns

And thats it. go-dns will print out your router ip, and if the IPs of the domains match or not. If go-dns finds a mismatch, it will update the domain IP to the router's IP.

Available Downloads

Contributing to go-dns

  • Fork this repository on github
  • Make your changes and send us a pull request
  • If we like them we'll merge them