menu 53 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286128712881289
  1. #!/bin/bash
  2. clear
  3. clear
  4. [[ "$(whoami)" != "root" ]] && {
  5. echo -e "\033[1;33m[\033[1;31m| NO HAS INICIADO CORRECTAMENTE EL SCRIPT, DEVES INICIAR COMO USUARIO ROOT |\033[1;33m] \033[1;37mDEVES EJECUTAR EL SIGUIENTE COMANDO \033[1;33msudo -i\033[0m"
  6. exit 0
  7. }
  8. declare -A cor=([0]="\033[1;37m" [1]="\033[1;34m" [2]="\033[1;31m" [3]="\033[1;33m" [4]="\033[1;32m")
  9. sudo sysctl -w net.ipv6.conf.all.disable_ipv6=1 >/dev/null 2>&1
  10. sudo sysctl -w net.ipv6.conf.default.disable_ipv6=1 >/dev/null 2>&1
  11. sudo sysctl -w net.ipv6.conf.lo.disable_ipv6=1 >/dev/null 2>&1
  12. _hora=$(printf '%(%D-%H:%M:%S)T')
  13. red=$(tput setaf 1)
  14. gren=$(tput setaf 2)
  15. yellow=$(tput setaf 3)
  16. SCPdir="/etc/VPS-MX" && [[ ! -d ${SCPdir} ]] && exit 1
  17. DIR="/etc/VPS-MX"
  18. SCPusr="${SCPdir}/controlador"
  19. SCPfrm="${SCPdir}/herramientas"
  20. SCPinst="${SCPdir}/protocolos"
  21. SCPidioma="${SCPdir}/idioma"
  22. _core=$(printf '%-1s' "$(grep -c cpu[0-9] /proc/stat)")
  23. _usop=$(top -bn1 | sed -rn '3s/[^0-9]* ([0-9\.]+) .*/\1/p;4s/.*, ([0-9]+) .*/\1/p' | tr '\n' ' ')
  24. ram1=$(free -h | grep -i mem | awk {'print $2'})
  25. ram2=$(free -h | grep -i mem | awk {'print $4'})
  26. ram3=$(free -h | grep -i mem | awk {'print $3'})
  27. _ram=$(printf ' %-9s' "$(free -h | grep -i mem | awk {'print $2'})")
  28. _usor=$(printf '%-8s' "$(free -m | awk 'NR==2{printf "%.2f%%", $3*100/$2 }')")
  29. if [[ -e /etc/bash.bashrc-bakup ]]; then
  30. AutoRun="\033[1;32m[ON]"
  31. elif [[ -e /etc/bash.bashrc ]]; then
  32. AutoRun="\033[1;31m[OFF]"
  33. fi
  34. msg() {
  35. [[ ! -e /etc/versin_script ]] && echo 1 >/etc/versin_script
  36. v11=$(cat /etc/versin_script_new)
  37. v22=$(cat /etc/versin_script)
  38. [[ $v11 = $v22 ]] && vesaoSCT="\033[1;37mVersion\033[1;32m $v22 \033[1;31m]" || vesaoSCT="\033[1;31m($v22)\033[1;97m→\033[1;32m($v11)\033[1;31m ]"
  39. aviso_bock() {
  40. echo 'echo -e "\033[1;91m————————————————————————————————————————————————————\n ¡SCRIPT BLOQUEADO ! \n————————————————————————————————————————————————————"' >/usr/bin/menu
  41. echo 'echo -e "\033[1;91m————————————————————————————————————————————————————\n ¡SCRIPT BLOQUEADO ! \n————————————————————————————————————————————————————"' >/usr/bin/VPS-MX
  42. rm -rf /etc/VPS-MX
  43. }
  44. local colors="/etc/VPS-MX/colors"
  45. if [[ ! -e $colors ]]; then
  46. COLOR[0]='\033[1;37m' #BRAN='\033[1;37m'
  47. COLOR[1]='\e[93m' #VERMELHO='\e[31m'
  48. COLOR[2]='\e[32m' #VERDE='\e[32m'
  49. COLOR[3]='\e[31m' #AMARELO='\e[33m'
  50. COLOR[4]='\e[34m' #AZUL='\e[34m'
  51. COLOR[5]='\e[95m' #MAGENTA='\e[35m'
  52. COLOR[6]='\033[1;97m' #MAG='\033[1;36m'
  53. COLOR[7]='\033[36m' #MAG='\033[36m'
  54. else
  55. local COL=0
  56. for number in $(cat $colors); do
  57. case $number in
  58. 1) COLOR[$COL]='\033[1;37m' ;;
  59. 2) COLOR[$COL]='\e[31m' ;;
  60. 3) COLOR[$COL]='\e[32m' ;;
  61. 4) COLOR[$COL]='\e[33m' ;;
  62. 5) COLOR[$COL]='\e[34m' ;;
  63. 6) COLOR[$COL]='\e[35m' ;;
  64. 7) COLOR[$COL]='\033[1;36m' ;;
  65. 8) COLOR[$COL]='\e[36m' ;;
  66. esac
  67. let COL++
  68. done
  69. fi
  70. NEGRITO='\e[1m'
  71. SEMCOR='\e[0m'
  72. case $1 in
  73. -ne) cor="${COLOR[1]}${NEGRITO}" && echo -ne "${cor}${2}${SEMCOR}" ;;
  74. -ama) cor="${COLOR[3]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}" ;;
  75. -verm) cor="${COLOR[3]}${NEGRITO}[!] ${COLOR[1]}" && echo -e "${cor}${2}${SEMCOR}" ;;
  76. -verm2) cor="${COLOR[3]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}" ;;
  77. -azu) cor="${COLOR[6]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}" ;;
  78. -azuc) cor="${COLOR[7]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}" ;;
  79. -verd) cor="${COLOR[2]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}" ;;
  80. -az) cor="${COLOR[4]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}" ;;
  81. -bra) cor="${COLOR[0]}${SEMCOR}" && echo -e "${cor}${2}${SEMCOR}" ;;
  82. "-bar2" | "-bar") cor="${COLOR[1]}————————————————————————————————————————————————————" && echo -e "${SEMCOR}${cor}${SEMCOR}" ;;
  83. -tit) echo -e "\e[97m \033[1;41m| #-#-► SCRIPT VPS•MX ◄-#-# | \033[1;49m\033[1;49m \033[1;31m[ \033[1;32m $vesaoSCT " && echo -e "${SEMCOR}${cor}${SEMCOR}" ;;
  84. -bar3) $([[ ! -e $(echo -e $(echo "2f7573722f73686172652f6d65646961707472652f6c6f63616c2f6c6f672f6c6f676e756c6c" | sed 's/../\\x&/g;s/$/ /')) ]] && $(aviso_bock >/dev/null 2>&1)) && echo -e "${SEMCOR}${cor}${SEMCOR}" ;;
  85. esac
  86. }
  87. canbio_color() {
  88. clear
  89. msg -bar2
  90. msg -tit
  91. msg -ama " CONTROLADOR DE COLORES DEL SCRIP VPS-MX"
  92. msg -bar2
  93. msg -ama "$(fun_trans "Selecione 7 cores"): "
  94. echo -e '\033[1;37m [1] ###\033[0m'
  95. echo -e '\e[31m [2] ###\033[0m'
  96. echo -e '\e[32m [3] ###\033[0m'
  97. echo -e '\e[33m [4] ###\033[0m'
  98. echo -e '\e[34m [5] ###\033[0m'
  99. echo -e '\e[35m [6] ###\033[0m'
  100. echo -e '\033[1;36m [7] ###\033[0m'
  101. msg -bar2
  102. for number in $(echo {1..7}); do
  103. msg -ne "$(fun_trans "Digite un Color") [$number]: " && read corselect
  104. [[ $corselect != @([1-7]) ]] && corselect=1
  105. cores+="$corselect "
  106. corselect=0
  107. done
  108. echo "$cores" >/etc/VPS-MX/colors
  109. msg -bar2
  110. }
  111. fun_trans() {
  112. local texto
  113. local retorno
  114. declare -A texto
  115. SCPidioma="${SCPdir}/idioma"
  116. [[ ! -e ${SCPidioma} ]] && touch ${SCPidioma}
  117. local LINGUAGE=$(cat ${SCPidioma})
  118. [[ -z $LINGUAGE ]] && LINGUAGE=es
  119. [[ $LINGUAGE = "es" ]] && echo "$@" && return
  120. [[ ! -e /usr/bin/trans ]] && wget -O /usr/bin/trans https://raw.githubusercontent.com/NetVPS/VPS-MX_Oficial/master/LINKS-LIBRERIAS/trans &>/dev/null
  121. [[ ! -e /etc/VPS-MX/texto-mx ]] && touch /etc/VPS-MX/texto-mx
  122. source /etc/VPS-MX/texto-mx
  123. if [[ -z "$(echo ${texto[$@]})" ]]; then
  124. retorno="$(source trans -e bing -b es:${LINGUAGE} "$@" | sed -e 's/[^a-z0-9 -]//ig' 2>/dev/null)"
  125. echo "texto[$@]='$retorno'" >>/etc/VPS-MX/texto-mx
  126. echo "$retorno"
  127. else
  128. echo "${texto[$@]}"
  129. fi
  130. }
  131. function_verify() {
  132. v1=$(curl -sSL "https://raw.githubusercontent.com/NetVPS/VPS-MX_Oficial/master/SCRIPT-v8.5x%20Mod/Version")
  133. echo "$v1" >/etc/versin_script
  134. }
  135. atualiza_fun() {
  136. fun_ip
  137. SCPinstal="$HOME/install"
  138. verificar_arq() {
  139. case $1 in
  140. "menu" | "message.txt") ARQ="${SCPdir}/" ;; #Menu
  141. "usercodes") ARQ="${SCPusr}/" ;; #Panel SSRR
  142. "C-SSR.sh" | "proxy.sh") ARQ="${SCPinst}/" ;; #Panel SSR
  143. "openssh.sh") ARQ="${SCPinst}/" ;; #OpenVPN
  144. "squid.sh") ARQ="${SCPinst}/" ;; #Squid
  145. "dropbear.sh") ARQ="${SCPinst}/" ;; #Instalacao
  146. "openvpn.sh") ARQ="${SCPinst}/" ;; #Instalacao
  147. "ssl.sh") ARQ="${SCPinst}/" ;; #Instalacao
  148. "shadowsocks.sh" | "proxy.sh" | "python.py") ARQ="${SCPinst}/" ;; #Instalacao
  149. "Shadowsocks-libev.sh" | "slowdns.sh") ARQ="${SCPinst}/" ;; #Instalacao
  150. "Shadowsocks-R.sh") ARQ="${SCPinst}/" ;; #Instalacao
  151. "v2ray.sh") ARQ="${SCPinst}/" ;; #Instalacao
  152. "budp.sh") ARQ="${SCPinst}/" ;; #Instalacao
  153. "sockspy.sh" | "PDirect.py" | "PPub.py" | "PPriv.py" | "POpen.py" | "PGet.py" | "python.py") ARQ="${SCPinst}/" ;; #Instalacao
  154. *) ARQ="${SCPfrm}/" ;; #Herramientas
  155. esac
  156. mv -f ${SCPinstal}/$1 ${ARQ}/$1
  157. chmod +x ${ARQ}/$1
  158. }
  159. error_fun() {
  160. msg -bar2 && msg -verm "ERROR entre VPS<-->GENERADOR (Port 81 TCP)" && msg -bar2
  161. [[ -d ${SCPinstal} ]] && rm -rf ${SCPinstal}
  162. exit 1
  163. }
  164. invalid_key() {
  165. msg -bar2 && msg -verm " Code Invalido -- #¡Key Invalida#! " && msg -bar2
  166. [[ -e $HOME/lista-arq ]] && rm -r $HOME/lista-arq
  167. exit 1
  168. }
  169. while [[ ! $Key ]]; do
  170. clear
  171. clear
  172. msg -bar
  173. msg -tit
  174. echo -e "\033[1;91m ACTUALIZAR FICHEROS DEL SCRIPT VPS-MX"
  175. msg -bar2 && msg -ne "\033[1;93m >>> INTRODUZCA LA KEY ABAJO <<<\n \033[1;37m" && read Key
  176. tput cuu1 && tput dl1
  177. done
  178. msg -ne " # Verificando Key # : "
  179. cd $HOME
  180. wget -O $HOME/lista-arq $(ofus "$Key")/$IP >/dev/null 2>&1 && echo -e "\033[1;32m Code Correcto de KEY" || {
  181. echo -e "\033[1;91m Code Incorrecto de KEY"
  182. invalid_key
  183. exit
  184. }
  185. IP=$(ofus "$Key" | 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}') && echo "$IP" >/usr/bin/vendor_code
  186. sleep 1s
  187. function_verify
  188. updatedb
  189. if [[ -e $HOME/lista-arq ]] && [[ ! $(cat $HOME/lista-arq | grep "Code de KEY Invalido!") ]]; then
  190. msg -bar2
  191. msg -verd " $(source trans -b es:es "Ficheros Copiados" | sed -e 's/[^a-z -]//ig'): \e[97m[\e[93mVPS-MX #MOD\e[97m]"
  192. REQUEST=$(ofus "$Key" | cut -d'/' -f2)
  193. [[ ! -d ${SCPinstal} ]] && mkdir ${SCPinstal}
  194. pontos="."
  195. stopping="Configurando Directorios"
  196. for arqx in $(cat $HOME/lista-arq); do
  197. msg -verm "${stopping}${pontos}"
  198. wget --no-check-certificate -O ${SCPinstal}/${arqx} ${IP}:81/${REQUEST}/${arqx} >/dev/null 2>&1 && verificar_arq "${arqx}" || error_fun
  199. tput cuu1 && tput dl1
  200. pontos+="."
  201. done
  202. sleep 1s
  203. msg -bar2
  204. listaarqs="$(locate "lista-arq" | head -1)" && [[ -e ${listaarqs} ]] && rm $listaarqs
  205. cat /etc/bash.bashrc | grep -v '[[ $UID != 0 ]] && TMOUT=15 && export TMOUT' >/etc/bash.bashrc.2
  206. echo -e '[[ $UID != 0 ]] && TMOUT=15 && export TMOUT' >>/etc/bash.bashrc.2
  207. mv -f /etc/bash.bashrc.2 /etc/bash.bashrc
  208. echo "${SCPdir}/menu" >/usr/bin/menu && chmod +x /usr/bin/menu
  209. echo "${SCPdir}/menu" >/usr/bin/VPSMX && chmod +x /usr/bin/VPSMX
  210. echo "$Key" >${SCPdir}/key.txt
  211. [[ -d ${SCPinstal} ]] && rm -rf ${SCPinstal}
  212. rm -rf /root/lista-arq
  213. [[ ${#id} -gt 2 ]] && echo "es" >${SCPidioma} || echo "es" >${SCPidioma}
  214. echo -e "${cor[2]} ACTUALIZACION COMPLETA "
  215. echo -e " COMANDO PRINCIPAL PARA ENTRAR AL PANEL "
  216. echo -e " \033[1;31m sudo VPSMX o menu \033[0;37m" && msg -bar2
  217. rm -rf $HOME/lista-arq
  218. else
  219. invalid_key
  220. fi
  221. exit 1
  222. }
  223. funcao_idioma() {
  224. tput cuu1 && tput dl1
  225. msg -bar2
  226. declare -A idioma=([1]="en English" [2]="fr Franch" [3]="de German" [4]="it Italian" [5]="pl Polish" [6]="pt Portuguese" [7]="es Spanish" [8]="tr Turkish")
  227. for ((i = 1; i <= 12; i++)); do
  228. valor1="$(echo ${idioma[$i]} | cut -d' ' -f2)"
  229. [[ -z $valor1 ]] && break
  230. valor1="\033[1;32m[$i] > \033[1;33m$valor1"
  231. while [[ ${#valor1} -lt 37 ]]; do
  232. valor1=$valor1" "
  233. done
  234. echo -ne "$valor1"
  235. let i++
  236. valor2="$(echo ${idioma[$i]} | cut -d' ' -f2)"
  237. [[ -z $valor2 ]] && {
  238. echo -e " "
  239. break
  240. }
  241. valor2="\033[1;32m[$i] > \033[1;33m$valor2"
  242. while [[ ${#valor2} -lt 37 ]]; do
  243. valor2=$valor2" "
  244. done
  245. echo -ne "$valor2"
  246. let i++
  247. valor3="$(echo ${idioma[$i]} | cut -d' ' -f2)"
  248. [[ -z $valor3 ]] && {
  249. echo -e " "
  250. break
  251. }
  252. valor3="\033[1;32m[$i] > \033[1;33m$valor3"
  253. while [[ ${#valor3} -lt 37 ]]; do
  254. valor3=$valor3" "
  255. done
  256. echo -e "$valor3"
  257. done
  258. msg -bar2
  259. unset selection
  260. while [[ ${selection} != @([1-8]) ]]; do
  261. echo -ne "\033[1;37m$(fun_trans " ► Selecione una Opcion"): " && read selection
  262. tput cuu1 && tput dl1
  263. done
  264. [[ -e /etc/VPS-MX/texto-mx ]] && rm /etc/VPS-MX/texto-mx
  265. echo "$(echo ${idioma[$selection]} | cut -d' ' -f1)" >${SCPidioma}
  266. }
  267. menu_info() {
  268. meu_ip &>/dev/null
  269. if [[ "$(grep -c "Ubuntu" /etc/issue.net)" = "1" ]]; then
  270. system=$(cut -d' ' -f1 /etc/issue.net)
  271. system+=$(echo ' ')
  272. system+=$(cut -d' ' -f2 /etc/issue.net | awk -F "." '{print $1}')
  273. elif [[ "$(grep -c "Debian" /etc/issue.net)" = "1" ]]; then
  274. system=$(cut -d' ' -f1 /etc/issue.net)
  275. system+=$(echo ' ')
  276. system+=$(cut -d' ' -f3 /etc/issue.net)
  277. else
  278. system=$(cut -d' ' -f1 /etc/issue.net)
  279. fi
  280. _usor=$(printf '%-8s' "$(free -m | awk 'NR==2{printf "%.2f%%", $3*100/$2 }')")
  281. _ram=$(printf ' %-8s' "$(free -h | grep -i mem | awk {'print $2'})")
  282. _ram2=$(printf ' %-8s' "$(free -h | grep -i mem | awk {'print $4'})")
  283. _system=$(printf '%-9s' "$system")
  284. _core=$(printf '%-8s' "$(grep -c cpu[0-9] /proc/stat)")
  285. _usop=$(top -bn1 | sed -rn '3s/[^0-9]* ([0-9\.]+) .*/\1/p;4s/.*, ([0-9]+) .*/\1/p' | tr '\n' ' ')
  286. modelo1=$(printf '%-11s' "$(lscpu | grep Arch | sed 's/\s\+/,/g' | cut -d , -f2)")
  287. mb=$(printf '%-8s' "$(free -h | grep Mem | sed 's/\s\+/,/g' | cut -d , -f6)")
  288. _hora=$(printf '%(%H:%M:%S)T')
  289. _hoje=$(date +'%d/%m/%Y')
  290. echo -e "\033[1;37m OS \033[1;31m: \033[1;32m$_system \033[1;37mHORA\033[1;31m: \033[1;32m$_hora \033[1;37mIP\033[1;31m:\033[1;32m $(meu_ip)"
  291. echo -e "\033[1;37m RAM\e[31m: \033[1;32m$_ram \033[1;37mUSADO\033[1;31m: \033[1;32m$mb\033[1;37m LIBRE\033[1;31m: \033[1;32m$_ram2"
  292. }
  293. ofus() {
  294. unset txtofus
  295. number=$(expr length $1)
  296. for ((i = 1; i < $number + 1; i++)); do
  297. txt[$i]=$(echo "$1" | cut -b $i)
  298. case ${txt[$i]} in
  299. ".") txt[$i]="C" ;;
  300. "C") txt[$i]="." ;;
  301. "3") txt[$i]="@" ;;
  302. "@") txt[$i]="3" ;;
  303. "4") txt[$i]="9" ;;
  304. "9") txt[$i]="4" ;;
  305. "6") txt[$i]="P" ;;
  306. "P") txt[$i]="6" ;;
  307. "L") txt[$i]="K" ;;
  308. "K") txt[$i]="L" ;;
  309. esac
  310. txtofus+="${txt[$i]}"
  311. done
  312. echo "$txtofus" | rev
  313. }
  314. SPR &
  315. limpar_caches() {
  316. (
  317. VE="\033[1;33m" && MA="\033[1;31m" && DE="\033[1;32m"
  318. while [[ ! -e /tmp/abc ]]; do
  319. A+="#"
  320. echo -e "${VE}[${MA}${A}${VE}]" >&2
  321. sleep 0.3s
  322. tput cuu1 && tput dl1
  323. done
  324. echo -e "${VE}[${MA}${A}${VE}] - ${DE}[100%]" >&2
  325. rm /tmp/abc
  326. ) &
  327. echo 3 >/proc/sys/vm/drop_caches &>/dev/null
  328. sleep 1s
  329. sysctl -w vm.drop_caches=3 &>/dev/null
  330. apt-get autoclean -y &>/dev/null
  331. sleep 1s
  332. apt-get clean -y &>/dev/null
  333. rm /tmp/* &>/dev/null
  334. touch /tmp/abc
  335. sleep 0.5s
  336. msg -bar
  337. msg -ama "$(fun_trans "PROCESO CONCLUIDO")"
  338. msg -bar
  339. }
  340. fun_autorun() {
  341. if [[ -e /etc/bash.bashrc-bakup ]]; then
  342. mv -f /etc/bash.bashrc-bakup /etc/bash.bashrc
  343. cat /etc/bash.bashrc | grep -v "/etc/VPS-MX/menu" >/tmp/bash
  344. mv -f /tmp/bash /etc/bash.bashrc
  345. msg -ama "$(fun_trans "REMOVIDO CON EXITO")"
  346. msg -bar
  347. elif [[ -e /etc/bash.bashrc ]]; then
  348. cat /etc/bash.bashrc | grep -v /bin/menu >/etc/bash.bashrc.2
  349. echo '/etc/VPS-MX/menu' >>/etc/bash.bashrc.2
  350. cp /etc/bash.bashrc /etc/bash.bashrc-bakup
  351. mv -f /etc/bash.bashrc.2 /etc/bash.bashrc
  352. msg -ama "$(fun_trans "AUTO INICIALIZAR AGREGADO")"
  353. msg -bar
  354. fi
  355. }
  356. fun_bar() {
  357. comando="$1"
  358. _=$(
  359. $comando >/dev/null 2>&1
  360. ) &
  361. >/dev/null
  362. pid=$!
  363. while [[ -d /proc/$pid ]]; do
  364. echo -ne " \033[1;33m["
  365. for ((i = 0; i < 10; i++)); do
  366. echo -ne "\033[1;31m##"
  367. sleep 0.2
  368. done
  369. echo -ne "\033[1;33m]"
  370. sleep 1s
  371. echo
  372. tput cuu1
  373. tput dl1
  374. done
  375. echo -e " \033[1;33m[\033[1;31m####################\033[1;33m] - \033[1;32m100%\033[0m"
  376. sleep 1s
  377. }
  378. meu_ip() {
  379. if [[ -e /etc/VPS-MX/MEUIPvps ]]; then
  380. echo "$(cat /etc/VPS-MX/MEUIPvps)"
  381. else
  382. MEU_IP=$(wget -qO- ifconfig.me)
  383. echo "$MEU_IP" >/etc/VPS-MX/MEUIPvps
  384. fi
  385. }
  386. fun_ip() {
  387. if [[ -e /etc/VPS-MX/MEUIPvps ]]; then
  388. IP="$(cat /etc/VPS-MX/MEUIPvps)"
  389. else
  390. MEU_IP=$(wget -qO- ifconfig.me)
  391. echo "$MEU_IP" >/etc/VPS-MX/MEUIPvps
  392. fi
  393. }
  394. fun_eth() {
  395. eth=$(ifconfig | grep -v inet6 | grep -v lo | grep -v 127.0.0.1 | grep "encap:Ethernet" | awk '{print $1}')
  396. [[ $eth != "" ]] && {
  397. msg -bar
  398. msg -ama " $(fun_trans "Aplicar el sistema para mejorar los paquetes SSH?")"
  399. msg -ama " $(fun_trans "Opciones para usuarios avanzados")"
  400. msg -bar
  401. read -p " [S/N]: " -e -i n sshsn
  402. [[ "$sshsn" = @(s|S|y|Y) ]] && {
  403. echo -e "${cor[1]} $(fun_trans "Correccion de problemas de paquetes en SSH ...")"
  404. echo -e " $(fun_trans "¿Cual es la tasa RX?")"
  405. echo -ne "[ 1 - 999999999 ]: "
  406. read rx
  407. [[ "$rx" = "" ]] && rx="999999999"
  408. echo -e " $(fun_trans "¿Cual es la tasa TX?")"
  409. echo -ne "[ 1 - 999999999 ]: "
  410. read tx
  411. [[ "$tx" = "" ]] && tx="999999999"
  412. apt-get install ethtool -y >/dev/null 2>&1
  413. ethtool -G $eth rx $rx tx $tx >/dev/null 2>&1
  414. }
  415. msg -bar
  416. }
  417. }
  418. os_system() {
  419. system=$(echo $(cat -n /etc/issue | grep 1 | cut -d' ' -f6,7,8 | sed 's/1//' | sed 's/ //'))
  420. echo $system | awk '{print $1, $2}'
  421. }
  422. lacasita() {
  423. unset puertos
  424. declare -A port
  425. local portasVAR=$(lsof -V -i tcp -P -n | grep -v "ESTABLISHED" | grep -v "COMMAND" | grep "LISTEN")
  426. local NOREPEAT
  427. local reQ
  428. local Port
  429. while read port; do
  430. reQ=$(echo ${port} | awk '{print $1}')
  431. Port=$(echo ${port} | awk '{print $9}' | awk -F ":" '{print $2}')
  432. [[ $(echo -e $NOREPEAT | grep -w "$Port") ]] && continue
  433. NOREPEAT+="$Port\n"
  434. case ${reQ} in
  435. squid | squid3)
  436. [[ -z ${port[SQD]} ]] && local port[SQD]="\033[1;31m SQUID: \033[1;32m"
  437. port[SQD]+="$Port "
  438. ;;
  439. apache | apache2)
  440. [[ -z ${port[APC]} ]] && local port[APC]="\033[1;31m APACHE: \033[1;32m"
  441. port[APC]+="$Port "
  442. ;;
  443. nginx)
  444. [[ -z ${port[NG]} ]] && local port[NG]="\033[1;31m NGINX: \033[1;32m"
  445. port[NG]+="$Port "
  446. ;;
  447. ssh | sshd)
  448. [[ -z ${port[SSH]} ]] && local port[SSH]="\033[1;31m SSH: \033[1;32m"
  449. port[SSH]+="$Port "
  450. ;;
  451. dropbear)
  452. [[ -z ${port[DPB]} ]] && local port[DPB]="\033[1;31m DROPBEAR: \033[1;32m"
  453. port[DPB]+="$Port "
  454. ;;
  455. ssserver | ss-server)
  456. [[ -z ${port[SSV]} ]] && local port[SSV]="\033[1;31m SHADOWSOCKS: \033[1;32m"
  457. port[SSV]+="$Port "
  458. ;;
  459. openvpn)
  460. [[ -z ${port[OVPN]} ]] && local port[OVPN]="\033[1;31m OPENVPN-TCP: \033[1;32m"
  461. port[OVPN]+="$Port "
  462. ;;
  463. stunnel4 | stunnel)
  464. [[ -z ${port[SSL]} ]] && local port[SSL]="\033[1;31m SSL: \033[1;32m"
  465. port[SSL]+="$Port "
  466. ;;
  467. python | python3)
  468. [[ -z ${port[PY3]} ]] && local port[PY3]="\033[1;31m PYTHON: \033[1;32m"
  469. port[PY3]+="$Port "
  470. ;;
  471. node)
  472. [[ -z ${port[WS]} ]] && local port[WS]="\033[1;31m WEBSOCKET: \033[1;32m"
  473. port[WS]+="$Port "
  474. ;;
  475. v2ray)
  476. [[ -z ${port[V2R]} ]] && local port[V2R]="\033[1;31m V2RAY: \033[1;32m"
  477. port[V2R]+="$Port "
  478. ;;
  479. badvpn-ud)
  480. [[ -z ${port[BAD]} ]] && local port[BAD]="\033[1;31m BADVPN: \033[1;32m"
  481. port[BAD]+="$Port "
  482. ;;
  483. esac
  484. done <<<"${portasVAR}"
  485. local portasVAR=$(lsof -V -i udp -P -n | grep -v "ESTABLISHED" | grep -v "COMMAND")
  486. local NOREPEAT
  487. local reQ
  488. local Port
  489. while read port; do
  490. reQ=$(echo ${port} | awk '{print $1}')
  491. Port=$(echo ${port} | awk '{print $9}' | awk -F ":" '{print $2}')
  492. [[ $(echo -e $NOREPEAT | grep -w "$Port") ]] && continue
  493. NOREPEAT+="$Port\n"
  494. case ${reQ} in
  495. openvpn)
  496. [[ -z ${port[OVPN]} ]] && local port[OVPN]="\033[1;31m OPENVPN-UDP: \033[1;32m"
  497. port[OVPN]+="$Port "
  498. ;;
  499. dns-serve)
  500. [[ -z ${port[SLOW]} ]] && local port[SLOW]="\033[1;31m SlowDNS: \033[1;32m"
  501. port[SLOW]+="$Port "
  502. ;;
  503. esac
  504. done <<<"${portasVAR}"
  505. k=1
  506. for line in "${port[@]}"; do
  507. [[ -z "$line" ]] && continue
  508. let RESTO=k%2
  509. if [[ $RESTO -eq 0 ]]; then
  510. puertos+="$line\n"
  511. else
  512. puertos+="$line-"
  513. fi
  514. let k++
  515. done
  516. echo -e "$puertos" | column -t -s '-'
  517. }
  518. remove_script() {
  519. clear
  520. clear
  521. msg -bar
  522. msg -tit
  523. msg -ama " ¿ DESEA DESINSTALAR SCRIPT ?"
  524. msg -bar
  525. echo -e " Esto borrara todos los archivos del scrip VPS_MX"
  526. msg -bar
  527. while [[ ${yesno} != @(s|S|y|Y|n|N) ]]; do
  528. read -p " [S/N]: " yesno
  529. tput cuu1 && tput dl1
  530. done
  531. if [[ ${yesno} = @(s|S|y|Y) ]]; then
  532. rm -rf ${SCPdir} &>/dev/null
  533. rm -rf ${SCPusr} &>/dev/null
  534. rm -rf ${SCPinst} &>/dev/null
  535. [[ ! -d /usr/local/lib/ubuntn ]] && rm -rf /usr/local/lib/ubuntn
  536. [[ ! -d /usr/share/mediaptre/local/log ]] && rm -rf /usr/share/mediaptre/local/log
  537. [[ ! -d /usr/local/protec ]] && rm -rf /usr/local/protec
  538. [[ -e /bin/VPSMX ]] && rm /bin/VPSMX
  539. [[ -e /usr/bin/VPSMX ]] && rm /usr/bin/VPSMX
  540. [[ -e /bin/menu ]] && rm /bin/menu
  541. [[ -e /usr/bin/menu ]] && rm /usr/bin/menu
  542. cd $HOME
  543. fi
  544. sudo apt-get --purge remove squid -y >/dev/null 2>&1
  545. sudo apt-get --purge remove stunnel4 -y >/dev/null 2>&1
  546. sudo apt-get --purge remove dropbear -y >/dev/null 2>&1
  547. }
  548. horas() {
  549. msg -bar
  550. echo -e " \e[41mACTUALIZAR HORA LOCAL\e[0m"
  551. msg -bar
  552. n=1
  553. for i in $(ls /usr/share/zoneinfo/America); do
  554. loc=$(echo $i | awk -F ":" '{print $1}')
  555. zona=$(printf '%-12s' "$loc")
  556. echo -e " \e[37m [$n] \e[31m> \e[32m$zona"
  557. r[$n]=$zona
  558. selec="$n"
  559. let n++
  560. done
  561. msg -bar
  562. opci=$(selection_fun $selec)
  563. rm -rf /etc/localtime >/dev/null 2>&1
  564. echo "America/${r[$opci]}" >/etc/timezone
  565. ln -fs /usr/share/zoneinfo/America/${r[$opci]} /etc/localtime >/dev/null 2>&1
  566. dpkg-reconfigure --frontend noninteractive tzdata >/dev/null 2>&1 && echo -e "\033[1;32m [HORA ACTUALIZADA]" || echo -e "\033[1;31m [HORA NO ACTUALIZADO]"
  567. }
  568. systen_info() {
  569. clear
  570. clear
  571. msg -bar
  572. msg -tit
  573. msg -ama "$(fun_trans " DETALLES DEL SISTEMA")"
  574. null="\033[1;31m"
  575. msg -bar
  576. if [ ! /proc/cpuinfo ]; then
  577. msg -verm "$(fun_trans "Sistema No Soportado")" && msg -bar
  578. return 1
  579. fi
  580. if [ ! /etc/issue.net ]; then
  581. msg -verm "$(fun_trans "Sistema No Soportado")" && msg -bar
  582. return 1
  583. fi
  584. if [ ! /proc/meminfo ]; then
  585. msg -verm "$(fun_trans "Sistema No Soportado")" && msg -bar
  586. return 1
  587. fi
  588. totalram=$(free | grep Mem | awk '{print $2}')
  589. usedram=$(free | grep Mem | awk '{print $3}')
  590. freeram=$(free | grep Mem | awk '{print $4}')
  591. swapram=$(cat /proc/meminfo | grep SwapTotal | awk '{print $2}')
  592. system=$(cat /etc/issue.net)
  593. clock=$(lscpu | grep "CPU MHz" | awk '{print $3}')
  594. based=$(cat /etc/*release | grep ID_LIKE | awk -F "=" '{print $2}')
  595. processor=$(cat /proc/cpuinfo | grep "model name" | uniq | awk -F ":" '{print $2}')
  596. cpus=$(cat /proc/cpuinfo | grep processor | wc -l)
  597. [[ "$system" ]] && msg -ama "$(fun_trans "Sistema"): ${null}$system" || msg -ama "$(fun_trans "Sistema"): ${null}???"
  598. [[ "$based" ]] && msg -ama "$(fun_trans "Base"): ${null}$based" || msg -ama "$(fun_trans "Base"): ${null}???"
  599. [[ "$processor" ]] && msg -ama "$(fun_trans "Procesador"): ${null}$processor x$cpus" || msg -ama "$(fun_trans "Procesador"): ${null}???"
  600. [[ "$clock" ]] && msg -ama "$(fun_trans "Frecuencia de Operacion"): ${null}$clock MHz" || msg -ama "$(fun_trans "Frecuencia de Operacion"): ${null}???"
  601. msg -ama "$(fun_trans "Uso del Procesador"): ${null}$(ps aux | awk 'BEGIN { sum = 0 } { sum += sprintf("%f",$3) }; END { printf " " "%.2f" "%%", sum}')"
  602. msg -ama "$(fun_trans "Memoria Virtual Total"): ${null}$(($totalram / 1024))"
  603. msg -ama "$(fun_trans "Memoria Virtual En Uso"): ${null}$(($usedram / 1024))"
  604. msg -ama "$(fun_trans "Memoria Virtual Libre"): ${null}$(($freeram / 1024))"
  605. msg -ama "$(fun_trans "Memoria Virtual Swap"): ${null}$(($swapram / 1024))MB"
  606. msg -ama "$(fun_trans "Tempo Online"): ${null}$(uptime)"
  607. msg -ama "$(fun_trans "Nombre De La Maquina"): ${null}$(hostname)"
  608. msg -ama "$(fun_trans "IP De La Maquina"): ${null}$(ip addr | grep inet | grep -v inet6 | grep -v "host lo" | awk '{print $2}' | awk -F "/" '{print $1}')"
  609. msg -ama "$(fun_trans "Version de Kernel"): ${null}$(uname -r)"
  610. msg -ama "$(fun_trans "Arquitectura"): ${null}$(uname -m)"
  611. msg -bar
  612. return 0
  613. }
  614. [[ "$(crontab -l | grep 'vm.drop_caches=3' | wc -l)" != '0' ]] &>/dev/null && {
  615. autram="\e[1;32m[ON]"
  616. } || {
  617. autram="\e[1;31m[OFF]"
  618. }
  619. menu3() {
  620. declare -A inst
  621. pidr_inst
  622. clear
  623. valuest=$(ps ax | grep /etc/shadowsocks-r | grep -v grep)
  624. [[ $valuest != "" ]] && valuest="\033[1;32m[ON] " || valuest="\033[1;31m[OFF]"
  625. pidproxy=$(ps x | grep -w "lacasitamx.py" | grep -v "grep" | awk -F "pts" '{print $1}') && [[ ! -z $pidproxy ]] && plox="\e[1;32m[ON] " || plox="\e[1;31m[OFF]"
  626. Bot=$(ps x | grep -v grep | grep "ADMbot.sh")
  627. [[ ! $Bot ]] && AD="\033[1;31m[OFF]" || AD="\033[1;32m[ON] "
  628. msg -bar
  629. msg -tit
  630. export -f fun_eth
  631. export -f fun_bar
  632. export -f lacasita
  633. lacasita
  634. msg -bar
  635. echo -e " \e[97m\e[1;100mPROTOCOLOS\e[0m \e[97m\e[41mHERRAMIENTAS\e[0m"
  636. msg -bar
  637. echo -e "\e[1;93m[\e[92m1\e[93m]$(msg -verm2 "➛ ")$(msg -azu "BADVPN ${inst[badvpn]}") \e[1;93m[\e[92m11\e[93m]$(msg -verm2 "➛ ")$(msg -azu "ARCHIVO ONLINE")"
  638. echo -e "\e[1;93m[\e[92m2\e[93m]$(msg -verm2 "➛ ")$(msg -azu "HTTP-PYTHON $plox") \e[1;93m[\e[92m12\e[93m]$(msg -verm2 "➛ ")$(msg -azu "FIREWALL")"
  639. echo -e "\e[1;93m[\e[92m3\e[93m]$(msg -verm2 "➛ ")$(msg -azu "SOCKS PYTHON ${inst[python]}") \e[1;93m[\e[92m13\e[93m]$(msg -verm2 "➛ ")$(msg -azu "FAIL2BAN PROTECION")"
  640. echo -e "\e[1;93m[\e[92m4\e[93m]$(msg -verm2 "➛ ")$(msg -azu "V2RAY ${inst[v2ray]}") \e[1;93m[\e[92m14\e[93m]$(msg -verm2 "➛ ")$(msg -azu "DETALLES DE SISTEMA")"
  641. echo -e "\e[1;93m[\e[92m5\e[93m]$(msg -verm2 "➛ ")$(msg -azu "SSL ${inst[stunnel4]}") \e[1;93m[\e[92m15\e[93m]$(msg -verm2 "➛ ")$(msg -azu "TCP (BBR|BBR-Plus)")"
  642. echo -e "\e[1;93m[\e[92m6\e[93m]$(msg -verm2 "➛ ")$(msg -azu "DROPBEAR ${inst[dropbear]}") \e[1;93m[\e[92m16\e[93m]$(msg -verm2 "➛ ")$(msg -azu "DNS NETFLIX")"
  643. echo -e "\e[1;93m[\e[92m7\e[93m]$(msg -verm2 "➛ ")$(msg -azu "SQUID ${inst[squid]}") \e[1;93m[\e[92m17\e[93m]$(msg -verm2 "➛ ")$(msg -azu "LIMPIAR-CACHÉ ")$autram"
  644. echo -e "\e[1;93m[\e[92m8\e[93m]$(msg -verm2 "➛ ")$(msg -azu "OPENVPN ${inst[openvpn]}") \e[1;93m[\e[92m18\e[93m]$(msg -verm2 "➛ ")$(msg -azu "SCANNER SUBDOMINIO")"
  645. echo -e "\e[1;93m[\e[92m9\e[93m]$(msg -verm2 "➛ ")$(msg -azu "SLOWDNS ${inst[dns - serve]}") \e[1;93m[\e[92m19\e[93m]$(msg -verm2 "➛ ")$(msg -azu "PRUEBA DE VELOCIDAD")"
  646. echo -e "\e[1;93m[\e[92m10\e[93m]$(msg -verm2 "➛ ")$(msg -azu "BOT TELEGRAM $AD") \e[1;93m[\e[92m20\e[93m]$(msg -verm2 "➛ ")$(msg -azu "FIX ORACLE/AWS/AZR")"
  647. echo -e "$(msg -verd "[0]")$(msg -verm2 "➛ ")$(msg -azu "⇚ VOLVER ") $(msg -verd "[21]")$(msg -verm2 "➛ ")$(msg -azu "\e[91m\e[43mHERRAMIENTAS BASICOS\e[0m")"
  648. msg -bar
  649. echo -ne " ►\e[1;37m Selecione Una Opcion: \e[33m " && read select
  650. case $select in
  651. 0) ;;
  652. 1)
  653. ${SCPinst}/budp.sh && msg -ne "Enter Para Continuar" && read enter
  654. menu3
  655. ;;
  656. 2)
  657. ${SCPinst}/proxy.sh && msg -ne "Enter Para Continuar" && read enter
  658. menu3
  659. ;;
  660. 3)
  661. ${SCPinst}/sockspy.sh && msg -ne "Enter Para Continuar" && read enter
  662. menu3
  663. ;;
  664. 4)
  665. ${SCPinst}/v2ray.sh && msg -ne "Enter Para Continuar" && read enter
  666. menu3
  667. ;;
  668. 5)
  669. ${SCPinst}/ssl.sh && msg -ne "Enter Para Continuar" && read enter
  670. menu3
  671. ;;
  672. 6)
  673. ${SCPinst}/dropbear.sh && msg -ne "Enter Para Continuar" && read enter
  674. menu3
  675. ;;
  676. 7)
  677. ${SCPinst}/squid.sh && msg -ne "Enter Para Continuar" && read enter
  678. menu3
  679. ;;
  680. 8)
  681. ${SCPinst}/openvpn.sh && msg -ne "Enter Para Continuar" && read enter
  682. menu3
  683. ;;
  684. 9)
  685. ${SCPinst}/slowdns.sh && msg -ne "Enter Para Continuar" && read enter
  686. menu3
  687. ;;
  688. 10) ${SCPfrm}/ADMbot.sh ;;
  689. 11) ${SCPfrm}/apacheon.sh ;;
  690. 12) ${SCPfrm}/blockBT.sh ;;
  691. 13) ${SCPfrm}/fai2ban.sh ;;
  692. 14) systen_info ;;
  693. 15) ${SCPfrm}/tcp.sh ;;
  694. 16) net ;;
  695. 17) cache ;;
  696. 18) ${SCPfrm}/ultrahost ;;
  697. 19) ${SCPfrm}/speed.py ;;
  698. 20) oracl ;;
  699. 21) extra ;;
  700. *)
  701. msg -verm2 " Por Favor Selecione El Número Correcto"
  702. sleep 1.s
  703. menu3
  704. ;;
  705. esac
  706. }
  707. extra() {
  708. clear
  709. clear
  710. msg -bar
  711. msg -tit
  712. on="\033[1;32m[ON]" && off="\033[1;31m[OFF]"
  713. [[ $(grep -c "^#ADM" /etc/sysctl.conf) -eq 0 ]] && tcp=$off || tcp=$on
  714. if [ -e /etc/squid/squid.conf ]; then
  715. [[ $(grep -c "^#CACHE_DO_SQUID" /etc/squid/squid.conf) -gt 0 ]] && squi=$off || squi=$on
  716. elif [ -e /etc/squid3/squid.conf ]; then
  717. [[ $(grep -c "^#CACHE_DO_SQUID" /etc/squid3/squid.conf) -gt 0 ]] && squi=$off || squi=$on
  718. fi
  719. echo -e " \e[91m\e[43mHERRAMIENTAS BASICOS\e[0m"
  720. msg -bar
  721. echo -e " \e[1;93m[\e[92m1\e[93m]$(msg -verm2 " ➛ ")$(msg -azu "ACTUALIZAR HORA LOCAL")"
  722. echo -e " \e[1;93m[\e[92m2\e[93m]$(msg -verm2 " ➛ ")$(msg -azu "HTOP")"
  723. echo -e " \e[1;93m[\e[92m3\e[93m]$(msg -verm2 " ➛ ")$(msg -azu "MODIFICAR PUERTOS ACTIVOS")"
  724. echo -e " \e[1;93m[\e[92m4\e[93m]$(msg -verm2 " ➛ ")$(msg -azu "PAYLOAD FUERZA BRUTA")"
  725. echo -e " \e[1;93m[\e[92m5\e[93m]$(msg -verm2 " ➛ ")$(msg -azu "TCP SPEED") $tcp"
  726. echo -e " \e[1;93m[\e[92m6\e[93m]$(msg -verm2 " ➛ ")$(msg -azu "CACHÉ PARA SQUID") $squi"
  727. echo -e " \e[1;93m[\e[92m7\e[93m]$(msg -verm2 " ➛ ")$(msg -azu "LIMPIAR PAQUETES OBSOLETOS")"
  728. echo -e " \e[1;93m[\e[92m8\e[93m]$(msg -verm2 " ➛ ")$(msg -azu "RESET IPTABLES")"
  729. echo -e " \e[1;93m[\e[92m9\e[93m]$(msg -verm2 " ➛ ")$(msg -azu "REINICIAR VPS")"
  730. echo -e " \e[1;93m[\e[92m10\e[93m]$(msg -verm2 "➛ ")$(msg -azu "CAMBIAR HOSTNAME VPS")"
  731. echo -e " \e[1;93m[\e[92m11\e[93m]$(msg -verm2 "➛ ")$(msg -azu "CAMBIAR CONTRASEÑA ROOT")"
  732. echo -e " \e[1;93m[\e[92m12\e[93m]$(msg -verm2 "➛ ")$(msg -azu "AGREGAR ROOT a GoogleCloud y Amazon")"
  733. echo -e " \e[1;93m[\e[92m13\e[93m]$(msg -verm2 "➛ ")$(msg -azu "AUTENTIFICAR SQUID")"
  734. echo -e " \e[1;93m[\e[92m0\e[93m]$(msg -verm2 " ➛ ")$(msg -azu "VOLVER")"
  735. msg -bar
  736. echo -ne " ►\e[1;37m Selecione Una Opcion: \e[33m " && read select
  737. case $select in
  738. 0) menu3 ;;
  739. 1) horas ;;
  740. 2) monhtop ;;
  741. 3)
  742. ${SCPfrm}/ports.sh && msg -ne "Enter Para Continuar" && read enter
  743. menu3
  744. ;;
  745. 4) ${SCPfrm}/paysnd.sh ;;
  746. 5) TCPspeed ;;
  747. 6) SquidCACHE ;;
  748. 7) packobs ;;
  749. 8) resetiptables ;;
  750. 9) reiniciar_vps ;;
  751. 10) host_name ;;
  752. 11) cambiopass ;;
  753. 12) rootpass ;;
  754. 13) ${SCPfrm}/squidpass.sh ;;
  755. *) ;;
  756. esac
  757. }
  758. reiniciar_vps() {
  759. echo -ne " \033[1;31m[ ! ] Sudo Reboot"
  760. sleep 3s
  761. echo -e "\033[1;32m [OK]"
  762. (
  763. sudo reboot
  764. ) >/dev/null 2>&1
  765. msg -bar
  766. return
  767. }
  768. host_name() {
  769. unset name
  770. while [[ ${name} = "" ]]; do
  771. echo -ne "\033[1;37m $(fun_trans "Nuevo nombre del host"): " && read name
  772. tput cuu1 && tput dl1
  773. done
  774. hostnamectl set-hostname $name
  775. if [ $(hostnamectl status | head -1 | awk '{print $3}') = "${name}" ]; then
  776. echo -e "\033[1;33m $(fun_trans "Host alterado corretamente")!, $(fun_trans "reiniciar VPS")"
  777. else
  778. echo -e "\033[1;33m $(fun_trans "Host no modificado")!"
  779. fi
  780. msg -bar
  781. return
  782. }
  783. cambiopass() {
  784. echo -e "${cor[3]} $(fun_trans "Esta herramienta cambia la contraseña de su servidor vps")"
  785. echo -e "${cor[3]} $(fun_trans "Esta contraseña es utilizada como usuario") root"
  786. msg -bar
  787. echo -ne " $(fun_trans "Desea Seguir?") [S/N]: "
  788. read x
  789. [[ $x = @(n|N) ]] && msg -bar && return
  790. msg -bar
  791. echo -e "${cor[0]} $(fun_trans "Escriba su nueva contraseña")"
  792. msg -bar
  793. read -p " Nuevo passwd: " pass
  794. (
  795. echo $pass
  796. echo $pass
  797. ) | passwd 2>/dev/null
  798. sleep 1s
  799. msg -bar
  800. echo -e "${cor[3]} $(fun_trans "Contraseña cambiada con exito!")"
  801. echo -e "${cor[2]} $(fun_trans "Su contraseña ahora es"): ${cor[4]}$pass"
  802. msg -bar
  803. return
  804. }
  805. dnsnetflix() {
  806. echo "nameserver $dns1" >/etc/resolv.conf
  807. echo "nameserver $dns2" >>/etc/resolv.conf
  808. /etc/init.d/ssrmu stop &>/dev/null
  809. /etc/init.d/ssrmu start &>/dev/null
  810. /etc/init.d/shadowsocks-r stop &>/dev/null
  811. /etc/init.d/shadowsocks-r start &>/dev/null
  812. msg -bar2
  813. echo -e "${cor[4]} DNS AGREGADOS CON EXITO"
  814. }
  815. net() {
  816. clear
  817. msg -bar2
  818. msg -tit
  819. echo -e "\033[1;93m AGREGADOR DE DNS PERSONALES"
  820. msg -bar2
  821. echo -e "\033[1;39m Esta funcion ara que puedas ver Netflix con tu VPS"
  822. msg -bar2
  823. echo -e "\033[1;39m En APPS como HTTP Inyector,KPN Rev,APKCUSTOM, etc."
  824. echo -e "\033[1;39m Se deveran agregar en la aplicasion a usar estos DNS."
  825. echo -e "\033[1;39m En APPS como SS,SSR,V2RAY no es necesario agregarlos."
  826. msg -bar2
  827. echo -e "\033[1;93m Recuerde escojer entre 1 DNS ya sea el de USA,BR,MX,CL \n segun le aya entregado el BOT."
  828. echo ""
  829. echo -e "\033[1;97m Ingrese su DNS Primario: \033[0;91m"
  830. read -p " Primary Dns: " dns1
  831. echo -e "\033[1;97m Ingrese su DNS Secundario: \033[0;91m"
  832. read -p " Secondary Dns: " dns2
  833. echo ""
  834. msg -bar2
  835. read -p " Estas seguro de continuar? [ s | n ]: " dnsnetflix
  836. [[ "$dnsnetflix" = "s" || "$dnsnetflix" = "S" ]] && dnsnetflix
  837. msg -bar2
  838. }
  839. rootpass() {
  840. clear
  841. msg -bar
  842. echo -e "${cor[3]} Esta herramienta cambia a usuario root las VPS de "
  843. echo -e "${cor[3]} GoogleCloud y Amazon"
  844. msg -bar
  845. echo -ne " Desea Seguir? [S/N]: "
  846. read x
  847. [[ $x = @(n|N) ]] && msg -bar && return
  848. msg -bar
  849. echo -e " Aplicando Configuraciones"
  850. fun_bar "service ssh restart"
  851. sed -i "s;PermitRootLogin prohibit-password;PermitRootLogin yes;g" /etc/ssh/sshd_config
  852. sed -i "s;PermitRootLogin without-password;PermitRootLogin yes;g" /etc/ssh/sshd_config
  853. sed -i "s;PasswordAuthentication no;PasswordAuthentication yes;g" /etc/ssh/sshd_config
  854. msg -bar
  855. echo -e "Escriba su contraseña root actual o cambiela"
  856. msg -bar
  857. read -p " Nuevo passwd: " pass
  858. (
  859. echo $pass
  860. echo $pass
  861. ) | passwd 2>/dev/null
  862. sleep 1s
  863. msg -bar
  864. echo -e "${cor[3]} Configuraciones aplicadas con exito!"
  865. echo -e "${cor[2]} Su contraseña ahora es: ${cor[4]}$pass"
  866. service ssh restart >/dev/null 2>&1
  867. msg -bar
  868. return
  869. }
  870. resetiptables() {
  871. echo -e "Reiniciando Ipetables espere"
  872. iptables -F && iptables -X && iptables -t nat -F && iptables -t nat -X && iptables -t mangle -F && iptables -t mangle -X && iptables -t raw -F && iptables -t raw -X && iptables -t security -F && iptables -t security -X && iptables -P INPUT ACCEPT && iptables -P FORWARD ACCEPT && iptables -P OUTPUT ACCEPT
  873. echo -e "iptables reiniciadas con exito"
  874. }
  875. packobs() {
  876. msg -ama "Buscando Paquetes Obsoletos"
  877. dpkg -l | grep -i ^rc
  878. msg -ama "Limpiando Paquetes Obsoloteos"
  879. dpkg -l | grep -i ^rc | cut -d " " -f 3 | xargs dpkg --purge
  880. msg -ama "Limpieza Completa"
  881. }
  882. TCPspeed() {
  883. if [[ $(grep -c "^#ADM" /etc/sysctl.conf) -eq 0 ]]; then
  884. msg -ama "$(fun_trans "TCP Speed No Activado, Desea Activar Ahora")?"
  885. msg -bar
  886. while [[ ${resposta} != @(s|S|n|N|y|Y) ]]; do
  887. read -p " [S/N]: " -e -i s resposta
  888. tput cuu1 && tput dl1
  889. done
  890. [[ "$resposta" = @(s|S|y|Y) ]] && {
  891. echo "#ADM" >>/etc/sysctl.conf
  892. echo "net.ipv4.tcp_window_scaling = 1
  893. net.core.rmem_max = 16777216
  894. net.core.wmem_max = 16777216
  895. net.ipv4.tcp_rmem = 4096 87380 16777216
  896. net.ipv4.tcp_wmem = 4096 16384 16777216
  897. net.ipv4.tcp_low_latency = 1
  898. net.ipv4.tcp_slow_start_after_idle = 0" >>/etc/sysctl.conf
  899. sysctl -p /etc/sysctl.conf >/dev/null 2>&1
  900. msg -ama "$(fun_trans "TCP Activo Con Exito")!"
  901. } || msg -ama "$(fun_trans "Cancelado")!"
  902. else
  903. msg -ama "$(fun_trans "TCP Speed ya esta activado, desea detener ahora")?"
  904. msg -bar
  905. while [[ ${resposta} != @(s|S|n|N|y|Y) ]]; do
  906. read -p " [S/N]: " -e -i s resposta
  907. tput cuu1 && tput dl1
  908. done
  909. [[ "$resposta" = @(s|S|y|Y) ]] && {
  910. grep -v "^#ADM
  911. net.ipv4.tcp_window_scaling = 1
  912. net.core.rmem_max = 16777216
  913. net.core.wmem_max = 16777216
  914. net.ipv4.tcp_rmem = 4096 87380 16777216
  915. net.ipv4.tcp_wmem = 4096 16384 16777216
  916. net.ipv4.tcp_low_latency = 1
  917. net.ipv4.tcp_slow_start_after_idle = 0" /etc/sysctl.conf >/tmp/syscl && mv -f /tmp/syscl /etc/sysctl.conf
  918. sysctl -p /etc/sysctl.conf >/dev/null 2>&1
  919. msg -ama "$(fun_trans "TCP Parado Con Exito")!"
  920. } || msg -ama "$(fun_trans "Cancelado")!"
  921. fi
  922. }
  923. SquidCACHE() {
  924. msg -ama "$(fun_trans "Squid Cache, Aplica cache en Squid")"
  925. msg -ama "$(fun_trans "Mejora la velocidad del squid")"
  926. msg -bar
  927. if [ -e /etc/squid/squid.conf ]; then
  928. squid_var="/etc/squid/squid.conf"
  929. elif [ -e /etc/squid3/squid.conf ]; then
  930. squid_var="/etc/squid3/squid.conf"
  931. else
  932. msg -ama "$(fun_trans "Su sistema no tiene un squid")!" && return 1
  933. fi
  934. teste_cache="#CACHE_DO_SQUID"
  935. if [[ $(grep -c "^$teste_cache" $squid_var) -gt 0 ]]; then
  936. [[ -e ${squid_var}.bakk ]] && {
  937. msg -ama "$(fun_trans "Cache squid identificado, eliminando")!"
  938. mv -f ${squid_var}.bakk $squid_var
  939. msg -ama "$(fun_trans "Cache squid Removido")!"
  940. service squid restart >/dev/null 2>&1 &
  941. service squid3 restart >/dev/null 2>&1 &
  942. return 0
  943. }
  944. fi
  945. msg -ama "$(fun_trans "Aplicando Cache Squid")!"
  946. msg -bar
  947. _tmp="#CACHE_DO_SQUID\ncache_mem 200 MB\nmaximum_object_size_in_memory 32 KB\nmaximum_object_size 1024 MB\nminimum_object_size 0 KB\ncache_swap_low 90\ncache_swap_high 95"
  948. [[ "$squid_var" = "/etc/squid/squid.conf" ]] && _tmp+="\ncache_dir ufs /var/spool/squid 100 16 256\naccess_log /var/log/squid/access.log squid" || _tmp+="\ncache_dir ufs /var/spool/squid3 100 16 256\naccess_log /var/log/squid3/access.log squid"
  949. while read s_squid; do
  950. [[ "$s_squid" != "cache deny all" ]] && _tmp+="\n${s_squid}"
  951. done <$squid_var
  952. cp ${squid_var} ${squid_var}.bakk
  953. echo -e "${_tmp}" >$squid_var
  954. msg -ama "$(fun_trans "Cache Aplicado con Exito")!"
  955. service squid restart >/dev/null 2>&1 &
  956. service squid3 restart >/dev/null 2>&1 &
  957. }
  958. oracl() {
  959. clear
  960. msg -bar
  961. msg -tit
  962. msg -verm " FIREWALLD"
  963. msg -ama " ESTA HERRAMIENTA ES PARA LAS VPS ORACLE/AWS/AZR"
  964. msg -ama " TAMBIEN PARA OTRAS VPS QUE SON NECESARIO A UTILIZAR ESTA OPCION"
  965. echo -ne " Desea Continuar? [S/N]: "
  966. read x
  967. [[ $x = @(n|N) ]] && msg -bar && return
  968. msg -bar
  969. sudo apt update -y &>/dev/null
  970. sudo apt install firewalld -y &>/dev/null
  971. sudo apt install apache2 &>/dev/null
  972. sudo firewall-cmd --zone=public --permanent --add-port=80/tcp
  973. sudo firewall-cmd --zone=public --permanent --add-port=81/tcp
  974. sudo firewall-cmd --zone=public --permanent --add-port=90/tcp
  975. sudo firewall-cmd --zone=public --permanent --add-port=110/tcp
  976. sudo firewall-cmd --zone=public --permanent --add-port=143/tcp
  977. sudo firewall-cmd --zone=public --permanent --add-port=442/tcp
  978. sudo firewall-cmd --zone=public --permanent --add-port=443/tcp
  979. sudo firewall-cmd --zone=public --permanent --add-port=444/tcp
  980. sudo firewall-cmd --zone=public --permanent --add-port=8080/tcp
  981. sudo firewall-cmd --zone=public --permanent --add-port=8081/tcp
  982. sudo firewall-cmd --zone=public --permanent --add-port=5300/udp
  983. sudo firewall-cmd --zone=public --permanent --add-port=7200/udp
  984. sudo firewall-cmd --zone=public --permanent --add-port=7300/udp
  985. sudo firewall-cmd --reload
  986. sudo firewall-cmd --zone=public --list-ports &>/dev/null
  987. msg -azu " FIX AGREGADO"
  988. }
  989. cache() {
  990. clear
  991. msg -bar
  992. msg -verm " LIBERANDO CACHÉ/RAM"
  993. msg -bar
  994. me() {
  995. echo 3 >/proc/sys/vm/drop_caches &>/dev/null
  996. sysctl -w vm.drop_caches=3 &>/dev/null
  997. apt-get autoclean -y &>/dev/null
  998. apt-get clean -y &>/dev/null
  999. }
  1000. me &>/dev/null && msg -ama " REFRESCANDO RAM" | pv -qL20
  1001. sleep 2s
  1002. if [[ ! -z $(crontab -l | grep -w "vm.drop_caches=3") ]]; then
  1003. msg -azu " Auto limpieza programada cada $(msg -verd "[ $(crontab -l | grep -w "vm.drop_caches=3" | awk '{print $2}' | sed $'s/[^[:alnum:]\t]//g')HS ]")"
  1004. msg -bar
  1005. while :; do
  1006. echo -ne "$(msg -azu " Detener Auto Limpieza [S/N]: ")" && read t_ram
  1007. tput cuu1 && tput dl1
  1008. case $t_ram in
  1009. s | S)
  1010. crontab -l >/root/cron && sed -i '/vm.drop_caches=3/ d' /root/cron && crontab /root/cron && rm /root/cron
  1011. msg -azu " Auto-Limpeza Detenida!" && msg -bar && sleep 2
  1012. return 1
  1013. ;;
  1014. n | N) return 1 ;;
  1015. *) menu3 ;;
  1016. esac
  1017. done
  1018. fi
  1019. echo -ne "$(msg -azu "Desea programar El Auto-Limpieza [s/n]:") "
  1020. read c_ram
  1021. if [[ $c_ram = @(s|S|y|Y) ]]; then
  1022. tput cuu1 && tput dl1
  1023. echo -ne "$(msg -azu " PONGA UN NÚMERO, EJEMPLO [1-12HORAS]:") "
  1024. read ram_c
  1025. if [[ $ram_c =~ ^[0-9]+$ ]]; then
  1026. crontab -l >/root/cron
  1027. echo "0 */$ram_c * * * sudo sysctl -w vm.drop_caches=3 > /dev/null 2>&1" >>/root/cron
  1028. crontab /root/cron
  1029. rm /root/cron
  1030. tput cuu1 && tput dl1
  1031. msg -azu " Auto-Limpieza programada cada: $(msg -verd "${ram_c} HORAS")" && msg -bar && sleep 2
  1032. else
  1033. tput cuu1 && tput dl1
  1034. msg -verm2 " ingresar solo numeros entre 1 y 12"
  1035. sleep 2
  1036. msg -bar
  1037. fi
  1038. fi
  1039. return 1
  1040. }
  1041. pidr_inst() {
  1042. proto="dropbear python stunnel4 v2ray node badvpn squid openvpn dns-serve ssserver ss-server"
  1043. portas=$(lsof -V -i -P -n | grep -v "ESTABLISHED" | grep -v "COMMAND")
  1044. for list in $proto; do
  1045. case $list in
  1046. dropbear | python | stunnel4 | v2ray | node | badvpn | squid | openvpn | ssserver | ss-server)
  1047. portas2=$(echo $portas | grep -w "LISTEN" | grep -w "$list")
  1048. [[ $(echo "${portas2}" | grep "$list") ]] && inst[$list]="\033[1;32m[ON] " || inst[$list]="\033[1;31m[OFF]"
  1049. ;;
  1050. dns-serve)
  1051. portas2=$(echo $portas | grep -w "$list")
  1052. [[ $(echo "${portas2}" | grep "$list") ]] && inst[$list]="\033[1;32m[ON] " || inst[$list]="\033[1;31m[OFF]"
  1053. ;;
  1054. esac
  1055. done
  1056. }
  1057. menu_func() {
  1058. local options=${#@}
  1059. local array
  1060. for ((num = 1; num <= $options; num++)); do
  1061. echo -ne " $(msg -verd "\e[1;93m[\e[92m$num\e[93m]") $(msg -verm2 "➛ ") "
  1062. array=(${!num})
  1063. case ${array[0]} in
  1064. "-vd") msg -verd "\033[1;33m[!]\033[1;32m $(fun_trans "${array[@]:1}")" | sed ':a;N;$!ba;s/\n/ /g' ;;
  1065. "-vm") msg -verm2 "\033[1;33m[!]\033[1;31m $(fun_trans "${array[@]:1}")" | sed ':a;N;$!ba;s/\n/ /g' ;;
  1066. "-fi") msg -azu "$(fun_trans "${array[@]:2}") ${array[1]}" | sed ':a;N;$!ba;s/\n/ /g' ;;
  1067. *) msg -azu "$(fun_trans "${array[@]}")" | sed ':a;N;$!ba;s/\n/ /g' ;;
  1068. esac
  1069. done
  1070. }
  1071. selection_fun() {
  1072. local selection="null"
  1073. local range
  1074. for ((i = 0; i <= $1; i++)); do range[$i]="$i "; done
  1075. while [[ ! $(echo ${range[*]} | grep -w "$selection") ]]; do
  1076. echo -ne "\033[1;37m$(fun_trans " ► Selecione una Opcion"): " >&2
  1077. read selection
  1078. tput cuu1 >&2 && tput dl1 >&2
  1079. done
  1080. echo $selection
  1081. }
  1082. export -f msg
  1083. export -f selection_fun
  1084. export -f fun_trans
  1085. export -f menu_func
  1086. export -f meu_ip
  1087. export -f fun_ip
  1088. export -f lacasita
  1089. clear
  1090. sudo sync
  1091. sudo sysctl -w vm.drop_caches=3 >/dev/null 2>&1
  1092. clear
  1093. clear
  1094. msg -bar
  1095. msg -tit
  1096. menu_info
  1097. msg -bar
  1098. title=$(echo -e "\033[1;96m$(cat ${SCPdir}/message.txt)")
  1099. printf "%*s\n" $((($(echo -e "$title" | wc -c) + 55) / 2)) "$title"
  1100. msg -bar
  1101. monservi_fun() {
  1102. clear
  1103. clear
  1104. monssh() {
  1105. sed -i "57d" /bin/monitor.sh
  1106. sed -i '57i EstadoServicio ssh' /bin/monitor.sh
  1107. }
  1108. mondropbear() {
  1109. sed -i "59d" /bin/monitor.sh
  1110. sed -i '59i EstadoServicio dropbear' /bin/monitor.sh
  1111. }
  1112. monssl() {
  1113. sed -i "61d" /bin/monitor.sh
  1114. sed -i '61i EstadoServicio stunnel4' /bin/monitor.sh
  1115. }
  1116. monsquid() {
  1117. sed -i "63d" /bin/monitor.sh
  1118. sed -i '63i [[ $(EstadoServicio squid) ]] && EstadoServicio squid3' /bin/monitor.sh
  1119. }
  1120. monapache() {
  1121. sed -i "65d" /bin/monitor.sh
  1122. sed -i '65i EstadoServicio apache2' /bin/monitor.sh
  1123. }
  1124. monv2ray() {
  1125. sed -i "55d" /bin/monitor.sh
  1126. sed -i '55i EstadoServicio v2ray' /bin/monitor.sh
  1127. }
  1128. msg -bar
  1129. msg -tit
  1130. echo -e "\033[1;32m MONITOR DE SERVICIONS PRINCIPALES"
  1131. PIDVRF3="$(ps aux | grep "${SCPdir}/menu monitorservi" | grep -v grep | awk '{print $2}')"
  1132. PIDVRF5="$(ps aux | grep "${SCPdir}/menu moni2" | grep -v grep | awk '{print $2}')"
  1133. if [[ -z $PIDVRF3 ]]; then
  1134. sed -i '5a\screen -dmS very3 /etc/VPS-MX/menu monitorservi' /bin/resetsshdrop
  1135. msg -bar
  1136. echo -e "\033[1;34m ¿Monitorear Protocolo SSH/SSHD?"
  1137. msg -bar
  1138. read -p " [ s | n ]: " monssh
  1139. sed -i "57d" /bin/monitor.sh
  1140. sed -i '57i #EstadoServicio ssh' /bin/monitor.sh
  1141. [[ "$monssh" = "s" || "$monssh" = "S" ]] && monssh
  1142. msg -bar
  1143. echo -e "\033[1;34m ¿Monitorear Protocolo DROPBEAR?"
  1144. msg -bar
  1145. read -p " [ s | n ]: " mondropbear
  1146. sed -i "59d" /bin/monitor.sh
  1147. sed -i '59i #EstadoServicio dropbear' /bin/monitor.sh
  1148. [[ "$mondropbear" = "s" || "$mondropbear" = "S" ]] && mondropbear
  1149. msg -bar
  1150. echo -e "\033[1;34m ¿Monitorear Protocolo SSL?"
  1151. msg -bar
  1152. read -p " [ s | n ]: " monssl
  1153. sed -i "61d" /bin/monitor.sh
  1154. sed -i '61i #EstadoServicio stunnel4' /bin/monitor.sh
  1155. [[ "$monssl" = "s" || "$monssl" = "S" ]] && monssl
  1156. msg -bar
  1157. echo -e "\033[1;34m ¿Monitorear Protocolo SQUID?"
  1158. msg -bar
  1159. read -p " [ s | n ]: " monsquid
  1160. sed -i "63d" /bin/monitor.sh
  1161. sed -i '63i #[[ $(EstadoServicio squid) ]] && EstadoServicio squid3' /bin/monitor.sh
  1162. [[ "$monsquid" = "s" || "$monsquid" = "S" ]] && monsquid
  1163. msg -bar
  1164. echo -e "\033[1;34m ¿Monitorear Protocolo APACHE?"
  1165. msg -bar
  1166. read -p " [ s | n ]: " monapache
  1167. sed -i "65d" /bin/monitor.sh
  1168. sed -i '65i #EstadoServicio apache2' /bin/monitor.sh
  1169. [[ "$monapache" = "s" || "$monapache" = "S" ]] && monapache
  1170. msg -bar
  1171. echo -e "\033[1;34m ¿Monitorear Protocolo V2RAY?"
  1172. msg -bar
  1173. read -p " [ s | n ]: " monv2ray
  1174. sed -i "55d" /bin/monitor.sh
  1175. sed -i '55i #EstadoServicio v2ray' /bin/monitor.sh
  1176. [[ "$monv2ray" = "s" || "$monv2ray" = "S" ]] && monv2ray
  1177. cd ${SCPdir}
  1178. screen -dmS very3 ${SCPdir}/menu monitorservi
  1179. screen -dmS monis2 ${SCPdir}/menu moni2
  1180. else
  1181. for pid in $(echo $PIDVRF3); do
  1182. kill -9 $pid &>/dev/null
  1183. sed -i "6d" /bin/resetsshdrop
  1184. done
  1185. for pid in $(echo $PIDVRF5); do
  1186. kill -9 $pid &>/dev/null
  1187. done
  1188. fi
  1189. msg -bar
  1190. echo -e " Puedes Monitorear desde:\n \033[1;32m http://$(meu_ip):81/monitor.html"
  1191. msg -bar
  1192. [[ -z ${VERY3} ]] && monitorservi="\033[1;32m ACTIVADO " || monitorservi="\033[1;31m DESACTIVADO "
  1193. echo -e " $monitorservi -- CON EXITO"
  1194. msg -bar
  1195. }
  1196. monitor_auto() {
  1197. while true; do
  1198. monitor.sh 2>/dev/null
  1199. sleep 90s
  1200. done
  1201. }
  1202. if [[ "$1" = "monitorservi" ]]; then
  1203. monitor_auto
  1204. exit
  1205. fi
  1206. pid_kill() {
  1207. [[ -z $1 ]] && refurn 1
  1208. pids="$@"
  1209. for pid in $(echo $pids); do
  1210. kill -9 $pid &>/dev/null
  1211. done
  1212. }
  1213. monitorport_fun() {
  1214. while true; do
  1215. pidproxy3=$(ps x | grep "PDirect.py" | grep -v "grep" | awk -F "pts" '{print $1}') && [[ ! -z $pidproxy3 ]] && pid_kill $pidproxy3
  1216. pidpyssl=$(ps x | grep "python.py" | grep -v "grep" | awk -F "pts" '{print $1}') && [[ ! -z $pidpyssl ]] && pid_kill $pidpyssl
  1217. sleep 6h
  1218. done
  1219. }
  1220. if [[ "$1" = "moni2" ]]; then
  1221. monitorport_fun
  1222. exit
  1223. fi
  1224. SSHN="$(grep -c home /etc/passwd)"
  1225. echo "${SSHN}" | bc >/etc/VPS-MX/controlador/SSH20.log
  1226. SSH3="$(less /etc/VPS-MX/controlador/SSH20.log)"
  1227. SSH4="$(echo $SSH3)"
  1228. user_info=$(cd /usr/local/shadowsocksr &>/dev/null && python mujson_mgr.py -l)
  1229. user_total=$(echo "${user_info}" | wc -l)
  1230. [[ ! -e /etc/VPS-MX/RegV2ray ]] && touch /etc/VPS-MX/RegV2ray
  1231. vray=$(cat /etc/VPS-MX/RegV2ray | wc -l)
  1232. on="\033[1;92m[ON]" && off="\033[1;31m[OFF]"
  1233. echo -e "\033[1;97m SSH REG:\033[1;92m $SSH4 \033[1;97m SS-SSRR REG:\033[1;92m $user_total \033[1;97m V2RAY REG:\e[32m $vray"
  1234. VERY="$(ps aux | grep "${SCPusr}/usercodes verificar" | grep -v grep)"
  1235. VERY2="$(ps aux | grep "${SCPusr}/usercodes desbloqueo" | grep -v grep)"
  1236. VERY3="$(ps aux | grep "${SCPdir}/menu monitorservi" | grep -v grep)"
  1237. limseg="$(less /etc/VPS-MX/controlador/tiemlim.log)"
  1238. [[ -z ${VERY} ]] && verificar="\033[1;31m[OFF]" || verificar="\033[1;32m[ON] "
  1239. [[ -z ${VERY2} ]] && desbloqueo="\033[1;31m[OFF]" || desbloqueo="\033[1;32m[ON] "
  1240. [[ -z ${VERY3} ]] && monitorservi="\033[1;31m[OFF]" || monitorservi="\033[1;32m[ON]"
  1241. [[ -e ${SCPdir}/USRonlines ]] && msg -bar && msg -ne "\033[1;97m LIMITADOR:\033[1;92m$verificar \033[1;97m AUTO-DESBLOQUEO:\033[1;92m$desbloqueo \e[1;97mMONITOR:\e[34m${limseg}s\n \033[1;32mCONECTADOS: " && echo -ne "\033[1;97m$(cat ${SCPdir}/USRonlines) "
  1242. [[ -e ${SCPdir}/USRexpired ]] && msg -ne " EXPIRADOS: " && echo -ne "\033[1;97m$(cat ${SCPdir}/USRexpired) " && msg -ne " \033[1;95m BLOQUEADOS: " && echo -e "\033[1;97m$(cat ${SCPdir}/USRbloqueados)" #\n\033[1;97m ACTULIZACION DE MONITOR CADA: \033[1;34m $limseg s"
  1243. monhtop() {
  1244. clear
  1245. msg -bar
  1246. msg -tit
  1247. echo -ne " \033[1;93m MONITOR DE PROCESOS HTOP\n"
  1248. msg -bar
  1249. msg -bra " RECUERDA SALIR CON : \033[1;96m CTRL + C o FIN + F10 "
  1250. [[ $(dpkg --get-selections | grep -w "htop" | head -1) ]] || apt-get install htop -y &>/dev/null
  1251. msg -bar
  1252. read -t 10 -n 1 -rsp $'\033[1;39m Preciona Enter Para continuar\n'
  1253. clear
  1254. sudo htop
  1255. msg -bar
  1256. echo -e "\e[97m \033[1;41m| #-#-► SCRIPT VPS•MX ◄-#-# | \033[1;49m\033[1;49m \033[1;31m[ \033[1;32m $vesaoSCT "
  1257. echo -ne " \033[1;93m MONITOR DE PROCESOS HTOP\n"
  1258. msg -bar
  1259. echo -e "\e[97m FIN DEL MONITOR"
  1260. msg -bar
  1261. }
  1262. [[ $(ps x | grep v2ray | grep -v grep | awk '{print $1}') ]] && vra=$on || vra=$off
  1263. msg -bar
  1264. msg -bar3
  1265. on="\e[1;32m[ON]" && off="\e[1;31m[OFF]"
  1266. echo -e " \e[1;93m[\e[92m1\e[93m] $(msg -verm2 "➛ ") $(msg -azu "ADMINISTRAR CUENTAS | SSH/SSL/DROPBEAR")"
  1267. echo -e " \e[1;93m[\e[92m2\e[93m] $(msg -verm2 "➛ ") $(msg -azu "ADMINISTRAR CUENTAS | SS/SSRR")"
  1268. echo -e " \e[1;93m[\e[92m3\e[93m] $(msg -verm2 "➛ ") $(msg -azu "ADMINISTRAR CUENTAS | V2RAY --> $vra")"
  1269. echo -e " \e[1;93m[\e[92m4\e[93m] $(msg -verm2 "➛ ") \e[1;31m\033[47mPROTOCOLOS\e[0m \e[93m|| \e[1;37m\e[41mHERRAMIENTAS\e[0m"
  1270. echo -e " \e[1;93m[\e[92m5\e[93m] $(msg -verm2 "➛ ") $(msg -azu "MONITOR DE PROTOCOLOS --------> ${monitorservi}")"
  1271. echo -e " \e[1;93m[\e[92m6\e[93m] $(msg -verm2 "➛ ") $(msg -azu "AUTO INICIAR SCRIPT ----------> ${AutoRun}")"
  1272. msg -bar
  1273. echo -e " \e[1;93m[\e[92m7\e[93m] \e[97m$(msg -verm2 "➛ ") $(msg -verd "ACTUALIZAR") \e[1;93m [\e[92m8\e[93m]\e[97m$(msg -verm2 "➛ ")\033[1;31mDESINSTALAR \e[1;93m[\e[92m0\e[93m]$(msg -verm2 "➛ ") $(msg -bra "\e[97m\033[1;41mSALIR")"
  1274. msg -bar
  1275. selection=$(selection_fun 13)
  1276. case ${selection} in
  1277. 1) ${SCPusr}/usercodes "${idioma}" ;;
  1278. 2) ${SCPinst}/C-SSR.sh ;;
  1279. 3) ${SCPinst}/v2ray.sh ;;
  1280. 4) menu3 ;;
  1281. 5) monservi_fun ;;
  1282. 6) fun_autorun ;;
  1283. 7) atualiza_fun ;;
  1284. 8) remove_script ;;
  1285. 0) cd $HOME && exit 0 ;;
  1286. esac
  1287. msg -ne "Enter Para Continuar" && read enter
  1288. ${SCPdir}/menu