My DynDNS setup does not work with FreedomBox. DynDNS server that I use returns badauth
every time FreedomBox tries to update my IP.
Problem Description
My DynDNS provider is nic.ru
Here is the official DynDNS configuration manual from nic.ru
(in Russian): Динамический DNS для разработчиков - RU-CENTER
I tried to configure DynDNS with my provider but FreedomBox fails to update my IP-address.
I investigated the problem a little bit and it seems that the issue is with wget
that is used in /usr/share/plinth/actions/dynamicdns
script. When I try to use curl
instead of wget
everything works as expected. I might be wrong, but it seems that wget
does not send Authorization
header for the basic auth.
This problem persists even when I enable “Use HTTP basic authentication” option and remove <User>
and <Password>
from the URL for updating DynDNS.
I tried to add -x
option to bash and executed the /usr/share/plinth/actions/dynamicdns
script to see what it does. From the output I’ve took the wget
command as it executed by the script and tried to execute it in the console manually. I’ve got the same badauth
error:
$ /bin/wget -q -O- -o /dev/null -t 3 -T 3 --user <user> --password <password> -4 'https://api.nic.ru/dyndns/update?hostname=memory-heap.org&myip=<my-ip>'
badauth
Note that I replaced -O /dev/null
with -q -O-
to see what the server returns.
Steps to Reproduce
- Login to FreedomBox.
- Go to DynDNS configuration page.
- Put
https://api.nic.ru/dyndns/update?hostname=<Domain>&myip=<Ip>
URL to the “Update URL” field. Set “Domain” and “Password”. - Enable “Use HTTP basic authentication” option.
- Click on ‘Update setup’ button.
Expected Results
I expected that my domain IP address is updated.
Actual results
My DynDNS server returns badauth
in the response and rejects the update, but FreedomBox shows “DNS record is up to date” on the “Status” tab on DynDNS configuration page.
Screenshot
Information
- FreedomBox version: 21.4.2
- Hardware: A regular PC.
- How did you install FreedomBox?: Installed from the official image.