add: android tv connection for remnawave

This commit is contained in:
Capybara-z
2025-06-05 01:14:20 +03:00
parent 9f696fa9cd
commit e2d31525ea
5 changed files with 61 additions and 19 deletions
+31 -6
View File
@@ -611,9 +611,9 @@ async def handle_sync_cluster(
traffic_limit_bytes = int(tariff.traffic_limit * 1024**3)
hwid_limit = tariff.device_limit
else:
logger.warning(f"[Sync] Ключ {key['client_id']} с несуществующим тарифом ID={key['tariff_id']} — обновим без лимитов")
valid_email = f"{key['email']}@fake.local"
logger.warning(
f"[Sync] Ключ {key['client_id']} с несуществующим тарифом ID={key['tariff_id']} — обновим без лимитов"
)
inbound_ids = [
s["inbound_id"]
@@ -621,16 +621,41 @@ async def handle_sync_cluster(
if s.get("inbound_id")
]
await remna.update_user(
success = await remna.update_user(
uuid=key["client_id"],
expire_at=expire_iso,
telegram_id=key["tg_id"],
email=valid_email,
email=f"{key['email']}@fake.local",
active_user_inbounds=inbound_ids,
traffic_limit_bytes=traffic_limit_bytes,
hwid_device_limit=hwid_limit,
)
if not success:
logger.warning(f"[Sync] ошибка обновления, пробуем пересоздать")
await delete_key_from_cluster(
cluster_name, key["email"], key["client_id"], session
)
await session.execute(
delete(Key).where(
Key.tg_id == key["tg_id"],
Key.client_id == key["client_id"]
)
)
await create_key_on_cluster(
cluster_name,
key["tg_id"],
key["client_id"],
key["email"],
key["expiry_time"],
plan=key["tariff_id"],
session=session,
remnawave_link=key["remnawave_link"],
)
else:
await delete_key_from_cluster(
cluster_name, key["email"], key["client_id"], session
@@ -1200,4 +1225,4 @@ async def apply_tariff_group(
logger.error(f"Ошибка при применении тарифной группы: {e}")
await callback.message.edit_text(
"❌ Произошла ошибка при установке тарифной группы."
)
)