delete_wg.sh 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. #!/bin/bash
  2. clear
  3. # INFO='\033[97;44m'
  4. # WARNING='\033[97;43m'
  5. # SUCCESS='\033[97;42m'
  6. # GREEN='\033[92m'
  7. # YELLOW='\033[93m'
  8. TEXT='\033[30;107;2m'
  9. ERROR='\033[97;41m'
  10. RESET='\033[0m'
  11. if [ "${EUID}" -ne 0 ]; then
  12. echo -e "${ERROR} ERROR ${RESET}${TEXT} Anda tiada kebenaran untuk menjalankan skrip ini! ${RESET}"
  13. exit 1
  14. fi
  15. checkClientName=$(grep -c -E "^### Client" "/etc/wireguard/wg0.conf")
  16. if [[ ${checkClientName} == '0' ]]; then
  17. echo "You have no existing clients!"
  18. exit 1
  19. fi
  20. echo
  21. echo "Select the existing client you want to remove"
  22. grep -E "^### START" "/etc/wireguard/wg0.conf" | cut -d ' ' -f 3 | nl -s ') '
  23. until [[ ${ClientNum} -ge 1 && ${ClientNum} -le ${checkClientName} ]]; do
  24. if [[ ${ClientNum} == '1' ]]; then
  25. read -rp "Select one client [1]: " ClientNum
  26. else
  27. read -rp "Select one client [1-${checkClientName}]: " ClientNum
  28. fi
  29. done
  30. clientName=$(grep -E "^### START" "/etc/wireguard/wg0.conf" | cut -d ' ' -f 3 | sed -n "${ClientNum}"p)
  31. # sed -i "/^### START ${clientName}\$/,/^$/d" "/etc/wireguard/wg0.conf"
  32. sed -i "/\### START $clientName/,/\### END $clientName/d" /etc/wireguard/wg0.conf
  33. sed -i "/$clientName/d" /etc/wireguard/clients/.accounts
  34. rm -rf /etc/wireguard/clients/$clientName
  35. systemctl restart wg-quick@wg0
  36. clear
  37. echo
  38. echo -e "${TEXT} ========================================================== ${RESET}"
  39. echo -e "${TEXT} WIREGUARD - PADAM AKAUN PENGGUNA ${RESET}"
  40. echo -e "${TEXT} ---------------------------------------------------------- ${RESET}"
  41. echo
  42. echo "Pengguna $clientName sudah berjaya di padam."
  43. echo
  44. echo -e "${TEXT} ---------------------------------------------------------- ${RESET}"
  45. echo -e "${TEXT} Dicipta oleh Doctype, Dikuasakan oleh Cybertize. ${RESET}"
  46. echo -e "${TEXT} ========================================================== ${RESET}"
  47. echo