renew-vless.sh 1.5 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647
  1. #!/bin/bash
  2. red='\e[1;31m'
  3. green='\e[0;32m'
  4. NC='\e[0m'
  5. MYIP=$(wget -qO- ifconfig.me/ip);
  6. NUMBER_OF_CLIENTS=$(grep -c -E "^### " "/etc/v2ray/vless.json")
  7. if [[ ${NUMBER_OF_CLIENTS} == '0' ]]; then
  8. clear
  9. echo ""
  10. echo "You have no existing clients!"
  11. exit 1
  12. fi
  13. clear
  14. echo ""
  15. echo "Select the existing client you want to renew"
  16. echo " Press CTRL+C to return"
  17. echo -e "==============================="
  18. grep -E "^### " "/etc/v2ray/vless.json" | cut -d ' ' -f 2-3 | nl -s ') '
  19. until [[ ${CLIENT_NUMBER} -ge 1 && ${CLIENT_NUMBER} -le ${NUMBER_OF_CLIENTS} ]]; do
  20. if [[ ${CLIENT_NUMBER} == '1' ]]; then
  21. read -rp "Select one client [1]: " CLIENT_NUMBER
  22. else
  23. read -rp "Select one client [1-${NUMBER_OF_CLIENTS}]: " CLIENT_NUMBER
  24. fi
  25. done
  26. read -p "Expired (days): " masaaktif
  27. user=$(grep -E "^### " "/etc/v2ray/vless.json" | cut -d ' ' -f 2 | sed -n "${CLIENT_NUMBER}"p)
  28. exp=$(grep -E "^### " "/etc/v2ray/vless.json" | cut -d ' ' -f 3 | sed -n "${CLIENT_NUMBER}"p)
  29. now=$(date +%Y-%m-%d)
  30. d1=$(date -d "$exp" +%s)
  31. d2=$(date -d "$now" +%s)
  32. exp2=$(( (d1 - d2) / 86400 ))
  33. exp3=$(($exp2 + $masaaktif))
  34. exp4=`date -d "$exp3 days" +"%Y-%m-%d"`
  35. sed -i "s/### $user $exp/### $user $exp4/g" /etc/v2ray/vless.json
  36. sed -i "s/### $user $exp/### $user $exp4/g" /etc/v2ray/vnone.json
  37. service cron restart
  38. clear
  39. echo ""
  40. echo " VLESS Account Was Successfully Renewed"
  41. echo " =========================="
  42. echo " Client Name : $user"
  43. echo " Expired On : $exp4"
  44. echo " =========================="