From ec3c7e3241014a39a7d8cffdb2844141656f799d Mon Sep 17 00:00:00 2001 From: Sweetbread Date: Tue, 14 Apr 2026 22:21:10 +0300 Subject: [PATCH] wip --- app.py | 2 ++ modules/domains.py | 20 ++++++++++++++++++++ 2 files changed, 22 insertions(+) create mode 100644 modules/domains.py diff --git a/app.py b/app.py index 66d8ff0..139b2af 100644 --- a/app.py +++ b/app.py @@ -1,4 +1,5 @@ from modules import locale +from modules import domains from blueprints.root import bp as root_bp from blueprints.risdeveau import bp as rdv_bp @@ -20,6 +21,7 @@ app.jinja_env.add_extension('pypugjs.ext.jinja.PyPugJSExtension') app.before_request(locale.before_request) app.context_processor(locale.inject_translations) +app.context_processor(domain.inject_get_domain) app.register_blueprint(root_bp) app.register_blueprint(rdv_bp) diff --git a/modules/domains.py b/modules/domains.py new file mode 100644 index 0000000..281ab36 --- /dev/null +++ b/modules/domains.py @@ -0,0 +1,20 @@ +from flask import g, request + +def get_curr_mode() -> str: + match request.headers['host']: + case "lair.moe": return "clearnet" + case "ygg.lair.moe": return "ygg-dns" + case "lair.ygg": return "ygg-alfis" + case "lair.ygg.at": return "ygg-alfis-at" + else: return "ip" + +def inject_get_domain(): + def get_domain(domain: str, mode=get_cur_mode(): str) -> str: + match mode: + case "clearnet": return f"{domain}.lair.moe" + case "ygg-dns": return f"{domain}.ygg.lair.moe" + case "ygg-alfis": return f"{domain}.lair.ygg" + case "ygg-alfis-at": return f"{domain}.lair.ygg.at" + else: return "" + + return {':': get_domain}