A dynamic DNS client for Digital Ocean
Go
Switch branches/tags
Nothing to show
Latest commit 2d335f3 Jan 21, 2017 @esell go routines for initial GETs
Permalink
Failed to load latest commit information.
.gitignore
LICENSE
README.md
main.go

README.md

doddns

Purpose:

The purpose of this application is to dynamically update DNS A records, specifically subdomains, that are managed by Digital Ocean. The use case for this is if you have something running at home or somewhere where the IP changes often but you want to be able to hit it via DNS. Basically something like DynDNS or Afraid.org but instead using Digital Ocean.

Prerequisites:

  • The domasubdomain) mxist in the Digital Ocean DNS system
  • You need to be able to make outbound HTTP/HTTPS requests

Usage:

go get github.com/esell/doddns

./doddns -s SUBDOMAIN -d DOMAIN.COM -k DO_API_KEY

At this point you could set the app to run via cron or whatever.

Gotchas:

  • Currently the default TTL that Digital Ocean gives you is 1800. Of course this is less than ideal for dynamic updates. The current Digital Ocean API does not provide a way to set the TTL on update or addition so you will need to manually set this in their portal. The nice thing is that you only have to set it once, future updates will not reset the TTL you have defined.
  • The update is dependent on DNS cache. If a remote client doesn't honor your TTL you are SOL.