renewwg.sh 2.0 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768
  1. #!/bin/bash
  2. # SL
  3. # ==========================================
  4. # Color
  5. RED='\033[0;31m'
  6. NC='\033[0m'
  7. GREEN='\033[0;32m'
  8. ORANGE='\033[0;33m'
  9. BLUE='\033[0;34m'
  10. PURPLE='\033[0;35m'
  11. CYAN='\033[0;36m'
  12. LIGHT='\033[0;37m'
  13. # ==========================================
  14. # Getting
  15. MYIP=$(wget -qO- ipinfo.io/ip);
  16. echo "Checking VPS"
  17. IZIN=$( curl ipinfo.io/ip | grep $MYIP )
  18. if [ $MYIP = $MYIP ]; then
  19. echo -e "${NC}${GREEN}Permission Accepted...${NC}"
  20. else
  21. echo -e "${NC}${RED}Permission Denied!${NC}";
  22. echo -e "${NC}${LIGHT}Fuck You!!"
  23. exit 0
  24. fi
  25. clear
  26. source /etc/wireguard/params
  27. NUMBER_OF_CLIENTS=$(grep -c -E "^### Client" "/etc/wireguard/$SERVER_WG_NIC.conf")
  28. if [[ ${NUMBER_OF_CLIENTS} == '0' ]]; then
  29. clear
  30. echo ""
  31. echo "You have no existing clients!"
  32. exit 1
  33. fi
  34. clear
  35. echo ""
  36. echo "Select an existing client that you want to renew"
  37. echo " Press CTRL+C to return"
  38. echo -e "==============================="
  39. echo " No Expired User"
  40. grep -E "^### Client" "/etc/wireguard/$SERVER_WG_NIC.conf" | cut -d ' ' -f 3-4 | nl -s ') '
  41. until [[ ${CLIENT_NUMBER} -ge 1 && ${CLIENT_NUMBER} -le ${NUMBER_OF_CLIENTS} ]]; do
  42. if [[ ${CLIENT_NUMBER} == '1' ]]; then
  43. read -rp "Select one client [1]: " CLIENT_NUMBER
  44. else
  45. read -rp "Select one client [1-${NUMBER_OF_CLIENTS}]: " CLIENT_NUMBER
  46. fi
  47. done
  48. read -p "Expired (days): " masaaktif
  49. user=$(grep -E "^### Client" "/etc/wireguard/wg0.conf" | cut -d ' ' -f 3 | sed -n "${CLIENT_NUMBER}"p)
  50. exp=$(grep -E "^### Client" "/etc/wireguard/wg0.conf" | cut -d ' ' -f 4 | sed -n "${CLIENT_NUMBER}"p)
  51. now=$(date +%Y-%m-%d)
  52. d1=$(date -d "$exp" +%s)
  53. d2=$(date -d "$now" +%s)
  54. exp2=$(( (d1 - d2) / 86400 ))
  55. exp3=$(($exp2 + $masaaktif))
  56. exp4=`date -d "$exp3 days" +"%Y-%m-%d"`
  57. sed -i "s/### Client $user $exp/### Client $user $exp4/g" /etc/wireguard/wg0.conf
  58. clear
  59. echo ""
  60. echo "============================="
  61. echo " Wireguard Account Renewed "
  62. echo "============================="
  63. echo "Username : $user"
  64. echo "Expired : $exp4"
  65. echo "============================="
  66. echo "Script Mod By SL"