Skip site navigation (1)Skip section navigation (2)

FreeBSD Manual Pages

  
 
  

home | help
INADYN(8)		     System Manager's Manual		       INADYN(8)

NAME
     inadyn -- Internet Automated Dynamic DNS Client

SYNOPSIS
     inadyn [-1, --once] [--force] [--cache-dir PATH] [-c, --cmd /path/to/cmd]
	    [-C, --continue-on-error] [-e, --exec /path/to/cmd]
	    [--exec-mode MODE] [-f, --config FILE] [-h, --help]
	    [-i, --iface IFNAME] [-I, --ident NAME] [-j, --json]
	    [-l, --loglevel LEVEL] [-L, --list-providers] [-n, --foreground]
	    [--no-pidfile] [-P, --pidfile FILE] [-p, --drop-privs USER[:GROUP]]
	    [-s, --syslog] [-S, --show-provider -NAME] [-t, --startup-delay SEC]
	    [-v, --version]

DESCRIPTION
     inadyn, or In-a-Dyn, periodically checks your actual Internet accessible IP
     for changes.  When it changes inadyn updates your name server record(s) au-
     tomatically.

     Common  DDNS  service providers supported by inadyn are listed below.  Some
     of these services are free of charge for non-commercial use, others take  a
     small fee, but also provide more domain names to choose from.

     inadyn  defaults  to  HTTPS for all providers, some may however not support
     this so try disabling SSL for your provider in case of problems.  Providers
     known to support SSL updates are listed below with https.	The list is  or-
     dered by the plugin that support the service:

     *	 <https://freedns.afraid.org>
     *	 <https://nsupdate.info>
     *	 <https://duckdns.org>
     *	 <https://freemyip.com>
     *	 <http://www.dyndns.org>, <http://dyn.com>
	 *   <http://dns.he.net>
	 *   <https://www.dnsomatic.com>
	 *   <https://domains.google>
	 *   <https://www.dynu.com>
	 *   <https://www.loopia.com>
	 *   <http://www.noip.com>
	 *   <https://www.pubyun.com>, formerly <http://www.3322.org>
	 *   <https://www.selfhost.de>
	 *   <https://spdyn.de>
     *	 <http://www.easydns.com>
     *	 <http://www.tunnelbroker.net>
     *	 <http://www.sitelutions.com>
     *	 <http://www.dnsexit.com>, parent of <https://zoneedit.com>
     *	 <http://www.changeip.com>
	 *   <https://www.ovh.com>
	 *   <https://www.strato.com>
     *	 <http://www.dhis.org>
     *	 <http://giradns.com>, <https://gira.de>
     *	 <https://www.duiadns.net>
     *	 <https://ddnss.de>
     *	 <http://dynv6.com>
     *	 <http://ipv4.dynv6.com>
     *	 <https://www.cloudxns.net>
     *	 <https://www.dnspod.cn>
     *	 <https://connect.yandex.ru>
     *	 <https://www.cloudflare.com>
     *	 <https://www.goip.de>

     DDNS  providers not listed here, e.g.  <https://www.namecheap.com>, can of-
     ten be  configured  using	the  custom  DDNS  provider  plugin.   See  ina-
     dyn.conf(5) for examples.

