From mboxrd@z Thu Jan 1 00:00:00 1970 From: Michael Tremer To: development@lists.ipfire.org Subject: Re: [PATCH] ddns: Add provider Feste-IP.Net Date: Tue, 11 May 2021 10:44:42 +0100 Message-ID: In-Reply-To: MIME-Version: 1.0 Content-Type: multipart/mixed; boundary="===============0081928477510255143==" List-Id: --===============0081928477510255143== Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable Hello Martin, > On 8 May 2021, at 13:20, Martin Krieger wrote: >=20 > Hello Michael, >=20 > 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. Currently IPFire 2 only supports IPv4, but that is not mean to stay for forev= er and ddns is used elsewhere, too. > I adapted providers.py to force FesteIP.Net to use ipv4 according to the in= formation on the homepage. I do not think that it is a good idea to implement half a provider. Could you= maybe contact them and ask them to integrate their custom API into ddns? -Michael >=20 > A test showed no issue: >=20 > ddns -d update --force ipfire.feste-ip.net >=20 > 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= =3Dipfire.feste-ip.net&myip=3D5.63.50.246 > Request header: > Authorization: Basic MjA2MDA0Ol84UnN2bjZidDk=3D > 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=3D15768000 > 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 >=20 > So, from my point of view the patch should do the job. >=20 > Regards, >=20 > Martin Krieger >=20 > 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 >=20 > +class DDNSProviderFesteIPNet(DDNSProtocolDynDNS2, DDNSProvider): > + handle =3D "feste-ip.net" > + name =3D "Feste-IP.Net" > + website =3D "https://www.feste-ip.net/" > + protocols =3D ("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 =3D "https://v4.members.feste-ip.net/nic/update" >=20 > class DDNSProviderFreeDNSAfraidOrg(DDNSProvider): > handle =3D "freedns.afraid.org" >=20 > Michael Tremer: >> Hello Martin, >>> On 6 May 2021, at 11:21, Martin Krieger wrote: >>>=20 >>> Hello Michael, >>>=20 >>> by eMail again, because I didn't figure out to use git (commit, format-pa= tch & send-email) in the correct way for patch submission. Sorry. >>>=20 >>> Regards, >>>=20 >>> Martin Krieger >>>=20 >>> 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 >>>=20 >>> +class DDNSProviderFesteIPNet(DDNSProtocolDynDNS2, DDNSProvider): >>> + handle =3D "feste-ip.net" >>> + name =3D "Feste-IP.Net" >>> + website =3D "https://www.feste-ip.net/" >>> + protocols =3D ("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=E2=80=99t 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 =3D "https://members.feste-ip.net/nic/update" >>>=20 >>> class DDNSProviderFreeDNSAfraidOrg(DDNSProvider): >>> handle =3D "freedns.afraid.org" >>>=20 >>> Michael Tremer: >>>> Hello Martin, >>>> Thank you very much for your submission. >>>>> On 5 May 2021, at 19:13, Martin Krieger wrote: >>>>>=20 >>>>> 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 >>>>>=20 >>>>> +class DDNSProviderFesteIPNet(DDNSProtocolDynDNS2, DDNSProvider): >>>>> + handle =3D "feste-ip.net" >>>>> + name =3D "Feste-IP.Net" >>>>> + website =3D "https//www.feste-ip.net/" >>>> You are missing a =E2=80=9C:=E2=80=9D in the URL. >>>>> + protocols =3D ("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-information= en/ >>>>> + >>>>> + url =3D "https://members.feste-ip.net/nic/update" >>>>>=20 >>>>> class DDNSProviderFreeDNSAfraidOrg(DDNSProvider): >>>>> handle =3D =E2=80=9Cfreedns.afraid.org" >>>>>=20 >>>> Best, >>>> -Michael >>>=20 >=20 --===============0081928477510255143==--