renew-wg.sh 1.8 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. #!/bin/bash
  2. red='\e[1;31m'
  3. green='\e[0;32m'
  4. NC='\e[0m'
  5. MYIP=$(wget -qO- icanhazip.com);
  6. echo "Checking VPS"
  7. IZIN=$( curl https://raw.githubusercontent.com/Apeachsan91/server/main/ipallow | grep $MYIP )
  8. if [ $MYIP = $IZIN ]; then
  9. echo -e "${green}Permission Accepted...${NC}"
  10. else
  11. echo -e "${red}Permission Denied!${NC}";
  12. echo "Only For Premium Users"
  13. exit 0
  14. fi
  15. clear
  16. source /etc/wireguard/params
  17. NUMBER_OF_CLIENTS=$(grep -c -E "^### Client" "/etc/wireguard/$SERVER_WG_NIC.conf")
  18. if [[ ${NUMBER_OF_CLIENTS} == '0' ]]; then
  19. clear
  20. echo ""
  21. echo "You have no existing clients!"
  22. exit 1
  23. fi
  24. clear
  25. echo ""
  26. echo "Select an existing client that you want to renew"
  27. echo " Press CTRL+C to return"
  28. echo -e "==============================="
  29. echo " No Expired User"
  30. grep -E "^### Client" "/etc/wireguard/$SERVER_WG_NIC.conf" | cut -d ' ' -f 3-4 | nl -s ') '
  31. until [[ ${CLIENT_NUMBER} -ge 1 && ${CLIENT_NUMBER} -le ${NUMBER_OF_CLIENTS} ]]; do
  32. if [[ ${CLIENT_NUMBER} == '1' ]]; then
  33. read -rp "Select one client [1]: " CLIENT_NUMBER
  34. else
  35. read -rp "Select one client [1-${NUMBER_OF_CLIENTS}]: " CLIENT_NUMBER
  36. fi
  37. done
  38. read -p "Expired (days): " masaaktif
  39. user=$(grep -E "^### Client" "/etc/wireguard/wg0.conf" | cut -d ' ' -f 3 | sed -n "${CLIENT_NUMBER}"p)
  40. exp=$(grep -E "^### Client" "/etc/wireguard/wg0.conf" | cut -d ' ' -f 4 | sed -n "${CLIENT_NUMBER}"p)
  41. now=$(date +%Y-%m-%d)
  42. d1=$(date -d "$exp" +%s)
  43. d2=$(date -d "$now" +%s)
  44. exp2=$(( (d1 - d2) / 86400 ))
  45. exp3=$(($exp2 + $masaaktif))
  46. exp4=`date -d "$exp3 days" +"%Y-%m-%d"`
  47. sed -i "s/### Client $user $exp/### Client $user $exp4/g" /etc/wireguard/wg0.conf
  48. clear
  49. echo ""
  50. echo " Wireguard Account Has Been Successfully Renewed"
  51. echo " =========================="
  52. echo " Client Name : $user"
  53. echo " Expired On: $exp4"
  54. echo " =========================="