Provided by: ddupdate_0.7.2-1_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.

       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, either the netrc(5) or the system keyring 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.

       -C, --auth-plugin <plugin>
           Plugin providing authentication credentials, either netrc or keyring

       -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.

       -e, --execute-section <section>
           Only run the given section in configuration file.  Use --list-sections to list available sections.

       -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

       -P, --list-auth-plugins
           List plugins for storing credentials like netrc and keyring.

       -E, --list-sections
           List available sections in configuration file.

       -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  ~/.config/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
           When configured with the netrc authentication backend, this  file  is  used  to  store  username  and
           password  for logging in to service providers.  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.  The use of this file is deprecated.

       ~/.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

       ddupdate-config(8)
           Configuration tool

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

       https://pypi.org/project/keyring/
           Interface for the keyring authentication backend

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

ddupdate                                      Last change: Apr 2022                                  DDUPDATE(8)