You've already forked da-ddnsclient
Fixed login validator, added some debug lines
This commit is contained in:
@@ -38,14 +38,20 @@ def main(hostname, url, username, password):
|
|||||||
click.echo('Updating DNS for ' + hostname)
|
click.echo('Updating DNS for ' + hostname)
|
||||||
(directadmin_zone, directadmin_name) = get_zone_and_name(hostname)
|
(directadmin_zone, directadmin_name) = get_zone_and_name(hostname)
|
||||||
|
|
||||||
da_client = get_directadmin_client(url, username, password)
|
da_client = ""
|
||||||
|
try:
|
||||||
|
da_client = get_directadmin_client(url, username, password)
|
||||||
|
except DirectAdminClientException as e:
|
||||||
|
click.echo(e)
|
||||||
|
exit(1)
|
||||||
current_ip = requests.get('https://icanhazip.com').text.strip()
|
current_ip = requests.get('https://icanhazip.com').text.strip()
|
||||||
hostname_resolves_to = socket.gethostbyname(hostname).strip()
|
hostname_resolves_to = socket.gethostbyname(hostname).strip()
|
||||||
|
|
||||||
click.echo(current_ip)
|
click.echo("Current External IP: {}".format(current_ip))
|
||||||
click.echo(hostname_resolves_to)
|
click.echo("Hostname resolves to: {}".format(hostname_resolves_to))
|
||||||
|
|
||||||
if current_ip != hostname_resolves_to:
|
if current_ip != hostname_resolves_to:
|
||||||
|
click.echo("Current IP has changed, updating...")
|
||||||
try:
|
try:
|
||||||
response = da_client.update_dns_record(directadmin_zone,
|
response = da_client.update_dns_record(directadmin_zone,
|
||||||
"A",
|
"A",
|
||||||
|
|||||||
@@ -30,9 +30,6 @@ class DirectAdminClient:
|
|||||||
response = self.login_test()
|
response = self.login_test()
|
||||||
except DirectAdminClientException as e:
|
except DirectAdminClientException as e:
|
||||||
raise e
|
raise e
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
def make_request(self, endpoint, data=None):
|
def make_request(self, endpoint, data=None):
|
||||||
response = None # Empty response variable
|
response = None # Empty response variable
|
||||||
@@ -69,11 +66,9 @@ class DirectAdminClient:
|
|||||||
|
|
||||||
def login_test(self):
|
def login_test(self):
|
||||||
r = self.make_request('CMD_API_LOGIN_TEST')
|
r = self.make_request('CMD_API_LOGIN_TEST')
|
||||||
response = parse_qs(r.read().decode('utf8'),
|
if "<!DOCTYPE html>" in r.read().decode('utf8'):
|
||||||
keep_blank_values=0,
|
raise DirectAdminClientException('Not Logged in! Check Username and Password/Login Key')
|
||||||
strict_parsing=1)
|
return r.getheaders()[0][1]
|
||||||
|
|
||||||
return self.__process_response__(response)
|
|
||||||
|
|
||||||
def get_domain_list(self):
|
def get_domain_list(self):
|
||||||
r = self.make_request('CMD_API_SHOW_DOMAINS')
|
r = self.make_request('CMD_API_SHOW_DOMAINS')
|
||||||
|
|||||||
Reference in New Issue
Block a user