shadowsocks.sh 4.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152
  1. #!/bin/bash
  2. [[ ! -d /usr/local/lib/rm ]] && exit
  3. declare -A cor=( [0]="\033[1;37m" [1]="\033[1;34m" [2]="\033[1;31m" [3]="\033[1;33m" [4]="\033[1;32m" )
  4. dir="/etc/VPS-MX"
  5. SCPfrm="${dir}/herramientas" && [[ ! -d ${SCPfrm} ]] && exit
  6. SCPinst="${dir}/protocolos" && [[ ! -d ${SCPinst} ]] && exit
  7. [[ ! -d /usr/local/megat ]] && exit
  8. mportas () {
  9. unset portas
  10. portas_var=$(lsof -V -i tcp -P -n | grep -v "ESTABLISHED" |grep -v "COMMAND" | grep "LISTEN")
  11. while read port; do
  12. var1=$(echo $port | awk '{print $1}') && var2=$(echo $port | awk '{print $9}' | awk -F ":" '{print $2}')
  13. [[ "$(echo -e $portas|grep "$var1 $var2")" ]] || portas+="$var1 $var2\n"
  14. done <<< "$portas_var"
  15. i=1
  16. echo -e "$portas"
  17. }
  18. fun_ip () {
  19. MEU_IP=$(ip addr | grep 'inet' | grep -v inet6 | grep -vE '127\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -o -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | head -1)
  20. MEU_IP2=$(wget -qO- ipv4.icanhazip.com)
  21. [[ "$MEU_IP" != "$MEU_IP2" ]] && IP="$MEU_IP2" || IP="$MEU_IP"
  22. }
  23. config="/etc/shadowsocks-libev/config.json"
  24. fun_eth () {
  25. eth=$(ifconfig | grep -v inet6 | grep -v lo | grep -v 127.0.0.1 | grep "encap:Ethernet" | awk '{print $1}')
  26. [[ $eth != "" ]] && {
  27. msg -bar
  28. echo -e "${cor[3]} $(fun_trans ${id} "Aplicar Sistema Para Mejorar Paquetes SSH?")"
  29. echo -e "${cor[3]} $(fun_trans ${id} "Opcion Para Usuarios Avanzados")"
  30. msg -bar
  31. read -p " [S/N]: " -e -i n sshsn
  32. [[ "$sshsn" = @(s|S|y|Y) ]] && {
  33. echo -e "${cor[1]} $(fun_trans ${id} "Correccion de problemas de paquetes en SSH...")"
  34. echo -e " $(fun_trans ${id} "Cual es la Tasa de RX")"
  35. echo -ne "[ 1 - 999999999 ]: "; read rx
  36. [[ "$rx" = "" ]] && rx="999999999"
  37. echo -e " $(fun_trans ${id} "Cual es la Tasa de TX")"
  38. echo -ne "[ 1 - 999999999 ]: "; read tx
  39. [[ "$tx" = "" ]] && tx="999999999"
  40. apt-get install ethtool -y > /dev/null 2>&1
  41. ethtool -G $eth rx $rx tx $tx > /dev/null 2>&1
  42. }
  43. msg -bar
  44. }
  45. }
  46. fun_bar () {
  47. comando="$1"
  48. _=$(
  49. $comando > /dev/null 2>&1
  50. ) & > /dev/null
  51. pid=$!
  52. while [[ -d /proc/$pid ]]; do
  53. echo -ne " \033[1;33m["
  54. for((i=0; i<10; i++)); do
  55. echo -ne "\033[1;31m##"
  56. sleep 0.2
  57. done
  58. echo -ne "\033[1;33m]"
  59. sleep 1s
  60. echo
  61. tput cuu1
  62. tput dl1
  63. done
  64. echo -e " \033[1;33m[\033[1;31m####################\033[1;33m] - \033[1;32m100%\033[0m"
  65. sleep 1s
  66. }
  67. del_shadowsocks () {
  68. [[ -e /etc/shadowsocks-libev/config.json ]] && {
  69. [[ $(ps ax|grep ss-server|grep -v grep|awk '{print $1}') != "" ]] && kill -9 $(ps ax|grep ss-server|grep -v grep|awk '{print $1}') > /dev/null 2>&1 && ss-server -c /etc/shadowsocks-libev/config.json -d stop > /dev/null 2>&1
  70. echo -e "\033[1;33m SHADOWSOCKS LIBEV DETENIDO"
  71. msg -bar
  72. rm /etc/shadowsocks-libev/config.json
  73. rm -rf Instalador-libev.sh Instalador-libev.log shadowsocks_libev_qr.png
  74. rm -rf Instalador-libev.sh Instalador-libev.log
  75. return 0
  76. }
  77. }
  78. [[ $(ps ax | grep ss-server | grep -v grep | awk '{print $1}') ]] && ss="\e[92m[ ON ]" || ss="\e[91m[ OFF ]"
  79. clear
  80. msg -bar
  81. msg -tit
  82. echo -e " \e[91m\e[43mINSTALADOR SHADOWSOCKS-LIBEV+(obfs)\e[0m "
  83. msg -bar
  84. echo -e "$(msg -verd "[1]")$(msg -verm2 "➛ ")$(msg -azu "INSTALAR SHADOWSOCKS LIBEV") $ss"
  85. echo -e "$(msg -verd "[2]")$(msg -verm2 "➛ ")$(msg -azu "DESINSTALAR SHADOWSOCKS LIBEV")"
  86. echo -e "$(msg -verd "[3]")$(msg -verm2 "➛ ")$(msg -azu "VER CONFI LIBEV")"
  87. echo -e "$(msg -verd "[4]")$(msg -verm2 "➛ ")$(msg -azu "MODIFICAR CONFIGURACION (nano)")"
  88. echo -e "$(msg -verd "[0]")$(msg -verm2 "➛ ")$(msg -azu "VOLVER")"
  89. msg -bar
  90. echo -n " Selecione Una Opcion: "
  91. read opcao
  92. case $opcao in
  93. 1)
  94. clear
  95. msg -bar
  96. wget --no-check-certificate -O Instalador-libev.sh https://raw.githubusercontent.com/lacasitamx/ZETA/master/sha/Instalador-libev.sh > /dev/null 2>&1
  97. chmod +x Instalador-libev.sh
  98. ./Instalador-libev.sh 2>&1 | tee Instalador-libev.log
  99. value=$(ps ax |grep ss-server|grep -v grep)
  100. [[ $value != "" ]] && value="\033[1;32mINICIADO CON EXITO" || value="\033[1;31mERROR"
  101. msg -bar
  102. echo -e "${value}"
  103. msg -bar
  104. ;;
  105. 2)
  106. clear
  107. msg -bar
  108. echo -e "\033[1;93m Desinstalar ..."
  109. del_shadowsocks
  110. msg -bar
  111. wget --no-check-certificate -O Instalador-libev.sh https://raw.githubusercontent.com/lacasitamx/ZETA/master/sha/Instalador-libev.sh > /dev/null 2>&1
  112. chmod +x Instalador-libev.sh
  113. ./Instalador-libev.sh uninstall
  114. rm -rf Instalador-libev.sh Instalador-libev.log shadowsocks_libev_qr.png
  115. msg -bar
  116. sleep 3
  117. exit
  118. ;;
  119. 3)
  120. clear
  121. msg -bar
  122. msg -ama " VER CONFIGURACION"
  123. msg -bar
  124. if [[ ! -e ${config} ]]; then
  125. msg -verm " NO HAY INFORMACION"
  126. else
  127. cat /etc/shadowsocks-libev/confis
  128. msg -bar
  129. fi
  130. ;;
  131. 4)
  132. clear
  133. msg -bar
  134. msg -ama " MODIFICAR CONFIGURACION"
  135. msg -bar
  136. if [[ ! -e ${config} ]]; then
  137. msg -verm " NO HAY INFORMACION"
  138. else
  139. msg -verd " para guardar la confi precione ( crtl + x )"
  140. read -p " enter para continuar"
  141. nano ${config}
  142. msg -bar
  143. /etc/init.d/shadowsocks-libev restart
  144. msg -bar
  145. fi
  146. ;;
  147. esac