What prevents you from using the "Custom URL" feature of built-in DDNS service?
…set "Auto refresh" to however often you want the updates to happen (1 day is the minimum supported).
The updatetimeout value of "0" will disable your host to go offline automatically, so you don't have to send updates too often.
The reason for using DHIS in its normal mode that requires frequent refreshing is that it provides a fairly good indication that 1. your host is up, and 2. it is your host, and not some other customer of your ISP that happened to grab your IP while your host is offline. (This is really something all DDNS services ought to support.)
If you set updatetimeout=0, then DHIS works like any other dynamic DNS provider, and there is no compelling reason to use that service over any other DDNS provider.
Either work up a patch yourself and submit it…
I'd be happy to. Though if it requires setting up a dev environment and building a firmware, then it is not likely to happen. (I have dev machines and the knowledge, just not the time.) If I can adequately accomplish a test of the patch by modifying my live installation from the shell, then it should be no problem. Another option would be working with an existing developer, sending over an untested patch, and then testing the resulting binary.
Reading over this thread to refresh my memory, it looks like supporting a DDNS provider that requires frequent refreshing will require:
1. modifying /sbin/rc so its ddns-update mode is capable of this. (This raises the question of whether it makes sense to be launching a process and rewriting the crontab as frequently as once a minute. A daemon process or at least a fixed crontab entry may make more sense.)
2. The basic-ddns.asp UI page will need to be modified to accept refresh intervals at least as small as 1 minute. (It may also make sense to make that a per-provider setting.)
Is this the relevant code?
Looks a lot like a shell script written in C. Anyone know why it was done in C instead of as a shell script? I can't imagine it is performance critical.
I see the code updates some state in NVRAM. This thread suggests that it does a commit. That is not going to be good as the frequency increases.
I also see something called mdu is the executable that actually makes the net connection.
Has anyone looked at using the DDNS client that DD-WRT uses? I seem to recall they use an "off the shelf" tool rather than a custom program. I know it supported DHIS out of the box. (See the HOWTO. It requires a custom URL, but all the needed functionality, like refresh rate, was accessible from the UI.)