Feature Request: Support for Njalla DDNS #104

Closed
opened 2025-11-20 04:20:19 -05:00 by saavagebueno · 10 comments
Owner

Originally created by @cvsickle on GitHub (Mar 18, 2021).

Originally assigned to: @qdm12 on GitHub.

  1. What's the feature?
  • Support for Njalla DDNS (njal.la)
  1. Extra information?
Originally created by @cvsickle on GitHub (Mar 18, 2021). Originally assigned to: @qdm12 on GitHub. 1. What's the feature? - Support for Njalla DDNS (njal.la) 2. Extra information? - Link to their DDNS documentation - https://njal.la/docs/ddns/ - the above link contains the URLs necessary to update the records.
Author
Owner

@qdm12 commented on GitHub (Mar 20, 2021):

There should be a working image qmcgaw/ddns-updater:njalla with this documentation if you want to try.

I just need one more thing to process all the edge cases:

Can you please try:

  1. https://njal.la/update/?h=yourdomain.com&k=yourkey&a=yourip
  2. https://njal.la/update/?h=yourdomain.com&k=yourkey&a=blabla
  3. https://njal.la/update/?h=yourdomain.com&k=yourkey&auto

What response do you get for each? (omit credentials if there is any)?

Also:

  1. Can you specify wildcard hosts for your records?

Thanks!

