--- README | 1 + src/ddns/providers.py | 27 +++++++++++++++++++++++++++ 2 files changed, 28 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..009e2c9e337d 100644 --- a/src/ddns/providers.py +++ b/src/ddns/providers.py @@ -1179,6 +1179,33 @@ class DDNSProviderEntryDNS(DDNSProvider): 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 + + myips = ("myip","myip2") + + url = "https://members.feste-ip.net/nic/update/" + + def update(self): + data = { + "hostname" : self.hostname + } + + for proto in DDNSProvider.protocols: + idx = 0 + tmpip = self.get_address(proto) + if tmpip: + data[self.myips[idx]] = tmpip + idx += 1 + + self.send_request(data) + + class DDNSProviderFreeDNSAfraidOrg(DDNSProvider): handle = "freedns.afraid.org" name = "freedns.afraid.org"
Hi,
thank you for providing this.
I regret to inform you that
(a) both this patch and it's precursor violate the syntax of patches applicable to git, having parts of the description and various tags mangled into the RFC 5322 / MIME "Subject" header.
You do not need to use "git send-email" as such (personally, I do not use it either, because my development environment cannot establish SMTP connections due to firewall policies). However, IPFire's development heavily relies on Git, so please figure out how to run the most basic commands such as "git commit" and "git format-patch" in order to properly submit your patches.
(b) these patches each success each other, however missing appropriate version tags (such as [PATCH v2], [PATCH v3], etc.) in the RFC 5322 "Subject" header of their mails.
Since you did not mark the obsoleted patches as being superseded in https://patchwork.ipfire.org/, either, this makes it hard to keep track of the latest version of your patch. Eventually, we might apply, commend or reject based on the wrong one, because of simply having overlooked there is a new, fixed version of it available.
Apart from that, it would be good to see this patch tested with IPv6 and dual-stack scenarios as well - please see also my remark(s) on this below. If I understood the documentation of that DDNS provider correctly, you do not really need to supply two IP addresses having distinct families. Could you at least try executing this snippet with two different IPv4 addresses?
README | 1 + src/ddns/providers.py | 27 +++++++++++++++++++++++++++ 2 files changed, 28 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..009e2c9e337d 100644 --- a/src/ddns/providers.py +++ b/src/ddns/providers.py @@ -1179,6 +1179,33 @@ class DDNSProviderEntryDNS(DDNSProvider): 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
myips = ("myip","myip2")
Personal comment: Kinda ugly, but given the documentation of that provider, there is no other choice to do this here...
url = "https://members.feste-ip.net/nic/update/"
def update(self):
data = {
"hostname" : self.hostname
}
for proto in DDNSProvider.protocols:
idx = 0
tmpip = self.get_address(proto)
if tmpip:
data[self.myips[idx]] = tmpip
idx += 1
self.send_request(data)
What is happening here if $tmpip equals a Boolean False?
class DDNSProviderFreeDNSAfraidOrg(DDNSProvider): handle = "freedns.afraid.org" name = "freedns.afraid.org"
Thanks, and best regards, Peter Müller