GoDaddy Dynamic DNS service
 
 
Go to file
Tudor Stanciu e19fdbf11e 1.0.3 The ExecutionTimeInSeconds parameter has been replaced with ExecutionFrequency which accepts values in the format 30s, 10m, 1h or 1d. 2023-10-20 18:50:59 +03:00
src/GoDaddyDDNS 1.0.3 The ExecutionTimeInSeconds parameter has been replaced with ExecutionFrequency which accepts values in the format 30s, 10m, 1h or 1d. 2023-10-20 18:50:59 +03:00
.dockerignore Added docker support 2022-12-27 18:40:07 +02:00
.gitattributes Add .gitattributes, .gitignore, and README.md. 2022-12-26 23:35:47 +02:00
.gitignore Added docker support 2022-12-27 18:40:07 +02:00
Directory.Build.props 1.0.3 The ExecutionTimeInSeconds parameter has been replaced with ExecutionFrequency which accepts values in the format 30s, 10m, 1h or 1d. 2023-10-20 18:50:59 +03:00
GoDaddyDDNS.sln Added docker support 2022-12-27 18:40:07 +02:00
README.md 1.0.3 The ExecutionTimeInSeconds parameter has been replaced with ExecutionFrequency which accepts values in the format 30s, 10m, 1h or 1d. 2023-10-20 18:50:59 +03:00

README.md

GoDaddyDDNS

GoDaddy does not have a Dynamic DNS service, but provides documentation to programmatically interact with their platform: https://developer.godaddy.com/doc/endpoint/domains

Considering this aspect, I wrote this worker to constantly check the public IP of the network in which it is installed and compare it with the one configured in type A records in the GoDaddy platform. When a difference appears between these IPs, the worker will update the correct IP in the configured type A records through the API.

The worker is developed multi-platform (it can run in any environment), but the tested version is in a docker container.

To make this worker functional, a minimum configuration is required:

{
  "Domain": "*********",
  "Records": [ "@" ],
  "Key": "*********",
  "Secret": "*********",
  "ExecutionTimeInSeconds": 3300
}

Stack

  • .NET (C#)
  • Docker

Changelog

1.0.0 - The first release version of the service. 1.0.1 - ConfigureAwait(false) was set for the http client get async calls. 1.0.2 - .NET 6 upgrade. 1.0.3 - The ExecutionTimeInSeconds parameter has been replaced with ExecutionFrequency which accepts values in the format 30s, 10m, 1h or 1d.