diff --git a/handlers/keys/operations/aggregated_links.py b/handlers/keys/operations/aggregated_links.py index 849a8331..354697c9 100644 --- a/handlers/keys/operations/aggregated_links.py +++ b/handlers/keys/operations/aggregated_links.py @@ -168,15 +168,25 @@ async def make_aggregated_link( if legacy_links_enabled: logger.info("[agg_link] LEGACY non-vless -> base link") return f"{base}/{email}/{tg_id}" + + happ_cryptolink_enabled = bool(MODES_CONFIG.get("HAPP_CRYPTOLINK_ENABLED", HAPP_CRYPTOLINK)) + + if remna_link_override and ( + remna_link_override.lower().startswith("vless://") or remna_link_override.startswith(("http", "happ://")) + ): + if not happ_cryptolink_enabled: + logger.info("[agg_link] choose override Remnawave (non-vless)") + return remna_link_override + best_vless, sub_url, happ_link = await _try_build_remna_vless(remna, email) + if happ_link: + logger.info("[agg_link] choose Remnawave cryptoLink (non-vless)") + return happ_link if remna_link_override and ( remna_link_override.lower().startswith("vless://") or remna_link_override.startswith(("http", "happ://")) ): logger.info("[agg_link] choose override Remnawave (non-vless)") return remna_link_override - if happ_link: - logger.info("[agg_link] choose Remnawave cryptoLink (non-vless)") - return happ_link kd = await get_key_details(session, email) stored = kd.get("remnawave_link") if kd else None if stored: diff --git a/handlers/keys/operations/creation.py b/handlers/keys/operations/creation.py index 412c9b61..8324a5dc 100644 --- a/handlers/keys/operations/creation.py +++ b/handlers/keys/operations/creation.py @@ -265,7 +265,7 @@ async def create_key_on_cluster( client_id=final_client_id, tg_id=tg_id, subgroup_code=subgroup_code, - remna_link_override=remnawave_key, + remna_link_override=remnawave_key or remnawave_link_value, plan=plan, )