From: Roland Häder Date: Wed, 28 Jun 2023 04:28:05 +0000 (+0200) Subject: Continued: X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=0f224c6e874fae8107947e89bca4305b79fe992b;p=fba.git Continued: - only mark instances having obfuscated block entries when at least one cannot be deobfuscated --- diff --git a/fba/commands.py b/fba/commands.py index e313243..a915596 100644 --- a/fba/commands.py +++ b/fba/commands.py @@ -295,8 +295,7 @@ def fetch_blocks(args: argparse.Namespace) -> int: logger.debug("blocked='%s' is a fake domain - SKIPPED", block["blocked"]) continue elif block["blocked"].find("*") >= 0: - logger.debug("blocker='%s' uses obfuscated domains, marking ...", blocker) - instances.set_has_obfuscation(blocker, True) + logger.debug("blocker='%s' uses obfuscated domains", blocker) # Some friendica servers also obscure domains without hash row = instances.deobfuscate("*", block["blocked"], block["hash"] if "hash" in block else None) @@ -304,14 +303,14 @@ def fetch_blocks(args: argparse.Namespace) -> int: logger.debug("row[]='%s'", type(row)) if row is None: logger.warning("Cannot deobfuscate blocked='%s',blocker='%s',software='%s' - SKIPPED!", block["blocked"], blocker, software) + instances.set_has_obfuscation(blocker, True) continue block["blocked"] = row[0] origin = row[1] nodeinfo_url = row[2] elif block["blocked"].find("?") >= 0: - logger.debug("blocker='%s' uses obfuscated domains, marking ...", blocker) - instances.set_has_obfuscation(blocker, True) + logger.debug("blocker='%s' uses obfuscated domains", blocker) # Some obscure them with question marks, not sure if that's dependent on version or not row = instances.deobfuscate("?", block["blocked"], block["hash"] if "hash" in block else None) @@ -319,6 +318,7 @@ def fetch_blocks(args: argparse.Namespace) -> int: logger.debug("row[]='%s'", type(row)) if row is None: logger.warning("Cannot deobfuscate blocked='%s',blocker='%s',software='%s' - SKIPPED!", block["blocked"], blocker, software) + instances.set_has_obfuscation(blocker, True) continue block["blocked"] = row[0] diff --git a/fba/helpers/blacklist.py b/fba/helpers/blacklist.py index 06c066f..02c7b80 100644 --- a/fba/helpers/blacklist.py +++ b/fba/helpers/blacklist.py @@ -39,8 +39,6 @@ blacklist = [ "misskeytest.chn.moe", # block flooder "everyoneattack.com", - # responds with very long reply - "grossard.fr", ] def is_blacklisted(domain: str) -> bool: diff --git a/fba/utils.py b/fba/utils.py index c8d6eea..c91bba4 100644 --- a/fba/utils.py +++ b/fba/utils.py @@ -190,8 +190,7 @@ def deobfuscate_domain(domain: str, blocker: str, domain_hash: str = None) -> st raise ValueError(f"Parameter domain_hash[]='{type(domain_hash)}' is not of type 'str'") if domain.find("*") >= 0: - logger.debug("blocker='%s' uses obfuscated domains, marking ...", blocker) - instances.set_has_obfuscation(blocker, True) + logger.debug("blocker='%s' uses obfuscated domains", blocker) # Obscured domain name with no hash row = instances.deobfuscate("*", domain, domain_hash) @@ -200,9 +199,11 @@ def deobfuscate_domain(domain: str, blocker: str, domain_hash: str = None) -> st if row is not None: logger.debug("domain='%s' de-obscured to '%s'", domain, row[0]) domain = row[0] + else: + logger.debug("blocker='%s' has domain that cannot be deobfuscated.", blocker) + instances.set_has_obfuscation(blocker, True) elif domain.find("?") >= 0: - logger.debug("blocker='%s' uses obfuscated domains, marking ...", blocker) - instances.set_has_obfuscation(blocker, True) + logger.debug("blocker='%s' uses obfuscated domains", blocker) # Obscured domain name with no hash row = instances.deobfuscate("?", domain, domain_hash) @@ -211,6 +212,9 @@ def deobfuscate_domain(domain: str, blocker: str, domain_hash: str = None) -> st if row is not None: logger.debug("domain='%s' de-obscured to '%s'", domain, row[0]) domain = row[0] + else: + logger.debug("blocker='%s' has domain that cannot be deobfuscated.", blocker) + instances.set_has_obfuscation(blocker, True) else: logger.debug("domain='%s' is not obfuscated", domain)