xp.sh 4.7 KB

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