@qdm12 commented on GitHub (Mar 20, 2021): There should be a working image `qmcgaw/ddns-updater:njalla` with [this documentation](https://github.com/qdm12/ddns-updater/tree/njalla) if you want to try. I just need one more thing to process all the edge cases: Can you please try: 1. https://njal.la/update/?h=yourdomain.com&k=yourkey&a=yourip 2. https://njal.la/update/?h=yourdomain.com&k=yourkey&a=blabla 3. https://njal.la/update/?h=yourdomain.com&k=yourkey&auto What response do you get for each? (omit credentials if there is any)? Also: 4. Can you specify wildcard hosts for your records? Thanks!
Author
Owner

@cvsickle commented on GitHub (Mar 20, 2021):

Hey thanks! I'm assuming "yourip" in the first one is a specific public IP address.

Here are the returns:

  1. {"status": 200, "message": "record updated", "value": {"A": "yourip"}}
  2. {"status": 500, "message": "invalid data"}
  3. {"status": 200, "message": "record updated", "value": {"A": "yourip"}}

And yes, you can (and I do) specify wildcard subdomains.

@cvsickle commented on GitHub (Mar 20, 2021): Hey thanks! I'm assuming "yourip" in the first one is a specific public IP address. Here are the returns: 1. {"status": 200, "message": "record updated", "value": {"A": "yourip"}} 2. {"status": 500, "message": "invalid data"} 3. {"status": 200, "message": "record updated", "value": {"A": "yourip"}} And yes, you can (and I do) specify wildcard subdomains.
Author
Owner

@cvsickle commented on GitHub (Mar 20, 2021):

I'm having problems getting the Njalla container to pass a health check, so I'm not sure what's going on there.

It obviously doesn't work for my wildcard record ("*"), but I also cannot get it to update the record I created for testing.

@cvsickle commented on GitHub (Mar 20, 2021): I'm having problems getting the Njalla container to pass a health check, so I'm not sure what's going on there. It obviously doesn't work for my wildcard record ("*"), but I also cannot get it to update the record I created for testing.
Author
Owner

@qdm12 commented on GitHub (Mar 21, 2021):

Cool thanks! I added code for these few edge cases. I also added support for wildcard subdomains, although I'm wondering:
how do you update wildcard records? I assumed it's the URL query parameter ?h=*.domain.com but maybe that's not correct.

Can you try again now (and re-pull qmcgaw/ddns-updater:njalla after it finishes building)? If it doesn't work please post back the error logs you get.

@qdm12 commented on GitHub (Mar 21, 2021): Cool thanks! I added code for these few edge cases. I also added support for wildcard subdomains, although I'm wondering: how do you update wildcard records? I assumed it's the URL query parameter `?h=*.domain.com` but maybe that's not correct. Can you try again now (and re-pull `qmcgaw/ddns-updater:njalla` after [it finishes building](https://github.com/qdm12/ddns-updater/actions/runs/674093585))? If it doesn't work please post back the error logs you get.
Author
Owner

@cvsickle commented on GitHub (Mar 21, 2021):

Yes, the wildcard is done using "*.domain.com" as you've indicated.

I made progress getting the new container running. I purposely set the "testing" subdomain to an incorrect IP address to verify that the container would update it, but it looks like it's getting confused about the provider when it's updating the record. The log says the provider is "noip" just before the error of having bad authentication.
Screenshot 2021-03-21 194256

@cvsickle commented on GitHub (Mar 21, 2021): Yes, the wildcard is done using "*.domain.com" as you've indicated. I made progress getting the new container running. I purposely set the "testing" subdomain to an incorrect IP address to verify that the container would update it, but it looks like it's getting confused about the provider when it's updating the record. The log says the provider is "noip" just before the error of having bad authentication. ![Screenshot 2021-03-21 194256](https://user-images.githubusercontent.com/38385820/111925116-e3a94b00-8a7d-11eb-801a-505274a3d5f3.png)
Author
Owner

@cvsickle commented on GitHub (Mar 21, 2021):

In case it helps, or I have typos I'm not seeing, here's my config:

Screenshot 2021-03-21 195622

Also, I saw in the documentation that you included "@" as a possible host, but Njalla doesn't seem to allow the creation of a dynamic DNS record for "@". Just an FYI.

@cvsickle commented on GitHub (Mar 21, 2021): In case it helps, or I have typos I'm not seeing, here's my config: ![Screenshot 2021-03-21 195622](https://user-images.githubusercontent.com/38385820/111925543-ae9df800-8a7f-11eb-952f-fa15676d2670.png) Also, I saw in the documentation that you included "@" as a possible host, but Njalla doesn't seem to allow the creation of a dynamic DNS record for "@". Just an FYI.
Author
Owner

@qdm12 commented on GitHub (Mar 21, 2021):

The log says the provider is "noip" just before the error of having bad authentication.

That was just a bad copy pasta on a variable used only for display, it's fixed and it didn't get confused 'internally'

In case it helps, or I have typos I'm not seeing, here's my config

Your config looks good. Thanks for taking the time to share all these details 👍

Also, I saw in the documentation that you included "@" as a possible host, but Njalla doesn't seem to allow the creation of a dynamic DNS record for "@"

@ means no subdomain/wildcard, so for example domain.com technically has the host @. If you want to update domain.com without a subdomain or wildcard you should use that. It will translate to domain.com only in the HTTP query.

Finally, I pushed in 5e41e1821ff229c3feef54d41e19bcb44c08e64b something to print out in the logs the HTTP URL that is queried before it's queried so you can probably spot what's wrong with it; in the worst case try it in your browser too.

Thanks!

@qdm12 commented on GitHub (Mar 21, 2021): > The log says the provider is "noip" just before the error of having bad authentication. That was just a bad copy pasta on a variable used only for display, it's fixed and it didn't get confused 'internally' > In case it helps, or I have typos I'm not seeing, here's my config Your config looks good. Thanks for taking the time to share all these details 👍 > Also, I saw in the documentation that you included "@" as a possible host, but Njalla doesn't seem to allow the creation of a dynamic DNS record for "@" `@` means no subdomain/wildcard, so for example `domain.com` technically has the host `@`. If you want to update `domain.com` without a subdomain or wildcard you should use that. It will translate to `domain.com` only in the HTTP query. Finally, I pushed in 5e41e1821ff229c3feef54d41e19bcb44c08e64b something to print out in the logs the HTTP URL that is queried before it's queried so you can probably spot what's wrong with it; in the worst case try it in your browser too. Thanks!
Author
Owner

@cvsickle commented on GitHub (Mar 22, 2021):

Sorry it took so long to get back to you. I'll pulled the new Njalla container, and now the problem's pretty clear. The following is for updating testing.domain.com using mykey as the key.

The debug log output: "https://njal.la/update?auto=&h=testing.domain.com&key=mykey"

It should be: "https://njal.la/update/?h=testing.domain.com&k=mykey&auto"

@cvsickle commented on GitHub (Mar 22, 2021): Sorry it took so long to get back to you. I'll pulled the new Njalla container, and now the problem's pretty clear. The following is for updating testing.domain.com using mykey as the key. The debug log output: "https://njal.la/update?auto=&h=testing.domain.com&key=mykey" It should be: "https://njal.la/update/?h=testing.domain.com&k=mykey&auto"
Author
Owner

@qdm12 commented on GitHub (Mar 22, 2021):

Cool! I pushed d01ae2c58d74fa2d72fc3031037e8deb867de34d which should fix it. The auto= should not cause problem though. Let me know if it does. Thanks! And no worry about taking a few hours to answer, no pressure 😉

@qdm12 commented on GitHub (Mar 22, 2021): Cool! I pushed d01ae2c58d74fa2d72fc3031037e8deb867de34d which should fix it. The `auto=` should not cause problem though. Let me know if it does. Thanks! And no worry about taking a few hours to answer, no pressure 😉
Author
Owner

@cvsickle commented on GitHub (Mar 22, 2021):

That looks like it works! I'll have to verify that it works for my wildcard domain, but I have clients logged into some of those domains, so I can't change it at the moment. I'll let you know if for some reason that doesn't work. If all you're doing is replacing the subdomain with a * it will work. Thanks again!

@cvsickle commented on GitHub (Mar 22, 2021): That looks like it works! I'll have to verify that it works for my wildcard domain, but I have clients logged into some of those domains, so I can't change it at the moment. I'll let you know if for some reason that doesn't work. If all you're doing is replacing the subdomain with a * it will work. Thanks again!
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ddns-updater#104