Update app.py

This commit is contained in:
2026-05-05 20:42:44 +02:00
parent 216ede04a7
commit dbe4b21889
+28 -5
View File
@@ -59,9 +59,19 @@ class Config:
# ============================================================
log_level = logging.DEBUG if os.getenv("DEBUG", "false").lower() == "true" else logging.INFO
logging.basicConfig(level=log_level)
logging.basicConfig(
level=log_level,
format="%(message)s"
)
# 🔇 HTTP Noise entfernen
logging.getLogger("werkzeug").setLevel(logging.ERROR)
logging.getLogger("urllib3").setLevel(logging.WARNING)
# 🔇 Gunicorn Access Logs entfernen
logging.getLogger("gunicorn.access").setLevel(logging.WARNING)
logger = logging.getLogger("matrix-interceptor")
def now_iso():
@@ -73,7 +83,7 @@ def log_event(event: str, **kwargs):
logger.info(f"{base} {details}")
def debug_log(title, data):
if config.debug:
if os.getenv("DEBUG", "false").lower() == "true":
logger.debug(f"{title}: {json.dumps(data, default=str)}")
# ============================================================
@@ -96,7 +106,7 @@ RATE_LIMIT = defaultdict(list)
METRICS = defaultdict(int)
CACHE_FILE = "/app/cache/known_users.json"
CACHE_DIRTY = False
CACHE_DIRTY = True
# ============================================================
# CACHE HANDLING
@@ -382,19 +392,32 @@ def invite(room_id, event_id):
if domain in config.domain_whitelist:
remember_user(sender)
return forward_request(
METRICS["invite_allowed"] += 1
return forward_request(...)
"PUT",
f"{config.tuwunel_url}/_matrix/federation/v2/invite/{room_id}/{event_id}",
request.headers,
payload
)
if config.block_external_dms and is_external(sender):
is_dm = is_likely_dm_event(event)
if config.block_external_dms and is_dm and is_external(sender):
if not is_known_user(sender):
# 🔥 fallback fix
if is_user_in_local_rooms(sender):
remember_user(sender)
METRICS["invite_allowed"] += 1
return forward_request(
"PUT",
f"{config.tuwunel_url}/_matrix/federation/v2/invite/{room_id}/{event_id}",
request.headers,
payload
)
else:
METRICS["invite_blocked"] += 1
log_event(