#!/bin/bash
domain=$(cat /root/domain)
token=$(cat /root/token.json | jq -r .access_token)
NUMBER_OF_CLIENTS=$(grep -c -E "^### vless" "/var/lib/marzban/akun-vless.conf")
	if [[ ${NUMBER_OF_CLIENTS} == '0' ]]; then
		clear
		echo ""
		echo "You have no existing clients!"
		exit 1
	fi

	clear
	echo ""
	echo "Select the existing client you want to renew"
	echo " Press CTRL+C to return"
	echo -e "==============================="
	grep -E "^### vless" "/var/lib/marzban/akun-vless.conf" | cut -d ' ' -f 3-4 | nl -s ') '
	until [[ ${CLIENT_NUMBER} -ge 1 && ${CLIENT_NUMBER} -le ${NUMBER_OF_CLIENTS} ]]; do
		if [[ ${CLIENT_NUMBER} == '1' ]]; then
			read -rp "Select one client [1]: " CLIENT_NUMBER
		else
			read -rp "Select one client [1-${NUMBER_OF_CLIENTS}]: " CLIENT_NUMBER
		fi
	done
read -p "Expired (days): " masaaktif
user=$(grep -E "^### vless" "/var/lib/marzban/akun-vless.conf" | cut -d ' ' -f 3 | sed -n "${CLIENT_NUMBER}"p)
exp=$(grep -E "^### vless" "/var/lib/marzban/akun-vless.conf" | cut -d ' ' -f 4 | sed -n "${CLIENT_NUMBER}"p)
now=$(date +%Y-%m-%d)
d1=$(date -d "$exp" +%s)
d2=$(date -d "$now" +%s)
exp2=$(( (d1 - d2) / 86400 ))
exp3=$(($exp2 + $masaaktif))
exp4="$(date -d "$exp3 days" +"%s")"
exp5=`date -d "$exp3 days" +"%Y-%m-%d"`
sed -i "s/### vless $user $exp/### vmess $user $exp5/g" /var/lib/marzban/akun-vless.conf
curl -X 'PUT' \
  "https://${domain}/api/user/${user}" \
  -H 'accept: application/json' \
  -H "Authorization: Bearer ${token}" \
  -H 'Content-Type: application/json' \
  -d '{
  "proxies": {},
  "inbounds": {},
  "expire": '"${exp4}"'
}' &> /dev/null
clear
echo ""
echo " Akun VLess berhasil diperpanjang"
echo " =========================="
echo " Client Name : $user"
echo " Expired On  : $exp5"
echo " =========================="
