troglobit/inadyn

DNSExit.com present for updating DDNS no longer functions as of sometime after November 20th 2023.

theofficialgman opened this issue · 4 comments

the DNSExit.com present for updating DDNS no longer functions as of sometime after November 20th 2023.

The current error output is

In-a-dyn version 2.12.0 -- Dynamic DNS update client.
Failed connecting to ip3.dnsexit.com: Host is unreachable
Communication with checkip server ip3.dnsexit.com failed, run again with 'inadyn -l debug' if problem persists
Retrying with built-in 'default', http://ifconfig.me/ip ...
Please note, https://ip3.dnsexit.com/ seems unstable, consider overriding it inyour configuration with 'checkip-server = default'

.checkip_name = "ip3.dnsexit.com",

Checking DNSExit.com documentation the current api use is as follows:

curl https://api.dnsexit.com/dns/ud/?apikey=myapikey -d host=mydomainaddress

Additionally, before this DNSExit.com preset stopped working, the enable IPV6 function did not work correctly. Two requests were made to DNSExit.com, the first being the IPV4 address and then the IPV6 address afterwards which would overwrite the previously set IPV4 address

inadyn/plugins/dnsexit.c

Lines 98 to 102 in c62d719

PLUGIN_INIT(plugin_init)
{
plugin_register(&plugin, DNSEXIT_UPDATE_IP_HTTP_REQUEST);
plugin_register_v6(&plugin, DNSEXIT_UPDATE_IP_HTTP_REQUEST);
}

Additionally, before this DNSExit.com preset stopped working, the enable IPV6 function did not work correctly. Two requests were made to DNSExit.com, the first being the IPV4 address and then the IPV6 address afterwards which would overwrite the previously set IPV4 address

inadyn/plugins/dnsexit.c

Lines 98 to 102 in c62d719

PLUGIN_INIT(plugin_init)
{
plugin_register(&plugin, DNSEXIT_UPDATE_IP_HTTP_REQUEST);
plugin_register_v6(&plugin, DNSEXIT_UPDATE_IP_HTTP_REQUEST);
}

this particular issue could likely be resolved if you use the latest API https://dnsexit.com/dns/dns-api/ and update the A and AAAA instead of the myip= http method.

Can confirm the above ^
Using the API with the multiple update in the format as follows works as expected:

curl  -H "Content-Type: application/json" --data @/tmp/update-full.json https://api.dnsexit.com/dns/

/tmp/update-full.json

{
   "apikey": "myapikey",
   "domain": "domainaddress",
   "update": [
    {
      "type": "A",
      "name": "",
      "content": "ipv4address",
      "ttl": 60
    },
    { 
      "type": "AAAA",
      "name": "",
      "content": "ipv6address",
      "ttl": 60
    }
   ] 
}

Great, a solution is available. Contributions are welcome, as usual.

Please note, https://ip3.dnsexit.com/ seems unstable

This is an SSL error
The IP Check server does not support SSL

http://ip3.dnsexit.com/
https://ip3.dnsexit.com/