renew-wg.sh 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
  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. echo "Checking VPS"
  7. clear
  8. source /etc/wireguard/params
  9. NUMBER_OF_CLIENTS=$(grep -c -E "^### Client" "/etc/wireguard/$SERVER_WG_NIC.conf")
  10. if [[ ${NUMBER_OF_CLIENTS} == '0' ]]; then
  11. clear
  12. echo ""
  13. echo "Name : Renew Wireguard Account" | lolcat
  14. echo ""
  15. echo "You have no existing clients!"
  16. exit 1
  17. fi
  18. clear
  19. echo ""
  20. echo "Name : Renew Wireguard Account" | lolcat
  21. echo ""
  22. echo "Select an existing client that you want to renew"
  23. echo " Press CTRL+C to return"
  24. echo ""
  25. echo -e "==============================="
  26. echo " No Expired User"
  27. grep -E "^### Client" "/etc/wireguard/$SERVER_WG_NIC.conf" | cut -d ' ' -f 3-4 | nl -s ') '
  28. until [[ ${CLIENT_NUMBER} -ge 1 && ${CLIENT_NUMBER} -le ${NUMBER_OF_CLIENTS} ]]; do
  29. if [[ ${CLIENT_NUMBER} == '1' ]]; then
  30. read -rp "Select one client [1]: " CLIENT_NUMBER
  31. else
  32. read -rp "Select one client [1-${NUMBER_OF_CLIENTS}]: " CLIENT_NUMBER
  33. fi
  34. done
  35. read -p "Expired (days): " masaaktif
  36. user=$(grep -E "^### Client" "/etc/wireguard/wg0.conf" | cut -d ' ' -f 3 | sed -n "${CLIENT_NUMBER}"p)
  37. exp=$(grep -E "^### Client" "/etc/wireguard/wg0.conf" | cut -d ' ' -f 4 | sed -n "${CLIENT_NUMBER}"p)
  38. now=$(date +%Y-%m-%d)
  39. d1=$(date -d "$exp" +%s)
  40. d2=$(date -d "$now" +%s)
  41. exp2=$(( (d1 - d2) / 86400 ))
  42. exp3=$(($exp2 + $masaaktif))
  43. exp4=`date -d "$exp3 days" +"%Y-%m-%d"`
  44. sed -i "s/### Client $user $exp/### Client $user $exp4/g" /etc/wireguard/wg0.conf
  45. clear
  46. echo ""
  47. echo " Wireguard Account Has Been Successfully Renewed"
  48. echo " ==========================" | lolcat
  49. echo " Client Name : $user"
  50. echo " Expired On: $exp4"
  51. echo " ==========================" | lolcat