-
Notifications
You must be signed in to change notification settings - Fork 369
Implement provider: IONOS #556
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: main
Are you sure you want to change the base?
Conversation
d3a7b20 to
ddab411
Compare
|
Hey! Since I also need an IONOS update feature for ddclient I took the liberty of testing your code changes. They were not working right out of the box. Found two issues: GET instead of POST neededIONOS expects a GET request. Currently in the code its set as POST request. If you try it as POST you get an error message from the IONOS API: Changing line 5865 to GET fixed that issue: The GET is also described in the IONOS documentation (german only): Configuration2nd problem I found was more documentation related. In ddclient.in the description is as follows: But if you add the comma at the end of the password line the generated update URL in the code will also include that comma. What worked for me was the following without comma: I could not test IPv6 since I do not have a valid IPv6 address on my test network. |
|
Additional info to my last comment. I was now also able to test the changes using IPv6 addresses. With the changes I mentioned in my previous comment both IPv4 and IPv6 work as expected. |
|
This sounds very encouraging - One question: did also the 'Fritzbox Model' work properly by updating ipv4 and ipv6 simultaneously with one API call? Or is it either or? |
|
@bringha1 I did not try via fritzbox but via the cmd options for ipv4 and ipv6 grabbing the IPs from our OPNSense API. If it helps I can try the fritzbox model at home with my 7490 for ipv4 and ipv6 and let you know how it goes. |
|
Sorry perhaps I generated a misunderstanding: I tried this already with a fritzbox and the update of ipv4 and ipv6 in ONE API call as described in the Ionos docs works. However I could not yet reproduce it without a fritzbox by using the mentioned URL format |
|
@bringha1 Here are the steps I did when I tested ddclient with the new IONOS modifcations, perhaps it helps on your end to reproduce it:
Depending on your setup the interfacename pppoe0 on the opnsense might be different. Basically when I call these two scripts they print the ipv4 respectively ipv6 address to the command line which the opnsense has at the moment.
Lower part of the log output if it helps with the private data omitted: It updated both Ipv4 and Ipv6 addresses on my test domain name. |
Hi, sorry to go a little off-topic here, but I wanted to ask you if you would be interested in trying to implement this OpnSense IP retrieval as part of ddclient? I've been looking into how to get it from the API for the past few days and saw that you have a working method, albeit with curl/shell instead of perl. |
This makes sense as a "sample*" script, similar to i.e the Fritzbox one. Feel free to submit such a script as a separate pull request. (It'll most likely also wait until after v3.11.1) |
|
Not sure whether on OPNsense the API calls-scripts to get the ip addresses are required. This information is cached on the OPNsense systems in /tmp, eg /tmp/pppoe_oldip or /tmp/pppoe_oldipv6. These files are afaik updated every time when an ip address is getting updated on WAN. |
Still useful to include for those of us running ddclient on other systems :) |
|
I can take a look on the implementation side of things for opnsense. Until opnsense updates the ddclient plugin to your latest version I am sure a lot of people are interested in that. I am anyway not totally sure what opnsense plans there since they also provide a selectable backend for ddclient which has different providers. I assume they implement that on their own. Though they were also somewhat confused when ddclient looked like end of life, though I assume this problem has been fixed. Thanks for you guys taking over the maintenance on ddclient :) |
This provider implementation uses sparsely documented details of the their updating mechanism. The only reference to passing in IP addresses via GET parameters I could see was in the german version of the dynamic DNS tutorial, where they showed it as part of a FRITZ!Box setup example.
ddab411 to
c978d9b
Compare
|
Is ionos or other providers that just have a url and nothing more implemented now or not? Sorry could not find any info and this pull request ist work in progress? |
|
No genetic URL-only provider is implemented currently, no. Until now the focus was on fixing outstanding 3.10 issues and not new features. After new years I will be able to continue on this WIP implementation for IONOS |
This is the first iteration of implementing the IONOS provider requested in #555
Outstanding tasks:
&ipv4=,&ipv6=parameters in the update URL.Configuration snippet for this provider:
passwordis the secret part of the update URL, e.g.https://ipv4.api.hosting.ionos.com/dns/v1/dyndns?q=ZsWxJSLcX8Dpy40nu0fhycBXdnnTb0gM2yqKS3Xcmx4c3yA6EhZp3Sg0467MRvdn6dU4P0kQntSeskxpYsFMxXnrKmW8teSHSHc3eefgYu4tjb2veJH4tESXaTmW4tvNW6nrtSm6Vb6E7e2SpuqqjvFaqbBS4XGCS
would mean that
password=ZsWxJSLcX8Dpy40nu0fhycBXdnnTb0gM2yqKS3Xcmx4c3yA6EhZp3Sg0467MRvdn6dU4P0kQntSeskxpYsFMxXnrKmW8teSHSHc3eefgYu4tjb2veJH4tESXaTmW4tvNW6nrtSm6Vb6E7e2SpuqqjvFaqbBS4XGCSThe support for IPv6 is (afaics) only documented in the german setup instructions, where they show an example to configure a FRITZ!Box (see screenshot below). The URL in question has angle brackets as placeholders, which the FRITZ!Box replaces with the relevant IPs.
Docs snippet (from here)
