DynDNS: Does not work, server returns "badauth"

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>'

Note that I replaced -O /dev/null with -q -O- to see what the server returns.

Steps to Reproduce

  1. Login to FreedomBox.
  2. Go to DynDNS configuration page.
  3. Put https://api.nic.ru/dyndns/update?hostname=<Domain>&myip=<Ip> URL to the “Update URL” field. Set “Domain” and “Password”.
  4. Enable “Use HTTP basic authentication” option.
  5. 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.



  • FreedomBox version: 21.4.2
  • Hardware: A regular PC.
  • How did you install FreedomBox?: Installed from the official image.