OPTIONS
     Earlier  versions	of inadyn supported more command line options, from v2.0
     inadyn has been greatly simplified.  See inadyn.conf(5) for details of  the
     /usr/local/etc/inadyn.conf configuration file format.

     -1, --once
	     Run  only	once  and quit, updates only if too old or unknown.  Use
	     --force to for an update before exiting.

     --force
	     Force one update.	Only works with -1, --once flag, ignored for all
	     other use-cases.

     --cache-dir PATH
	     Set   directory   for   persistent   cache   files,   defaults   to
	     /var/cache/inadyn

	     The cache files are used to keep track of which addresses have been
	     successfully  sent to their respective DDNS provider and when.  The
	     latter 'when' is important to prevent inadyn from banning	you  for
	     excessive updates.

	     When  restarting  inadyn  or rebooting your server, or embedded de-
	     vice, inadyn reads the cache files to seed its internal data struc-
	     tures with the last sent IP address and when the  update  was  per-
	     formed.   It  is therefore very important to both have a cache file
	     and for it to have the correct time stamp.  The absence of a  cache
	     file will currently cause a forced update.

	     On  an embedded device with no RTC, or no battery backed RTC, it is
	     strongly recommended to pair this setting with the  --startup-delay
	     SEC command line option.

     -c, --cmd /path/to/cmd [optional args]
	     Full  path  to  command,  or script, to run to check for IP address
	     change.   This  is  the  same  as	the  configuration  file  option
	     checkip-command but will apply to all providers.  This command line
	     option  is  only provided for convenience, it is recommended to in-
	     stead use the configuration file.	For more details, see  the  ina-
	     dyn.conf(5)  man page.  You will need to quote the complete command
	     if any arguments, or pipe, is given.

     --continue-on-error
	     Ignore errors from DDNS provider and try again later.  This command
	     line option tells inadyn to not exit on errors from a DDNS provider
	     and instead try again later.  Please do not use  this,  it  usually
	     indicates that we are sending a malformed request, e.g. wrong user-
	     name,  password  or  DNS  alias  for the given account.  Continuing
	     could possibly lock you out of your account!

     -e, --exec=/path/to/cmd [optional args]
	     Full path to command, or script, to run.  The following environment
	     variables are set: INADYN_IP, INADYN_HOSTNAME.  The first	environ-
	     ment variable contains the new IP address, the second the host name
	     alias.   The cmd is called for each listed host name.  If inadyn is
	     started with the -i IFNAME command line  option,  the  INADYN_IFACE
	     environment  variable is also set.  You will need to quote the com-
	     plete command if any arguments, or pipe, is given.

     --exec-mode MODE
	     Use MODE to set the exec script run mode: compat, event: -  compat:
	     run  exec	handler on successful DDNS update only, default - event:
	     run exec handler on any update  status  The  following  environment
	     variables	are  set:  INADYN_EVENT, INADYN_ERROR, INADYN_ERROR_MES-
	     SAGE.  INADYN_EVENT contains the event, one of: nochg, update,  er-
	     ror.   The event nochg indicates that no update had to be sent, the
	     event update indicates that an update  was  sent  successully,  the
	     event  error  indicates  that  the update was sent and an error oc-
	     curred.  INADYN_ERROR contains the error code, INADYN_ERROR_MESSAGE
	     contains the error message for the error code.

     -f, --config FILE
	     Use FILE for configuration. By default  /usr/local/etc/inadyn.conf,
	     is used.  See inadyn.conf(5) for examples.

     -h, --help
	     Show summary of command line options and exit

     -i, --iface IFNAME
	     Check  IP	of  IFNAME instead of querying an external server.  With
	     this command line option the external  IP	check  is  disabled  and
	     inadyn  will  report the IP address of IFNAME to all DDNS providers
	     listed in the configuration file.	This can be useful  to	register
	     LAN  IP  addresses,  or, when connected directly to a public IP ad-
	     dress, to speed up the IP check if  the  DDNS  provider's	check-ip
	     servers are slow to respond.

	     This  option  can	also  be given as a configuration option in ina-
	     dyn.conf(5), both serve a purpose, use whichever one works for you.

     -I, --ident NAME
	     Specify program identity (name) to be used for PID file and  syslog
	     messages.	 Useful  with multiple instances of inadyn, or to simply
	     replace the inadyn name with something more generic,  e.g.  "DDNS",
	     without  renaming	the  binary.  Note, this option only changes the
	     base name of the PID file, not the location, which is  system  spe-
	     cific.  Usually /var/run/inadyn.pid or /run/inadyn.pid.

     -j, --json
	     Output provider listing in JSON format, see also -L.

     -l, --loglevel LEVEL
	     Set  log  level:  none,  err,  info, notice, debug.  The default is
	     notice, but you might want to set this to -l warning.

     -l, --list-providers
	     List available DDNS providers.

     -n, --foreground
	     Run in foreground, default is to  daemonize  and  continue  in  the
	     background.   This  option  is  usually required when running under
	     process supervisors like systemd and Finit, but is also useful when
	     running from the terminal, when debugging a config  or  at  initial
	     set  up.	Remember to also give the -s option if you still want to
	     redirect log messages to the syslog.

     -p, --drop-privs USER[:GROUP]
	     Drop root privileges after initial setup  to  the	given  user  and
	     group.

     --no-pidfile
	     When  running as a daemon, even when running in the foreground with
	     -n, inadyn creates a PID file so users can easily find the  PID  of
	     the process to send signals to.  See "SIGNALS" for more information
	     on  this.	This option tells inadyn to not create a PID file.  Some
	     users prefer this when running under systemd.

     -P, --pidfile FILE
	     Set PID file name and location, defaults  to  /run/inadyn.pid,  de-
	     rived  from  --ident  NAME, which is strongly recommended to change
	     over this option.	However, some users  want  to  keep  application
	     runtime  files in separate directories, usually in combination with
	     --drop-privs, for such cases this is the option to use.

     -s, --syslog
	     Use syslog(3) for log  messages,  warnings  and  error  conditions.
	     This  is  the default when running in the background.  When running
	     in the foreground, see -n, log messages are printed to stdout.

     -S, --show-provider NAME
	     Show information about DDNS provider NAME,  substring  search  sup-
	     ported.

     -t, --startup-delay SEC
	     Initial  startup  delay.	Default is 0 seconds.  Any signal can be
	     used to abort the startup delay early, but SIGUSR2  is  the  recom-
	     mended  to use.  See "SIGNALS" below for full details of how inadyn
	     responds to signals.

	     Intended to allow time  for  embedded  devices  without  a  battery
	     backed  real time clock to set their clock via NTP at bootup.  This
	     is so that the time since the last update can  be	calculated  cor-
	     rectly from the inadyn cache file and the forced-update SEC setting
	     honored across reboots, avoiding unnecessary IP address updates.

     -v, --version
	     Show program version and exit.

