import pathlib hooks = ["http.*:\/\/$HOST\/~.*"] def run(ctx, r): user = r.path[1:].split("/")[0].replace("~", "") route = "/"+("/".join(r.path[1:].split("/")[1:])) if not(user in ctx.auth.get_real_users()): return { "body": f"

404! no such user!


consult users.{ctx.cfg.get('host')} to see all registered users", "status": 404, "content_type": "text/html" } requested = "/index.html" if route == "/" else route requested = f"/home/{user}/.web/{requested}" if not(str(pathlib.Path(requested).resolve()).startswith(f"/home/{user}/.web/")): return { "body": f"

403! illegal path!


you are not allowed access to {requested}!", "status": 403, "content_type": "text/html" } try: f = open(requested).read() except: return { "body": f"

404! no such path {requested}


double check the path exists in your ~/.web directory!", "status": 404, "content_type": "text/html" } return { "content_type": "text/html", "body": f }