From: Michael Tremer <michael.tremer@ipfire.org>
To: development@lists.ipfire.org
Subject: Re: [PATCH] ddns: Add provider Feste-IP.Net
Date: Tue, 11 May 2021 10:44:42 +0100 [thread overview]
Message-ID: <DEA8FE17-E527-400B-A80B-8E3017EC8772@ipfire.org> (raw)
In-Reply-To: <c079362b-ff73-31f2-279c-dcba90682980@posteo.de>
[-- Attachment #1: Type: text/plain, Size: 6487 bytes --]
Hello Martin,
> On 8 May 2021, at 13:20, Martin Krieger <makrie(a)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(a)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(a)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
>>>
>
next prev parent reply other threads:[~2021-05-11 9:44 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-05-05 18:13 ddns add provider Feste-IP.NET Martin Krieger
2021-05-05 22:28 ` Michael Tremer
2021-05-06 10:21 ` [PATCH] ddns: Add provider Feste-IP.Net Martin Krieger
2021-05-06 15:08 ` Michael Tremer
2021-05-08 12:20 ` Martin Krieger
2021-05-11 9:44 ` Michael Tremer [this message]
2021-05-18 21:39 [PATCH] ddns: Add provider Feste-IP.Net Signed-off-by: Martin Krieger <makrie@posteo.de> --- *IPv6 support included based on API description but not tested. *Test system is connected by VDSL with pure IPv4 (No IPv6 or dual stack). *Setup can handle IPv4, IPv6 or dual stack updates Peter Müller
2021-05-19 13:44 ` [PATCH] ddns: Add provider Feste-IP.Net Martin Krieger
2021-05-20 11:21 [PATCH v6 1/1] " Michael Tremer
2021-05-20 16:51 ` [PATCH] " Martin Krieger
2021-05-21 8:47 ` Michael Tremer
2021-05-28 15:09 ` Martin Krieger
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DEA8FE17-E527-400B-A80B-8E3017EC8772@ipfire.org \
--to=michael.tremer@ipfire.org \
--cc=development@lists.ipfire.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox