Skip to content

Commit

Permalink
Merge pull request ZeroNetX#168 from zeronet-conservancy/redirect_bit…
Browse files Browse the repository at this point in the history
…_domains

redirect bit domains
  • Loading branch information
caryoscelus committed Nov 20, 2022
2 parents 3301135 + 53d51e8 commit 76d9604
Show file tree
Hide file tree
Showing 3 changed files with 12 additions and 3 deletions.
2 changes: 2 additions & 0 deletions src/Db/Db.py
Original file line number Diff line number Diff line change
@@ -1,3 +1,5 @@
## please note that this file uses custom db cursor and thus may surprise you with how sql queries are performed

import sqlite3
import json
import time
Expand Down
1 change: 0 additions & 1 deletion src/Site/Site.py
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@ class Site(object):
def __init__(self, address, allow_create=True, settings=None):
self.address = str(re.sub("[^A-Za-z0-9]", "", address)) # Make sure its correct address
self.address_hash = hashlib.sha256(self.address.encode("ascii")).digest()
self.address_sha1 = hashlib.sha1(self.address.encode("ascii")).digest()
self.address_short = "%s..%s" % (self.address[:6], self.address[-4:]) # Short address for logging
self.log = logging.getLogger("Site:%s" % self.address_short)
self.addEventListeners()
Expand Down
12 changes: 10 additions & 2 deletions src/Ui/UiRequest.py
Original file line number Diff line number Diff line change
Expand Up @@ -372,7 +372,7 @@ def formatRedirect(self, url):
# Redirect to an url
def actionRedirect(self, url):
self.start_response('301 Redirect', [('Location', str(url))])
yield self.formatRedirect(url)
return self.formatRedirect(url)

def actionIndex(self):
return self.actionRedirect("/" + config.homepage + "/")
Expand Down Expand Up @@ -634,7 +634,9 @@ def parsePath(self, path):
match = re.match(r"/(media/)?(?P<address>[A-Za-z0-9]+[A-Za-z0-9\._-]+)(?P<inner_path>/.*|$)", path)
if match:
path_parts = match.groupdict()
if self.isDomain(path_parts["address"]):
addr = path_parts["address"]
if self.isDomain(addr):
path_parts["domain"] = addr
path_parts["address"] = self.resolveDomain(path_parts["address"])
path_parts["request_address"] = path_parts["address"] # Original request address (for Merger sites)
path_parts["inner_path"] = path_parts["inner_path"].lstrip("/")
Expand All @@ -651,6 +653,12 @@ def actionSiteMedia(self, path, header_length=True, header_noscript=False):
except SecurityError as err:
return self.error403(err)

if "domain" in path_parts:
addr = path_parts['address']
path = path_parts['inner_path']
query = self.env['QUERY_STRING']
return self.actionRedirect(f"/{addr}/{path}?{query}")

if not path_parts:
return self.error404(path)

Expand Down

0 comments on commit 76d9604

Please sign in to comment.