OUTPUT
     inadyn  prints  a	message  when the IP is updated.  If no update is needed
     then by default it prints a single "." character, unless --loglevel is  set
     to none.  Therefore, unless --loglevel is set to none, the log will contain
     lots of dots.  When the connection goes down inadyn may print some harmless
     error messages which should be followed by "OK" messages after the Internet
     connection is restored.

SIGNALS
     inadyn responds to the following signals:

     HUP   Reload the .conf file, standard UNIX behavior
     TERM  Tell inadyn to exit gracefully
     INT   Same as TERM
     USR1  Force update now, even if the IP address has not changed
     USR2  Check  IP  address  change now. 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

     For convenience in  sending  signals,  inadyn  writes  its  process  ID  to
     /var/run/inadyn.pid, unless the --ident NAME option is used.

FILES
     /usr/local/etc/inadyn.conf
     /run/inadyn.pid
     /var/cache/inadyn/dyndns.org.cache
     /var/cache/inadyn/freedns.afraid.org.cache
     ... one .cache file per DDNS provider

SEE ALSO
     inadyn.conf(5)

     The inadyn home page is at GitHub: <https://github.com/troglobit/inadyn>

AUTHORS
     inadyn	 was	  originally	  written      by      Narcis	  Ilisei
     <mailto:inarcis2002@hotpop.com> and Steve Horbachuk.  Current patch  monkey
     is  Joachim Wiberg <mailto:troglobit@gmail.com> with a lot of help from An-
     drey Tikhomirov and Mike Fleetwood.

     This manual page was originally written for the Debian GNU/Linux project by
     Shaul  Karl  <mailto:shaul@debian.org>,  and  is  currently  maintained  by
     Joachim Wiberg.

FreeBSD ports 15.quarterly	February 20, 2020		       INADYN(8)

Want to link to this manual page? Use this URL:
<https://man.freebsd.org/cgi/man.cgi?query=inadyn&sektion=8&manpath=FreeBSD+Ports+15.1.quarterly>

home | help