Scroll to navigation

PyFunceble(1) General Commands Manual 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).
August 2023 PyFunceble 1