Skip to content

Instantly share code, notes, and snippets.

@cuahutli
Created August 11, 2017 17:48
Show Gist options
  • Save cuahutli/caa1ef5c03879b607c725b7b408a2561 to your computer and use it in GitHub Desktop.
Save cuahutli/caa1ef5c03879b607c725b7b408a2561 to your computer and use it in GitHub Desktop.
# -*- coding: utf-8 -*-
import requests
import json
import socket
DDNS_HOST = 'myhost.dyndns.org'
CHEKIP_URL = "http://thisisnt.com/api/getRemoteIp.php"
DDNS_UPDATE_URL = "https://members.dyndns.com/nic/update"
user = "myuser"
password = "mypassword"
print("Obteniendo ip host dyndns")
current_ip_ddns = socket.gethostbyname(DDNS_HOST)
print("obteniendo ip publica...")
request_ip = requests.get(CHEKIP_URL)
if request_ip.status_code is not 200:
raise "No podemos obtener la ip publica, quiza se deba a un error con su internet"
exit
ip_public = request_ip.json()['REMOTE_ADDR']
print (current_ip_ddns, "--->", ip_public)
if current_ip_ddns != ip_public:
print(DDNS_HOST, " debe actualizarse")
headers = {'user-agent': 'mPythonClient/0.0.3'}
dyn = requests.get(DDNS_UPDATE_URL, headers=headers, auth=(user, password), params={'hostname': DDNS_HOST, 'myip': ip_public, 'wildcard': 'NOCHG',})
if dyn.status_code is not 200:
print("La actualización falló", str(dyn.status_code))
if "good" in dyn.text:
print("actualizamos correctamente")
else:
print("La actualización falló: ", dyn.text.strip())
else:
print("no es necesario actualizar!!!")
@cuahutli
Copy link
Author

Actualiza automáticamente tu host dyndns con python.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment