#!/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
read -p "Expired Day   : " masaaktif

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)
if [ -z "$exp" ]; then
    exp=$(grep -wE "^### $user" "/etc/xray/vless/.vless.db" 2>/dev/null | cut -d ' ' -f 3 | sort | uniq | head -n1)
fi

now=$(date +%Y-%m-%d)
d1=$(date -d "$exp" +%s 2>/dev/null || date +%s)
d2=$(date -d "$now" +%s)
exp2=$(( (d1 - d2) / 86400 ))
if (( exp2 < 0 )); then
    exp2=0
fi
exp3=$(($exp2 + $masaaktif))
exp4=`date -d "$exp3 days" +"%Y-%m-%d"`

uuid=$(grep -w "^### $user " "/etc/xray/vless/.vless.db" 2>/dev/null | cut -d ' ' -f 4)
if [ -z "$uuid" ]; then
    uuid=$(grep -w "^### $user $exp" -A 1 "/etc/xray/vless/config.json" 2>/dev/null | awk -F'"' '/"id":/ {print $4}' | sort | uniq | head -n1)
fi

sed -i "/^### $user/c\### $user $exp4" /etc/xray/vless/config.json
touch /etc/xray/vless/.vless.db
sed -i "/^### $user/c\### $user $exp4 $uuid" /etc/xray/vless/.vless.db 2>/dev/null
systemctl restart vless@config > /dev/null 2>&1

TEXT="
──────────────────────
Extend Account VLESS Success
──────────────────────
<code>✧ Host  :</code> <code>$domain</code>
<code>✧ User  :</code> <code>$user</code>
<code>✧ Plus  :</code> <code>$masaaktif Days</code>
<code>✧ Exp   :</code> <code>$exp4</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 "$masaaktif Days"
echo -e "$exp"
echo -e "$exp4"