Hello Michael, unfortunately my actual Python knowledge is very basic. I found no solution to implement ipv6 in addition to ipv4. Also IPFire is based on ipv4 and will be there in future as far as I understood. I adapted providers.py to force FesteIP.Net to use ipv4 according to the information on the homepage. A test showed no issue: ddns -d update --force ipfire.feste-ip.net Running on distribution: ipfire-2 Loading configuration file /var/ipfire/ddns/ddns.conf Updating ipfire.feste-ip.net forced Sending request (GET): https://v4.members.feste-ip.net/nic/update/?hostname=ipfire.feste-ip.net&myip=5.63.50.246 Request header: Authorization: Basic MjA2MDA0Ol84UnN2bjZidDk= User-agent: IPFireDDNSUpdater/013 Pragma: no-cache Response header (Status Code 200): Date: Sat, 08 May 2021 12:01:04 GMT Content-Type: text/plain Connection: close Accept-Ranges: none Server: Feste-IP.net Server Strict-Transport-Security: max-age=15768000 Dynamic DNS update for ipfire.feste-ip.net (Feste-IP.Net) successful Logging successful update for ipfire.feste-ip.net Opening database /var/lib/ddns.db So, from my point of view the patch should do the job. Regards, Martin Krieger diff --git a/README b/README index b6decb3..fa6ce5e 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 56e6620..8348ed1 100644 --- a/src/ddns/providers.py +++ b/src/ddns/providers.py @@ -1178,6 +1178,17 @@ 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/" + protocols = ("ipv4",) + + # Information about the format of the request is to be found + # https://www.feste-ip.net/ddns-service/einrichtung/linux/ + # https://www.feste-ip.net/ddns-service/einrichtung/ipv4-ipv6/ + + url = "https://v4.members.feste-ip.net/nic/update" class DDNSProviderFreeDNSAfraidOrg(DDNSProvider): handle = "freedns.afraid.org" Michael Tremer: > Hello Martin, > >> On 6 May 2021, at 11:21, Martin Krieger wrote: >> >> Hello Michael, >> >> by eMail again, because I didn't figure out to use git (commit, format-patch & send-email) in the correct way for patch submission. Sorry. >> >> Regards, >> >> Martin Krieger >> >> diff --git a/README b/README >> index b6decb3..fa6ce5e 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 56e6620..c53ff9a 100644 >> --- a/src/ddns/providers.py >> +++ b/src/ddns/providers.py >> @@ -1178,6 +1178,16 @@ 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/" >> + protocols = ("ipv4","ipv6") > > According to the documentation, the request has to be sent to a different host for IPv6. Just adding it to the list probably won’t work because this provider has implemented a different way to use the DynDNS API. > >> + # Information about the format of the request is to be found >> + # https://www.feste-ip.net/ddns-service/einrichtung/linux/ >> + >> + url = "https://members.feste-ip.net/nic/update" >> >> class DDNSProviderFreeDNSAfraidOrg(DDNSProvider): >> handle = "freedns.afraid.org" >> >> Michael Tremer: >>> Hello Martin, >>> Thank you very much for your submission. >>>> On 5 May 2021, at 19:13, Martin Krieger wrote: >>>> >>>> diff --git a/README b/README >>>> index b6decb3..fa6ce5e 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 56e6620..c70423b 100644 >>>> --- a/src/ddns/providers.py >>>> +++ b/src/ddns/providers.py >>>> @@ -1178,6 +1178,16 @@ 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/" >>> You are missing a “:” in the URL. >>>> + protocols = ("ipv4",) >>> According to this documentation, the provider supports IPv6 as well: >>> https://www.feste-ip.net/ddns-service/einrichtung/linux/ >>>> + # Information about the format of the request is to be found >>>> + # https://www.feste-ip.net/ddns-service/allgemeine-informationen/ >>>> + >>>> + url = "https://members.feste-ip.net/nic/update" >>>> >>>> class DDNSProviderFreeDNSAfraidOrg(DDNSProvider): >>>> handle = “freedns.afraid.org" >>>> >>> Best, >>> -Michael >> >