ws-java.sh 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422
  1. #!/bin/bash
  2. source <(curl -sL https://raw.githubusercontent.com/ChumoGH/ChumoGH-Script/master/msg-bar/msg)
  3. barra="\033[0;31m=====================================================\033[0m"
  4. install_ini () {
  5. clear
  6. echo -e "$barra"
  7. echo -e "\033[92m -- INSTALANDO PAQUETES NECESARIOS -- "
  8. echo -e "$barra"
  9. #dropbear
  10. [[ $(dpkg --get-selections|grep -w "dropbear"|head -1) ]] || apt-get install dropbear -y &>/dev/null
  11. [[ $(dpkg --get-selections|grep -w "dropbear"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null
  12. [[ $(dpkg --get-selections|grep -w "dropbear"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null
  13. echo -e "\033[97m # apt-get install dropbear................ $ESTATUS "
  14. #nodejs
  15. [[ $(dpkg --get-selections|grep -w "nodejs"|head -1) ]] || apt-get install nodejs -y &>/dev/null
  16. [[ $(dpkg --get-selections|grep -w "nodejs"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null
  17. [[ $(dpkg --get-selections|grep -w "nodejs"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null
  18. echo -e "\033[97m # apt-get install nodejs.................. $ESTATUS "
  19. #build-essential
  20. [[ $(dpkg --get-selections|grep -w "build-essential"|head -1) ]] || apt-get install build-essential -y &>/dev/null
  21. [[ $(dpkg --get-selections|grep -w "build-essential"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null
  22. [[ $(dpkg --get-selections|grep -w "build-essential"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null
  23. echo -e "\033[97m # apt-get install build-essential......... $ESTATUS "
  24. #PV
  25. [[ $(dpkg --get-selections|grep -w "pv"|head -1) ]] || apt-get install pv -y &>/dev/null
  26. [[ $(dpkg --get-selections|grep -w "pv"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null
  27. [[ $(dpkg --get-selections|grep -w "pv"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null
  28. echo -e "\033[97m # apt-get install PV ................... $ESTATUS "
  29. echo -e "$barra"
  30. echo -e "\033[92m La instalacion de paquetes necesarios a finalizado"
  31. echo -e "$barra"
  32. echo -e "\033[97m Si la instalacion de paquetes tiene fallas"
  33. echo -ne "\033[97m Puede intentar de nuevo [s/n]: "
  34. read inst
  35. [[ $inst = @(s|S|y|Y) ]] && install_ini
  36. }
  37. fun_log () {
  38. [[ -e /bin/ejecutar/sshd_config ]] && {
  39. ####
  40. sysvar=$(cat -n /etc/issue |grep 1 |cut -d' ' -f6,7,8 |sed 's/1//' |sed 's/ //' | grep -o Ubuntu)
  41. [[ ! $(cat /etc/shells|grep "/bin/false") ]] && echo -e "/bin/false" >> /etc/shells
  42. [[ "$sysvar" != "" ]] && {
  43. echo -e "Port 22
  44. Protocol 2
  45. KeyRegenerationInterval 3600
  46. ServerKeyBits 1024
  47. SyslogFacility AUTH
  48. LogLevel INFO
  49. LoginGraceTime 120
  50. PermitRootLogin yes
  51. StrictModes yes
  52. RSAAuthentication yes
  53. PubkeyAuthentication yes
  54. IgnoreRhosts yes
  55. RhostsRSAAuthentication no
  56. HostbasedAuthentication no
  57. PermitEmptyPasswords no
  58. ChallengeResponseAuthentication no
  59. PasswordAuthentication yes
  60. X11Forwarding yes
  61. X11DisplayOffset 10
  62. PrintMotd no
  63. PrintLastLog yes
  64. TCPKeepAlive yes
  65. #UseLogin no
  66. AcceptEnv LANG LC_*
  67. Subsystem sftp /usr/lib/openssh/sftp-server
  68. UsePAM yes
  69. Banner /etc/bannerssh" > /etc/ssh/sshd_config
  70. } || {
  71. echo -e "Port 22
  72. Protocol 2
  73. KeyRegenerationInterval 3600
  74. ServerKeyBits 1024
  75. SyslogFacility AUTH
  76. LogLevel INFO
  77. LoginGraceTime 120
  78. PermitRootLogin yes
  79. StrictModes yes
  80. RSAAuthentication yes
  81. PubkeyAuthentication yes
  82. IgnoreRhosts yes
  83. RhostsRSAAuthentication no
  84. HostbasedAuthentication no
  85. PermitEmptyPasswords no
  86. ChallengeResponseAuthentication no
  87. PasswordAuthentication yes
  88. X11Forwarding yes
  89. X11DisplayOffset 10
  90. PrintMotd no
  91. PrintLastLog yes
  92. TCPKeepAlive yes
  93. #UseLogin no
  94. AcceptEnv LANG LC_*
  95. Subsystem sftp /usr/lib/openssh/sftp-server
  96. UsePAM yes
  97. Banner /etc/bannerssh" > /etc/ssh/sshd_config
  98. }
  99. } || {
  100. cp /etc/ssh/sshd_config /bin/ejecutar/sshd_config
  101. sysvar=$(cat -n /etc/issue |grep 1 |cut -d' ' -f6,7,8 |sed 's/1//' |sed 's/ //' | grep -o Ubuntu)
  102. [[ ! $(cat /etc/shells|grep "/bin/false") ]] && {
  103. sed -i "s;/bin/false;;g" /etc/shells
  104. sed -i "s;/usr/sbin/nologin;;g" /etc/shells
  105. echo "/bin/false" >> /etc/shells
  106. echo "/usr/sbin/nologin" >> /etc/shells
  107. }
  108. [[ "$sysvar" != "" ]] && {
  109. echo -e "Port 22
  110. Protocol 2
  111. KeyRegenerationInterval 3600
  112. ServerKeyBits 1024
  113. SyslogFacility AUTH
  114. LogLevel INFO
  115. LoginGraceTime 120
  116. PermitRootLogin yes
  117. StrictModes yes
  118. RSAAuthentication yes
  119. PubkeyAuthentication yes
  120. IgnoreRhosts yes
  121. RhostsRSAAuthentication no
  122. HostbasedAuthentication no
  123. PermitEmptyPasswords no
  124. ChallengeResponseAuthentication no
  125. PasswordAuthentication yes
  126. X11Forwarding yes
  127. X11DisplayOffset 10
  128. PrintMotd no
  129. PrintLastLog yes
  130. TCPKeepAlive yes
  131. #UseLogin no
  132. AcceptEnv LANG LC_*
  133. Subsystem sftp /usr/lib/openssh/sftp-server
  134. UsePAM yes
  135. Banner /etc/bannerssh" > /etc/ssh/sshd_config
  136. } || {
  137. echo -e "Port 22
  138. Protocol 2
  139. KeyRegenerationInterval 3600
  140. ServerKeyBits 1024
  141. SyslogFacility AUTH
  142. LogLevel INFO
  143. LoginGraceTime 120
  144. PermitRootLogin yes
  145. StrictModes yes
  146. RSAAuthentication yes
  147. PubkeyAuthentication yes
  148. IgnoreRhosts yes
  149. RhostsRSAAuthentication no
  150. HostbasedAuthentication no
  151. PermitEmptyPasswords no
  152. ChallengeResponseAuthentication no
  153. PasswordAuthentication yes
  154. X11Forwarding yes
  155. X11DisplayOffset 10
  156. PrintMotd no
  157. PrintLastLog yes
  158. TCPKeepAlive yes
  159. #UseLogin no
  160. AcceptEnv LANG LC_*
  161. Subsystem sftp /usr/lib/openssh/sftp-server
  162. UsePAM yes
  163. Banner /etc/bannerssh" > /etc/ssh/sshd_config
  164. }
  165. }
  166. ######################
  167. }
  168. car_cert () {
  169. [[ -e /etc/stunnel/stunnel.pem ]] && echo -e "Ya Existe un certificado SSL Cargado \n Recuerde Cargar SU Certificado y Key del SSL " | pv -qL 25
  170. msg -bar
  171. echo -e "Descarga el fichero URL del Certificado SSL "
  172. echo -e $barra
  173. echo -e " \033[4;31mNOTA importante\033[0m"
  174. echo -e " \033[0;31mPara este Paso debes tener el URL del certificado Online"
  175. echo -e " Si Aun no lo has hecho, Cancela este paso"
  176. echo -e " Evitar Errores Futuros"
  177. echo -e " y causar problemas en futuras instalaciones.\033[0m"
  178. echo -e $barra
  179. msg -bar
  180. echo -e "Ingrese Link del Fichero URL de tu ZIP con los Certificados "
  181. msg -bar
  182. read -p " Pega tu Link : " urlm
  183. wget -O certificados.zip $urlm && echo -e "Descargando Fichero ZIP " || echo "Link de descarga Invalido"
  184. msg -bar
  185. echo -ne "\033[1;42m ZIPS Existentes : " && ls | grep zip && echo -e "\033[1;42m"
  186. msg -bar
  187. unzip certificados.zip 1> /dev/null 2> /dev/null && echo -e "Descomprimiendo Ficheros descargados" || echo -e "Error al Descomprimir "
  188. [[ -e private.key ]] && cat private.key > /etc/stunnel/stunnel.pem && echo -e " \033[1;42m Key del Certificado cargada Exitodamente\033[0m" || echo -e " \033[1;41mClaves Invalidas\033[0m"
  189. [[ -e certificate.crt && -e ca_bundle.crt ]] && cat certificate.crt ca_bundle.crt >> /etc/stunnel/stunnel.pem && echo -e "\033[1;42m CRT del Certificado cargada Exitodamente\033[0m" || echo -e "\033[1;41mClaves Invalidas\033[0m"
  190. rm -f private.key certificate.crt ca_bundle.crt certificados.zip 1> /dev/null 2> /dev/null && cd $HOME
  191. unset porta1
  192. if [[ -z $porta1 ]]; then
  193. porta1="443"
  194. fi
  195. echo -e "$barra"
  196. while true; do
  197. echo -ne "\033[1;37m"
  198. echo " $(source trans -b pt:${id} "Ingresa Puerto SSL a USAR ( Defauld 443 ) ") "
  199. read -p " Listen-Dropbear: " porta1
  200. [[ $(mportas|grep $porta1) ]] || break
  201. echo -e "\033[1;33m $(source trans -b es:${id} "El puerto seleccionado ya se encuentra en uso")"
  202. unset porta1
  203. echo -e "$barra"
  204. return 0
  205. done
  206. unset porta1ws
  207. echo -e "$barra"
  208. echo -e "\033[1;33m $(source trans -b pt:${id} "Instalando SSL/TLS : ")$(curl -sSL ipinfo.io > info && cat info | grep country | awk '{print $2}' | sed -e 's/[^a-z0-9 -]//ig')"
  209. echo -e "$barra"
  210. fun_bar "apt install stunnel4 -y"
  211. echo -e "cert = /etc/stunnel/stunnel.pem\nclient = no\nsocket = a:SO_REUSEADDR=1\nsocket = l:TCP_NODELAY=1\nsocket = r:TCP_NODELAY=1\n\n[WS]\nconnect = 127.0.0.1:80\naccept = ${SSLPORT}" > /etc/stunnel/stunnel.conf
  212. sed -i 's/ENABLED=0/ENABLED=1/g' /etc/default/stunnel4
  213. service stunnel4 restart > /dev/null 2>&1
  214. echo -e "$barra"
  215. #echo "Limpiando sistema y Reiniciando Servicios"
  216. echo 3 > /proc/sys/vm/drop_caches 1> /dev/null 2> /dev/null
  217. sysctl -w vm.drop_caches=3 1> /dev/null 2> /dev/null
  218. swapoff -a && swapon -a 1> /dev/null 2> /dev/null
  219. service ssh restart 1> /dev/null 2> /dev/null
  220. echo -e "\033[1;34m ##############################"
  221. echo -e "\033[1;37m R E I N I C I A N D O - STUNNEL4 - SSL"
  222. echo -e "\033[1;34m ##############################"
  223. echo -e "\033[1;33m $(source trans -b pt:${id} "INSTALACION EXITOSA")"
  224. echo -e "$barra"
  225. }
  226. insta_ser () {
  227. #sudo apt install dropbear squid stunnel cmake make gcc build-essential nodejs
  228. #nano /etc/default/dropbear
  229. unset porta1
  230. if [[ -z $porta1 ]]; then
  231. porta1="143"
  232. fi
  233. echo -e "$barra"
  234. while true; do
  235. echo -ne "\033[1;37m"
  236. echo " $(source trans -b pt:${id} "Ingresa Puerto Dropbear/SSH a USAR ( Defauld 143 ) ") "
  237. read -p " Listen-Dropbear: " porta1
  238. [[ $(mportas|grep $porta1) ]] || break
  239. echo -e "\033[1;33m $(source trans -b es:${id} "El puerto seleccionado ya se encuentra en uso")"
  240. unset porta1
  241. echo -e "$barra"
  242. return 0
  243. done
  244. unset porta1ws
  245. if [[ -z $porta1ws ]]; then
  246. porta1ws="80"
  247. fi
  248. echo -e "$barra"
  249. while true; do
  250. echo -ne "\033[1;37m"
  251. echo " $(source trans -b pt:${id} "Ingrese Puerto WebSocket ( Default 80 ) ") "
  252. read -p " Listen-WS: " porta1ws
  253. if lsof -Pi :$porta1ws -sTCP:LISTEN -t >/dev/null ; then
  254. echo -e "\033[1;33m $(source trans -b es:${id} "El puerto seleccionado ya se encuentra en uso")"
  255. unset porta1ws
  256. echo -e "$barra"
  257. return 0
  258. else
  259. break
  260. fi
  261. done
  262. echo -e "$barra"
  263. service dropbear stop 1> /dev/null 2> /dev/null
  264. rm -rf /etc/default/dropbear
  265. echo -e "Habilitando Entrada Dropbear" | pv -qL 30
  266. fun_log
  267. echo -e "NO_START=0" > /etc/default/dropbear && echo -e "\033[1;33mExito" || echo -e "\033[0;31mFail"
  268. echo -e "Habilitando Puerto $porta1 Dropbear" | pv -qL 30
  269. #
  270. echo $porta1 > /etc/default/dadd
  271. echo -e 'DROPBEAR_EXTRA_ARGS="-p '$porta1'"' >> /etc/default/dropbear && echo -e "\033[1;33mExito" || echo -e "\033[0;31mFail"
  272. echo -e "\033[1;32mHabilitando BannerSSH DropBear" | pv -qL 30
  273. #
  274. echo -e 'DROPBEAR_BANNER="/etc/bannerssh"' >> /etc/default/dropbear && touch /etc/bannerssh || echo -e "\033[0;31mFail"
  275. echo -e "DROPBEAR_RECEIVE_WINDOW=65536" >> /etc/default/dropbear
  276. echo "/bin/false" >> /etc/shells
  277. echo "/usr/sbin/nologin" >> /etc/shells
  278. service dropbear restart 1> /dev/null 2> /dev/null && echo -e "\033[1;32mReiniciando DropBear Exitosamente" | pv -qL 30 || echo -e "\033[1;32mError al Reiniciar DropBear" | pv -qL 30
  279. service sshd restart 1> /dev/null 2> /dev/null
  280. service ssh restart 1> /dev/null 2> /dev/null
  281. dropbearports=`netstat -tunlp | grep dropbear | grep 0.0.0.0: | awk '{print substr($4,9); }' > /tmp/dropbear.txt && echo | cat /tmp/dropbear.txt | tr '\n' ' ' > /etc/adm-lite/dropbearports.txt && cat /etc/adm-lite/dropbearports.txt`;
  282. echo -e "\033[1;31m › DROPBEAR ESCUCHA \033[0m" $porta1 " ESCOJIDO " $porta1
  283. echo -e "$barra"
  284. echo -e "Creando Directorios" | pv -qL 30
  285. #
  286. [[ -d /bin/ejecutar ]] && rm -f /bin/ejecutar/proxy3.js || mkdir /bin/ejecutar
  287. cd /bin/ejecutar
  288. echo -e "Descargando Ficheros JS" | pv -qL 30
  289. wget -q https://www.dropbox.com/s/84ls4k0gcaeonq8/proxy3.js
  290. echo -e "\033[1;32mHabilitando NODE WS" | pv -qL 30
  291. #
  292. echo -e "Iniciando NODE WS" | pv -qL 30
  293. #
  294. screen -dmS ws node /bin/ejecutar/proxy3.js -dport $porta1 -mport $porta1ws
  295. cd $HOME
  296. echo -e "Mostrando Status NODE WS\n ----------- Presiona CNTRL + X para Salir ------------"
  297. echo -e $barra
  298. echo -e " \033[4;31mNOTA importante\033[0m"
  299. echo -e " \033[0;31m USA este Payload "
  300. echo -e " En el Menu de Seleccion.\033[0m"
  301. echo -e $barra
  302. echo ' GET / HTTP/1.1[crlf]Host: yourhost.com[crlf]
  303. Connection: Upgrade[crlf]User-Agent: [ua][crlf]
  304. Upgrade: websocket[crlf][crlf] '
  305. echo -e $barra
  306. #read -p "Presiona Enter para Continuar"
  307. #
  308. #[[ -e /etc/systemd/system/nodews1.service ]] && systemctl status nodews1 || echo -e "Error al Iniciar NODE WS" | pv -qL 15
  309. echo -e $barra
  310. echo -e "\033[1;33m › INSTALACION FINALIZADA - PRESIONE ENTER\033[0m"
  311. read -p " "
  312. }
  313. insta_https () {
  314. unset porta1
  315. sslports=`netstat -tunlp | grep stunnel4 | grep 0.0.0.0: | awk '{print substr($4,9); }' > /tmp/ssl.txt && echo | cat /tmp/ssl.txt | tr '\n' ' ' > /etc/adm-lite/sslports.txt && cat /etc/adm-lite/sslports.txt`;
  316. PORT=$(cat /etc/adm-lite/sslports.txt | sed 's/\s\+/,/g' | cut -d , -f1)
  317. echo -e " Ingrese Puerto SSL/SSH/Dropbear Activo"
  318. read -p " Para Redireccionamiento ( Default $PORT ): " porta1
  319. if [[ -z $porta1 ]]; then
  320. porta1="$PORT"
  321. echo -e "\033[1;31m › SSL ESCUCHA \033[0m $PORT "
  322. fi
  323. echo -e "\033[1;31m › Puerta Seleccionada \033[0m $porta1 "
  324. unset porta1ws
  325. #read -p "Ingrese Puerto WebSocket SSL ( Default 2083 ): " porta1ws
  326. if [[ -z $porta1ws ]]; then
  327. porta1ws="2083"
  328. fi
  329. echo -e "$barra"
  330. while true; do
  331. echo -ne "\033[1;37m"
  332. echo " $(source trans -b pt:${id} "Ingrese Puerto WebSocket ( Default 80 ) ") "
  333. read -p " Listen-WS: " porta1ws
  334. [[ $(mportas|grep $porta1ws) ]] || break
  335. echo -e "\033[1;33m $(source trans -b es:${id} "El puerto seleccionado ya se encuentra en uso")"
  336. unset porta1ws
  337. echo -e "$barra"
  338. return 0
  339. done
  340. echo -e "$barra"
  341. if lsof -Pi :$porta1ws -sTCP:LISTEN -t >/dev/null ; then
  342. echo "Ya esta en uso ese puerto"
  343. exit
  344. else
  345. echo -e "Creando Directorios" | pv -qL 15
  346. #
  347. [[ -d /bin/ejecutar ]] && echo "Fichero Existente" || mkdir /bin/ejecutar
  348. cd /bin/ejecutar
  349. echo -e "Descargando Ficheros JS" | pv -qL 15
  350. wget -O httpsProxy.js -q https://www.dropbox.com/s/84ls4k0gcaeonq8/proxy3.js
  351. echo -e "\033[1;32mHabilitando NODE WS" | pv -qL 15
  352. #
  353. echo -e "Iniciando NODE WS" | pv -qL 15
  354. #
  355. screen -dmS httpsws node /bin/ejecutar/httpsProxy.js -dport $porta1 -mport $porta1ws
  356. cd $HOME
  357. echo -e "Mostrando Status NODE WS\n ----------- Presiona CNTRL + X para Salir ------------"
  358. echo -e $barra
  359. echo -e " \033[4;31mNOTA importante\033[0m"
  360. echo -e " \033[0;31m USA este Payload "
  361. echo -e " En el Menu de Seleccion.\033[0m"
  362. echo -e $barra
  363. echo ' GET / HTTP/1.1[crlf]Host: yourhost.com[crlf]
  364. Connection: Upgrade[crlf]User-Agent: [ua][crlf]
  365. Upgrade: websocket[crlf][crlf] '
  366. echo -e $barra
  367. #read -p "Presiona Enter para Continuar"
  368. #
  369. #[[ -e /etc/systemd/system/nodews1.service ]] && systemctl status nodews1 || echo -e "Error al Iniciar NODE WS" | pv -qL 15
  370. echo -e $barra
  371. echo -e "\033[1;33m › INSTALACION FINALIZADA - PRESIONE ENTER\033[0m"
  372. read -p " "
  373. fi
  374. }
  375. stop_ser () {
  376. killall node
  377. }
  378. unset inst
  379. clear
  380. echo -e "\033[1;42mBIENVENIDO NUEVAMENTE!\033[0m"
  381. echo -e $barra
  382. echo -e " \033[4;31mNOTA importante\033[0m"
  383. echo -e " \033[0;31mRecomendado UBUNTU 20.04"
  384. echo -e " Si Aun no lo has hecho, Dijita SI o s"
  385. echo -e " Para Evitar Errores Futuros"
  386. echo -e " y causar problemas en futuras instalaciones.\033[0m"
  387. echo -e $barra
  388. echo -e "Menu de instalacion de Paquetes Necesarios "
  389. echo -ne "\033[97m Deseas Instalar los Paquetes Requeridos [s/n]: "
  390. read inst
  391. [[ $inst = @(s|S|y|Y) ]] && install_ini
  392. clear
  393. source cabecalho
  394. echo -e $barra
  395. echo -e " \033[1;42mBIENVENIDO NUEVAMENTE!\033[0m"
  396. echo -e $barra
  397. echo -e " SSH OVER WEBSOCKET CDN "
  398. echo -e "\033[0;35m[\033[0;36m1\033[0;35m] \033[0;34m<\033[0;33m INICIAR WEBSOCKET CDN (HTTP) DROPBEAR"
  399. echo -e "\033[0;35m[\033[0;36m2\033[0;35m] \033[0;34m<\033[0;33m INICIAR WEBSOCKET CDN (HTTPS) SSL/SSH"
  400. echo -e "\033[0;35m[\033[0;36m3\033[0;35m] \033[0;34m<\033[0;33m DETENER TODOS WEBSOCKET CDN"
  401. echo -e $barra
  402. echo -e "\033[0;35m[\033[0;36m0\033[0;35m] \033[0;34m<\033[0;33m SALIR"
  403. unset inst
  404. echo -e $barra
  405. echo -ne "\033[97m ESCOJE [ 1 / 2 ]: "
  406. read inst
  407. [[ $inst = "1" ]] && insta_ser
  408. [[ $inst = "2" ]] && insta_https
  409. [[ $inst = "3" ]] && stop_ser
  410. [[ $inst = "0" ]] && menu
  411. #[[ $inst = @("1"|"01") ]] && insta_ser
  412. echo "Instalacion Concluida con Exito"