Provided by: zonemaster-cli_7.1.0-1_all bug

NAME

       zonemaster-cli - run Zonemaster tests from the command line

SYNOPSIS

           zonemaster-cli [--help | --version | --list-tests]
           zonemaster-cli [OPTIONS] --dump-profile
           zonemaster-cli [OPTIONS] DOMAINNAME

DESCRIPTION

       zonemaster-cli is a command-line interface to the Zonemaster test engine.  It takes instructions the user
       provides as command line arguments, transforms them into suitable API calls to the engine, runs the test
       suite and prints the resulting messages. By default, the messages will be translated by the engine's
       translation module, with the corresponding timestamp and logging level when printed. See the available
       options below.

OPTIONS

   Special Options
       -h, --help
           Print brief usage information and exit.  (run `man zonemaster-cli` for the full manual page)

       --version
           Print version information and exit.

           The  printed version numbers are the versions of this program as well as the ones from the underlying
           Zonemaster test engine.

       --list-tests
           Print all test cases listed in the test modules, then exit.

       --dump-profile
           Print the effective profile used in JSON format, then exit.

   Testing Options
       --test=TESTCASE, --test=TESTMODULE
           Limit the testing suite to run only the specified tests.  Can be specified multiple times.  (default:
           all test cases)

           This can be the name of a testing module, in which case all test cases from that module will be  run,
           or  the  name  of  a module followed by a slash and the name of a test case (test case identifier) in
           that module, or the name of the test case.  This option is case-insensitive.

       --level=LEVEL
           Specify the minimum level of a message to be printed.  (default: NOTICE)

           Messages with this level (or higher) will be  printed.  The  levels  are,  from  highest  to  lowest:
           CRITICAL,  ERROR,  WARNING,  NOTICE, INFO, DEBUG, DEBUG2 and DEBUG3.  The lowest three levels (DEBUG)
           add a significant amount of messages to be shown.  They reveal some of the internal workings  of  the
           test engine, and are probably not useful for most users.

       --stop-level=LEVEL
           Specify  the minimum severity level after which the testing suite is terminated.  (default: the empty
           string)

           When set to the empty string, testing is allowed to complete normally no  matter  what  messages  are
           emitted.

           The  levels  are,  from  highest to lowest: CRITICAL, ERROR, WARNING, NOTICE, INFO, DEBUG, DEBUG2 and
           DEBUG3.

       --[no-]progress
           Print an activity indicator ("spinner").  (default: enabled if the process' standard output is a TTY)

           Useful to know that something is happening during a run.

       --[no-]ipv4, --[no-]ipv6
           Enable or disable queries over IPv4 or IPv6.  (default: both enabled)

       --sourceaddr4=IPADDR, --sourceaddr6=IPADDR
           Set IPv4 or IPv6 source address for DNS queries.

           Setting an address not correctly configured on a local network interface fails silently.

       --profile=FILE
           Override the Zonemaster Engine default profile data with values from the given profile JSON file.

   Formatting Options
       --[no-]json
           Print results as JSON instead of human language.  (default: disabled)

       --[no-]json-stream
           Stream the results as JSON.  (default: disabled)

           Useful to follow the progress in a machine-readable way.

       --[no-]raw
           Print messages as raw dumps (message identifiers) instead of translating them to human language.

       --locale=LOCALE
           Specify which locale to be used by the translation system.  (default: system locale or English)

           If not given, the translation system itself will look at environment variables to try and guess.   If
           the requested translation does not exist, it will fall back to the local locale, and if that does not
           exist either, to English.

       --[no-]time
           Print the timestamp for each message.  (default: enabled)

       --[no-]show-level
           Print the severity level for each message.  (default: enabled)

       --[no-]show-module
           Print the name of the module which produced the message.  (default: disabled)

       --[no-]show-testcase
           Print  the  name  of  the  test  case  (test  case identifier) which produced the message.  (default:
           disabled)

   Summary Options
       --[no-]count
           Print a summary, at the end of a run, of the numbers of messages for each severity  level  that  were
           logged during the run.  (default: disabled)

       --[no-]nstimes
           Print  a summary, at the end of a run, of the times (in milliseconds) the zone's name servers took to
           answer.  (default: disabled)

       --[no-]elapsed
           Print elapsed time (in seconds) at end of a run.  (default: disabled)

   Undelegated Test Options
       --ns=DOMAINNAME, --ns=DOMAINNAME/IPADDR
           Provide information about a nameserver, for undelegated tests.

           The argument must be either: (i) a domain name and  an  IP  address,  separated  by  a  single  slash
           character (/), or (ii) only a domain name, in which case a A and AAAA records lookup for that name is
           done  in  the  live global DNS tree (unless overridden by --hints) and from which the results of that
           lookup will be used.

           This switch can be given multiple times. As  long  as  any  of  these  switches  are  present,  their
           aggregated content will be used as the entirety of the parent-side delegation information.

       --ds=KEYTAG,ALGORITHM,TYPE,DIGEST
           Provide  a  DS  record  for  undelegated  testing  (that  is,  a test where the delegating nameserver
           information is given via --ns switches).

           The four pieces of data (keytag, algorithm, type, digest) should be in the  same  format  they  would
           have in a zone file.

       --hints=FILE
           Name of a root hints file to override the defaults.

   Cache Options
       --save=FILE
           Write  the  contents  of  the  accumulated  DNS  packet cache to a file with the given name after the
           testing suite has finished running.

       --restore=FILE
           Prime the DNS packet cache with the contents from the file with the given name  before  starting  the
           testing suite.

           The format of the file should be from one produced by the --save switch.

   Deprecated Options
       --encoding=ENCODING
           Deprecated: Simply remove it from your usage. It is ignored.

       --[no-]json-translate
           Deprecated since v2023.1, use --no-raw instead.

           For streaming JSON output, include the translated message of the tag.

   Option Aliases
       These options are provided for compatibility with older scripts.  The first two are aliases for "--help".
       The rest are aliases for their namesakes spelled with dash "-" instead of underscore "_".

       -?
       --usage
       --dump_profile
       --[no-]json_stream
       --[no-]json_translate
       --list_tests
       --[no-]show_level
       --[no-]show_module
       --[no-]show_testcase
       --stop_level=LEVEL

EXAMPLES

           zonemaster-cli zonemaster.net

           zonemaster-cli --test=delegation --level=info --no-time zonemaster.net

           zonemaster-cli --test=delegation01 --level=debug zonemaster.net

           zonemaster-cli --list-tests

PROFILES

       The testing and result analysis performed by Zonemaster Engine is always guided by a profile.  Zonemaster
       Engine has a default profile with sensible defaults.  Zonemaster CLI allows users to override the default
       profile  data  with values from a profile JSON file with the "--profile" option.  For details on profiles
       and how they are represented in files, see Zonemaster::Engine::Profile.

CONFIGURATION

       If there is a readable file /etc/zonemaster/cli.args (Linux style),  each  line  in  that  file  will  be
       prepended  as  an  argument  on  the  command  line.  If  no /etc/zonemaster/cli.args is found (or is not
       readable) but /usr/local/etc/zonemaster/cli.args (FreeBSD style) is found and  readable  then  that  file
       will be used instead. Only one global file is loaded.

       If  there  is  a  readable file .zonemaster/cli.args in the user's home directory, it will be used in the
       same way even when a global file has been loaded. Any argument in user's cli.args will override the  same
       argument in the global config file.

       For  example, if one would like to by default run with the log level set to DEBUG and with translation to
       human-readable messages turned off, one could put this in the config file:

          --raw
          --level=DEBUG

       Only one argument per line. If the argument has a value there must be a "=" between argument and value. A
       line starting with "#" is a comment. Comments cannot be added on lines with arguments.

       Any arguments actually given on the command line will override what is in any of the loaded config files.

SEE ALSO

       More complete documentation on Zonemaster and its tests can be found on <https://doc.zonemaster.net>.

AUTHOR

       Calle Dybedahl <calle@init.se> and others from the Zonemaster project

perl v5.40.0                                       2025-02-02                                 ZONEMASTER-CLI(1p)