script-2-v2ray.sh 1.5 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. #!/bin/bash
  2. apt update
  3. apt upgrade -y
  4. today=$(date -d +1day +%Y-%m-%d)
  5. while read expired
  6. do
  7. user=$(echo $expired | awk '{print $1}')
  8. uuid=$(echo $expired | awk '{print $2}')
  9. exp=$(echo $expired | awk '{print $3}')
  10. if [[ $exp < $today ]]; then
  11. cat /usr/local/etc/v2ray/ws-tls.json | jq 'del(.inbounds[0].settings.clients[] | select(.id == "'${uuid}'"))' > /usr/local/etc/v2ray/ws-tls_tmp.json
  12. mv -f /usr/local/etc/v2ray/ws-tls_tmp.json /usr/local/etc/v2ray/ws-tls.json
  13. cat /usr/local/etc/v2ray/ws.json | jq 'del(.inbounds[0].settings.clients[] | select(.id == "'${uuid}'"))' > /usr/local/etc/v2ray/ws_tmp.json
  14. mv -f /usr/local/etc/v2ray/ws_tmp.json /usr/local/etc/v2ray/ws.json
  15. sed -i "/\b$user\b/d" /aidan/v2ray/v2ray-clients.txt
  16. fi
  17. done < /aidan/v2ray/v2ray-clients.txt
  18. unset expired
  19. while read expired
  20. do
  21. user=$(echo $expired | awk '{print $1}')
  22. exp=$(echo $expired | awk '{print $3}')
  23. if [[ $exp < $today ]]; then
  24. sed -i "/^### Client ${user}\$/,/^$/d" /etc/wireguard/wg0.conf
  25. if grep -q "### Client" /etc/wireguard/wg0.conf; then
  26. line=$(grep -n AllowedIPs /etc/wireguard/wg0.conf | tail -1 | awk -F: '{print $1}')
  27. head -${line} /etc/wireguard/wg0.conf > /tmp/wg0.conf
  28. mv /tmp/wg0.conf /etc/wireguard/wg0.conf
  29. else
  30. head -7 /etc/wireguard/wg0.conf > /tmp/wg0.conf
  31. mv /tmp/wg0.conf /etc/wireguard/wg0.conf
  32. fi
  33. rm -f /aidan/wireguard/${user}.conf
  34. sed -i "/\b$user\b/d" /aidan/wireguard/wireguard-clients.txt
  35. fi
  36. done < /aidan/wireguard/wireguard-clients.txt