This is supposed to help anyone who needs to convert from
static to dynamic DNS, i.e. anyone whose IP address keeps
changing but who wants to run some kind of internet server.
I'm assuming that you already have a domain name, but that
your DNS hosting service (whoever it is that maps your domain
name to an IP address) does not support time-varying IP
addresses.

This solution supports anyone who already owns a domain name,
and who has DNS hosting already provided, but where the
hosting service does not support the case of time-varying
IP addresses.

Background: In my case, my DNS provider supported only fixed
IP addresses, and my Internet Service Provider pulled the rug
by switching me from a fixed IP address to an unpredictable
IP address, that changed each time the modem lost its
ADSL connection.

Solution: I had to find a dynamic DNS provider. I chose DuckDNS
because it's free and because it had a good reputation. And 
because it can be combined with my existing DNS provider.

Step 1. If necessary, install curl on your system. In some
cases, e.g. with ArcaOS, you will find that curl is 
already installed. Also create a suitable directory to
contain this package, for example D:\Apps\DuckDNS.

Step 2. In your web browser, go to www.duckdns.org, and sign
in with one of the available options. I chose Facebook, on the
grounds that I already had a Facebook account. Signing in will
immediately give you an account, but don't worry. If you decide
that you don't want DuckDNS after all, you can just ignore that
account.

Step 3. In the "domains" section, add a new domain. It will be 
a subdomain of duckdns.org, but as shown below we can work
around that.

Step 4. Ask your DNS host to add a CNAME record that maps your
domain to the domain created in step 2. Once this is done,
name lookups will again map your domain name to your IP
address, even though that IP address might be time-varying.

Step 5. You still need to guard against future changes to
your IP address. Go to the DuckDNS directory you have created,
open the file DuckDNSUpdateTemplate.cmd, and save it as
DuckDNSUpdate.cmd. In that file, change xxx to your domain name
(or a comma-separated list of domain names, and change yyy to
the token you received when you logged into DuckDNS.

Step 6. Test that script. It should do a DuckDNS update every
five minutes. If that doesn't happen, work out what went
wrong. (It's probably a wrong key or wrong domain name.)
If it does work, edit the script to delete the
&verbose=true part, so that the script no longer produces
any screen output.

Step 7: Create a program object, with
   path and file name: cmd.exe
   parameters:  /C DuckDNSUpdate.cmd
   working directory:  D:\Apps\DuckDNS
On the "session" page for the properties of that
object, enable "start minimised".

Step 8: Move that program object, or a shadow of the
program object, to your Startup folder. That finishes
the job.

Remark: there are many ways to achieve the same result.
Initially I used the "schedule" tab, which every program
object has if you have DragText installed, to do the
updates, but that allows only one update per day.
(But perhaps that's enough.) Some people will prefer to
use cron to schedule the updates, but personally I think
that cron is overkill.

In any case, good luck. I have to say that DuckDNS was
a particularly simple solution for me.
