PyFunceble(1)

NAME
pyfunceble - The tool to check the availability or syntax of domain, IP or URL

SYNOPSIS
pyfunceble [options] [DOMAINS [DOMAINS ...]]

DESCRIPTION
tool written in Python that was developed with the objective of verifying
the availability of domains and IP addresses on the Internet. The main
purpose of PyFunceble is to perform DNS resolution and connection tests
to determine if a domain is up and reachable or down and unavailable.

USAGE
Usage overview and basic syntax of helper executablesincluded in the PyFunceble
package:

pyfunceble:
  [--show-completion {bash,zsh,tcsh}]
  [-d DOMAINS [DOMAINS ...]]
  [-u URLS [URLS ...]] [-f FILES [FILES ...]]
  [-uf URL_FILES [URL_FILES ...]] [--adblock]
  [--cidr] [--complements] [--preload]
  [--filter CLI_TESTING__FILE_FILTER] [--mining]
  [--rpz] [--wildcard] [--chancy] [-c]
  [--cooldown-time CLI_TESTING__COOLDOWN_TIME]
  [--local]
  [--collection-preferred-origin {frequent,latest,recommended}]
  [--collection-lookup]
  [--collection-lookup-only] [--dns-lookup]
  [--dns-lookup-only] [--http] [--http-only]
  [--netinfo-lookup] [--netinfo-lookup-only]
  [--special-lookup] [--special-lookup-only]
  [--whois-lookup] [--whois-lookup-only]
  [--reputation-lookup]
  [--reputation-lookup-only] [--reputation]
  [--syntax] [-t LOOKUP__TIMEOUT]
  [--max-http-retries MAX_HTTP_RETRIES]
  [-ua USER_AGENT__CUSTOM] [-vsc]
  [--dns DNS__SERVER [DNS__SERVER ...]]
  [--dns-protocol {UDP,TCP,HTTPS,TLS}]
  [--follow-server-order] [--trust-dns-server]
  [--dns-delay DNS__DELAY]
  [--http-proxy PROXY__GLOBAL__HTTP]
  [--https-proxy PROXY__GLOBAL__HTTPS]
  [--inactive-db]
  [--database-type {csv,mariadb,mysql,postgresql}]
  [-dbr CLI_TESTING__DAYS_BETWEEN__DB_RETEST]
  [-wdb] [-a] [-ex] [--colour]
  [--display-status {all,ACTIVE,INACTIVE,VALID,INVALID,MALICIOUS,SANE}
  [{all,ACTIVE,INACTIVE,VALID,INVALID,MALICIOUS,SANE} ...]]
  [--dots] [--hierarchical] [-h]
  [-ip CLI_TESTING__HOSTS_IP] [--merge-output]
  [--no-files]
  [--output-location OUTPUT_LOCATION]
  [--unified-results] [--percentage]
  [--registrar]
  [--max-registrar CLI_TESTING__DISPLAY_MODE__MAX_REGISTRAR]
  [--plain] [-q] [--push-collection] [-s]
  [-w CLI_TESTING__MAX_WORKERS]
  [--ci-max-minutes CLI_TESTING__CI__MAX_EXEC_MINUTES]
  [--ci] [--ci-branch CLI_TESTING__CI__BRANCH]
  [--ci-distribution-branch CLI_TESTING__CI__DISTRIBUTION_BRANCH]
  [--ci-command CLI_TESTING__CI__COMMAND]
  [--ci-end-command CLI_TESTING__CI__END_COMMAND]
  [--ci-commit-message CLI_TESTING__CI__COMMIT_MESSAGE]
  [--ci-end-commit-message CLI_TESTING__CI__END_COMMIT_MESSAGE]
  [--help] [-v]

Note:
All arguments listed below acts a switch to your configuration file-s.
This means that if (e.g.) 'file_generation.no_file' is set to 'true' its
value will be switch to 'false' at the runtime if the '--no-files' argument
is being used. Meaning that output files will be generated.

OPTIONS
--show-completion {bash,zsh,tcsh} Show Shell completion script and exit.

--help Show this help message and exit.

-v, --versionShow the version of PyFunceble and exit.

Test sources:

-d DOMAINS[DOMAINS ...], --domain DOMAINS [DOMAINS ...]
                Test one or more domains, separated by spaces.
                qWhen this option is used, no output files are generated.

