OpenWrt Forum Archive

Topic: New package: ndyndns 1.12

The content of this topic has been archived on 13 Apr 2018. There are no obvious gaps in this topic, but there may still be some posts missing at the end.

I ported ndyndns 1.12, an update daemon for (only) DynDNS.com. It monitors the IP address of the WAN interface, checking every ten minutes, and sends updates securely and only when necessary. This port lacks the code in the original for the chroot jail and privilege dropping. It requires libcurl and openssl.

The package installs the following files:

/etc/ndyndns/ndyndns.conf
/etc/default/ndyndns
/etc/init.d/ndyndns
/etc/rc.d/S80ndyndns
/usr/sbin/ndyndns

The daemon is disabled by default. After installing the package, users should edit the configuration file ndyndns.conf and supply their account and host info, and then enable the daemon to start upon booting by editing /etc/default/ndyndns.

The precompiled package is available at http://openwrt.hirano.fastmail.net/ndyn … mipsel.ipk. Those who wish to compile the package themselves should download http://openwrt.hirano.fastmail.net/ndyndns-package.tgz.

Great. But the precompiled version cannot be accessed. Could you help me to give me a valid link?

I just tried the link, and it worked fine here.

I've got
root@wgt634u:/usr/lib# ndyndns -n -r -f /etc/ndyndns/ndyndns.conf
FATAL - No chroot path specified.  Refusing to run.
Success

then what  ? wink

btw. i have STA setup

You need to specify where ndyndns should store its files. Add -c /etc/ndyndns.

placebo wrote:

/etc/ndyndns/ndyndns.conf

Great.

Btw, how about multiple hostnames?
Separated by whitespace? comma? or what?

e.g.   hostname=host1.dyndns.com    host2.dyndns.com  ??
or      hostname=host1.dyndns.com,host2.dyndns.com ??

Thanks.

According to the documentation included with the source, you should separate the host names with commas.

placebo wrote:

According to the documentation included with the source, you should separate the host names with commas.

OK. Thanks very much... I'm going to try it now smile

I have installed it via opkg and it seems to be working. However I have a few questions/requests:

Can you please explain the format of the /etc/ndyndns/ndyndns.conf file? The package came with a ndyndns.conf.sample file that was pretty much self explanatory but the last line says "wildcard". What does it stand for? I let that line but it bothers me to not know what is it for.

Can you also please explain the format of /etc/ndyndns/ndyndns.conf? What am I suppoused to do in order to enable the service. It seems like the file included in the package makes it work, however I started it by manually running "/etc/init.d/ndyndns start" so I don't know if it will be automatically started after a reboot.

Thanks a lot anyway, this package is of great help for us dyndns users.

From the ndyndns.conf manpage:

wildcard
              Enables  resolution  for  random subdomains below the provided
              hostnames.   In  other  words,  if  this  is   enabled,   any-
              thing.host1.mydomain.com  would  resolve  to  the  same  ip as
              host1.mydomain.com.

You can download the tarball for ndyndns here: http://code.google.com/p/ndyndns/ . The documentation is included in it.

That version of the package installs an init script. In general, to enable such a service, use /etc/init.d/ndyndns enable. That will create a symbolic link in /etc/rc.d/, so it'll run when the system boots.

Hi,
I need  ndyndns to listen on HTTP port 8245 instead of 80 or HTTPS.
How can I configure it? (ndyndns v1.12)

I think you meant you want ndyndns to contact dyndns.com on port 8245, not listen on port 8245. I'm afraid the only way you can do that is to modify the source for ndyndns and recompile it. I've been meaning to update the package, but if I were you, I wouldn't hold my breath. I no longer use OpenWrt, so I don't have a router to test it on.

placebo, thanks for replying.
Ooops, sorry!  8245 is the port to contact dyndns, of course.

I was looking at the source. Connection via SSL is the preferred one. If fails, port HTTP 80 is used. Theres no handling for an alternative connection on 8245
I was hoping that port could be changed simply via a config file.

Compiling the package myself seems slightly painful to me, so I'd rather switch to ddns-scripts that is more configurable...

The discussion might have continued from here.