xp.sh 4.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143
  1. #!/bin/bash
  2. red='\e[1;31m'
  3. green='\e[0;32m'
  4. NC='\e[0m'
  5. MYIP=$(wget -qO- ifconfig.co);
  6. echo "Checking VPS"
  7. clear
  8. data=( `cat /var/lib/premium-script/data-user-l2tp | grep '^###' | cut -d ' ' -f 2`);
  9. now=`date +"%Y-%m-%d"`
  10. for user in "${data[@]}"
  11. do
  12. exp=$(grep -w "^### $user" "/var/lib/premium-script/data-user-l2tp" | cut -d ' ' -f 3)
  13. d1=$(date -d "$exp" +%s)
  14. d2=$(date -d "$now" +%s)
  15. exp2=$(( (d1 - d2) / 86400 ))
  16. if [[ "$exp2" = "0" ]]; then
  17. sed -i "/^### $user $exp/d" "/var/lib/premium-script/data-user-l2tp"
  18. sed -i '/^"'"$user"'" l2tpd/d' /etc/ppp/chap-secrets
  19. sed -i '/^'"$user"':\$1\$/d' /etc/ipsec.d/passwd
  20. chmod 600 /etc/ppp/chap-secrets* /etc/ipsec.d/passwd*
  21. fi
  22. done
  23. data=( `cat /var/lib/premium-script/data-user-pptp | grep '^###' | cut -d ' ' -f 2`);
  24. now=`date +"%Y-%m-%d"`
  25. for user in "${data[@]}"
  26. do
  27. exp=$(grep -w "^### $user" "/var/lib/premium-script/data-user-pptp" | cut -d ' ' -f 3)
  28. d1=$(date -d "$exp" +%s)
  29. d2=$(date -d "$now" +%s)
  30. exp2=$(( (d1 - d2) / 86400 ))
  31. if [[ "$exp2" = "0" ]]; then
  32. sed -i "/^### $user $exp/d" "/var/lib/premium-script/data-user-pptp"
  33. sed -i '/^"'"$user"'" pptpd/d' /etc/ppp/chap-secrets
  34. chmod 600 /etc/ppp/chap-secrets*
  35. fi
  36. done
  37. data=( `cat /etc/shadowsocks-libev/akun.conf | grep '^###' | cut -d ' ' -f 2`);
  38. now=`date +"%Y-%m-%d"`
  39. for user in "${data[@]}"
  40. do
  41. exp=$(grep -w "^### $user" "/etc/shadowsocks-libev/akun.conf" | cut -d ' ' -f 3)
  42. d1=$(date -d "$exp" +%s)
  43. d2=$(date -d "$now" +%s)
  44. exp2=$(( (d1 - d2) / 86400 ))
  45. if [[ "$exp2" = "0" ]]; then
  46. sed -i "/^### $user $exp/,/^port_http/d" "/etc/shadowsocks-libev/akun.conf"
  47. systemctl disable shadowsocks-libev-server@$user-tls.service
  48. systemctl disable shadowsocks-libev-server@$user-http.service
  49. systemctl stop shadowsocks-libev-server@$user-tls.service
  50. systemctl stop shadowsocks-libev-server@$user-http.service
  51. rm -f "/etc/shadowsocks-libev/$user-tls.json"
  52. rm -f "/etc/shadowsocks-libev/$user-http.json"
  53. fi
  54. done
  55. data=( `cat /usr/local/shadowsocksr/akun.conf | grep '^###' | cut -d ' ' -f 2`);
  56. now=`date +"%Y-%m-%d"`
  57. for user in "${data[@]}"
  58. do
  59. exp=$(grep -w "^### $user" "/usr/local/shadowsocksr/akun.conf" | cut -d ' ' -f 3)
  60. d1=$(date -d "$exp" +%s)
  61. d2=$(date -d "$now" +%s)
  62. exp2=$(( (d1 - d2) / 86400 ))
  63. if [[ "$exp2" = "0" ]]; then
  64. sed -i "/^### $user $exp/d" "/usr/local/shadowsocksr/akun.conf"
  65. cd /usr/local/shadowsocksr
  66. match_del=$(python mujson_mgr.py -d -u "${user}"|grep -w "delete user")
  67. cd
  68. fi
  69. done
  70. /etc/init.d/ssrmu restart
  71. data=( `cat /var/lib/premium-script/data-user-sstp | grep '^###' | cut -d ' ' -f 2`);
  72. now=`date +"%Y-%m-%d"`
  73. for user in "${data[@]}"
  74. do
  75. exp=$(grep -w "^### $user" "/var/lib/premium-script/data-user-sstp" | cut -d ' ' -f 3)
  76. d1=$(date -d "$exp" +%s)
  77. d2=$(date -d "$now" +%s)
  78. exp2=$(( (d1 - d2) / 86400 ))
  79. if [[ "$exp2" = "0" ]]; then
  80. sed -i "/^### $user $exp/d" "/var/lib/premium-script/data-user-sstp"
  81. sed -i '/^'"$user"'/d' /home/sstp/sstp_account
  82. fi
  83. done
  84. data=( `cat /etc/trojan/akun.conf | grep '^###' | cut -d ' ' -f 2`);
  85. now=`date +"%Y-%m-%d"`
  86. for user in "${data[@]}"
  87. do
  88. exp=$(grep -w "^### $user" "/etc/trojan/akun.conf" | cut -d ' ' -f 3)
  89. d1=$(date -d "$exp" +%s)
  90. d2=$(date -d "$now" +%s)
  91. exp2=$(( (d1 - d2) / 86400 ))
  92. if [[ "$exp2" = "0" ]]; then
  93. sed -i "/^### $user $exp/d" "/etc/trojan/akun.conf"
  94. sed -i '/^,"'"$user"'"$/d' /etc/trojan/config.json
  95. fi
  96. done
  97. systemctl restart trojan
  98. data=( `cat /etc/wireguard/wg0.conf | grep '^### Client' | cut -d ' ' -f 3`);
  99. now=`date +"%Y-%m-%d"`
  100. for user in "${data[@]}"
  101. do
  102. exp=$(grep -w "^### Client $user" "/etc/wireguard/wg0.conf" | cut -d ' ' -f 4)
  103. d1=$(date -d "$exp" +%s)
  104. d2=$(date -d "$now" +%s)
  105. exp2=$(( (d1 - d2) / 86400 ))
  106. if [[ "$exp2" = "0" ]]; then
  107. sed -i "/^### Client $user $exp/,/^AllowedIPs/d" /etc/wireguard/wg0.conf
  108. rm -f "/home/vps/public_html/$user.conf"
  109. fi
  110. done
  111. systemctl restart wg-quick@wg0
  112. data=( `cat /etc/v2ray/config.json | grep '^###' | cut -d ' ' -f 2`);
  113. now=`date +"%Y-%m-%d"`
  114. for user in "${data[@]}"
  115. do
  116. exp=$(grep -w "^### $user" "/etc/v2ray/config.json" | cut -d ' ' -f 3)
  117. d1=$(date -d "$exp" +%s)
  118. d2=$(date -d "$now" +%s)
  119. exp2=$(( (d1 - d2) / 86400 ))
  120. if [[ "$exp2" = "0" ]]; then
  121. sed -i "/^### $user $exp/,/^},{/d" /etc/v2ray/config.json
  122. sed -i "/^### $user $exp/,/^},{/d" /etc/v2ray/none.json
  123. rm -f /etc/v2ray/$user-tls.json /etc/v2ray/$user-none.json
  124. fi
  125. done
  126. systemctl restart v2ray
  127. systemctl restart v2ray@none
  128. data=( `cat /etc/v2ray/vless.json | grep '^###' | cut -d ' ' -f 2`);
  129. now=`date +"%Y-%m-%d"`
  130. for user in "${data[@]}"
  131. do
  132. exp=$(grep -w "^### $user" "/etc/v2ray/vless.json" | cut -d ' ' -f 3)
  133. d1=$(date -d "$exp" +%s)
  134. d2=$(date -d "$now" +%s)
  135. exp2=$(( (d1 - d2) / 86400 ))
  136. if [[ "$exp2" = "0" ]]; then
  137. sed -i "/^### $user $exp/,/^},{/d" /etc/v2ray/vless.json
  138. sed -i "/^### $user $exp/,/^},{/d" /etc/v2ray/vnone.json
  139. fi
  140. done
  141. systemctl restart v2ray@vless
  142. systemctl restart v2ray@vnone