Message ID | 9cac2a23-4575-4b06-d4d5-dc9c60ca65bb@posteo.de |
---|---|
State | Dropped |
Headers |
Return-Path: <development-bounces@lists.ipfire.org> Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384 client-signature ECDSA (P-384) client-digest SHA384) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4Fb4bt0Xstz3x0k for <patchwork@web04.haj.ipfire.org>; Wed, 5 May 2021 18:14:18 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail02.haj.ipfire.org", Issuer "R3" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4Fb4br3J2Zzyf; Wed, 5 May 2021 18:14:16 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4Fb4br2mHKz2yWj; Wed, 5 May 2021 18:14:16 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384 client-signature ECDSA (P-384) client-digest SHA384) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4Fb4bp6LFsz2xJs for <development@lists.ipfire.org>; Wed, 5 May 2021 18:14:14 +0000 (UTC) Received: from mout01.posteo.de (mout01.posteo.de [185.67.36.65]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (Client did not present a certificate) by mail01.ipfire.org (Postfix) with ESMTPS id 4Fb4bn47MFzr for <development@lists.ipfire.org>; Wed, 5 May 2021 18:14:13 +0000 (UTC) Received: from submission (posteo.de [89.146.220.130]) by mout01.posteo.de (Postfix) with ESMTPS id 99E52240028 for <development@lists.ipfire.org>; Wed, 5 May 2021 20:14:12 +0200 (CEST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=posteo.de; s=2017; t=1620238452; bh=Dl546k+8QMzwzdy4sBZt5iHs1Ai5oR2AyagSr9depwM=; h=To:From:Subject:Date:From; b=haF+QJAs1yhidj6+BU/BvaFU6yhWIbsl5XNSu1/sgifXzxqdQNgSS7D5dDfUOJOUr fqjgdh4qiwfCqZNM78dCWbAEn1UWJXHvhayBJkVcv4qWXeDkbLXRmtjFLlbEfWgpEY G9shDRgGgf3yvis4nYyCqfYeLlQChQ3BwXi6oRmSR3XBD8k5vageqEAQ9o/3UZRdgh sq5M/2FLmZP8RzCopgjYF/cx4au5Zf/hpLaUR4BlzPwhxdzRBVoNG97JEN0ujV1xBR NQjlNdcgjD453RMgD+gsQ/SZ2q9364rQ8+/aVl7JykzjtzPj+rj1RxUaj05YoHmTQX lvW3rwDzkCsCA== Received: from customer (localhost [127.0.0.1]) by submission (posteo.de) with ESMTPSA id 4Fb4bk70Ctz9rxX for <development@lists.ipfire.org>; Wed, 5 May 2021 20:14:10 +0200 (CEST) To: development@lists.ipfire.org From: Martin Krieger <makrie@posteo.de> Subject: ddns add provider Feste-IP.NET Message-ID: <9cac2a23-4575-4b06-d4d5-dc9c60ca65bb@posteo.de> Date: Wed, 5 May 2021 18:13:52 +0000 MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha256; protocol="application/pgp-signature"; boundary="Pb7sDe4t6RnQBsIVSIKDGTrjBxAHrQdVc" ARC-Authentication-Results: i=1; mail01.ipfire.org; dkim=pass header.d=posteo.de header.s=2017 header.b=haF+QJAs; spf=pass (mail01.ipfire.org: domain of makrie@posteo.de designates 185.67.36.65 as permitted sender) smtp.mailfrom=makrie@posteo.de ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=lists.ipfire.org; s=202003rsa; t=1620238453; h=from:from:reply-to:reply-to:subject:subject:date:date: message-id:message-id:to:to:cc:mime-version:mime-version: content-type:content-type:dkim-signature; bh=nUU6vA0QH3+KL2sO5iMcz8DToEHymAbuSuQuTgj7+Jw=; b=aXMS9yVh4Pkkn3C6uX6ull9T32rk6GBXgGJ2IrxCR8EXhOrYRUD3RAo9uKWGnUCPaF0vun EBm0rZWKSDtASAJjuunsOjm9R6cg9c08emVZLk3qrdGpFHdMbbt9C2mFlqgmXpTBopeAJ5 qfgGpR8FQaJ2K0a+GHZeb4OU4GKjprKC/Jkzdk8hXqh1cvkMatZzAxLoJz0vWUiLm2M9F9 oLcsOhTPZQ47SzEWZTtyf8j6Einm3Mpq+BUpCjpthSc3MhVof16uzy5tk5XzC5JPD2rDp5 ZejSNmwWk6uVYpEtgImM0CqVjG4Sa8lSArTxzMwkYW/r0ABqYUtrnXv2QKst0A== ARC-Seal: i=1; s=202003rsa; d=lists.ipfire.org; t=1620238453; a=rsa-sha256; cv=none; b=ibin+akO7NZMDK5X75NvGQcPDnRJKDoUn7awHW2J7239WkEvFbxBBZDmMvKUgPFfFHxhJO Cs+kDSn/EAmMSoZsY2F5gOGhJx9NUCRnLg6dR417fsl6GWA4mWDhuWrii+GD/da3NCd1uK bQKHwqu880+DBneOLazapIApWlymeI4ig637Nh7oSepqVYiW+SfHAJZKz3zkt5MXjnw4Ea TXstx96ZWqPe8xRFionqJsbXSatwCrCFV1dAXan28QdrYrdi+NB2H1Qgrb2QxYZZdrX1Qx xpTGvOE77HuSpIzkjQJdWPJXRBMbqcCSB+ExF7S16oviQ/G4+/LfyEeKegvrfA== Authentication-Results: mail01.ipfire.org; dkim=pass header.d=posteo.de header.s=2017 header.b=haF+QJAs; dmarc=pass (policy=none) header.from=posteo.de; spf=pass (mail01.ipfire.org: domain of makrie@posteo.de designates 185.67.36.65 as permitted sender) smtp.mailfrom=makrie@posteo.de X-Rspamd-Server: mail01.haj.ipfire.org X-Spamd-Result: default: False [-7.81 / 11.00]; HAS_REPLYTO(0.00)[makrie@posteo.de]; RCVD_VIA_SMTP_AUTH(0.00)[]; RWL_MAILSPIKE_GOOD(0.00)[185.67.36.65:from]; IP_REPUTATION_HAM(-0.01)[asn: 8495(0.00), country: DE(-0.01), ip: 185.67.36.65(0.00)]; R_SPF_ALLOW(-0.20)[+ip4:185.67.36.0/23]; HAS_ATTACHMENT(0.00)[]; REPLYTO_ADDR_EQ_FROM(0.00)[]; TO_DN_NONE(0.00)[]; RCVD_DKIM_ARC_DNSWL_MED(-0.50)[]; ARC_SIGNED(0.00)[lists.ipfire.org:s=202003rsa:i=1]; RCVD_COUNT_THREE(0.00)[3]; DKIM_TRACE(0.00)[posteo.de:+]; MX_GOOD(-0.01)[]; DMARC_POLICY_ALLOW(-0.50)[posteo.de,none]; RCVD_IN_DNSWL_MED(-0.20)[185.67.36.65:from]; SIGNED_PGP(-2.00)[]; FROM_EQ_ENVFROM(0.00)[]; MIME_TRACE(0.00)[0:+,1:+,2:+,3:~]; ASN(0.00)[asn:8495, ipnet:185.67.36.0/23, country:DE]; MID_RHS_MATCH_FROM(0.00)[]; BAYES_HAM(-3.00)[99.98%]; ARC_NA(0.00)[]; R_DKIM_ALLOW(-0.20)[posteo.de:s=2017]; FROM_HAS_DN(0.00)[]; TO_MATCH_ENVRCPT_ALL(0.00)[]; MIME_GOOD(-0.20)[multipart/signed,multipart/mixed,text/plain]; PREVIOUSLY_DELIVERED(0.00)[development@lists.ipfire.org]; RCPT_COUNT_ONE(0.00)[1]; DWL_DNSWL_LOW(-1.00)[posteo.de:dkim]; RCVD_TLS_ALL(0.00)[] X-Rspamd-Queue-Id: 4Fb4bn47MFzr X-BeenThere: development@lists.ipfire.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: IPFire development talk <development.lists.ipfire.org> List-Unsubscribe: <https://lists.ipfire.org/mailman/options/development>, <mailto:development-request@lists.ipfire.org?subject=unsubscribe> List-Archive: <http://lists.ipfire.org/pipermail/development/> List-Post: <mailto:development@lists.ipfire.org> List-Help: <mailto:development-request@lists.ipfire.org?subject=help> List-Subscribe: <https://lists.ipfire.org/mailman/listinfo/development>, <mailto:development-request@lists.ipfire.org?subject=subscribe> Reply-To: makrie@posteo.de Errors-To: development-bounces@lists.ipfire.org Sender: "Development" <development-bounces@lists.ipfire.org> |
Series |
ddns add provider Feste-IP.NET
|
|
Commit Message
Martin Krieger
May 5, 2021, 6:13 p.m. UTC
Comments
Hello Martin, Thank you very much for your submission. > On 5 May 2021, at 19:13, Martin Krieger <makrie@posteo.de> 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
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") + + # 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 <makrie@posteo.de> 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 >
Hello Martin, > On 6 May 2021, at 11:21, Martin Krieger <makrie@posteo.de> 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 <makrie@posteo.de> 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 >
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 <makrie@posteo.de> 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 <makrie@posteo.de> 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 >> >
Hello Martin, > On 8 May 2021, at 13:20, Martin Krieger <makrie@posteo.de> wrote: > > 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. Currently IPFire 2 only supports IPv4, but that is not mean to stay for forever and ddns is used elsewhere, too. > I adapted providers.py to force FesteIP.Net to use ipv4 according to the information 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 > > 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 <makrie@posteo.de> 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 <makrie@posteo.de> 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 >>> >
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/" + protocols = ("ipv4",) + + # 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"