logger.warning("blocked is empty, blocker='%s'", blocker)
continue
elif blocked.count("*") > 0:
+ logger.debug("blocker='%s' uses obsfucated domains, marking ...", blocker)
+ instances.set_has_obsfucation(blocker, True)
+
# Some friendica servers also obscure domains without hash
row = instances.deobscure("*", blocked)
origin = row[1]
nodeinfo_url = row[2]
elif blocked.count("?") > 0:
+ logger.debug("blocker='%s' uses obsfucated domains, marking ...", blocker)
+ instances.set_has_obsfucation(blocker, True)
+
# Some obscure them with question marks, not sure if that's dependent on version or not
row = instances.deobscure("?", blocked)
"last_status_code" : {},
# Last error details
"last_error_details" : {},
+ # Wether obsfucation has been used
+ "has_obsfucation" : {},
}
def _set_data(key: str, domain: str, value: any):
logger.debug("Updating last_nodeinfo for domain='%s'", domain)
_set_data("last_nodeinfo", domain, time.time())
- # Running pending updated
- logger.debug("Invoking update_data(%s) ...", domain)
- update_data(domain)
-
logger.debug("EXIT!")
def set_last_error(domain: str, error: dict):
def set_nodeinfo_url(domain: str, url: str):
logger.debug(f"domain='{domain}',url='{url}' - CALLED!")
domain_helper.raise_on(domain)
+
if not isinstance(url, str):
raise ValueError("Parameter url[]='{type(url)}' is not 'list'")
elif url == "":
def set_detection_mode(domain: str, mode: str):
logger.debug(f"domain='{domain}',mode='{mode}' - CALLED!")
domain_helper.raise_on(domain)
+
if not isinstance(mode, str):
raise ValueError("Parameter mode[]='{type(mode)}' is not 'list'")
elif mode == "":
# Set timestamp
_set_data("detection_mode", domain, mode)
logger.debug("EXIT!")
+
+def set_has_obsfucation(domain: str, status: bool):
+ logger.debug("domain(%d)='%s',status='%s' - CALLED!", len(domain), domain)
+ domain_helper.raise_on(domain)
+
+ if not isinstance(status, bool):
+ raise ValueError(f"Parameter status[]='{type(status)}' is not 'bool'")
+
+ # Set timestamp
+ _set_data("has_obsfucation", domain, status)
+ logger.debug("EXIT!")
logger.warning("blocked is empty, domain='%s'", domain)
continue
elif blocked.count("*") > 0:
+ logger.debug("domain='%s' uses obsfucated domains, marking ...", domain)
+ instances.set_has_obsfucation(domain, True)
+
# Doing the hash search for instance names as well to tidy up DB
row = instances.deobscure("*", blocked, blocked_hash)
origin = row[1]
nodeinfo_url = row[2]
elif blocked.count("?") > 0:
+ logger.debug("domain='%s' uses obsfucated domains, marking ...", domain)
+ instances.set_has_obsfucation(domain, True)
+
# Doing the hash search for instance names as well to tidy up DB
row = instances.deobscure("?", blocked, blocked_hash)
logger.debug("blocked='%s' is a fake domain - SKIPPED!", blocked)
continue
elif blocked.count("*") > 0:
+ logger.debug("domain='%s' uses obsfucated domains, marking ...", domain)
+ instances.set_has_obsfucation(domain, True)
+
# Obscured domain name with no hash
row = instances.deobscure("*", blocked)
origin = row[1]
nodeinfo_url = row[2]
elif blocked.count("?") > 0:
+ logger.debug("domain='%s' uses obsfucated domains, marking ...", domain)
+ instances.set_has_obsfucation(domain, True)
+
# Obscured domain name with no hash
row = instances.deobscure("?", blocked)
logger.debug("blocked='%s' is a fake domain - SKIPPED!", blocked)
continue
elif blocked.count("*") > 0:
+ logger.debug("domain='%s' uses obsfucated domains, marking ...", domain)
+ instances.set_has_obsfucation(domain, True)
+
# Obscured domain name with no hash
row = instances.deobscure("*", blocked)
origin = row[1]
nodeinfo_url = row[2]
elif blocked.count("?") > 0:
+ logger.debug("domain='%s' uses obsfucated domains, marking ...", domain)
+ instances.set_has_obsfucation(domain, True)
+
# Obscured domain name with no hash
row = instances.deobscure("?", blocked)
logger.warning("blocked is empty after tidyup.domain(): domain='%s',block_level='%s'", domain, block_level)
continue
elif blocked.count("*") > 0:
+ logger.debug("domain='%s' uses obsfucated domains, marking ...", domain)
+ instances.set_has_obsfucation(domain, True)
+
# Obscured domain name with no hash
row = instances.deobscure("*", blocked)
origin = row[1]
nodeinfo_url = row[2]
elif blocked.count("?") > 0:
+ logger.debug("domain='%s' uses obsfucated domains, marking ...", domain)
+ instances.set_has_obsfucation(domain, True)
+
# Obscured domain name with no hash
row = instances.deobscure("?", blocked)
logger.warning("blocked is empty after tidyup.domain(): domain='%s',block_level='%s'", domain, block_level)
continue
elif blocked.count("*") > 0:
+ logger.debug("domain='%s' uses obsfucated domains, marking ...", domain)
+ instances.set_has_obsfucation(domain, True)
+
# Obscured domain name with no hash
row = instances.deobscure("*", blocked)
origin = row[1]
nodeinfo_url = row[2]
elif blocked.count("?") > 0:
+ logger.debug("domain='%s' uses obsfucated domains, marking ...", domain)
+ instances.set_has_obsfucation(domain, True)
+
# Obscured domain name with no hash
row = instances.deobscure("?", blocked)
logger.warning("blocked is empty after tidyup.domain(): domain='%s',block_level='%s'", domain, block_level)
continue
elif blocked.count("*") > 0:
+ logger.debug("domain='%s' uses obsfucated domains, marking ...", domain)
+ instances.set_has_obsfucation(domain, True)
+
# Obscured domain name with no hash
row = instances.deobscure("*", blocked)
origin = row[1]
nodeinfo_url = row[2]
elif blocked.count("?") > 0:
+ logger.debug("domain='%s' uses obsfucated domains, marking ...", domain)
+ instances.set_has_obsfucation(domain, True)
+
# Obscured domain name with no hash
row = instances.deobscure("?", blocked)
raise ValueError("Parameter 'command' is empty")
if domain.find("*") > 0:
+ logger.debug("blocker='%s' uses obsfucated domains, marking ...", blocker)
+ instances.set_has_obsfucation(blocker, True)
+
# Try to de-obscure it
row = instances.deobscure("*", domain)
logger.debug(f"domain='{domain}' de-obscured to '{row[0]}'")
domain = row[0]
elif domain.find("?") > 0:
+ logger.debug("blocker='%s' uses obsfucated domains, marking ...", blocker)
+ instances.set_has_obsfucation(blocker, True)
+
# Try to de-obscure it
row = instances.deobscure("?", domain)
}
a.listlink {
text-decoration: none;
- font-size: 0.8em;
}
a:hover {
color: #f00000;
-<a href="https://{{domain}}" rel="nofollow noopener noreferrer">{{domain}}</a>
[<a class="listlink" href="{{base_url}}/top?reverse={{domain}}" title="Search {{domain}}">D</a>]
[<a class="listlink" href="{{base_url}}/top?reverse={{domain}}" title="Reverse search {{domain}}">R</a>]
+<a href="https://{{domain}}" rel="nofollow noopener noreferrer">{{domain}}</a>