inadyn(8) a small DDNS client to maintain your presence on the Internet


inadyn [-a, -alias ALIAS [, HASH ] ] [-b, -background ] [-B, -bind IFNAME ] [-d, -drop-privs USER [: GROUP ] ] [-e, -exec SCRIPT ] [-f, -forced-update SEC ] [-F, -config FILE ] [-L, -logfile FILE ] [-P, -pidfile FILE ] [-c, -cachefile FILE ] [-s, -syslog ] [-h, -help ] [-i, -iface IFNAME ] [-n, -iterations NUM ] [-H, -checkip-url SERVER [: PORT URL ] ] [-N, -server-name SERVER [: PORT ] ] [-U, -server-url PATH ] [-S, -system PROVIDER ] [-t, -test ] [-T, -period SEC ] [-u, -username USERNAME ] [-p, -password PASSWORD ] [-v, -version ] [-V, -verbose LEVEL ] [-w, -wildcard ] [-x, -proxy-server SERVER [: PORT ] ]


inadyn is a client for ``open'' name servers, also known as DDNS service providers. That is, it lets you have a public Internet name for your DHCP/PPPoE assigned system. Some of these services are free of charge for non-commercial use, others take a small fee, but also provide more domains to choose from.

Common DDNS service providers supported by inadyn

The basic operation of inadyn is to periodically check whether the actual Internet accessible IP of your system is the same one that is recorded in the name server, and update the name server records when there is a mismatch.


-h, -help
Print a summary of the options and exit.
-u, -username USERNAME
The username, if applicable. This might be referred to as hash.
-p, -password PASSWORD
The password, if applicable.
-a, -alias ALIAS
A host name alias. This option can appear multiple times, for each domain that has the same IP.
-F, -config FILE
The file name that contains inadyn command options exactly as specified in the command line syntax (adds to those already present on the cmd line). The default configuration file name, /etc/inadyn.conf is looked at automatically if inadyn is called without any command line options. The format is as expected for a UNIX config file; the hash character is used to comment entire lines. Spaces are ingored. The long options may be specified without -- if placed at the beginning of the line.
-H, -checkip-url SERVER [: PORT URL ]
The client IP is detected by calling URL from this SERVER [: PORT ] Defaults to
-N, -server-name SERVER [: PORT ]
The server that receives the update DNS requests. When no proxy is specified it is sufficient to set the --system option so that the default servers will be taken. The option is useful for generic DynDNS services that support HTTP update.
-U, -server-url PATH
The update path on the DynDNS server.
-S, -system [email protected]
DNS service to connect to. Defaults to [email protected]

[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

-x, -proxy-server SERVER [: PORT ]
HTTP proxy server name and port. Default: N/A.
-T, -period SEC
How often the IP is checked, in seconds. Default: apx 1 minute. Max: 10 days.
-f, -forced-update SEC
How often the IP should be updated even if it is not changed. The time should be given in seconds.
--L, -logfile FILE
The name, including the full path, of a log file. See also the ---syslog option, below.
-b, -background
Run in background. Output is sent to the UNIX syslog facilities or to a log file, if one was specified.
-V, -verbose LEVEL
Set the debug level, which is an integer between 0 to 5
-n, -iterations NUM
Set the number of DNS updates. The default is 0 which means infinity.
-s, -syslog
Use the system syslog(3) mechanism for log messages, warnings and error conditions.
-d, -drop-privs USER [: GROUP ]
Drop privileges after initial setup to the given user and group.
-B, -bind IFNAME
Set interface to bind to. Only on UNIX systems.
-i, -iface IFNAME
Set interface to check for IP. Only on UNIX systems. External IP check is not performed.
-P, -pidfile FILE
Set pidfile, defaults to /var/run/inadyn/
-c, -cachefile FILE
Set cachefile, defaults to /var/run/inadyn/inadyn.cache
-e, -exec SCRIPT
Full path to external command, or script, to run after a successful DDNS update. SCRIPT can use following environment variables: INADYN_IP, INADYN_HOSTNAME. First environment variable contains new IP address, second one - host name alias. INADYN_IFACE is available, if --iface option used.
-w, -wildcard
Enable domain name wildcarding for Default disabled. For inadyn < 1.96.3 wildcarding was enabled by default.
-t, -test
Force one update and quit.


inadyn -u username -p password -a

inadyn --username username --password password --period 60 --alias --alias my.second.domain

inadyn --background -u test -p test --period 60 --alias --alias my.second.domain --logfile inadyn_srv.log

inadyn --system [email protected] -u username -p password -a

inadyn -u username -p password --period 60 --alias -a my.second.domain --system [email protected]

The ``hash'' is automatically retrieved by inadyn using freedns API.


inadyn prints a message when the IP is updated. If no update is needed then by default it prints a single ``.'' character, unless --verbose is set to 0 Therefore, unless --verbose is set to 0 the log file will contains lot of dots. When the connection goes down it could be that inadyn will print some error messages. Those are harmless and should be followed by ``OK'' messages after the connection is back up.


inadyn responds to the following signals:

Restarts . The configuration file is reread every time this signal is evoked. It is also useful when a new DHCP/PPPoE lease or new gateway is received. Please note that inadyn does not track such events by itself. You need an external monitor for that.
Terminates inadyn gracefully.
The same as TERM.
The same as TERM.

For convenience in sending signals, inadyn writes its process ID to /var/run/inadyn/ upon startup.




inadyn was written by An -nosplit An Narcis Ilisei Aq [email protected] , An Steve Horbachuk and later An Joachim Nilsson Aq [email protected] .

This manual page was initially written for the Debian GNU/Linux system by An Shaul Karl Aq [email protected] . Later Joachim Nilsson picked up maintenance.