Add DNS http://www.he.net/ provider support #60

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

Originally created by @marcuslannister on GitHub (Sep 10, 2020).

Originally assigned to: @qdm12 on GitHub.

As title.

Originally created by @marcuslannister on GitHub (Sep 10, 2020). Originally assigned to: @qdm12 on GitHub. As title.
Author
Owner

@qdm12 commented on GitHub (Sep 14, 2020):

Can you use subdomains, i.e. blabla.mydomain.com with he.net? Or just domains (mydomain.com)?

@qdm12 commented on GitHub (Sep 14, 2020): Can you use subdomains, i.e. `blabla.mydomain.com` with he.net? Or just domains (`mydomain.com`)?
Author
Owner

@qdm12 commented on GitHub (Sep 14, 2020):

I'm almost done adding it to the code, I'd just need a few small information from you in order to code all the possible error codes (undocumented in their API) in my program. Can you therefore please try the following and send me the log outputs (take care of removing your credentials):

  1. Run a docker container in interactive mode

    docker run -it --rm alpine:3.12
    
  2. In the following replace bla.domain.com by your .. and password by your actual password:

    wget -qO- "https://bla.domain.com:password@dyn.dns.he.net/nic/update?hostname=bla.domain.com"
    wget -qO- "https://bla.domain.com:password@dyn.dns.he.net/nic/update?hostname=bla.domain.com&myip=blabla"
    wget -qO- "https://bla.domain.com:password@dyn.dns.he.net/nic/update?hostname=blabla"
    wget -qO- "https://bla.domain.com:password@dyn.dns.he.net/nic/update?hostname=blabla.com"
    wget -qO- "https://bla.domain.com:password@dyn.dns.he.net/nic/update
    

    And send me the output (if any) for each.

@qdm12 commented on GitHub (Sep 14, 2020): I'm almost done adding it to the code, I'd just need a few small information from you in order to code all the possible error codes (undocumented in their API) in my program. Can you therefore please try the following and send me the log outputs (take care of removing your credentials): 1. Run a docker container in interactive mode ```sh docker run -it --rm alpine:3.12 ``` 1. In the following replace `bla.domain.com` by your <subdomain>.<domain>.<tld> and `password` by your actual password: ```sh wget -qO- "https://bla.domain.com:password@dyn.dns.he.net/nic/update?hostname=bla.domain.com" wget -qO- "https://bla.domain.com:password@dyn.dns.he.net/nic/update?hostname=bla.domain.com&myip=blabla" wget -qO- "https://bla.domain.com:password@dyn.dns.he.net/nic/update?hostname=blabla" wget -qO- "https://bla.domain.com:password@dyn.dns.he.net/nic/update?hostname=blabla.com" wget -qO- "https://bla.domain.com:password@dyn.dns.he.net/nic/update ``` And send me the output (if any) for each.
Author
Owner
@marcuslannister commented on GitHub (Sep 14, 2020): - wget -qO- "https://bla.domain.com:password@dyn.dns.he.net/nic/update?hostname=bla.domain.com" good xx.xx.xx.xx - wget -qO- "https://bla.domain.com:password@dyn.dns.he.net/nic/update?hostname=bla.domain.com&myip=blabla" nochg xx.xx.xx.xx - wget -qO- "https://bla.domain.com:password@dyn.dns.he.net/nic/update?hostname=blabla" nochg xx.xx.xx.xx - wget -qO- "https://bla.domain.com:password@dyn.dns.he.net/nic/update?hostname=blabla.com" nochg xx.xx.xx.xx - wget -qO- "https://bla.domain.com:password@dyn.dns.he.net/nic/update nochg xx.xx.xx.xx
Author
Owner

@qdm12 commented on GitHub (Sep 14, 2020):

Can you try running twice

wget -qO- "https://bla.domain.com:password@dyn.dns.he.net/nic/update?hostname=bla.domain.com"
wget -qO- "https://bla.domain.com:password@dyn.dns.he.net/nic/update?hostname=bla.domain.com"

Is the second one giving nochg? Also I presume xx.xx.xx.xx is your ip address right?

