From b09b154514878d73c77abd8650e2633765a33d8f Mon Sep 17 00:00:00 2001 From: Stefan Schantl Date: Sun, 15 Jun 2014 12:16:59 +0200 Subject: [PATCH] Add SPDNS as new provider. --- ddns.conf.sample | 5 +++++ src/ddns/__init__.py | 1 + src/ddns/providers.py | 18 ++++++++++++++++++ 3 files changed, 24 insertions(+) diff --git a/ddns.conf.sample b/ddns.conf.sample index bb0e839..f9058e6 100644 --- a/ddns.conf.sample +++ b/ddns.conf.sample @@ -44,6 +44,11 @@ # username = user # password = pass +# [test.spdns.org] +# provider = spdns.org +# username = user +# password = pass + # [test.lightningwirelabs.com] # provider = dns.lightningwirelabs.com diff --git a/src/ddns/__init__.py b/src/ddns/__init__.py index 5172832..d8b2b10 100644 --- a/src/ddns/__init__.py +++ b/src/ddns/__init__.py @@ -98,6 +98,7 @@ class DDNSCore(object): DDNSProviderNOIP, DDNSProviderLightningWireLabs, DDNSProviderSelfhost, + DDNSProviderSPDNS, ): self.register_provider(provider) diff --git a/src/ddns/providers.py b/src/ddns/providers.py index 8a5185f..68305c7 100644 --- a/src/ddns/providers.py +++ b/src/ddns/providers.py @@ -489,3 +489,21 @@ class DDNSProviderSelfhost(DDNSProvider): match = re.search("status=20(0|4)", response.read()) if not match: raise DDNSUpdateError + + +class DDNSProviderSPDNS(DDNSProviderDynDNS): + INFO = { + "handle" : "spdns.org", + "name" : "SPDNS", + "website" : "http://spdns.org/", + "protocols" : ["ipv4",] + } + + # Detailed information about request and response codes are provided + # by the vendor. They are using almost the same mechanism and status + # codes as dyndns.org so we can inherit all those stuff. + # + # http://wiki.securepoint.de/index.php/SPDNS_FAQ + # http://wiki.securepoint.de/index.php/SPDNS_Update-Tokens + + url = "https://update.spdns.de/nic/update" -- 2.39.2