Code References
The tool to check the availability or syntax of domain, IP or URL.
::
██████╗ ██╗ ██╗███████╗██╗ ██╗███╗ ██╗ ██████╗███████╗██████╗ ██╗ ███████╗
██╔══██╗╚██╗ ██╔╝██╔════╝██║ ██║████╗ ██║██╔════╝██╔════╝██╔══██╗██║ ██╔════╝
██████╔╝ ╚████╔╝ █████╗ ██║ ██║██╔██╗ ██║██║ █████╗ ██████╔╝██║ █████╗
██╔═══╝ ╚██╔╝ ██╔══╝ ██║ ██║██║╚██╗██║██║ ██╔══╝ ██╔══██╗██║ ██╔══╝
██║ ██║ ██║ ╚██████╔╝██║ ╚████║╚██████╗███████╗██████╔╝███████╗███████╗
╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═════╝╚══════╝╚═════╝ ╚══════╝╚══════╝
Author: Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
Special thanks: https://pyfunceble.github.io/#/special-thanks
Contributors: https://pyfunceble.github.io/#/contributors
Project link: https://github.com/funilrys/PyFunceble
Project documentation: https://docs.pyfunceble.com
Project homepage: https://pyfunceble.github.io/
License: ::
Copyright 2017, 2018, 2019, 2020, 2022, 2023, 2024 Nissar Chababy
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
https://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
get_complements(subject, include_given=False)
Provides the complements of a given subject.
A complement is a for example :code:example.org
if :code:www.example.org
is given and vice-versa.
.. warning:: This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
::
from PyFunceble import Subject2Complements
my_subject = "example.org"
complements = Subject2Complements(
my_subject
).get_converted(include_given=True)
Parameters:
Name | Type | Description | Default |
---|---|---|---|
subject
|
str
|
The subject to work with. |
required |
include_given
|
bool
|
Include the given subject in the result. |
False
|
Source code in PyFunceble/__init__.py
is_domain(subject, **kwargs)
Checks if the given subject is a syntactically valid second level domain or subdomain.
.. warning:: This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
::
from PyFunceble import DomainSyntaxChecker
my_subject = "example.org"
the_status = DomainSyntaxChecker(
my_subject
).get_status()
# Get the status in dict format.
print(the_status.to_dict())
# Get the status in json format.
print(the_status.to_json())
# Check if it is a domain (2nd level or subdomain).
print(f"{my_subject} is domain ? {the_status.is_valid()}")
Parameters:
Name | Type | Description | Default |
---|---|---|---|
subject
|
str
|
The subject to work with. |
required |
Source code in PyFunceble/__init__.py
is_domain_malicious(subject, **kwargs)
Checks if the given domain is malicious.
.. warning:: This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
::
from PyFunceble import DomainReputationChecker
my_subject = "example.org"
the_status = DomainReputationChecker(
my_subject
).get_status()
# Get the status in dict format.
print(the_status.to_dict())
# Get the status in json format.
print(the_status.to_json())
# Check if it is malicious.
print(f"{my_subject} is Malicious ? {the_status.is_malicious()}")
Parameters:
Name | Type | Description | Default |
---|---|---|---|
subject
|
str
|
The subject to work with. |
required |
Source code in PyFunceble/__init__.py
is_ip(subject, **kwargs)
Checks if the given subject is a syntactically valid IP range.
.. warning:: This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
::
from PyFunceble import IPSyntaxChecker
my_subject = "192.168.0.0"
the_status = IPSyntaxChecker(
my_subject
).get_status()
# Get the status in dict format.
print(the_status.to_dict())
# Get the status in json format.
print(the_status.to_json())
# Check if it is an IP (v4 or v6).
print(f"{my_subject} is IP ? {the_status.is_valid()}")
Parameters:
Name | Type | Description | Default |
---|---|---|---|
subject
|
str
|
The subject to work with. |
required |
Source code in PyFunceble/__init__.py
is_ip_range(subject, **kwargs)
Checks if the given subject is a syntactically valid IP range.
.. warning:: This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
::
from PyFunceble import IPSyntaxChecker
my_subject = "192.168.0.0"
the_status = IPSyntaxChecker(
my_subject
).get_status()
# Get the status in dict format.
print(the_status.to_dict())
# Get the status in json format.
print(the_status.to_json())
# Check if it is an IP range (v4 or v6).
print(f"{my_subject} is IP range ? {the_status.is_valid_range()}")
Parameters:
Name | Type | Description | Default |
---|---|---|---|
subject
|
str
|
The subject to work with. |
required |
Source code in PyFunceble/__init__.py
is_ipv4(subject, **kwargs)
Checks if the given subject is a syntactically valid IPv4.
.. warning:: This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
::
from PyFunceble import IPSyntaxChecker
my_subject = "192.168.0.0"
the_status = IPSyntaxChecker(
my_subject
).get_status()
# Get the status in dict format.
print(the_status.to_dict())
# Get the status in json format.
print(the_status.to_json())
# Check if it is an IPv4.
print(f"{my_subject} is IPv4 ? {the_status.is_valid_v4()}")
Parameters:
Name | Type | Description | Default |
---|---|---|---|
subject
|
str
|
The subject to work with. |
required |
Source code in PyFunceble/__init__.py
is_ipv4_malicious(subject, **kwargs)
Checks if the given IPv4 is malicious.
.. warning:: This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
::
from PyFunceble import IPReputationChecker
my_subject = "192.168.0.1"
the_status = IPReputationChecker(
my_subject
).get_status()
# Get the status in dict format.
print(the_status.to_dict())
# Get the status in json format.
print(the_status.to_json())
# Check if it is malicious.
print(f"{my_subject} is Malicious ? {the_status.is_malicious()}")
Parameters:
Name | Type | Description | Default |
---|---|---|---|
subject
|
str
|
The subject to work with. |
required |
Source code in PyFunceble/__init__.py
is_ipv4_range(subject, **kwargs)
Checks if the given subject is a syntactically valid IPv4 range.
.. warning:: This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
::
from PyFunceble import IPSyntaxChecker
my_subject = "192.168.0.0"
the_status = IPSyntaxChecker(
my_subject
).get_status()
# Get the status in dict format.
print(the_status.to_dict())
# Get the status in json format.
print(the_status.to_json())
# Check if it is IPv4 range.
print(f"{my_subject} is IPv4 range ? {the_status.is_valid_v4_range()}")
Parameters:
Name | Type | Description | Default |
---|---|---|---|
subject
|
str
|
The subject to work with. |
required |
Source code in PyFunceble/__init__.py
is_ipv6(subject, **kwargs)
Checks if the given subject is a syntactically valid IPv6.
.. warning:: This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
::
from PyFunceble import IPSyntaxChecker
my_subject = "192.168.0.0"
the_status = IPSyntaxChecker(
my_subject
).get_status()
# Get the status in dict format.
print(the_status.to_dict())
# Get the status in json format.
print(the_status.to_json())
# Check if it is an IPv6.
print(f"{my_subject} is IPv6 ? {the_status.is_valid_v6()}")
Parameters:
Name | Type | Description | Default |
---|---|---|---|
subject
|
str
|
The subject to work with. |
required |
Source code in PyFunceble/__init__.py
is_ipv6_range(subject, **kwargs)
Checks if the given subject is a syntactically valid IPv6 range.
.. warning:: This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
::
from PyFunceble import IPSyntaxChecker
my_subject = "::1"
the_status = IPSyntaxChecker(
my_subject
).get_status()
# Get the status in dict format.
print(the_status.to_dict())
# Get the status in json format.
print(the_status.to_json())
# Check if it is IPv6 range.
print(f"{my_subject} is IPv6 range ? {the_status.is_valid_v6_range()}")
Parameters:
Name | Type | Description | Default |
---|---|---|---|
subject
|
str
|
The subject to work with. |
required |
Source code in PyFunceble/__init__.py
is_second_level_domain(subject, **kwargs)
Checks if the given subject is a syntactically valid second level domain.
.. warning:: This method was added for retrocompatibility. It may be removed in the future and is still available for convenience.
Please consider the following alternative example:
::
from PyFunceble import SecondLvlDomainSyntaxChecker
my_subject = "example.org"
the_status = SecondLvlDomainSyntaxChecker(
my_subject
).get_status()
# Get the status in dict format.
print(the_status.to_dict())
# Get the status in json format.
print(the_status.to_json())
# Check if it is a second level domain.
print(f"{my_subject} is 2nd level domain ? {the_status.is_valid()}")
Parameters:
Name | Type | Description | Default |
---|---|---|---|
subject
|
str
|
The subject to work with. |
required |
Source code in PyFunceble/__init__.py
is_subdomain(subject, **kwargs)
Checks if the given subject is a syntactically valid subdomain.
.. warning:: This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
::
from PyFunceble import SubDomainSyntaxChecker
my_subject = "hello.example.org"
the_status = SubDomainSyntaxChecker(
my_subject
).get_status()
# Get the status in dict format.
print(the_status.to_dict())
# Get the status in json format.
print(the_status.to_json())
# Check if it is a subdomain.
print(f"{my_subject} is subdomain ? {the_status.is_valid()}")
Parameters:
Name | Type | Description | Default |
---|---|---|---|
subject
|
str
|
The subject to work with. |
required |
Source code in PyFunceble/__init__.py
is_url(subject, **kwargs)
Checks if the given subject is syntactically a valid URL.
.. warning:: This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
::
from PyFunceble import DomainReputationChecker
my_subject = "https://example.org"
the_status = URLSyntaxChecker(
my_subject
).get_status()
# Get the status in dict format.
print(the_status.to_dict())
# Get the status in json format.
print(the_status.to_json())
# Check if it is a URL.
print(f"{my_subject} is URL ? {the_status.is_valid()}")
:parma subject: The subject to check.
Source code in PyFunceble/__init__.py
is_url_malicious(subject, **kwargs)
Checks if the given URL is malicious.
.. warning:: This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
::
from PyFunceble import URLReputationChecker
my_subject = "https://example.org"
the_status = URLReputationChecker(
my_subject
).get_status()
# Get the status in dict format.
print(the_status.to_dict())
# Get the status in json format.
print(the_status.to_json())
# Check if it is malicious.
print(f"{my_subject} is Malicious ? {the_status.is_malicious()}")
Parameters:
Name | Type | Description | Default |
---|---|---|---|
subject
|
str
|
The subject to work with. |
required |
Source code in PyFunceble/__init__.py
load_config(*args, **kwargs)
Placeholder before deletion.
Since 4.0.0, you are not required to load the configuration before hand. If you still want too because you may want to use a special CLI related method, you can doing it so:
::
import PyFunceble.facility
PyFunceble.facility.ConfigLoader.start()
Source code in PyFunceble/__init__.py
test(subject, **kwargs)
Checks the avaialbility of the given subject assuming that it is a domain or an IP.
.. warning:: This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
::
from PyFunceble import DomainAndIPAvailabilityChecker
my_subject = "example.org"
the_status = DomainAndIPAvailabilityChecker(
my_subject
).get_status()
# Get the status in dict format.
print(the_status.to_dict())
# Get the status in json format.
print(the_status.to_json())
# Check if it is available.
print(f"{my_subject} is available ? {the_status.is_available()}")
Parameters:
Name | Type | Description | Default |
---|---|---|---|
subject
|
str
|
The subject to work with. |
required |
Source code in PyFunceble/__init__.py
url_test(subject, **kwargs)
Checks the availability of the given subject assuming that it is a URL.
.. warning:: This method may be removed in the future. It is still available for convenience.
Please consider the following alternative example:
::
from PyFunceble import URLAvailabilityChecker
my_subject = "http://example.org"
the_status = URLAvailabilityChecker(
my_subject
).get_status()
# Get the status in dict format.
print(the_status.to_dict())
# Get the status in json format.
print(the_status.to_json())
# Check if it is available.
print(f"{my_subject} is available ? {the_status.is_available()}")
Parameters:
Name | Type | Description | Default |
---|---|---|---|
subject
|
str
|
The subject to work with. |
required |