1
0

menu_inst.sh 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363
  1. #!/bin/bash
  2. cache_ram() {
  3. clear
  4. msg -bar
  5. msg -ama " REFRESCANDO CACHE Y RAM"
  6. msg -bar
  7. (
  8. VE="\033[1;33m" && MA="\033[1;31m" && DE="\033[1;32m"
  9. while [[ ! -e /tmp/abc ]]; do
  10. A+="#"
  11. echo -e "${VE}[${MA}${A}${VE}]" >&2
  12. sleep 0.3s
  13. tput cuu1 && tput dl1
  14. done
  15. echo -e "${VE}[${MA}${A}${VE}] - ${DE}[100%]" >&2
  16. rm /tmp/abc
  17. ) &
  18. echo 3 > /proc/sys/vm/drop_caches &>/dev/null
  19. sleep 1s
  20. sysctl -w vm.drop_caches=3 &>/dev/null
  21. apt-get autoclean -y &>/dev/null
  22. sleep 1s
  23. apt-get clean -y &>/dev/null
  24. rm /tmp/* &>/dev/null
  25. touch /tmp/abc
  26. sleep 0.5s
  27. msg -bar
  28. msg -verd " Cache/Ram limpiada con Exito!"
  29. msg -bar
  30. if [[ ! -z $(crontab -l|grep -w "vm.drop_caches=3") ]]; then
  31. msg -azu " Tarea programada cada $(msg -verd "[ $(crontab -l|grep -w "vm.drop_caches=3"|awk '{print $2}'|sed $'s/[^[:alnum:]\t]//g')HS ]")"
  32. msg -bar
  33. while :
  34. do
  35. echo -ne "$(msg -azu " Quitar tarea programada [S/N]: ")" && read t_ram
  36. tput cuu1 && tput dl1
  37. case $t_ram in
  38. s|S) crontab -l > /root/cron && sed -i '/vm.drop_caches=3/ d' /root/cron && crontab /root/cron && rm /root/cron
  39. msg -azu " Tarea automatica removida!" && msg -bar && sleep 2
  40. return 1;;
  41. n|N)return 1;;
  42. *)msg -azu " Selecciona S para si, N para no" && sleep 2 && tput cuu1 && tput dl1;;
  43. esac
  44. done
  45. fi
  46. echo -ne "$(msg -azu "Desea programar una tarea automatica [s/n]:") "
  47. read c_ram
  48. if [[ $c_ram = @(s|S|y|Y) ]]; then
  49. tput cuu1 && tput dl1
  50. echo -ne "$(msg -azu " PERIODO DE EJECUCION DE LA TAREA [1-12HS]:") "
  51. read ram_c
  52. if [[ $ram_c =~ $numero ]]; then
  53. crontab -l > /root/cron
  54. echo "0 */$ram_c * * * sudo sysctl -w vm.drop_caches=3 > /dev/null 2>&1" >> /root/cron
  55. crontab /root/cron
  56. rm /root/cron
  57. tput cuu1 && tput dl1
  58. msg -azu " Tarea automatica programada cada: $(msg -verd "${ram_c}HS")" && msg -bar && sleep 2
  59. else
  60. tput cuu1 && tput dl1
  61. msg -verm2 " ingresar solo numeros entre 1 y 12"
  62. sleep 2
  63. msg -bar
  64. fi
  65. fi
  66. return 1
  67. }
  68. new_banner(){
  69. clear
  70. local="/etc/bannerssh"
  71. chk=$(cat /etc/ssh/sshd_config | grep Banner)
  72. if [ "$(echo "$chk" | grep -v "#Banner" | grep Banner)" != "" ]; then
  73. local=$(echo "$chk" |grep -v "#Banner" | grep Banner | awk '{print $2}')
  74. else
  75. echo "" >> /etc/ssh/sshd_config
  76. echo "Banner /etc/bannerssh" >> /etc/ssh/sshd_config
  77. local="/etc/bannerssh"
  78. fi
  79. title -ama "Instalador del BANNER-SSH/DROPBEAR"
  80. in_opcion_down "Escriba el BANNER de preferencia en HTML"
  81. msg -bar
  82. if [[ "${opcion}" ]]; then
  83. rm -rf $local > /dev/null 2>&1
  84. echo "$opcion" > $local
  85. [[ ! -e ${ADM_tmp}/message.txt ]] && echo "@Rufu99" > ${ADM_tmp}/message.txt
  86. credi="$(less ${ADM_tmp}/message.txt)"
  87. echo '<h4 style=text-align:center><font color="#00FF40">A</font><font color="#00FFBF">D</font><font color="#00FFFF">M</font><font color="#00FFFF">R</font><font color="#2ECCFA">u</font><font color="#2E9AFE">f</font><font color="#819FF7">u</font><br><font color="#819FEB">'$credi'</font></h4>' >> $local
  88. service sshd restart 2>/dev/null
  89. service dropbear restart 2>/dev/null
  90. print_center -verd "Banner Agregado!!!"
  91. enter
  92. return 1
  93. fi
  94. print_center -ama "Edicion de Banner Canselada!"
  95. enter
  96. return 1
  97. }
  98. banner_edit(){
  99. clear
  100. chk=$(cat /etc/ssh/sshd_config | grep Banner)
  101. local=$(echo "$chk" |grep -v "#Banner" | grep Banner | awk '{print $2}')
  102. nano $local
  103. service sshd restart 2>/dev/null
  104. service dropbear restart 2>/dev/null
  105. msg -bar
  106. print_center -ama "Edicion de Banner Terminada!"
  107. enter
  108. return 1
  109. }
  110. banner_reset(){
  111. clear
  112. chk=$(cat /etc/ssh/sshd_config | grep Banner)
  113. local=$(echo "$chk" |grep -v "#Banner" | grep Banner | awk '{print $2}')
  114. rm -rf $local
  115. touch $local
  116. service sshd restart 2>/dev/null
  117. service dropbear restart 2>/dev/null
  118. msg -bar
  119. print_center -ama "EL BANNER SSH FUE LIMPIADO"
  120. enter
  121. return 1
  122. }
  123. baner_fun(){
  124. chk=$(cat /etc/ssh/sshd_config | grep Banner)
  125. local=$(echo "$chk" |grep -v "#Banner" | grep Banner | awk '{print $2}')
  126. n=1
  127. title -ama "MENU DE EDICION DE BANNER SSH"
  128. echo -e " $(msg -verd "[1]") $(msg -verm2 ">") $(msg -azu "NUEVO BANNER SSH")"
  129. if [[ -e "${local}" ]]; then
  130. echo -e " $(msg -verd "[2]") $(msg -verm2 ">") $(msg -azu "EDITAR BANNER CON NANO")"
  131. echo -e " $(msg -verd "[3]") $(msg -verm2 ">") $(msg -azu "RESET BANNER SSH")"
  132. n=3
  133. fi
  134. back
  135. opcion=$(selection_fun $n)
  136. case $opcion in
  137. 1)new_banner;;
  138. 2)banner_edit;;
  139. 3)banner_reset;;
  140. 0)return 1;;
  141. esac
  142. }
  143. fun_autorun () {
  144. clear
  145. msg -bar
  146. if [[ $(cat /etc/bash.bashrc | grep -w ${ADMRufu}/menu) ]]; then
  147. cat /etc/bash.bashrc | grep -v ${ADMRufu}/menu > /tmp/bash
  148. mv -f /tmp/bash /etc/bash.bashrc
  149. msg -ama " $(fun_trans "AUTO-INICIO REMOVIDO")"
  150. msg -bar
  151. else
  152. cp /etc/bash.bashrc /tmp/bash
  153. echo "${ADMRufu}/menu" >> /tmp/bash
  154. mv -f /tmp/bash /etc/bash.bashrc
  155. msg -verd " $(fun_trans "AUTO-INICIO AGREGADO")"
  156. msg -bar
  157. fi
  158. return 1
  159. }
  160. # comfiguracion menu principal
  161. #==================================================
  162. C_MENU2(){
  163. unset m_conf
  164. m_conf="$(cat ${ADM_tmp}/style|grep -w "$1"|awk '{print $2}')"
  165. case $m_conf in
  166. 0)sed -i "s;$1 0;$1 1;g" ${ADM_tmp}/style;;
  167. 1)sed -i "s;$1 1;$1 0;g" ${ADM_tmp}/style;;
  168. esac
  169. }
  170. c_stat(){
  171. unset m_stat
  172. m_stat="$(cat ${ADM_tmp}/style|grep -w "$1"|awk '{print $2}')"
  173. case $m_stat in
  174. 0)msg -verm2 "[OFF]";;
  175. 1)msg -verd "[ON]";;
  176. esac
  177. }
  178. c_resel(){
  179. clear
  180. msg -bar
  181. msg -ama " CAMBIAR RESELLER"
  182. msg -bar
  183. echo -ne "$(msg -azu " CAMBIAR RESELLER [S/N]:") "
  184. read txt_r
  185. if [[ $txt_r = @(s|S|y|Y) ]]; then
  186. tput cuu1 && tput dl1
  187. echo -ne "$(msg -azu " ESCRIBE TU RESELLER:") "
  188. read r_txt
  189. echo -e "$r_txt" > ${ADM_tmp}/message.txt
  190. fi
  191. C_MENU2 resel
  192. }
  193. conf_menu(){
  194. while :
  195. do
  196. clear
  197. msg -bar
  198. msg -ama " CONFIGURACION DEL MENU PRINCIPAL"
  199. msg -bar
  200. echo -ne "$(msg -verd " [1]") $(msg -verm2 ">") " && msg -azu "INF SISTEMA (SYS/MEM/CPU) $(c_stat infsys)"
  201. echo -ne "$(msg -verd " [2]") $(msg -verm2 ">") " && msg -azu "PUERTOS ACTIVOS $(c_stat port)"
  202. echo -ne "$(msg -verd " [3]") $(msg -verm2 ">") " && msg -azu "RESELLER $(c_stat resel)"
  203. echo -ne "$(msg -verd " [4]") $(msg -verm2 ">") " && msg -azu "CONTADOR (Only/Exp/Total) $(c_stat contador)"
  204. msg -bar
  205. echo -ne "$(msg -verd " [0]") $(msg -verm2 ">") " && msg -bra " \033[1;41m VOLVER \033[0m"
  206. msg -bar
  207. echo -ne "$(msg -azu " opcion: ")"
  208. read C_MENU
  209. case $C_MENU in
  210. 1)C_MENU2 infsys;;
  211. 2)C_MENU2 port;;
  212. 3)c_resel;; #C_MENU2 resel;;
  213. 4)C_MENU2 contador;;
  214. 0)break;;
  215. esac
  216. done
  217. return 0
  218. }
  219. #================================================
  220. root_acces () {
  221. sed -i '/PermitRootLogin/d' /etc/ssh/sshd_config
  222. echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config
  223. sed -i '/PasswordAuthentication/d' /etc/ssh/sshd_config
  224. echo 'PasswordAuthentication yes' >> /etc/ssh/sshd_config
  225. service sshd restart
  226. }
  227. root_pass () {
  228. clear
  229. msg -bar
  230. [[ -z $1 ]] && msg -ama " CAMBIAR CONTRASEÑA ROOT" || msg -ama " ACTIVAR ACCESO ROOT"
  231. msg -bar
  232. msg -azu " Esto cambiara la contraseña de acceso root"
  233. msg -bar3
  234. msg -azu " Esta contraseña podra ser utilizada para\n acceder al vps como usuario root."
  235. msg -bar
  236. echo -ne " $(msg -azu "Cambiar contraseña root? [S/N]:") "; read x
  237. tput cuu1 && tput dl1
  238. [[ $x = @(n|N) ]] && msg -bar && return
  239. if [[ ! -z $1 ]]; then
  240. msg -azu " Activando acceso root..."
  241. root_acces
  242. sleep 3
  243. tput cuu1 && tput dl1
  244. msg -azu " Acceso root Activado..."
  245. msg -bar
  246. fi
  247. echo -ne "\033[1;37m Nueva contraseña: \033[0;31m"
  248. read pass
  249. tput cuu1 && tput dl1
  250. (echo $pass; echo $pass)|passwd root 2>/dev/null
  251. sleep 1s
  252. msg -azu " Contraseña root actulizada!"
  253. msg -azu " Contraseña actual:\033[0;31m $pass"
  254. msg -bar
  255. enter
  256. return 1
  257. }
  258. pid_inst(){
  259. v_node="$(which nodejs)" && [[ $(ls -l ${node_v}|grep -w 'node') ]] && v_node="nodejs" || v_node="node"
  260. proto="dropbear python stunnel4 v2ray $v_node badvpn squid openvpn dns-serve"
  261. portas=$(lsof -V -i -P -n | grep -v "ESTABLISHED" |grep -v "COMMAND")
  262. for list in $proto; do
  263. case $list in
  264. dropbear|python|stunnel4|v2ray|badvpn|squid|openvpn|"$v_node") portas2=$(echo "$portas"|grep -w "LISTEN"|grep -w "$list") && [[ $(echo "${portas2}"|grep "$list") ]] && inst[$list]="\033[1;32m[ON] " || inst[$list]="\033[1;31m[OFF]";;
  265. dns-serve) portas2=$(echo "$portas"|grep -w "$list") && [[ $(echo "${portas2}"|grep "$list") ]] && inst[$list]="\033[1;32m[ON] " || inst[$list]="\033[1;31m[OFF]";;
  266. esac
  267. done
  268. }
  269. menu_inst () {
  270. clear
  271. declare -A inst
  272. pid_inst
  273. if [[ $(cat /etc/bash.bashrc | grep -w ${ADMRufu}/menu) ]]; then
  274. AutoRun="\033[1;32m[ON]"
  275. else
  276. AutoRun="\033[1;31m[OFF]"
  277. fi
  278. v=$(cat $ADMRufu/vercion)
  279. msg -bar
  280. echo -e "\033[1;93m INFORMACION DEL SISTEMA Y PUERTOS ACTIVOS"
  281. msg -bar
  282. info_sys
  283. msg -bar
  284. mine_port
  285. echo -e "\e[0m\e[31m================ \e[1;33mMENU DE PROTOCOLOS\e[0m\e[31m =================\e[0m"
  286. echo -ne "$(msg -verd " [1]")$(msg -verm2 ">") $(msg -azu "DROPBEAR ${inst[dropbear]}")" && echo -e "$(msg -verd " [7]")$(msg -verm2 ">") $(msg -azu "SQUID ${inst[squid]}")"
  287. echo -ne "$(msg -verd " [2]")$(msg -verm2 ">") $(msg -azu "SOCKS PYTHON ${inst[python]}")" && echo -e "$(msg -verd " [8]")$(msg -verm2 ">") $(msg -azu "OPENVPN ${inst[openvpn]}")"
  288. echo -ne "$(msg -verd " [3]")$(msg -verm2 ">") $(msg -azu "SSL ${inst[stunnel4]}")" && echo -e "$(msg -verd " [9]")$(msg -verm2 ">") $(msg -azu "SlowDNS ${inst[dns-serve]}")" #&& echo -e "$(msg -verd " [9]")$(msg -verm2 ">") $(msg -azu "SHADOW-LIBEV $(pid_inst ss-server)")"
  289. echo -e "$(msg -verd " [4]")$(msg -verm2 ">") $(msg -azu "V2RAY ${inst[v2ray]}")" #&& echo -e "$(msg -verd " [10]")$(msg -verm2 ">") $(msg -azu "SHADOW-NORMAL $(pid_inst ssserver)")"
  290. echo -e "$(msg -verd " [5]")$(msg -verm2 ">") $(msg -azu "OVER WEBSOCKET${inst[$v_node]}")" #&& echo -e "$(msg -verd " [11]")$(msg -verm2 ">") $(msg -azu "SHADOW-R $(pid_inst)")"
  291. echo -e "$(msg -verd " [6]")$(msg -verm2 ">") $(msg -azu "BADVPN-UDP ${inst[badvpn]}")" #&& echo -e "$(msg -verd " [X]")$(msg -verm2 ">") $(msg -azu "SlowDNS $(pid_inst openvpn)")"
  292. echo -e "\e[31m============== \e[1;33mCONFIGURACIONES RAPIDAS\e[0m\e[31m ==============\e[0m"
  293. echo -ne "$(msg -verd " [12]")$(msg -verm2 ">") $(msg -azu "BANNER SSH")" && echo -e "$(msg -verd " [17]")$(msg -verm2 ">") $(msg -azu "TCP (BBR/PLUS)")"
  294. echo -ne "$(msg -verd " [13]")$(msg -verm2 ">") $(msg -azu "REFREES CACHE/RAM") $(crontab -l|grep -w "vm.drop_caches=3" > /dev/null && echo -e "\033[1;32m◉ " || echo -e "\033[1;31m○ ")" && echo -e "$(msg -verd "[18]")$(msg -verm2 ">") $(msg -azu "CAMBIAR PASS ROOT")"
  295. echo -ne "$(msg -verd " [14]")$(msg -verm2 ">") $(msg -azu "MEMORIA SWAP") $([[ $(cat /proc/swaps | wc -l) -le 1 ]] && echo -e "\033[1;31m○ " || echo -e "\033[1;32m◉ ")" && echo -e "$(msg -verd " [19]")$(msg -verm2 ">") $(msg -azu "ACTIVAR ACCESO ROOT")"
  296. echo -ne "$(msg -verd " [15]")$(msg -verm2 ">") $(msg -azu "ADMIN PORTS ACTIVOS")" && echo -e "$(msg -verd " [20]")$(msg -verm2 ">") $(msg -azu "CONF MENU PRINCIPAL")"
  297. echo -e "$(msg -verd " [16]")$(msg -verm2 ">") $(msg -azu "GEN DOMI/CERT-SSL") $([[ -z $(ls "${ADM_crt}") ]] && echo -e "\033[1;31m○ " || echo -e "\033[1;32m◉ ")"
  298. msg -bar
  299. echo -e "$(msg -verd " [21]") $(msg -verm2 ">") $(msg -azu "HERRAMIENTAS y EXTRAS")"
  300. msg -bar
  301. echo -ne "$(msg -verd " [0]") $(msg -verm2 ">") " && msg -bra " \033[1;41m VOLVER \033[0m $(msg -verd " [22]") $(msg -verm2 ">") $(msg -azu AUTO-INICIAR) ${AutoRun}"
  302. msg -bar
  303. selection=$(selection_fun 22)
  304. case $selection in
  305. 0)return 0;;
  306. 1)${ADM_inst}/dropbear.sh;;
  307. 2)${ADM_inst}/sockspy.sh;;
  308. 3)${ADM_inst}/ssl.sh;;
  309. 4)${ADM_inst}/v2ray.sh;;
  310. 5)${ADM_inst}/ws-cdn.sh;;
  311. 6)${ADM_inst}/budp.sh;;
  312. 7)${ADM_inst}/squid.sh;;
  313. 8)${ADM_inst}/openvpn.sh;;
  314. 9)${ADM_inst}/slowdns.sh;;
  315. #9)${ADM_inst}/Shadowsocks-libev.sh;;
  316. #10)${ADM_inst}/shadowsocks.sh;;
  317. #11)${ADM_inst}/Shadowsocks-R.sh;;
  318. 12)baner_fun;;
  319. 13)cache_ram;;
  320. 14)${ADM_inst}/swapfile.sh;;
  321. 15)${ADM_inst}/ports.sh;;
  322. 16)${ADM_inst}/cert.sh;;
  323. 17)${ADM_inst}/tcp.sh;;
  324. 18)root_pass;;
  325. 19)root_pass 1;;
  326. 20)conf_menu;;
  327. 21)${ADMRufu}/tool_extras.sh;;
  328. 22)fun_autorun;;
  329. esac
  330. }
  331. while [[ ${back} != @(0) ]]; do
  332. menu_inst
  333. back="$?"
  334. [[ ${back} != @(0|[1]) ]] && msg -azu " Enter para continuar..." && read foo
  335. done