-u URLS [URLS ...], --url URLS [URLS ...]
                Test one or more full URL, separated by spaces.

-f FILES [FILES ...], --file FILES [FILES ...]
                Read a local or remote (RAW link) file and test all domains
                inside it. If remote (RAW link) file is given, PyFunceble
                will download it,and test the content of the given RAW link
                as if it was a locally stored file.

-uf URL_F ILES [URL_FILES ...], --url-file URL_FILES [URL_FILES ...]

 Read a local or remote (RAW link) file and test all (full) URLs inside it.
 If remote (RAW link) file is given, PyFunceble will download it, and test
 the content of the given RAW link as if it was a locally stored file.
 This argument test if an URL is available. It ONLY test full URLs.

Source filtering, decoding, conversion and expansion:

 --adblock Activates or deactivates the decoding of the adblock format.
                        Configured value: False
 --cidr                 Activates or disables the expansion of CIDR formatted
                        addresses.
                        Configured value: False
 --complements          Activates or disables the generation and test of the
                        complements.
                        A complement is for example `example.org` if 'www.example.org'
                        is given and vice-versa.
                        Configured value: False
 --preload              Activates or disables the preloading of the input
                        file(s) into the continue dataset before starting the tests.

                        This reduces the waiting time while continuing a previous
                        session.
                        Note: This is useless when the auto continue subsystem is not active.
                        Configured value: False
  --filter CLI_TESTING__FILE_FILTER
                        Regex to match in order to test a given line.
                        Configured value: None
  --mining              Activates or disables the mining subsystem.
                        Configured value: False
  --rpz                 Activates or disables the decoding of RPZ policies
                        from each given input files.
                        Configured value: False
  --wildcard            Activates or disables the decoding of wildcards for
                        each given input files.
                        Configured value: False
Test control:

--chancy, --ludicrous
                        Activates a chancy mode that unleashes the safety
                        workflow in place.
WARNING: You shouldn't have to use this unless you feel really
lucky and trust your machine. This mode makes things look 'fast', but
it may produce some unexpected results if N process simultaneouslywrite
the same output file.This mode makes the graphical CLI outputunparsable
- either.

             MAY THE FORCE BE WITH YOU!

                       Configured value:False
-c, --auto-continue, --continue
                       activates or disables the autocontinue subsystem.

                       Configured value: False
--cooldown-time CLI_TESTING__COOLDOWN_TIME
                       Sets the cooldown time (in second) to apply between each test.

                       Configured value:0.0]
--local                Activates or disables the consideration of the test(s)
                       in or for a local or private network context.

                       Configured value:False
--collection-preferred-origin {frequent,latest,recommended}
                       Sets the preferred status origin.

                       Configured value:'recommended'
--collection-lookup    Activates or disables the usage of the Collection lookup
                       whether possible.

                       Configured value:False
--collection-lookup-only
                       Only perform a Collection lookup.
--dns-lookup           Activates or disables the usage of the DNS lookup
                       whether possible.

                       Configured value:True
--dns-lookup-only      Only perform a DNS lookup.
--http, --http-status-code-lookup
                       Switch the value of the usage of HTTP code.

                       Configured value: True
--http-only, --http-status-code-lookup-only
                       Only perform a HTTP Code lookup.
--netinfo-lookup       Activates or disables the usage of the network
                       information (or network socket) whether possible.

                       Configured value: True
--netinfo-lookup-only
                       Only perform a network information (or networket socket) lookup.
--special-lookup       Activates or disables the usage of our SPECIAL and
                       extra rules whether possible.

                       Configured value: True
--special-lookup-only
                       Only perform a SPECIAL lookup.
--whois-lookup         Activates or disables the usage of the WHOIS record
                       (or better said the expiration date in it) whether possible.

                       Configured value: True
--whois-lookup-only    Only perform a WHOIS lookup.
--reputation-lookup    Activates or disables the usage of the reputation
                       dataset whether possible.

                       Configured value: False
--reputation-lookup-only
                       Only perform a reputation lookup.
--reputation           Activates or disables the reputation checker.

                      Configured value: False
--syntax              Activates or disables the syntax checker.

                      Configured value: False
-t LOOKUP__TIMEOUT, --timeout LOOKUP__TIMEOUT
                      Sets the default timeout to apply to each lookup
                      utilities every time it is possible to define a timeout.

                      Configured value: 5
