From: Roland Häder Date: Tue, 20 Jun 2023 12:16:30 +0000 (+0200) Subject: Continued: X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=0964edabda1336e05bdcc74d2dba6a37f4f80f06;p=fba.git Continued: - only check for domain part, some instances may have been installed in a sub path --- diff --git a/api.py b/api.py index 87f7145..052b383 100644 --- a/api.py +++ b/api.py @@ -93,7 +93,7 @@ def api_blocked(domain: str = None, reason: str = None, reverse: str = None): if domain is not None: domain = tidyup.domain(domain) - if not validators.domain(domain): + if not validators.domain(domain.split("/")[0]): raise HTTPException(status_code=500, detail="Invalid domain") wildchar = "*." + ".".join(domain.split(".")[-domain.count("."):]) @@ -218,7 +218,7 @@ def top(request: Request, domain: str = None, reason: str = None, reverse: str = if domain is not None: domain = tidyup.domain(domain) - if not validators.domain(domain): + if not validators.domain(domain.split("/")[0]): raise HTTPException(status_code=500, detail="Invalid domain") response = requests.get(f"http://{config.get('host')}:{config.get('port')}{config.get('base_url')}/api/index.json?domain={domain}") diff --git a/fba/commands.py b/fba/commands.py index e51de62..4daf534 100644 --- a/fba/commands.py +++ b/fba/commands.py @@ -344,7 +344,7 @@ def fetch_observer(args: argparse.Namespace): domain = item.decode_contents() # DEBUG: print(f"DEBUG: domain='{domain}'") - if not validators.domain(domain): + if not validators.domain(domain.split("/")[0]): print(f"WARNING: domain='{domain}' is not a valid domain - SKIPPED!") continue elif blacklist.is_blacklisted(domain): diff --git a/fba/fba.py b/fba/fba.py index 23e2de3..8e3c0c0 100644 --- a/fba/fba.py +++ b/fba/fba.py @@ -108,7 +108,7 @@ def process_domain(domain: str, blocker: str, command: str) -> bool: # DEBUG: print(f"DEBUG: domain='{domain}' de-obscured to '{row[0]}'") domain = row[0] - if not validators.domain(domain): + if not validators.domain(domain.split("/")[0]): print(f"WARNING: domain='{domain}' is not a valid domain - SKIPPED!") return False elif domain.endswith(".arpa"): diff --git a/fba/federation.py b/fba/federation.py index 2ebd402..6d3247f 100644 --- a/fba/federation.py +++ b/fba/federation.py @@ -50,7 +50,7 @@ def fetch_instances(domain: str, origin: str, software: str, command: str, path: raise ValueError(f"Parameter domain[]='{type(domain)}' is not 'str'") elif domain == "": raise ValueError("Parameter 'domain' is empty") - elif not validators.domain(domain): + elif not validators.domain(domain.split("/")[0]): raise ValueError(f"domain='{domain}' is not a valid domain") elif domain.endswith(".arpa"): raise ValueError(f"domain='{domain}' is a domain for reversed IP addresses, please don't crawl them!") @@ -148,7 +148,7 @@ def fetch_peers(domain: str, software: str) -> list: raise ValueError(f"Parameter domain[]='{type(domain)}' is not 'str'") elif domain == "": raise ValueError("Parameter 'domain' is empty") - elif not validators.domain(domain): + elif not validators.domain(domain.split("/")[0]): raise ValueError(f"domain='{domain}' is not a valid domain") elif domain.endswith(".arpa"): raise ValueError(f"domain='{domain}' is a domain for reversed IP addresses, please don't crawl them!") @@ -228,7 +228,7 @@ def fetch_nodeinfo(domain: str, path: str = None) -> dict: raise ValueError(f"Parameter domain[]='{type(domain)}' is not 'str'") elif domain == "": raise ValueError("Parameter 'domain' is empty") - elif not validators.domain(domain): + elif not validators.domain(domain.split("/")[0]): raise ValueError(f"domain='{domain}' is not a valid domain") elif domain.endswith(".arpa"): raise ValueError(f"domain='{domain}' is a domain for reversed IP addresses, please don't crawl them!") @@ -304,7 +304,7 @@ def fetch_wellknown_nodeinfo(domain: str) -> dict: raise ValueError(f"Parameter domain[]='{type(domain)}' is not 'str'") elif domain == "": raise ValueError("Parameter 'domain' is empty") - elif not validators.domain(domain): + elif not validators.domain(domain.split("/")[0]): raise ValueError(f"domain='{domain}' is not a valid domain") elif domain.endswith(".arpa"): raise ValueError(f"domain='{domain}' is a domain for reversed IP addresses, please don't crawl them!") @@ -381,7 +381,7 @@ def fetch_generator_from_path(domain: str, path: str = "/") -> str: raise ValueError(f"Parameter domain[]='{type(domain)}' is not 'str'") elif domain == "": raise ValueError("Parameter 'domain' is empty") - elif not validators.domain(domain): + elif not validators.domain(domain.split("/")[0]): raise ValueError(f"domain='{domain}' is not a valid domain") elif domain.endswith(".arpa"): raise ValueError(f"domain='{domain}' is a domain for reversed IP addresses, please don't crawl them!") @@ -582,7 +582,7 @@ def find_domains(tag: bs4.element.Tag) -> list: "reason": reason, }) continue - elif not validators.domain(domain): + elif not validators.domain(domain.split("/")[0]): print(f"WARNING: domain='{domain}' is not a valid domain - SKIPPED!") continue diff --git a/fba/network.py b/fba/network.py index ae98476..3ebba9d 100644 --- a/fba/network.py +++ b/fba/network.py @@ -54,7 +54,7 @@ def post_json_api(domain: str, path: str, data: str = "", headers: dict = {}) -> raise ValueError(f"Parameter domain[]='{type(domain)}' is not 'str'") elif domain == "": raise ValueError("Parameter 'domain' is empty") - elif not validators.domain(domain): + elif not validators.domain(domain.split("/")[0]): raise ValueError(f"domain='{domain}' is not a valid domain") elif domain.endswith(".arpa"): raise ValueError(f"domain='{domain}' is a domain for reversed IP addresses, please don't crawl them!") @@ -143,7 +143,7 @@ def get_json_api(domain: str, path: str, headers: dict, timeout: tuple) -> dict: raise ValueError(f"Parameter domain[]='{type(domain)}' is not 'str'") elif domain == "": raise ValueError("Parameter 'domain' is empty") - elif not validators.domain(domain): + elif not validators.domain(domain.split("/")[0]): raise ValueError(f"domain='{domain}' is not a valid domain") elif domain.endswith(".arpa"): raise ValueError(f"domain='{domain}' is a domain for reversed IP addresses, please don't crawl them!") @@ -244,7 +244,7 @@ def fetch_response(domain: str, path: str, headers: dict, timeout: tuple) -> req raise ValueError(f"Parameter domain[]='{type(domain)}' is not 'str'") elif domain == "": raise ValueError("Parameter 'domain' is empty") - elif not validators.domain(domain): + elif not validators.domain(domain.split("/")[0]): raise ValueError(f"domain='{domain}' is not a valid domain") elif domain.endswith(".arpa"): raise ValueError(f"domain='{domain}' is a domain for reversed IP addresses, please don't crawl them!")