inadyn (8) - Linux Manuals
inadyn: a client for open DNS servers.
NAME
inadyn - a client for open DNS servers.SYNOPSIS
inadyn [-h | --help] [-u | --username username ] [-p | -- password password ] [-a | --alias[,hash] alias,hash [-a | --alias[,hash] another_alias,the_other_hashDESCRIPTION
inadyn is a client for `open' name servers. That is, it let the user have an Internet recognized name for his machine by transferring to him some control over a name server that he does not manage. Some of the services that are offered by those open name servers are free of charge, and work even when the client machine does not have a static IP. The name servers that are supported by inayn are: http://www.dyndns.org and http://freedns.afraid.orgIts basic operation is to periodically check whether the actual IP of the client machine is the same one that is recorded in the name server, and update the name server records when there is a mismatch.
OPTIONS
- -h, --help
- Print a summary of the options to inadyn and exit.
- -u, --username
- The username, if applicable. This might be referred to as hash.
- -p, --password
- The password, if applicable.
- -a, --alias[,hash]
- A host name alias. This option can appear multiple times, for each domain that has the same IP.
- --input_file
- The file name that contains inadyn command options exactly as specified in the command line syntax (adds to those already present in the cmd line). The default configuration file name is '/etc/inadyn.conf'. It is looked at automatically if inadyn is called without any command line options. The format is as expected for a **NIX config 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.
- --ip_server_name[:port] url
- The client IP is detected by calling 'url' from this 'ip_server_name:port'. Defaults to checkip.dyndns.org:80 /.
- --dyndns_server_name[:port]
- The server that receives the update DNS requests. When no proxy is specified it is sufficient to set the dyndns_system so that the default servers will be taken. The option is useful for generic DynDNS services that support HTTP update.
- --dyndns_server_url name
- The update path inside the DynDNS server.
- --dyndns_system
- An optional DNS service. For http://www.dyndns.org the acceptable services are one of dyndns [at] dyndns.org, statdns [at] dyndns.org or custom [at] dyndns.org. There is only one acceptable service for http://freedns.afraid.org , which is default [at] freedns.afraid.org. Other services are: default [at] zoneedit.com, custom [at] http_svr_basic_auth. The default service is dyndns [at] dyndns.org, which is believed to be used by most users, at least initially.
- --proxy_server[:port]
- An http proxy server name and port. The default is none.
- --update_period
- How often the IP is checked. This value denotes millisecond (There are 1000 milliseconds in one second). The default is about 1 minute. The maximum is 10 days.
- --update_period_sec
- How often the IP is checked. Here the value denotes seconds. The default is about 1 minute. The maximum value is 10 days.
- --forced_update_period
- How often the IP should be updated even if it is not changed. The time should be given in seconds.
- --log_file
- The name, including the full path, of a log file.
- --background
- run in background. Output is sent to the UNIX syslog facilities or to a log file, if one was specified.
- --verbose
- Set the debug level, which is an integer between 0 to 5.
- --iterations
- Set the number of DNS updates. The default is 0, which means infinity.
- --syslog
- Explicitly sending the output to a syslog like file, such as /var/log/messages.
- --change_persona uid[:gid]
-
After init changes user ID and group ID to the provided ones. This allows dropping unneeded [root] privileges after startup.
TYPICAL USAGE
http://www.dyndns.org
- inadyn
-
-u username -p password -a my.registered.name - inadyn
- --username test --password test --update_period 60000 --alias test.homeip.net --alias my.second.domain
- inadyn
- --background -u test -p test --update_period 60000 --alias inarcis.homeip.net --alias my.second.domain --log_file inadyn_srv.log
http://freedns.afraid.org
- inadyn
- --dyndns_service default [at] freedns.afraid.org -a my.registrated.name,hash_from_freedns
- inadyn
- --update_period 60000 --alias test.homeip.net,hash_for_host1 -a my.second.domain,hash2 --dyndns_system default [at] freedns.afraid.org
The 'hash' should be extracted from the grab url batch file that can be downloaded from the site. A single hashed (base64 encoded) string is preferred upon a username and password pair, apparently to reduce the computational resources that is required on their side. Unfortunately the hash can not be computed by inadyn because it requires the index to the username record in the freedns database, which is not known. The simplest solution seems to be a copy&paste action from the grab url batch file offered on their website. When the batch file looks is like
graburl http://freedns.afraid.org/dynamic/update.php?YUGIUGSEIUFGOUIHEOIFEOIHJFEIO=
the hash string, which is what the user should copy and paste, is the string that begins right after the '?' character and ends with the end of line. This string shell be used as the username in inadyn command. When the user has several names then each name should be followed with that name hash string.
OUTPUT
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.Signals
Any of the SIG_HUP, SIG_INT, SIG_QUIT will cause inadyn to terminate gracefully.AUTHOR
inadyn was written by Narcis Ilisei, <inarcis2002 [at] hotpop.com>.This manual page was written by Shaul Karl, <shaul [at] debian.org>, for the Debian GNU/Linux system, based on the readme.html file that is found in the source.