ddclient / ddclient

Ddclient updates dynamic DNS entries for accounts on a wide range of dynamic DNS services.

Home Page:https://ddclient.net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

`use=web` default no longer works as https://checkip.dyndns.org is no longer reachable anymore

wheelerlaw opened this issue · comments

https://checkip.dyndns.org is not reachable (the plain HTTP one is though). The default option for use=web should be changed to one that is working.

ddclient will choose http/https depending on the URL by default.
There is the option to force every connection to use HTTPS - the -ssl option.

Did your configuration have https in the URL or did you set the -ssl parameter?

I recently observed the same issue. Default ddclient.conf sets https as the only option because of the config line
ssl=yes # use ssl-support. Works with
My workaround (probably sub-optimal though, better solution would be to change default use=web) was to turn off ssl in the config, which allowed http://checkip.dyndns.org. Using
ssl=no

Note that this still used SSL when reaching out to my DNS provider according to sudo ddclient -daemon=0 -debug -verbose -noquiet so API keys were never send over plaintext.

Also see #309

The current ssl flag acts as a "Force SSL on everything" flag. It might be worthwhile to have separate flags for "Use SSL by default unless specified (aka. any URL without HTTP/HTTPS scheme prefix) and another flag for "Force HTTP scheme to use HTTPS - which might not work"

I haven't dug deep into this but I'd assume that every single URL passed to ddclient can be made either HTTP or HTTPS so the SSL support is selectable. In that case the SSL flag is merely a convenience flag to auto-upgrade everything to HTTPS.
If there are URLs hardcoded to HTTP, that needs further investigation.

FWIW, I have intermittent problems just pinging checkip.dyndns.org.
I checked because I configured ddclient to send messages. Since a while I get intermittent messages like

WARNING:  cannot connect to checkip.dyndns.org:80 socket: IO::Socket::INET: Bad hostname 'checkip.dyndns.org'
WARNING:  found neither ipv4 nor ipv6 address

and
WARNING: found neither ipv4 nor ipv6 address
I just changed to loopia, will await results.

With #608 merged you can now force the usage of HTTP by prefixing the URL with http:// even when the ssl config option or command line option is enabled