And also, can you use subdomains, i.e. blabla.mydomain.com with he.net? Or just domains (mydomain.com)? Thanks!

@qdm12 commented on GitHub (Sep 14, 2020): Can you try running twice ```sh wget -qO- "https://bla.domain.com:password@dyn.dns.he.net/nic/update?hostname=bla.domain.com" wget -qO- "https://bla.domain.com:password@dyn.dns.he.net/nic/update?hostname=bla.domain.com" ``` Is the second one giving nochg? Also I presume xx.xx.xx.xx is your ip address right? And also, can you use subdomains, i.e. blabla.mydomain.com with he.net? Or just domains (mydomain.com)? Thanks!
Author
Owner

@marcuslannister commented on GitHub (Sep 14, 2020):

wget -qO- "https://bla.domain.com:password@dyn.dns.he.net/nic/update?hostname=bla.domain.com"
wget -qO- "https://bla.domain.com:password@dyn.dns.he.net/nic/update?hostname=bla.domain.com"

yes, the second one giving nochg, and xx.xx.xx.xx is my ip.

@marcuslannister commented on GitHub (Sep 14, 2020): > wget -qO- "https://bla.domain.com:password@dyn.dns.he.net/nic/update?hostname=bla.domain.com" > wget -qO- "https://bla.domain.com:password@dyn.dns.he.net/nic/update?hostname=bla.domain.com" yes, the second one giving nochg, and xx.xx.xx.xx is my ip.
Author
Owner

@marcuslannister commented on GitHub (Sep 14, 2020):

And also, can you use subdomains, i.e. blabla.mydomain.com with he.net? Or just domains (mydomain.com)? Thanks!

sorry, I don't understand these requirements, change the config file?

@marcuslannister commented on GitHub (Sep 14, 2020): > And also, can you use subdomains, i.e. blabla.mydomain.com with he.net? Or just domains (mydomain.com)? Thanks! sorry, I don't understand these requirements, change the config file?
Author
Owner

@qdm12 commented on GitHub (Sep 14, 2020):

As in can you manage A records for mysubdomain.domain.com or are you limited to domain.com and cannot use subdomains with he.net?

@qdm12 commented on GitHub (Sep 14, 2020): As in can you manage A records for mysubdomain.domain.com or are you limited to domain.com and cannot use subdomains with he.net?
Author
Owner

@marcuslannister commented on GitHub (Sep 14, 2020):

I can manage A records, and when i run following command

wget -qO- "https://domain.com:password@dyn.dns.he.net/nic/update?hostname=domain.com"

It show badauth, maybe i need to generate a new password.

@marcuslannister commented on GitHub (Sep 14, 2020): I can manage A records, and when i run following command > wget -qO- "https://domain.com:password@dyn.dns.he.net/nic/update?hostname=domain.com" It show badauth, maybe i need to generate a new password.
Author
Owner

@marcuslannister commented on GitHub (Sep 14, 2020):

It show badauth, maybe i need to generate a new password.

I change the password, now I get nochg xx.xx.xx.xx when I run.

wget -qO- "https://domain.com:password@dyn.dns.he.net/nic/update?hostname=domain.com"

@marcuslannister commented on GitHub (Sep 14, 2020): > It show badauth, maybe i need to generate a new password. I change the password, now I get nochg xx.xx.xx.xx when I run. > wget -qO- "https://domain.com:password@dyn.dns.he.net/nic/update?hostname=domain.com"
Author
Owner

@qdm12 commented on GitHub (Sep 14, 2020):

Oh no, I just mean, can you set the host in your A record (like *, @ or mychoice) for a certain domain? I think so but just wanted to confirm to have clear code.

@qdm12 commented on GitHub (Sep 14, 2020): Oh no, I just mean, can you set the host in your A record (like `*`, `@` or `mychoice`) for a certain domain? I think so but just wanted to confirm to have clear code.
Author
Owner

@qdm12 commented on GitHub (Sep 14, 2020):

Hello, I made a pull request for supporting he.net.
This should build a docker image qmcgaw/ddns-updater:he.net, can you please try running it?

Your JSON file should look like

