]> git.ipfire.org Git - oddments/ddns.git/commitdiff
Merge remote-tracking branch 'stevee/opendns'
authorMichael Tremer <michael.tremer@ipfire.org>
Mon, 14 Jul 2014 12:06:38 +0000 (14:06 +0200)
committerMichael Tremer <michael.tremer@ipfire.org>
Mon, 14 Jul 2014 12:06:38 +0000 (14:06 +0200)
README
ddns.conf.sample
src/ddns/providers.py

diff --git a/README b/README
index 8aff2219c92fc84dc83dbb5356ca8a82a9c7d360..5a95638cda604236c58608cc61c74d26fcae210b 100644 (file)
--- a/README
+++ b/README
@@ -62,6 +62,7 @@ SUPPORTED PROVIDERS:
        namecheap.com
        no-ip.com
        nsupdate.info
+       opendns.com
        ovh.com
        regfish.com
        selfhost.de
index 30b85cc8054ecf454db2e23d794a3e6dccbd1b85..de9516c2d3fac355faf1c98ec78f6c093c3b1a4b 100644 (file)
 # 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
index a36651ede616914431534f0f78e4865dc3568281..de87b7c9bf32725da548b69d8ea592a5d044f097 100644 (file)
@@ -812,6 +812,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"