--max-http-retries MAX_HTTP_RETRIES
                      Sets the maximum number of retries for an HTTP request.

                      Configured value: 3
-ua USER_AGENT__CUSTOM, --user-agent USER_AGENT__CUSTOM
                      Sets the user agent to use.
                      If not given, we try to get the latest (automatically) for you.

-vsc, --verify-ssl-certificate
                      Activates or disables the verification of the SSL/TLS
                      certificate when testing for URL.
                      Configured value: False
DNS control:
--dns DNS__SERVER [DNS__SERVER ...]
                     Sets one or more (space separated) DNS server(s) to use during testing.

                     To specify a port number for the DNS server you append it
                     as :port [ip:port].

                     If no port is specified, the default DNS port (53) is used.

                     Configured value: None
--dns-protocol {UDP,TCP,HTTPS,TLS}
                     Sets the protocol to use for the DNS queries.
                     Configured value: 'UDP'
--follow-server-order
                     Let us follow or mix the order of usage of the given
                     or found DNS server(s).
                     Configured value: True
--trust-dns-serverActivates or disable the trust mode.
                     When active, when the first read DNS server give us a negative
                     response - without error - we take it as it it.
                     Otherwise, if not active, when the first read DNS server give us
                     a negative response - without error - we still consolidate by
                     checking all given/found server.

                   Configured value: False
--dns-delay DNS__DELAY
                     Sets the delay (in seconds) to apply between each DNS
                     queries.

                     Configured value: 0.0

Proxy control:
 --http-proxy PROXY__GLOBAL__HTTP
Sets the proxy to use when testing subjects over HTTP.
                     Configured value: None
--https-proxy PROXY__GLOBAL__HTTPS
                     Sets the proxy to use when testing subjects over HTTPS.
                     Configured value: None

Databases:
--inactive-db  Activates or disables the usage of a 'database' to
                     store all 'INACTIVE' and 'INVALID' subject for continuous retest.
                     Configured value: True
--database-type{csv,mariadb,mysql,postgresql}
                     Sets the database engine to use.
                     You can choose between the following: `csv | mariadb | mysql | postgresql`
                     Configured value: 'csv'
-dbr CLI_TESTING_DAYS_BETWEEN__DB_RETEST,
--days-between-db-retest CLI_TESTING__DAYS_BETWEEN__DB_RETEST
                     Sets the numbers of days since the introduction of
                     subject into the inactive dataset before it gets retested.
                     Configured value: 1
-wdb, --whois-database
                     Activates or disables the usage of a 'database' to
                     store the expiration date of all domains with a valid
                     expiration date.
                     Configured value: True
Output control:
-a,--all Activates or disables the display of the all
                     information in the table we print to stdout.
                     Configured value: False
-ex, --execution
                     Activates or disables the display of the execution time.
                     Configured value: False
--colour, --color
                     Activates or disables the coloration to STDOUT.
                     Configured value: True
--display-status{all,ACTIVE,INACTIVE,VALID,INVALID,MALICIOUS,SANE}
                     [{all,ACTIVE,INACTIVE,VALID,INVALID,MALICIOUS,SANE} ...]
                     Sets the status that we are allowed to print to STDOUT.

                     Multiple space separated statuses can be given.
                     Configured value: 'all'
--dots         Activate or disables the display of dots or other
                     characters when we skip the test of a subject.
                     Configured value: False
--hierarchical
                     Activates or disables the sorting of the files
                     content (output) in a hierarchical order.
                     Configured value: False
-h, --host
                     Activates or disables the generation of the
                     hosts file(s).
                     Configured value: False
-ip CLI_TESTING__HOSTS_IP, --hosts-ip CLI_TESTING__HOSTS_IP
                     Sets the IP to prefix each lines of the hosts file.
                     Configured value: '0.0.0.0'
--merge-output Activates or disables the merging of the outputs of all
                     inputted files inside a single subdirectory as opposed to the
                     normal behavior.
                     Configured value: False
--no-files     Activates or disables the generation of any non-logs
                     file(s).
                     Configured value: False
--output-location OUTPUT_LOCATION
                     Sets the location where we are supposed to generation
                     the output directory from.
                     Configured value:
