diff --git a/.gitignore b/.gitignore deleted file mode 100644 index c18dd8d..0000000 --- a/.gitignore +++ /dev/null @@ -1 +0,0 @@ -__pycache__/ diff --git a/src/ddns_update.py b/src/ddns_update.py index befd4ae..86b8ea6 100755 --- a/src/ddns_update.py +++ b/src/ddns_update.py @@ -8,7 +8,6 @@ from os import environ from netifaces import interfaces, ifaddresses, AF_INET6 from ipaddress import ip_address from time import sleep -import socket logging.basicConfig(level=logging.INFO, format="%(asctime)-15s - %(name)s %(levelname)-8s: %(message)s") log = logging.getLogger("ddns updater") @@ -34,7 +33,7 @@ def response_successful(response_text): def ddns_update(host, key, ip): - url = f"https://dyndns.strato.com/nic/update?hostname={host}&myip={ip}" + url = f"https://dyndns.strato_.com/nic/update?hostname={host}&myip={ip}" try: response = requests.get(url, auth=(host, key), timeout=3) @@ -46,7 +45,7 @@ def ddns_update(host, key, ip): response.raise_for_status() if not response_successful(response.text): - raise RequestException(f"update to {ip} failed") + raise RequestException("update failed") except RequestException as error: log.error(response.text.strip()) @@ -54,7 +53,7 @@ def ddns_update(host, key, ip): return False log.debug(response.text.strip()) - log.info(f"update to {ip} successful") + log.info("update successful") return True @@ -63,17 +62,17 @@ def ddns_update(host, key, ip): @click.option( "--host", required=True, + default=lambda: environ.get("DDNS_HOST", None), help="The dns name to update", ) @click.option( "--key", required=True, + default=lambda: environ.get("DDNS_KEY", None), help="The ddns authorization key", ) def loop_ddns_update(host, key): - last_ip = ip_address(socket.getaddrinfo(host, None, socket.AF_INET6)[0][4][0]) - log.info(f"currently registered address: {last_ip}") - + last_ip = None while True: current_ip = get_global_ipv6() if current_ip != last_ip: @@ -85,5 +84,4 @@ def loop_ddns_update(host, key): if __name__ == "__main__": - log.info("starting...") - loop_ddns_update(auto_envvar_prefix="DDNS") + loop_ddns_update() diff --git a/src/test_ddns_update.py b/src/test_ddns_update.py deleted file mode 100644 index a091beb..0000000 --- a/src/test_ddns_update.py +++ /dev/null @@ -1,20 +0,0 @@ -import unittest -from .ddns_update import response_successful - -class TestDdnsUpdate(unittest.TestCase): - - def test_response_successful(self): - self.assertTrue(response_successful("good")) - self.assertTrue(response_successful("good 1.2.3.4")) - self.assertTrue(response_successful("good abcd:abcd:abcd:abcd:abcd:abcd:abcd:abcd")) - self.assertTrue(response_successful("nochg")) - self.assertTrue(response_successful("nochg 1.2.3.4")) - self.assertTrue(response_successful("nochg abcd:abcd:abcd:abcd:abcd:abcd:abcd:abcd")) - self.assertFalse(response_successful("notfqdn")) - self.assertFalse(response_successful("nohost")) - self.assertFalse(response_successful("numhost")) - self.assertFalse(response_successful("abuse")) - self.assertFalse(response_successful("badagent")) - self.assertFalse(response_successful("dnserr")) - self.assertFalse(response_successful("911")) -