This file describes noip, a Linux client for the no-ip.com dynamic DNS service.

NEW:	This code will build and run on Solaris/Intel and BSD also.
	Edit the Makefile for Solaris, no changes needed for the various BSDs

Please read this short file before using noip. 

###########################################################################
HOW TO BUILD AN EXECUTABLE FOR YOUR SYSTEM

The command 
	make 
will build a binary of the noip client that will run on your system.

The command 
	make conf
will ask questions and build a configuration file. 

The command
	make install
(which must be run as root) will install the various pieces to their
appropriate places.  This will also ask questions and build a 
configuration file, if one has not already been built. 

###########################################################################
HOW TO START THE CLIENT

The noip executable can be run by typing /usr/local/bin/noip

If you want it to run automatically when the machine is booted, then
place the following script in your startup directory. (/etc/init.d/rcX.d
or /sbin/init.d/rcX.d or ???) 

	#######################################################
	#! /bin/sh
	case "$1" in
	    start)
		echo "Starting noip."
		/usr/local/bin/noip
	    ;;
	    stop)
		echo -n "Shutting down noip."
		killproc -TERM /usr/local/bin/noip
	    ;;
	    *)
		echo "Usage: $0 {start|stop}"
		exit 1
	esac
	exit 0
	#######################################################

Where the 'X' in rcX.d is the value obtained by running the 
following command
	grep initdefault /etc/inittab | awk -F: '{print $2}'

###########################################################################
SAVED STATE

Noip will save the last IP address that was set at no-ip.com to a file, 
/tmp/no-ip_save, when it ends.  This file will be read back in the next 
time noip is started in DAEMON mode.

###########################################################################
COMMAND LINE ARGUMENTS WHEN INVOKING THE CLIENT

The client can be invoked with the [-i IPaddress] parameter which will force
the setting of that address at no-ip.com.  If the client is configured for
daemon mode, the client will override that setting and run once and exit.

The actions of the client are controlled by a configuration file.  It is 
usually located in /usr/local/lib/no-ip.conf, but may be placed anywhere if 
the [-c new_location] argument is passed on the startup line.

All errors and informational messages are stored via the syslog facility.
They are written to stderr if the [-l] flag is given.
A line indicating a successful address change at no-ip.com is always written 
to the syslog.

One final invocation parameter is -h.  This displays the help screen as 
shown below and ends.                      

USAGE: noip [-c config_file] [-h] [-l] [-i IPaddress] [-d]

Version Linux-1.6
Options: -c config_file   use alternate config file
         -h               help
         -i IPaddress     use supplied address
         -l               log output to stderr
         -d               increase debug verbosity

   config file is either
      /usr/local/lib/no-ip.conf or /usr/local/etc/no-ip.conf
      and must contain 10 required entries in the form of KEYWORD = value
      A complete description of the config file is in the README file.
	KEYWORD    value 			 (example)

	LOGIN    = YourNo-ip.comLogin 		 (foo@host.org)
	PASSWORD = YourNo-ip.comPassword 	 (hello25-1)
	HOSTNAME = YourNo-ip.comHost		 (grumpy)
	DOMAIN   = YourNo-ip.comDomain 		 (no-ip.com)
	GROUP    = YourNo-ip.comGroup 		 (mygoup)
	DEVICE   = YourInternetConnectionDevice  (ppp0)
	PROXY    = Y/N 				 (Y)
	NAT      = Y/N 				 (N) 
	DAEMON   = Y/N 				 (Y)
	INTERVAL = Minutes			 (30)

###########################################################################
HOW TO MAKE A CONFIGURATION FILE

The command
	make conf
will create or update a configuration file in this directory.

The average user will find the configuration file generated by make conf
sufficient for their needs.  If you need multiple host/domain names
it will be neccessary to edit the generated configuration file
'no-ip.conf' to contain these extra names.  Remember, the HOST 
and DOMAIN lines are comma separated, not comma space separated!

Those users who need to change the generated configuration file may wish to
read the following paragraphs which contain a more detailed description of
the configuration file.

###########################################################################
CONFIGURATION FILE DESCRIPTION

The client has two modes. The first is run once and end.  
The other is act as a daemon and run perpetually.  
The mode is selected by the 'DAEMON = ' keyword/value line in 
the configuration file.  
'DAEMON = Y' means run perpetually, 
'DAEMON = N' means run one time and exit.
If the first character of the value is not 'Y' or 'y', 'N' is assumed.

The client should use a proxy port instead of the usual port 80 to talk to 
no-ip.com.  The selection is made in the configuration file by setting
'PROXY = Y' or 
'PROXY = N'.  
If the first character of the value is not 'Y' or 'y', 'N' is assumed.
The PROXY value defaults to Y if the configuration script is run.  Most
users should use this value.

The interval between successive testing for a changed IP address is controlled by
the 'INTERVAL = nn' line.  The number is minutes, a minimum of 1 is enforced
by the client, a usual value for clients behind firewalls would be 30.

The NAT line controls whether the IP address to set at no-ip.com is obtained
locally or from a getpeer operation at no-ip.com.  This parameter is used
by those systems behind NAT firewalls.  The format is 'NAT = Y' or 'NAT = N'.
If the first character of the value is not 'Y' or 'y', 'N' is assumed.

The device used to make your external connection is listed on the
'DEVICE = devx' line.  The value for this line can be obtained by looking at
the output of the /sbin/ifconfig program while connected to the Net, or
by running the ./no-ip.sh program which will list the valid devices.
This value is ignored if you are using Network Address Translation mode (NAT),
but it must be present.  Using 'DEVICE = unused' is suggested.

The remaining five lines consist of LOGIN, PASSWORD, HOSTNAME, DOMAIN and GROUP.
LOGIN = your login at no-ip.com (usually your email address)
PASSWORD = your password for the above login
HOSTNAME = your hostname at no-ip.com
DOMAIN = your domain at no-ip.com or myftp.org or ...
GROUP = your groupname at no-ip.com 

The GROUP line should contain a single semicolon as the value if a group
is not to be used.  If the GROUP value contains anything else, it will 
be assumed that a valid grouping exists at no-ip.com and GROUP will take 
precedence over the HOSTNAME/DOMAIN pair.   The HOSTNAME and DOMAIN lines
can each contain a single semicolon if a group is to be used.

###########################################################################

Bugs should be reported to johna@onevista.com

	johna@onevista.com  August 2001