--unified-results Activates or disables the generation of the unified
                     results file instead of the divided ones.
                     Configured value: False
--percentage   Activates or disables the display and generation
                     of the percentage - file - of each status.
                     Configured value: True
--registrar    Activates or disables the display and generation
                     of the registrar - file - status at the end of a test.
                     The registrar file contains the top domain registrar found
                     while testing.
                     Configured value: False
--max-registrar CLI_TESTING__DISPLAY_MODE__MAX_REGISTRAR
                     Sets the maximal number of registrar to display.
                     Note: This argument has no effect when the --registrar
                     argument is not set. This argument only takes effect on
                     display but not in the log file
                     Configured value: 15
--plain        Activates or disables the generation of the
                     RAW file(s). What is meant is a list with only a list of
                     subject (one per line).
                     Configured value: True
-q,--quiet Activates or disables the display of output to the
                     terminal.
                     Configured value: False
--push-collectionActivates or disables the push of test result into the
                     collection API.
                     Configured value: False
-s, --simpleActivates or disables the simple output mode.
                     Configured value: False
                     Configured value: True

Multiprocessing:
-w CLI_TESTING__MAX_WORKERS, --max-workers CLI_TESTING__MAX_WORKERS
                     Sets the number of maximal workers to use.
                     If not given, 20 (based on the current machine) will be applied.
                     Configured value: None

CI / CD:
--ci-max-minutes CLI_TESTING__CI__MAX_EXEC_MINUTES
                     Sets the number of minutes to wait before starting
                     to stop a CI session.
                     Configured value: 15
--ci           Activates or disables the Continuous Integration
                     mechanism.
                     Configured value: False
--ci-branch CLI_TESTING__CI__BRANCH
                     Sets our git working branch. This is the branch
                     from where we are supposed to store the tests
                     (excepts the final results).
                     Configured value: 'master'
--ci-distribution-branch CLI_TESTING__CI__DISTRIBUTION_BRANCH
                     Sets our git distributions branch. This is the
                     branch from where we are supposed to store and push
                     the final results.
                     Configured value: 'master'
--ci-command CLI_TESTING__CI__COMMAND
                     Sets the command to execute before each commit
                     (except the final one).
                     Configured value: None
--ci-end-command CLI_TESTING__CI__END_COMMAND
                     Sets the command to execute before the final commit.
                     Configured value: None
--ci-commit-message CLI_TESTING__CI__COMMIT_MESSAGE
                     Sets the commit message to apply every time we have
                     to apply a commit except for the really last one.
                     Configured value: 'PyFunceble - AutoSave'
--ci-end-commit-message CLI_TESTING__CI__END_COMMIT_MESSAGE
                     Sets the commit message to apply at the really end.
                     Configured value: 'PyFunceble - Results'

EXAMPLES
Check the availability of 'example.com'.
$ pyfunceble -d example.com

Check the availability of 'example.com' with a simple (stdout) output.
$ pyfunceble -s -d example.com

Check the availability of 'example.com' with extended (stdout) output.
$ pyfunceble -a -d example.com

Check the availability of 'example.com' and 'example.org'.
$ pyfunceble -d example.com example.org

Check the availability of 'https://example.com'.
$ pyfunceble -u https://example.com

Check the availability of 'https://example.com' and 'https://example.org'.
$ pyfunceble -u https://example.com https://example.com

Check the syntax of 'example.com'.
$ pyfunceble --syntax -d example.com

Check the reputation of 'example.com'.
$ pyfunceble --reputation -d example.com

Check the availability of all subjects in the 'myhosts' file.
$ pyfunceble -f myhosts

Check the availability of all subjects in the 'myhosts' and 'yourhosts' files.
$ pyfunceble -f myhosts yourhosts

SEE ALSO
For an in-depth usage, explanation and examples of the arguments,you should read
the documentation at https://pyfunceble.readthedocs.io/en/latest/

REPORTING BUGS
To report a bug please visit cplay-ng issues tracking system at:
https://github.com/funilrys/PyFunceble/issues

AUTHORS
Written by Nissar Chababy (@funilrys) with the help of
https://pyfunceble.github.io/#/contributors
&& https://pyfunceble.github.io/#/special-thanks

This manual page was written by Josenison F. da Silva<nilsonfsilva@hotmail.com>
for the Debian project (but may be used by others).