Provided by: ddupdate_0.6.6-1.2_all bug

NAME

       ddupdate - Update dns data for dynamic IP addresses

SYNOPSIS

       ddupdate [options]

DESCRIPTION

       A  tool  to  update  dynamic  IP  addresses typically obtained using DHCP with dynamic DNS
       service providers such as changeip.com, duckdns.org or no-ip.com.  It makes it possible to
       access a machine with a fixed name like myhost.duckdns.org even if the ip address changes.
       ddupdate caches the address, and only attempts the  update  if  the  address  actually  is
       changed.

       The  tool  has a plugin structure with plugins for obtaining the actual address (typically
       hardware-dependent) and to update it (service dependent).

       The normal usecase is to specify all commandline options in the config file.  However, all
       options  in  this  file  could  be  overridden by actual command line options e. g., while
       testing.

       Using service providers and possibly also  firewalls  requires  use  of  username/password
       credentials.  For these, the netrc(5) file is used.

       ddupdate  is  distributed  with  systemd  support  to  run  at regular intervals, and with
       NetworkManager templates to run when interfaces goes up or down. It  fully  supports  ipv6
       addresses and also using proxies (see ENVIRONMENT).

OPTIONS

       Options for normal operation, typically defined in config file:

       -H, --hostname <hostname>
           Hostname  to  update,   typically  fully  qualified. Defaults to the not really usable
           host.nowhere.net

       -s, --service-plugin <plugin>
           Plugin used to update the dns data for the address obtained from  the  address-plugin.
           Defaults  to  dry-run,  which  just  prints  the  address. Use --list-services to list
           available plugins.

       -a, --address-plugin <plugin>
           Plugin used to obtain the actual ip address. Defaults to default-if,  which  localizes
           the  default  interface  using /usr/sbin/ip and uses it's primary address. Use --list-
           addressers to list available plugins.

       -v, --ip-version <v4|v6|all>
           The kind of ip addresses to register. The addresses  obtained  by  the  address-plugin
           could  be  either  v6,  v4  or both. However, the actual addresses sent to the service
           plugin is filtered using this option so for example an unused ipv6 address not becomes
           an official address to the host.  Defaults to v4.

       -L, --loglevel [level]
           Determine  the  amount  of  logging  information.  level  is  a symbolic syslog level:
           error,warning, info, or debug.  It defaults to warning.

       -o, --service-option <plugin option>
           Option interpreted by service plugin, documented in --help  <plugin>.   May  be  given
           multiple  times  as  required.   Any option on the command line will clear the list of
           options as of the config file.  See PLUGIN OPTIONS.

       -O, --address-option <plugin option>
           Option interpreted by address-plugin.  See --service-option and PLUGIN OPTIONS.

       Other options:

       -c, --config-file <path>
           File containing default values for  all  command  line  options.   The  path  must  be
           absolute.  An example file is distributed with the sources.  See [FILES] below.

       -f, --force
           Force ddupdate to run even if the cached value is still valid.

       -h, --help [plugin]
           Print help. If given a plugin argument, prints help for this plugin.

       -S, --list-services
           List service provider plugins.

       -A, --list-addressers
           List plugins providing one or more ip addresses

       -V, --version
           Print ddupdate version.

PLUGIN OPTIONS

       The  plugin  options  are  generally  just  handed  to  the  plugins  without  any further
       interpretation.  An option  is  either  a  single  keyword  or  a  key=value  string.   No
       whitespace is allowed in key or value.

PLUGIN LOADING

       ddupdate  looks  for a directory named plugins and tries to load plugins from all files in
       this directory. The search for plugins is done, in descending priority:

       •   The directory plugins in the same directory  as  the  main.py  module.   This  is  the
           development case, and the highest priority.

       •   User   plugins   are   searched   in   ~/.local/share/ddupdate/plugins.   Setting  the
           XDG_DATA_HOME environment relocates this to $XDG_DATA_HOME/ddupdate/plugins

       •   The  directories  listed  in  the  XDG_DATA_DIRS  environment  variable,  by   default
           /usr/local/share:/usr/share, are searched for ddupdate/plugins.

EXAMPLES

       Please  note  that  the  command  line  options are normally stored in /etc/ddupdate.conf,
       allowing an invocation without command line options.

       Update on dyndns.com using the external address as seen from the internet, displaying  the
       address used:

            ddupdate -a default-web-ip -s dtdns.com -H myhost.dyndns.org -l info

       Make  a  debug run without actually updating, displaying the address on the local, default
       interface:

            ddupdate -a default-if -s dry-run --loglevel info -H host.dyndns.org

ENVIRONMENT

       ddupdate respects the data paths defined by freedesktop.org.

       XDG_CACHE_HOME
           Locates the cached addresses files. See FILES.

       XDG_DATA_HOME
           Locates user plugins. See PLUGIN LOADING.

       XDG_DATA_DIRS
           Involved in system plugins, see PLUGIN LOADING.

       XDG_CONFIG_HOME
           User configuration file parent directory location, defaults to ~/.config.

       ddupdate also accepts the standard proxy environment:

       http_proxy, https_proxy
           URL to used proxies  for  http  and  https  connections.  The  systemd  service  files
           distributed has provisions to define these as required.

FILES

       ~/.netrc
           Used  to  store  username  and password for logging in to service providers to update,
           firewalls to get the IP address etc. See netrc(5) for the format used. The  file  must
           have restricted permissions like 600 to be accepted.

       /etc/netrc
           Fallback location for credentials when ~/.netrc is not found.

       ~/.config/ddupdate.conf
           Default  config file location. If defined, the XDG_CONFIG_HOME variable relocates this
           to $XDG_CONFIG_HOME/ddupdate.conf.

       /etc/ddupdate.conf
           Fallback configuration file location.

       /usr/share/ddupdate/plugins
           Default directory for upstream plugins, see PLUGIN LOADING.

       /usr/local/share/ddupdate/plugins
           Default directory for site plugins, see PLUGIN LOADING.

       ~/.local/share/ddupdate/plugins
           Default directory for user plugins, see PLUGIN LOADING.

       ~/.cache/ddupdate/*
           Cached address from last update with an actual change, one for  each  update  service.
           Setting   the   XDG_CACHE_HOME   environment   variable   relocates   these  files  to
           $XDG_CACHE_HOME/ddupdate/*.

SEE ALSO

       ddupdate.conf(5)
           Configuration file

       netrc(5)
           Authentication tokens file, originally used by ftp(1).

       ddupdate-config(8)
           Configuration tool

       https://github.com/leamas/ddupdate
           Project homesite and README