#!/bin/bash
# Helper Script untuk mengambil detail VMess ke Python

user=$1
if [ -z "$user" ]; then
    echo "Error|User Kosong"
    exit 1
fi

# 1. Ambil Data Dasar
domain=$(cat /etc/xray/domain 2>/dev/null || echo "domain.com")
uuid=$(grep -E "^},{" "/etc/xray/config.json" | grep -i '"'"${user}"'"' | cut -d " " -f 2 | cut -d '"' -f 2 | uniq | head -n 1)
exp=$(grep -E "^### " "/etc/xray/config.json" | grep -i ' '"${user}"' ' | cut -d ' ' -f 3 | uniq | head -n 1)

# Cek jika user tidak ditemukan
if [ -z "$uuid" ]; then
    echo "Error|User Tidak Ditemukan"
    exit 1
fi

# 2. Cek Quota (Handle jika file tidak ada)
if [ -f "/etc/vmess/$user" ]; then
    UsageByte=$(cat "/etc/vmess/$user")
    # Konversi ke GB (Hitungan kasar bash)
    QuotaRaw=$((UsageByte / 1024 / 1024 / 1024))
    Quota="${QuotaRaw} GB"
else
    Quota="Unlimited"
fi

# 3. Cek IP Limit
if [ -f "/etc/kyt/limit/vmess/ip/$user" ]; then
    iplimit=$(cat "/etc/kyt/limit/vmess/ip/$user")
    iplimit="${iplimit} Device"
else
    iplimit="No Limit"
fi

# 4. Generate Links (Manual Build JSON)
# -- TLS --
json_tls='{"v":"2","ps":"'${user}'","add":"'${domain}'","port":"443","id":"'${uuid}'","aid":"0","net":"ws","path":"/vmess","type":"none","host":"'${domain}'","tls":"tls"}'
link_tls="vmess://$(echo -n "$json_tls" | base64 -w 0)"

# -- NTLS --
json_ntls='{"v":"2","ps":"'${user}'","add":"'${domain}'","port":"80","id":"'${uuid}'","aid":"0","net":"ws","path":"/vmess","type":"none","host":"'${domain}'","tls":"none"}'
link_ntls="vmess://$(echo -n "$json_ntls" | base64 -w 0)"

# -- GRPC --
json_grpc='{"v":"2","ps":"'${user}'","add":"'${domain}'","port":"443","id":"'${uuid}'","aid":"0","net":"grpc","path":"vmess-grpc","type":"none","host":"'${domain}'","tls":"tls"}'
link_grpc="vmess://$(echo -n "$json_grpc" | base64 -w 0)"

# 5. Output Format (Pemisah |)
# Urutan: User|Domain|UUID|Exp|Quota|IPLimit|LinkTLS|LinkNTLS|LinkGRPC
echo "$user|$domain|$uuid|$exp|$Quota|$iplimit|$link_tls|$link_ntls|$link_grpc"