From 90663439cb088d3cfa49c20e39f1aed37c913b07 Mon Sep 17 00:00:00 2001 From: Stefan Schantl Date: Sun, 13 Jul 2014 17:44:33 +0200 Subject: [PATCH] Add opendns as new provider. --- README | 1 + ddns.conf.sample | 6 ++++++ src/ddns/providers.py | 24 ++++++++++++++++++++++++ 3 files changed, 31 insertions(+) diff --git a/README b/README index 6002c19..848a372 100644 --- a/README +++ b/README @@ -61,6 +61,7 @@ SUPPORTED PROVIDERS: namecheap.com no-ip.com nsupdate.info + opendns.com ovh.com regfish.com selfhost.de diff --git a/ddns.conf.sample b/ddns.conf.sample index cc7f25b..9a62fd3 100644 --- a/ddns.conf.sample +++ b/ddns.conf.sample @@ -82,6 +82,12 @@ # secret = secret # proto = ipv4 OR ipv6 +# [test.opendns.com] +# handle = opendns.com +# username = user +# password = pass +# proto = ipv4 OR ipv6 + # [test.ovh.com] # provider = ovh.com # username = user diff --git a/src/ddns/providers.py b/src/ddns/providers.py index 512d663..3927808 100644 --- a/src/ddns/providers.py +++ b/src/ddns/providers.py @@ -772,6 +772,30 @@ class DDNSProviderNsupdateINFO(DDNSProtocolDynDNS2, DDNSProvider): return data +class DDNSProviderOpenDNS(DDNSProtocolDynDNS2, DDNSProvider): + handle = "opendns.com" + name = "OpenDNS" + website = "http://www.opendns.com" + + # Detailed information about the update request and possible + # response codes can be obtained from here: + # https://support.opendns.com/entries/23891440 + + url = "https://updates.opendns.com/nic/update" + + @property + def proto(self): + return self.get("proto") + + def _prepare_request_data(self): + data = { + "hostname" : self.hostname, + "myip" : self.get_address(self.proto) + } + + return data + + class DDNSProviderOVH(DDNSProtocolDynDNS2, DDNSProvider): handle = "ovh.com" name = "OVH" -- 2.39.2