PyFunceble.checker package
Subpackages
- PyFunceble.checker.availability package
- Subpackages
- PyFunceble.checker.availability.extras package
- Submodules
- PyFunceble.checker.availability.extras.base module
- PyFunceble.checker.availability.extras.dns module
- PyFunceble.checker.availability.extras.etoxic module
- PyFunceble.checker.availability.extras.parked module
- PyFunceble.checker.availability.extras.rules module
- PyFunceble.checker.availability.extras.subject_switch module
- Module contents
- PyFunceble.checker.availability.extras package
- Submodules
- PyFunceble.checker.availability.base module
AvailabilityCheckerBaseAvailabilityCheckerBase.STD_USE_DNS_LOOKUPAvailabilityCheckerBase.STD_USE_EXTRA_RULESAvailabilityCheckerBase.STD_USE_HTTP_CODE_LOOKUPAvailabilityCheckerBase.STD_USE_NETINFO_LOOKUPAvailabilityCheckerBase.STD_USE_REPUTATION_LOOKUPAvailabilityCheckerBase.STD_USE_WHOIS_DBAvailabilityCheckerBase.STD_USE_WHOIS_LOOKUPAvailabilityCheckerBase.addressinfo_query_toolAvailabilityCheckerBase.dns_query_toolAvailabilityCheckerBase.domain_syntax_checkerAvailabilityCheckerBase.extra_rules_handlersAvailabilityCheckerBase.get_status()AvailabilityCheckerBase.guess_all_settings()AvailabilityCheckerBase.guess_and_set_dns_lookup()AvailabilityCheckerBase.guess_and_set_use_extra_rules()AvailabilityCheckerBase.guess_and_set_use_http_code_lookup()AvailabilityCheckerBase.guess_and_set_use_netinfo_lookup()AvailabilityCheckerBase.guess_and_set_use_reputation_lookup()AvailabilityCheckerBase.guess_and_set_use_whois_db()AvailabilityCheckerBase.guess_and_set_use_whois_lookup()AvailabilityCheckerBase.hostbyaddr_query_toolAvailabilityCheckerBase.http_status_code_query_toolAvailabilityCheckerBase.ip_syntax_checkerAvailabilityCheckerBase.paramsAvailabilityCheckerBase.query_common_checker()AvailabilityCheckerBase.query_dns_record()AvailabilityCheckerBase.query_status()AvailabilityCheckerBase.set_use_dns_lookup()AvailabilityCheckerBase.set_use_extra_rules()AvailabilityCheckerBase.set_use_http_code_lookup()AvailabilityCheckerBase.set_use_netinfo_lookup()AvailabilityCheckerBase.set_use_reputation_lookup()AvailabilityCheckerBase.set_use_whois_db()AvailabilityCheckerBase.set_use_whois_lookup()AvailabilityCheckerBase.should_we_continue_test()AvailabilityCheckerBase.statusAvailabilityCheckerBase.subject_propagator()AvailabilityCheckerBase.try_to_query_status_from_dns()AvailabilityCheckerBase.try_to_query_status_from_extra_rules()AvailabilityCheckerBase.try_to_query_status_from_http_status_code()AvailabilityCheckerBase.try_to_query_status_from_netinfo()AvailabilityCheckerBase.try_to_query_status_from_platform()AvailabilityCheckerBase.try_to_query_status_from_reputation()AvailabilityCheckerBase.try_to_query_status_from_syntax_lookup()AvailabilityCheckerBase.try_to_query_status_from_whois()AvailabilityCheckerBase.url2netlocAvailabilityCheckerBase.url_syntax_checkerAvailabilityCheckerBase.use_dns_lookupAvailabilityCheckerBase.use_extra_rulesAvailabilityCheckerBase.use_http_code_lookupAvailabilityCheckerBase.use_netinfo_lookupAvailabilityCheckerBase.use_reputation_lookupAvailabilityCheckerBase.use_whois_dbAvailabilityCheckerBase.use_whois_lookupAvailabilityCheckerBase.whois_query_tool
- PyFunceble.checker.availability.domain module
- PyFunceble.checker.availability.domain_and_ip module
- PyFunceble.checker.availability.ip module
- PyFunceble.checker.availability.params module
AvailabilityCheckerParamsAvailabilityCheckerParams.do_syntax_check_firstAvailabilityCheckerParams.use_dns_lookupAvailabilityCheckerParams.use_extra_rulesAvailabilityCheckerParams.use_http_code_lookupAvailabilityCheckerParams.use_netinfo_lookupAvailabilityCheckerParams.use_reputation_lookupAvailabilityCheckerParams.use_whois_dbAvailabilityCheckerParams.use_whois_lookup
- PyFunceble.checker.availability.status module
AvailabilityCheckerStatusAvailabilityCheckerStatus.checker_typeAvailabilityCheckerStatus.dns_lookupAvailabilityCheckerStatus.dns_lookup_recordAvailabilityCheckerStatus.domain_syntaxAvailabilityCheckerStatus.expiration_dateAvailabilityCheckerStatus.http_status_codeAvailabilityCheckerStatus.ip_syntaxAvailabilityCheckerStatus.ipv4_range_syntaxAvailabilityCheckerStatus.ipv4_syntaxAvailabilityCheckerStatus.ipv6_range_syntaxAvailabilityCheckerStatus.ipv6_syntaxAvailabilityCheckerStatus.is_active()AvailabilityCheckerStatus.is_available()AvailabilityCheckerStatus.is_inactive()AvailabilityCheckerStatus.is_invalid()AvailabilityCheckerStatus.is_special()AvailabilityCheckerStatus.netinfoAvailabilityCheckerStatus.registrarAvailabilityCheckerStatus.second_level_domain_syntaxAvailabilityCheckerStatus.status_after_extra_rulesAvailabilityCheckerStatus.status_before_extra_rulesAvailabilityCheckerStatus.status_source_after_extra_rulesAvailabilityCheckerStatus.status_source_before_extra_rulesAvailabilityCheckerStatus.subdomain_syntaxAvailabilityCheckerStatus.url_syntaxAvailabilityCheckerStatus.whois_lookup_recordAvailabilityCheckerStatus.whois_record
- PyFunceble.checker.availability.url module
- Module contents
- Subpackages
- PyFunceble.checker.reputation package
- Submodules
- PyFunceble.checker.reputation.base module
ReputationCheckerBaseReputationCheckerBase.dns_query_toolReputationCheckerBase.domain_syntax_checkerReputationCheckerBase.get_status()ReputationCheckerBase.ip_syntax_checkerReputationCheckerBase.ipv4_reputation_query_toolReputationCheckerBase.is_valid()ReputationCheckerBase.paramsReputationCheckerBase.query_a_record()ReputationCheckerBase.query_common_checker()ReputationCheckerBase.query_status()ReputationCheckerBase.should_we_continue_test()ReputationCheckerBase.statusReputationCheckerBase.subject_propagator()ReputationCheckerBase.try_to_query_status_from_dns_lookup()ReputationCheckerBase.try_to_query_status_from_platform()ReputationCheckerBase.try_to_query_status_from_syntax_lookup()ReputationCheckerBase.url_syntax_checker
- PyFunceble.checker.reputation.domain module
- PyFunceble.checker.reputation.domain_and_ip module
- PyFunceble.checker.reputation.ip module
- PyFunceble.checker.reputation.params module
- PyFunceble.checker.reputation.status module
ReputationCheckerStatusReputationCheckerStatus.checker_typeReputationCheckerStatus.dns_lookupReputationCheckerStatus.dns_lookup_recordReputationCheckerStatus.domain_syntaxReputationCheckerStatus.has_bad_reputation()ReputationCheckerStatus.ip_syntaxReputationCheckerStatus.ipv4_range_syntaxReputationCheckerStatus.ipv4_syntaxReputationCheckerStatus.ipv6_range_syntaxReputationCheckerStatus.ipv6_syntaxReputationCheckerStatus.is_malicious()ReputationCheckerStatus.is_sane()ReputationCheckerStatus.second_level_domain_syntaxReputationCheckerStatus.subdomain_syntaxReputationCheckerStatus.url_syntax
- PyFunceble.checker.reputation.url module
- Module contents
- PyFunceble.checker.syntax package
- Submodules
- PyFunceble.checker.syntax.base module
- PyFunceble.checker.syntax.domain module
- PyFunceble.checker.syntax.domain_and_ip module
- PyFunceble.checker.syntax.domain_base module
DomainSyntaxCheckerBaseDomainSyntaxCheckerBase.SPECIAL_USE_DOMAIN_NAMES_EXTENSIONSDomainSyntaxCheckerBase.find_last_point_index()DomainSyntaxCheckerBase.get_extension()DomainSyntaxCheckerBase.get_last_point_index()DomainSyntaxCheckerBase.get_subject_without_suffix()DomainSyntaxCheckerBase.iana_datasetDomainSyntaxCheckerBase.is_valid()DomainSyntaxCheckerBase.last_point_indexDomainSyntaxCheckerBase.public_suffix_datasetDomainSyntaxCheckerBase.reset_last_point_index()DomainSyntaxCheckerBase.subject
- PyFunceble.checker.syntax.ip module
IPSyntaxCheckerIPSyntaxChecker.ipv4_checkerIPSyntaxChecker.ipv6_checkerIPSyntaxChecker.is_reserved()IPSyntaxChecker.is_reserved_v4()IPSyntaxChecker.is_reserved_v6()IPSyntaxChecker.is_valid()IPSyntaxChecker.is_valid_range()IPSyntaxChecker.is_valid_v4()IPSyntaxChecker.is_valid_v4_range()IPSyntaxChecker.is_valid_v6()IPSyntaxChecker.is_valid_v6_range()IPSyntaxChecker.subject_propagator()
- PyFunceble.checker.syntax.ipv4 module
- PyFunceble.checker.syntax.ipv6 module
- PyFunceble.checker.syntax.params module
- PyFunceble.checker.syntax.second_lvl_domain module
- PyFunceble.checker.syntax.status module
- PyFunceble.checker.syntax.subdomain module
- PyFunceble.checker.syntax.url module
- Module contents
- PyFunceble.checker.utils package
Submodules
PyFunceble.checker.base module
The tool to check the availability or syntax of domain, IP or URL.
██████╗ ██╗ ██╗███████╗██╗ ██╗███╗ ██╗ ██████╗███████╗██████╗ ██╗ ███████╗
██╔══██╗╚██╗ ██╔╝██╔════╝██║ ██║████╗ ██║██╔════╝██╔════╝██╔══██╗██║ ██╔════╝
██████╔╝ ╚████╔╝ █████╗ ██║ ██║██╔██╗ ██║██║ █████╗ ██████╔╝██║ █████╗
██╔═══╝ ╚██╔╝ ██╔══╝ ██║ ██║██║╚██╗██║██║ ██╔══╝ ██╔══██╗██║ ██╔══╝
██║ ██║ ██║ ╚██████╔╝██║ ╚████║╚██████╗███████╗██████╔╝███████╗███████╗
╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═════╝╚══════╝╚═════╝ ╚══════╝╚══════╝
Provides the base of all checker.
- Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
- Special thanks:
- Contributors:
- Project link:
- Project documentation:
- Project homepage:
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.
- class PyFunceble.checker.base.CheckerBase(subject: str | None = None, *, do_syntax_check_first: bool | None = None, db_session: Session | None = None, use_platform: bool | None = None)[source]
Bases:
objectProvides the base of all checker.
- Parameters:
- property do_syntax_check_first: None
Provides the current state of the
do_syntax_check_firstattribute.
- ensure_subject_is_given()[source]
Ensures that the subject is given before running the decorated method.
- Raises:
TypeError – If the subject is not a string.
- get_status() CheckerStatusBase | None[source]
Provides the current state of the status.
Note
This method will automatically query status using the
PyFunceble.checker.base.CheckerBase.query_status()if thePyFunceble.checker.status_base.CheckerStatusBase.statusattribute is not set.
- guess_and_set_use_platform() CheckerBase[source]
Try to guess and set the value of the
use_platformattribute.
- params: CheckerParamsBase | None = None
- platform_query_tool: PlatformQueryTool | None = None
- propagate_subject()[source]
Propagates the subject to the object that need it after launching the decorated method.
- query_common_checker() CheckerBase[source]
Queries the common checkers.
Warning
Be sure to use setup your status first.
- query_status() CheckerBase[source]
Queries the status.
- set_do_syntax_check_first(value: bool) CheckerBase[source]
Sets the value which allow us to do a syntax check first.
- Parameters:
value – The subject to set.
- set_idna_subject(value: str) CheckerBase[source]
Sets the subject to work with.
- Parameters:
value – The subject to set.
- set_subject(value: str) CheckerBase[source]
Sets the subject to work with.
- Parameters:
value – The subject to set.
- set_use_platform(value: bool) CheckerBase[source]
Sets the value which authorizes the usage of the platform.
- Parameters:
value – The value to set.
- status: CheckerStatusBase | None = None
- subject_propagator() CheckerBase[source]
Propagate the currently set subject.
Warning
Be sure to use setup your status first.
- update_status_date_after_query()[source]
Updates the status dates after running the decorated method.
- url2netloc: Url2Netloc | None = None
PyFunceble.checker.complex_json_encoder module
The tool to check the availability or syntax of domain, IP or URL.
██████╗ ██╗ ██╗███████╗██╗ ██╗███╗ ██╗ ██████╗███████╗██████╗ ██╗ ███████╗
██╔══██╗╚██╗ ██╔╝██╔════╝██║ ██║████╗ ██║██╔════╝██╔════╝██╔══██╗██║ ██╔════╝
██████╔╝ ╚████╔╝ █████╗ ██║ ██║██╔██╗ ██║██║ █████╗ ██████╔╝██║ █████╗
██╔═══╝ ╚██╔╝ ██╔══╝ ██║ ██║██║╚██╗██║██║ ██╔══╝ ██╔══██╗██║ ██╔══╝
██║ ██║ ██║ ╚██████╔╝██║ ╚████║╚██████╗███████╗██████╔╝███████╗███████╗
╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═════╝╚══════╝╚═════╝ ╚══════╝╚══════╝
Provides our very own complex JSON encoder. The purpose of this encoder compared to others is that it was built for the conversion of records or statuses provided by the checker(s).
- Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
- Special thanks:
- Contributors:
- Project link:
- Project documentation:
- Project homepage:
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.
PyFunceble.checker.params_base module
The tool to check the availability or syntax of domain, IP or URL.
██████╗ ██╗ ██╗███████╗██╗ ██╗███╗ ██╗ ██████╗███████╗██████╗ ██╗ ███████╗
██╔══██╗╚██╗ ██╔╝██╔════╝██║ ██║████╗ ██║██╔════╝██╔════╝██╔══██╗██║ ██╔════╝
██████╔╝ ╚████╔╝ █████╗ ██║ ██║██╔██╗ ██║██║ █████╗ ██████╔╝██║ █████╗
██╔═══╝ ╚██╔╝ ██╔══╝ ██║ ██║██║╚██╗██║██║ ██╔══╝ ██╔══██╗██║ ██╔══╝
██║ ██║ ██║ ╚██████╔╝██║ ╚████║╚██████╗███████╗██████╔╝███████╗███████╗
╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═════╝╚══════╝╚═════╝ ╚══════╝╚══════╝
Provides the base of all our params classes.
- Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
- Special thanks:
- Contributors:
- Project link:
- Project documentation:
- Project homepage:
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.
PyFunceble.checker.status_base module
The tool to check the availability or syntax of domain, IP or URL.
██████╗ ██╗ ██╗███████╗██╗ ██╗███╗ ██╗ ██████╗███████╗██████╗ ██╗ ███████╗
██╔══██╗╚██╗ ██╔╝██╔════╝██║ ██║████╗ ██║██╔════╝██╔════╝██╔══██╗██║ ██╔════╝
██████╔╝ ╚████╔╝ █████╗ ██║ ██║██╔██╗ ██║██║ █████╗ ██████╔╝██║ █████╗
██╔═══╝ ╚██╔╝ ██╔══╝ ██║ ██║██║╚██╗██║██║ ██╔══╝ ██╔══██╗██║ ██╔══╝
██║ ██║ ██║ ╚██████╔╝██║ ╚████║╚██████╗███████╗██████╔╝███████╗███████╗
╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═════╝╚══════╝╚═════╝ ╚══════╝╚══════╝
Provides the base of all our status classes.
- Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
- Special thanks:
- Contributors:
- Project link:
- Project documentation:
- Project homepage:
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.
- class PyFunceble.checker.status_base.CheckerStatusBase(subject_kind: str | None = None, subject: str | None = None, idna_subject: str | None = None, netloc: str | None = None, status: str | None = None, status_source: str | None = None, tested_at: datetime | None = None, params: CheckerParamsBase | None = None)[source]
Bases:
objectProvides the base of all status classes.
- params: CheckerParamsBase | None = None
Module contents
The tool to check the availability or syntax of domain, IP or URL.
██████╗ ██╗ ██╗███████╗██╗ ██╗███╗ ██╗ ██████╗███████╗██████╗ ██╗ ███████╗
██╔══██╗╚██╗ ██╔╝██╔════╝██║ ██║████╗ ██║██╔════╝██╔════╝██╔══██╗██║ ██╔════╝
██████╔╝ ╚████╔╝ █████╗ ██║ ██║██╔██╗ ██║██║ █████╗ ██████╔╝██║ █████╗
██╔═══╝ ╚██╔╝ ██╔══╝ ██║ ██║██║╚██╗██║██║ ██╔══╝ ██╔══██╗██║ ██╔══╝
██║ ██║ ██║ ╚██████╔╝██║ ╚████║╚██████╗███████╗██████╔╝███████╗███████╗
╚═╝ ╚═╝ ╚═╝ ╚═════╝ ╚═╝ ╚═══╝ ╚═════╝╚══════╝╚═════╝ ╚══════╝╚══════╝
Provides the checkers.
- Author:
Nissar Chababy, @funilrys, contactTATAfunilrysTODTODcom
- Special thanks:
- Contributors:
- Project link:
- Project documentation:
- Project homepage:
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.