{
    "settings": [
        {
            "provider": "he",
            "domain": "example.com",
            "host": "@",
            "password": "yourpassword"
        }
    ]
}

Note that the host @ means the root domain, so it will change the IP for example.com. Now, I haven't tested it, but you may be able to specify the host as:

  • abc for example, to target the subdomain abc.domain.com
  • * to be a wildcard, such that it matches any subdomain for that domain

If you know if that is not supported, please let me know and I'll add some additional checks to prevent new users from running into the issue.

If you have any trouble setting it up, feel free to comment. Readme relevant to he.net is here.

Thanks!

@qdm12 commented on GitHub (Sep 14, 2020): Hello, I made [a pull request](https://github.com/qdm12/ddns-updater/pull/96) for supporting he.net. This should build a docker image `qmcgaw/ddns-updater:he.net`, can you please try running it? Your JSON file should look like ```json { "settings": [ { "provider": "he", "domain": "example.com", "host": "@", "password": "yourpassword" } ] } ``` Note that the host `@` means the root domain, so it will change the IP for `example.com`. Now, I haven't tested it, but you may be able to specify the host as: - `abc` for example, to target the subdomain `abc.domain.com` - `*` to be a wildcard, such that it matches any subdomain for that domain If you know if that is not supported, please let me know and I'll add some additional checks to prevent new users from running into the issue. If you have any trouble setting it up, feel free to comment. Readme relevant to he.net is [here](https://github.com/qdm12/ddns-updater/tree/he.net#setup). Thanks!
Author
Owner

@marcuslannister commented on GitHub (Sep 17, 2020):

When I use domain "abc.domain.com" and host "@" is ok.
But when I use domain "domain.com" and host "abc" is failed.

ddns-updater-he | 2020-09-17T14:09:33.201Z INFO Updating record [domain: domain.com | host: abc | provider: he | ip: ipv4 or ipv6] to use xx.xx.xx.xx
ddns-updater-he | 2020-09-17T14:09:33.793Z ERROR invalid response "noipv4"

@marcuslannister commented on GitHub (Sep 17, 2020): When I use domain "abc.domain.com" and host "@" is ok. But when I use domain "domain.com" and host "abc" is failed. > ddns-updater-he | 2020-09-17T14:09:33.201Z INFO Updating record [domain: domain.com | host: abc | provider: he | ip: ipv4 or ipv6] to use xx.xx.xx.xx > ddns-updater-he | 2020-09-17T14:09:33.793Z ERROR invalid response "noipv4"
Author
Owner

@qdm12 commented on GitHub (Sep 18, 2020):

Hm, do you have an A record with host abc setup on he.net? You would probably need to set it up there first in order to be able to update it.

@qdm12 commented on GitHub (Sep 18, 2020): Hm, do you have an A record with host `abc` setup on he.net? You would probably need to set it up there first in order to be able to update it.
Author
Owner

@qdm12 commented on GitHub (Sep 19, 2020):

I found that on he.net , it only show "abc.domain.com", so I think it must be "abc.domain.com" with host "@".

Does it work if you set domain to abc.domain.com and host to @? I believe the program just assembles them together though so it shouldn't matter.

Maybe have a try with

docker run -it --rm alpine:3.12
wget -qO- "https://domain.com:password@dyn.dns.he.net/nic/update?hostname=abc.domain.com"

See if that works?

@qdm12 commented on GitHub (Sep 19, 2020): > I found that on he.net , it only show "abc.domain.com", so I think it must be "abc.domain.com" with host "@". Does it work if you set domain to `abc.domain.com` and host to `@`? I believe the program just assembles them together though so it shouldn't matter. Maybe have a try with ```sh docker run -it --rm alpine:3.12 wget -qO- "https://domain.com:password@dyn.dns.he.net/nic/update?hostname=abc.domain.com" ``` See if that works?
Author
Owner

@qdm12 commented on GitHub (Sep 24, 2020):

When I use domain "abc.domain.com" and host "@" is ok.
But when I use domain "domain.com" and host "abc" is failed.

ddns-updater-he | 2020-09-17T14:09:33.201Z INFO Updating record [domain: domain.com | host: abc | provider: he | ip: ipv4 or ipv6] to use xx.xx.xx.xx
ddns-updater-he | 2020-09-17T14:09:33.793Z ERROR invalid response "noipv4"

  1. Are you sure it doesn't work? From the code I wrote, it seems this should act the same (specify domain abc.domain.com with host @ & specify domain domain.com and host abc. Please let me know so I can merge this in the main branch/Docker image. Thanks!
  2. Are you using IPv6 maybe? Check with https://ipinfo.io/ip. Maybe it gets your IPv6 and he.net answers with noipv4 because it's not an ipv4?
@qdm12 commented on GitHub (Sep 24, 2020): > When I use domain "abc.domain.com" and host "@" is ok. > But when I use domain "domain.com" and host "abc" is failed. > > > ddns-updater-he | 2020-09-17T14:09:33.201Z INFO Updating record [domain: domain.com | host: abc | provider: he | ip: ipv4 or ipv6] to use xx.xx.xx.xx > > ddns-updater-he | 2020-09-17T14:09:33.793Z ERROR invalid response "noipv4" 1. Are you sure it doesn't work? From the code I wrote, it seems this should act the same (specify domain `abc.domain.com` with host `@` & specify domain `domain.com` and host `abc`. Please let me know so I can merge this in the main branch/Docker image. Thanks! 1. Are you using IPv6 maybe? Check with [https://ipinfo.io/ip](https://ipinfo.io/ip). Maybe it gets your IPv6 and he.net answers with `noipv4` because it's not an ipv4?
Author
Owner

@marcuslannister commented on GitHub (Sep 26, 2020):

I found that on he.net , it only show "abc.domain.com", so I think it must be "abc.domain.com" with host "@".

Does it work if you set domain to abc.domain.com and host to @? I believe the program just assembles them together though so it shouldn't matter.

Maybe have a try with

docker run -it --rm alpine:3.12
wget -qO- "https://domain.com:password@dyn.dns.he.net/nic/update?hostname=abc.domain.com"

See if that works?

sorry for the late replay, it still can not work. you can check the screen shot below.

iShot2020-09-26 14 32 18
@marcuslannister commented on GitHub (Sep 26, 2020): > > I found that on he.net , it only show "abc.domain.com", so I think it must be "abc.domain.com" with host "@". > > Does it work if you set domain to `abc.domain.com` and host to `@`? I believe the program just assembles them together though so it shouldn't matter. > > Maybe have a try with > > ```shell > docker run -it --rm alpine:3.12 > wget -qO- "https://domain.com:password@dyn.dns.he.net/nic/update?hostname=abc.domain.com" > ``` > > See if that works? sorry for the late replay, it still can not work. you can check the screen shot below. <img width="862" alt="iShot2020-09-26 14 32 18" src="https://user-images.githubusercontent.com/70784566/94332183-625c8880-0005-11eb-87a3-dd2144820b59.png">
Author
Owner

@marcuslannister commented on GitHub (Sep 26, 2020):

When I use domain "abc.domain.com" and host "@" is ok.
But when I use domain "domain.com" and host "abc" is failed.

ddns-updater-he | 2020-09-17T14:09:33.201Z INFO Updating record [domain: domain.com | host: abc | provider: he | ip: ipv4 or ipv6] to use xx.xx.xx.xx
ddns-updater-he | 2020-09-17T14:09:33.793Z ERROR invalid response "noipv4"

1. Are you sure it doesn't work? From the code I wrote, it seems this should act the same (specify domain `abc.domain.com` with host `@` & specify domain `domain.com` and host `abc`. Please let me know so I can merge this in the main branch/Docker image. Thanks!

2. Are you using IPv6 maybe? Check with https://ipinfo.io/ip. Maybe it gets your IPv6 and he.net answers with `noipv4` because it's not an ipv4?

no , i don not use IPv6. I think you can merge this first.

@marcuslannister commented on GitHub (Sep 26, 2020): > > When I use domain "abc.domain.com" and host "@" is ok. > > But when I use domain "domain.com" and host "abc" is failed. > > > ddns-updater-he | 2020-09-17T14:09:33.201Z INFO Updating record [domain: domain.com | host: abc | provider: he | ip: ipv4 or ipv6] to use xx.xx.xx.xx > > > ddns-updater-he | 2020-09-17T14:09:33.793Z ERROR invalid response "noipv4" > > 1. Are you sure it doesn't work? From the code I wrote, it seems this should act the same (specify domain `abc.domain.com` with host `@` & specify domain `domain.com` and host `abc`. Please let me know so I can merge this in the main branch/Docker image. Thanks! > > 2. Are you using IPv6 maybe? Check with https://ipinfo.io/ip. Maybe it gets your IPv6 and he.net answers with `noipv4` because it's not an ipv4? no , i don not use IPv6. I think you can merge this first.
Author
Owner

@qdm12 commented on GitHub (Sep 26, 2020):

Can you try in your browser to access https://domain.com:password@dyn.dns.he.net/nic/update?hostname=abc.domain.com see if it works? (and replace values)

@qdm12 commented on GitHub (Sep 26, 2020): Can you try in your browser to access https://domain.com:password@dyn.dns.he.net/nic/update?hostname=abc.domain.com see if it works? (and replace values)
Author
Owner

@marcuslannister commented on GitHub (Sep 26, 2020):

Can you try in your browser to access https://domain.com:password@dyn.dns.he.net/nic/update?hostname=abc.domain.com see if it works? (and replace values)

I try it , it is same, Show "noipv4".

@marcuslannister commented on GitHub (Sep 26, 2020): > Can you try in your browser to access https://domain.com:password@dyn.dns.he.net/nic/update?hostname=abc.domain.com see if it works? (and replace values) I try it , it is same, Show "noipv4".
Author
Owner

@qdm12 commented on GitHub (Sep 26, 2020):

And does this work?

https://abc.domain.com:password@dyn.dns.he.net/nic/update?hostname=abc.domain.com

(note the abc. at the start)

@qdm12 commented on GitHub (Sep 26, 2020): And does this work? https://abc.domain.com:password@dyn.dns.he.net/nic/update?hostname=abc.domain.com (note the abc. at the start)
Author
Owner

@marcuslannister commented on GitHub (Sep 29, 2020):

And does this work?

https://abc.domain.com:password@dyn.dns.he.net/nic/update?hostname=abc.domain.com

(note the abc. at the start)

This is ok and show "nochg xx.xx.xx.xx"

@marcuslannister commented on GitHub (Sep 29, 2020): > And does this work? > > https://abc.domain.com:password@dyn.dns.he.net/nic/update?hostname=abc.domain.com > > (note the abc. at the start) This is ok and show "nochg xx.xx.xx.xx"
Author
Owner

@qdm12 commented on GitHub (Sep 29, 2020):

Ah good, thanks! So they need the fully qualified domain name as the http url user field, I didn't know that. I will make the changes tonight and merge it to the :latest Docker image.

@qdm12 commented on GitHub (Sep 29, 2020): Ah good, thanks! So they need the fully qualified domain name as the http url user field, I didn't know that. I will make the changes tonight and merge it to the `:latest` Docker image.
Author
Owner

@qdm12 commented on GitHub (Sep 29, 2020):

Merged it, you should now be able to pull and use the Docker image qmcgaw/ddns-updater:

docker pull qmcgaw/ddns-updater

Enjoy 👍

@qdm12 commented on GitHub (Sep 29, 2020): Merged it, you should now be able to pull and use the Docker image `qmcgaw/ddns-updater`: ```sh docker pull qmcgaw/ddns-updater ``` Enjoy 👍
Author
Owner

@marcuslannister commented on GitHub (Sep 30, 2020):

Merged it, you should now be able to pull and use the Docker image qmcgaw/ddns-updater:

docker pull qmcgaw/ddns-updater

Enjoy 👍

Thanks.

@marcuslannister commented on GitHub (Sep 30, 2020): > Merged it, you should now be able to pull and use the Docker image `qmcgaw/ddns-updater`: > > ```shell > docker pull qmcgaw/ddns-updater > ``` > > Enjoy 👍 Thanks.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/ddns-updater#60