PyFunceble(1)
PyFunceble(1) β General Commands Manual
π NAME π
pyfunceble β the tool to check the availability or syntax of domain, IP or URL. π
β¨ SYNOPSIS β¨
pyfunceble [options] [DOMAINS [DOMAINS ...]]
π¦ DESCRIPTION π¦
So like, pyfunceble is a 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. Periodt. β¨
πΈ USAGE πΈ
Usage overview and basic syntax of helper executables included 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β Show the version of PyFunceble and exit. (yes bestie,--versionShowis literally in the original, no cap) π
π§ͺ Test sources π§ͺ
-d DOMAINS[DOMAINS ...],--domain DOMAINS [DOMAINS ...]β Test one or more domains, separated by spaces.qWhenthis 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 exampleexample.orgif '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]π (yes the bracket is there)--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. (yes,networketis in the original) π--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. β
β¦and the last thing the previous chunk left hanging was literally just Configured value: None π« so bestie, we pick right back up. DNS corner, go:
--dns-protocol {UDP,TCP,HTTPS,TLS}β picks which protocol the DNS queries ride on. Configured value:'UDP'--follow-server-orderβ lets us follow, or mix, the order in which the given or found DNS server(s) get used. Configured value:True--trust-dns-serverβ activates or disables the trust mode. When it's on, the second the first read DNS server hands us a negative response β with no error β we take it as it is. When it's off, and that first read DNS server gives a negative response without an error, we still consolidate by checking all the given/found server. Configured value:False
πΈ the original manpage glues the flag straight onto the verb and prints--trust-dns-serverActivatesβ iconic glue-girl typo behaviour, but the flag itself is--trust-dns-server, iykyk.
--dns-delay DNS__DELAYβ sets the delay, in seconds, applied between each DNS query. 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' that stores every '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 number of days since a subject got introduced into the inactive dataset before it gets retested. Configured value:1-wdb,--whois-databaseβ activates or disables the usage of a 'database' that stores the expiration date of all domains that have a valid expiration date. Configured value:True
π Output control
-a,--allβ activates or disables the display of all the 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(es) we're allowed to print to STDOUT. You can hand it multiple space separated statuses, no cap. Configured value:'all'--dotsβ activates 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 line of the hosts file with. 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 behaviour. 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 we're supposed to generate the output directory from. Configured value: (nothing, it's empty)--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. That registrar file holds 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.
β οΈ heads up bestie: this argument has no effect when the --registrar argument is not set. And it only takes effect on display, not in the log file.
Configured value: 15
--plainβ activates or disables the generation of the RAW file(s). What's meant by that 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-collectionβ activates or disables the push of test result into the collection API. Configured value:False
π
manpage glues this one too β it prints --push-collectionActivates. Same energy, same flag.
-s,--simpleβ activates or disables the simple output mode. Configured value:False
Configured value: True
π and yes, the manpage really does print twoConfigured valuelines for this one β the literal text is--simpleActivates or disables the simple output mode.β glue again. I'm keeping both lines because that's what it says, periodt.
π₯ Multiprocessing
-w CLI_TESTING__MAX_WORKERS,--max-workers CLI_TESTING__MAX_WORKERSβ sets the number of maximal workers to use. If it's 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're supposed to store the tests (except 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're 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 β (the manpage's own command lists https://example.com twice, and we are keeping it exactly as it is, no edits, no notes π)
$ 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/ β it's giving required reading, fr fr.
π REPORTING BUGS
To report a bug please visit cplay-ng issues tracking system at: https://github.com/funilrys/PyFunceble/issues β go tell them everything, they're nice about it π«Ά
π 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).
and that's the whole page, bestie!! π this one is PyFunceble 1, dated August 2023, and it lives under the name PyFunceble(1) in the manual β go forth and test all the things β¨
π¦ where this page comes from
- debian trixie: python3-pyfunceble 4.2.29.dev-1 Β· Apache-2.0
- ubuntu questing: python3-pyfunceble 4.2.29.dev-1
- ubuntu resolute: python3-pyfunceble 4.3.1-1 Β· Apache-2.0
- ubuntu stonking: python3-pyfunceble 4.3.1-1 Β· Apache-2.0
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms