# Basic configuration file for inadyn
#
# /etc/inadyn.conf
background
update_period_sec 600 # Check for a new IP every 600 seconds
username test		# replace 'test' with your username
password test		# replace 'test' with your password
dyndns_system dyndns@dyndns.org   # replace w/ your provider

#  uncomment the alias statement below to test it on your system
alias test.homeip.net
# replace 'test.homeip.net' with yourdomainname for actual (non-test) use
