public inbox for development@lists.ipfire.org
 help / color / mirror / Atom feed
* [PATCH] ddns: Add provider Feste-IP.Net From: Martin Krieger <makrie@posteo.de>
@ 2021-05-16 16:53 Martin Krieger
  0 siblings, 0 replies; only message in thread
From: Martin Krieger @ 2021-05-16 16:53 UTC (permalink / raw)
  To: development

[-- Attachment #1: Type: text/plain, Size: 1878 bytes --]

Add support for provider Feste-IP.Net to ipfire ddns system.
Signed-off-by: Martin Krieger <makrie(a)posteo.de>
---
IPv6 support included based on API description but not tested. Test system is connected by VDSL and internet provider connection is pure IPv4 (No dualstack).
---
 README                |  1 +
 src/ddns/providers.py | 22 ++++++++++++++++++++++
 2 files changed, 23 insertions(+)

diff --git a/README b/README
index b6decb35c338..fa6ce5e598b8 100644
--- a/README
+++ b/README
@@ -68,6 +68,7 @@ SUPPORTED PROVIDERS:
 	easydns.com
 	enom.com
 	entrydns.net
+	feste-ip.net
 	freedns.afraid.org
 	inwx.com|de|at|ch|es
 	itsdns.de
diff --git a/src/ddns/providers.py b/src/ddns/providers.py
index 56e6620c78ab..c8be31622c3a 100644
--- a/src/ddns/providers.py
+++ b/src/ddns/providers.py
@@ -1178,6 +1178,28 @@ class DDNSProviderEntryDNS(DDNSProvider):
 		# If we got here, some other update error happened.
 		raise DDNSUpdateError
 
+class DDNSProviderFesteIPNet(DDNSProtocolDynDNS2, DDNSProvider):
+        handle    = "feste-ip.net"
+        name      = "Feste-IP.Net"
+        website   = "https://www.feste-ip.net/"
+
+        # Information about the format of the request is to be found
+        # https://forum.feste-ip.net/viewtopic.php?f=13&t=469 
+
+        url = "https://members.feste-ip.net/nic/update/"
+
+        def update(self):
+                data = DDNSProtocolDynDNS2.prepare_request_data(self, "ipv4")
+
+                # This one supports IPv6
+                myipv6 = self.get_address("ipv6")
+
+                # Add update information if we have an IPv6 address.
+                if myipv6:
+                        data["myip2"] = myipv6
+
+                self.send_request(data)
+
 
 class DDNSProviderFreeDNSAfraidOrg(DDNSProvider):
 	handle    = "freedns.afraid.org"
-- 
2.31.0


^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2021-05-16 16:53 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-05-16 16:53 [PATCH] ddns: Add provider Feste-IP.Net From: Martin Krieger <makrie@posteo.de> Martin Krieger

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox