#!/bin/bash
# https://t.me/gemilangkinasih

CHATID=$(cat /root/telebotvpn/idteleowner 2>/dev/null)
KEY=$(cat /root/telebotvpn/tokentelebotserver 2>/dev/null)
TIME="10"
URL="https://api.telegram.org/bot$KEY/sendMessage"
IP=$(cat /etc/xray/ipvps 2>/dev/null || wget -qO- ipv4.icanhazip.com)
ISP=$(cat /etc/xray/isp 2>/dev/null || echo "Unknown ISP")
CITY=$(cat /etc/xray/city 2>/dev/null || echo "Unknown City")
domain=$(cat /etc/xray/domain 2>/dev/null || hostname -f)
  
read -p "Username Info : " user

if ! grep -qiw "$user" /etc/xray/vless/config.json 2>/dev/null; then
    echo -e "Username tidak ada."
    exit 0
fi

exp=$(grep -wE "^### $user" "/etc/xray/vless/config.json" 2>/dev/null | cut -d ' ' -f 3 | sort | uniq | head -n1)
uuid=$(grep -w "^### $user $exp" -A 1 "/etc/xray/vless/config.json" 2>/dev/null | awk -F'"' '/"id":/ {print $4}' | sort | uniq | head -n1)
uuid2=$(grep -w "^### $user $exp" -A 1 "/etc/xray/vless/config.json" 2>/dev/null | awk -F'"' '/"id":/ {print $4}' | sed 's/.*\(LOCKED\)/\1/' | sort | uniq | head -n1)
uuid3=$(grep -w "^### $user" /etc/xray/vless/.vless.db 2>/dev/null | awk '{print $4}' | head -n1)

if [ -z "$uuid3" ]; then
    uuid3=$(cat /proc/sys/kernel/random/uuid)
fi

if [[ "$uuid2" != "LOCKED" ]] && [[ "$uuid" != *LOCKED* ]]; then
    echo -e "Username unlocked."
    exit 0
fi

touch /etc/xray/vless/.vless.db
sed -i "/\b${user}\b/d" /etc/xray/vless/.vless.db 2>/dev/null
echo "### ${user} ${exp} ${uuid3}" >> /etc/xray/vless/.vless.db
sed -i "/^### $user $exp/,/^},{/d" /etc/xray/vless/config.json

sed -i '/#vless$/a\### '"$user $exp"'\
},{"id": "'""$uuid3""'","email": "'""$user""'"' /etc/xray/vless/config.json
sed -i '/#vlessgrpc$/a\### '"$user $exp"'\
},{"id": "'""$uuid3""'","email": "'""$user""'"' /etc/xray/vless/config.json
systemctl restart vless@config > /dev/null 2>&1

TEXT="
──────────────────────
Unlocked Account VLESS Success
──────────────────────
<code>✧ Host  :</code> <code>$domain</code>
<code>✧ User  :</code> <code>$user</code>
<code>✧ Exp   :</code> <code>$exp</code>
────────────────────── "

curl -s --max-time $TIME -d "chat_id=$CHATID&disable_web_page_preview=1&text=$TEXT&parse_mode=html" $URL >/dev/null
atq | awk '{print $1}' | while read job; do at -c "$job" | grep -q "autobackupbot" && atrm "$job"; done &> /dev/null
echo "autobackupbot" | at now + 30 minutes &> /dev/null

echo -e "$user"
echo -e "$exp"