delwg.sh 2.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  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 ""
  37. echo " Select the existing client you want to remove"
  38. echo " Press CTRL+C to return"
  39. echo " ==============================="
  40. echo " No Expired User"
  41. grep -E "^### Client" "/etc/wireguard/$SERVER_WG_NIC.conf" | cut -d ' ' -f 3-4 | nl -s ') '
  42. until [[ ${CLIENT_NUMBER} -ge 1 && ${CLIENT_NUMBER} -le ${NUMBER_OF_CLIENTS} ]]; do
  43. if [[ ${CLIENT_NUMBER} == '1' ]]; then
  44. read -rp "Select one client [1]: " CLIENT_NUMBER
  45. else
  46. read -rp "Select one client [1-${NUMBER_OF_CLIENTS}]: " CLIENT_NUMBER
  47. fi
  48. done
  49. # match the selected number to a client name
  50. CLIENT_NAME=$(grep -E "^### Client" "/etc/wireguard/$SERVER_WG_NIC.conf" | cut -d ' ' -f 3-4 | sed -n "${CLIENT_NUMBER}"p)
  51. user=$(grep -E "^### Client" "/etc/wireguard/$SERVER_WG_NIC.conf" | cut -d ' ' -f 3 | sed -n "${CLIENT_NUMBER}"p)
  52. exp=$(grep -E "^### Client" "/etc/wireguard/$SERVER_WG_NIC.conf" | cut -d ' ' -f 4 | sed -n "${CLIENT_NUMBER}"p)
  53. # remove [Peer] block matching $CLIENT_NAME
  54. sed -i "/^### Client $user $exp/,/^AllowedIPs/d" /etc/wireguard/wg0.conf
  55. # remove generated client file
  56. rm -f "/home/vps/public_html/$user.conf"
  57. # restart wireguard to apply changes
  58. systemctl restart "wg-quick@$SERVER_WG_NIC"
  59. service cron restart
  60. clear
  61. echo ""
  62. echo "============================="
  63. echo " Wireguard Account Deleted "
  64. echo "============================="
  65. echo "Username : $user"
  66. echo "Expired : $exp"
  67. echo "============================="
  68. echo "Script Mod By SL"