12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849 |
- #!/bin/bash
- red='\e[1;31m'
- green='\e[0;32m'
- NC='\e[0m'
- MYIP=$(wget -qO- https://icanhazip.com);
- echo "Checking VPS"
- clear
- source /etc/wireguard/params
- NUMBER_OF_CLIENTS=$(grep -c -E "^### Client" "/etc/wireguard/$SERVER_WG_NIC.conf")
- if [[ ${NUMBER_OF_CLIENTS} == '0' ]]; then
- clear
- echo ""
- echo "You have no existing clients!"
- exit 1
- fi
- clear
- echo ""
- echo "Select an existing client that you want to renew"
- echo " Press CTRL+C to return"
- echo -e "==============================="
- echo " No Expired User"
- grep -E "^### Client" "/etc/wireguard/$SERVER_WG_NIC.conf" | cut -d ' ' -f 3-4 | nl -s ') '
- until [[ ${CLIENT_NUMBER} -ge 1 && ${CLIENT_NUMBER} -le ${NUMBER_OF_CLIENTS} ]]; do
- if [[ ${CLIENT_NUMBER} == '1' ]]; then
- read -rp "Select one client [1]: " CLIENT_NUMBER
- else
- read -rp "Select one client [1-${NUMBER_OF_CLIENTS}]: " CLIENT_NUMBER
- fi
- done
- read -p "Expired (days): " masaaktif
- user=$(grep -E "^### Client" "/etc/wireguard/wg0.conf" | cut -d ' ' -f 3 | sed -n "${CLIENT_NUMBER}"p)
- exp=$(grep -E "^### Client" "/etc/wireguard/wg0.conf" | cut -d ' ' -f 4 | sed -n "${CLIENT_NUMBER}"p)
- now=$(date +%Y-%m-%d)
- d1=$(date -d "$exp" +%s)
- d2=$(date -d "$now" +%s)
- exp2=$(( (d1 - d2) / 86400 ))
- exp3=$(($exp2 + $masaaktif))
- exp4=`date -d "$exp3 days" +"%Y-%m-%d"`
- sed -i "s/### Client $user $exp/### Client $user $exp4/g" /etc/wireguard/wg0.conf
- clear
- echo " ==============================================="
- echo " Wireguard Account Has Been Successfully Renewed"
- echo " ==============================================="
- echo " Client Name : $user"
- echo " Expired On: $exp4"
- echo " ==============================================="
- echo ""
|