ddns not updating

matthewk

New Member
Howdy,

This bit of python claims it works but it does not update the dns. I put my username, token, domain name to update, and it's new IP and it does not return any errors.

import requests

# Replace with your info
hostname = "foo.com"
ip_address = "123.123.123.123"
token = "134567890"
username = "itsmedummy"

url = f"https://{username}:{token}@dynamic.zoneedit.com/auth/dynamic.html?host={hostname}&dnsto={ip_address}"

response = requests.get(url)

if response.status_code == 200:
print("DNS updated successfully.")
else:
print(f"Failed to update DNS. Status code: {response.status_code}")
print("Response:", response.text)

###############

I get the 200 return code but it does not update my dns. Also, is there a way to see an update history on your end? I am wondering if that would shed any light on what is going on.

Thank you!
 
Ok, making the script a bit more verbose.... It seems the website is sending back a 200 even though the process is returning a
<ERROR CODE="708" TEXT="Failed Login: my_userid" ZONE="my_domain.com">

I have tried one domain with every token that I have, I had got one per domain before I read on here you just need one. In any case, it does not like any of them and it also does not like my password.

Oddly enough, even though it seems to dislike the token, and gives me a failed login message as above, if I try to update again back to back I get a <ERROR CODE="702" PARAM="600" TEXT="Minimum 600 seconds between requests" ZONE="my_comain.com"> error. This makes me question the login failure message, but to date nothing has changed the IP address.

BTW, are there any guardrails on the IP addresses? For testing I have been trying to change it to 123.123.123.123 which really seems to belong to some entity in China. I can not see how this would have any negative effect on them, and it would only last long enough for me to have nslookup reflect it so I know it is really changed, before switching it back.

Any help is appreciated.
 
Back
Top