diff --git a/src/Config.py b/src/Config.py index dd4726e7..252c3492 100644 --- a/src/Config.py +++ b/src/Config.py @@ -8,7 +8,7 @@ class Config(object): def __init__(self, argv): self.version = "0.5.0" - self.rev = 1702 + self.rev = 1703 self.argv = argv self.action = None self.config_file = "zeronet.conf" diff --git a/src/Ui/UiRequest.py b/src/Ui/UiRequest.py index 5e50b61c..71f82b98 100644 --- a/src/Ui/UiRequest.py +++ b/src/Ui/UiRequest.py @@ -55,7 +55,7 @@ class UiRequest(object): if path == "/": return self.actionIndex() - elif path.endswith("favicon.ico"): + elif path == "/favicon.ico": return self.actionFile("src/Ui/media/img/favicon.ico") # Media elif path.startswith("/uimedia/"): @@ -223,8 +223,10 @@ class UiRequest(object): address = re.sub("/.*", "", path.lstrip("/")) if self.isProxyRequest() and (not path or "/" in path[1:]): file_url = re.sub(".*/", "", inner_path) + root_url = "/" else: file_url = "/" + address + "/" + inner_path + root_url = "/" + address + "/" # Wrapper variable inits query_string = "" @@ -256,6 +258,8 @@ class UiRequest(object): cgi.escape(site.content_manager.contents["content.json"]["background-color"], True) if content.get("viewport"): meta_tags += '' % cgi.escape(content["viewport"], True) + if content.get("favicon"): + meta_tags += '' % (root_url, cgi.escape(content["favicon"], True)) if content.get("postmessage_nonce_security"): postmessage_nonce_security = "true" @@ -355,6 +359,10 @@ class UiRequest(object): return self.actionRedirect("./{0}/".format(path_parts["inner_path"].split("/")[-1])) else: # File not exists, try to download site = SiteManager.site_manager.need(address, all_file=False) + + if path_parts["inner_path"].endswith("favicon.ico"): # Default favicon for all sites + return self.actionFile("src/Ui/media/img/favicon.ico") + result = site.needFile(path_parts["inner_path"], priority=5) # Wait until file downloads if result: return self.actionFile(file_path)