1
0

h_beta.sh 9.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299
  1. #!/bin/bash
  2. #
  3. [[ -e /bin/ejecutar/msg ]] && source /bin/ejecutar/msg || source <(curl -sSL https://raw.githubusercontent.com/ChumoGH/ChumoGH-Script/master/msg-bar/msg)
  4. verif_ptrs() {
  5. porta=$1
  6. PT=$(lsof -V -i tcp -P -n | grep -v "ESTABLISHED" | grep -v "COMMAND" | grep "LISTEN")
  7. for pton in $(echo -e "$PT" | cut -d: -f2 | cut -d' ' -f1 | uniq); do
  8. svcs=$(echo -e "$PT" | grep -w "$pton" | awk '{print $1}' | uniq)
  9. [[ "$porta" = "$pton" ]] && {
  10. echo -e "\n\033[1;31mPUERTO \033[1;33m$porta \033[1;31mOCUPADO POR \033[1;37m$svcs\033[0m"
  11. sleep 0.5
  12. return 0
  13. }
  14. done
  15. }
  16. selection_fun () {
  17. local selection="null"
  18. local range
  19. for((i=0; i<=$1; i++)); do range[$i]="$i "; done
  20. while [[ ! $(echo ${range[*]}|grep -w "$selection") ]]; do
  21. echo -ne "\033[1;31m OPCION : " >&2
  22. read selection
  23. tput cuu1 >&2 && tput dl1 >&2
  24. done
  25. echo $selection
  26. }
  27. fun_openssh() {
  28. clear
  29. echo -e "\E[44;1;37m OPENSSH \E[0m\n"
  30. echo -e "\033[1;31m[\033[1;36m1\033[1;31m] \033[1;37m• \033[1;33mADICIONAR PORTA\033[1;31m
  31. [\033[1;36m2\033[1;31m] \033[1;37m• \033[1;33mREMOVER PORTA\033[1;31m
  32. [\033[1;36m3\033[1;31m] \033[1;37m• \033[1;33mVOLTAR\033[0m"
  33. echo ""
  34. echo -ne "\033[1;32mOQUE DESEJA FAZER \033[1;33m?\033[1;37m "
  35. read resp
  36. if [[ "$resp" = '1' ]]; then
  37. clear
  38. echo -e "\E[44;1;37m ADICIONAR PORTA AO SSH \E[0m\n"
  39. echo -ne "\033[1;32mQUAL PORTA DESEJA ADICIONAR \033[1;33m?\033[1;37m "
  40. read pt
  41. [[ -z "$pt" ]] && {
  42. echo -e "\n\033[1;31mPorta invalida!"
  43. sleep 3
  44. return 0
  45. }
  46. verif_ptrs $pt
  47. echo -e "\n\033[1;32mADICIONANDO PORTA AO SSH\033[0m"
  48. echo ""
  49. fun_addpssh() {
  50. echo "Port $pt" >>/etc/ssh/sshd_config
  51. service ssh restart
  52. }
  53. fun_bar 'fun_addpssh'
  54. echo -e "\n\033[1;32mPORTA ADICIONADA COM SUCESSO\033[0m"
  55. sleep 3
  56. return 0
  57. elif [[ "$resp" = '2' ]]; then
  58. clear
  59. echo -e "\E[41;1;37m REMOVER PORTA DO SSH \E[0m"
  60. echo -e "\n\033[1;33m[\033[1;31m!\033[1;33m] \033[1;32mPORTA PADRAO \033[1;37m22 \033[1;33mCUIDADO !\033[0m"
  61. echo -e "\n\033[1;33mPUERTAS SSH EN USO: \033[1;37m$(grep 'Port' /etc/ssh/sshd_config | cut -d' ' -f2 | grep -v 'no' | xargs)\n"
  62. echo -ne "\033[1;32mQUE PUERTO DESEAS REMOVER \033[1;33m?\033[1;37m "
  63. read pt
  64. [[ -z "$pt" ]] && {
  65. echo -e "\n\033[1;31mPUERTO INVALIDO!"
  66. sleep 2
  67. return 0
  68. }
  69. [[ $(grep -wc "$pt" '/etc/ssh/sshd_config') != '0' ]] && {
  70. echo -e "\n\033[1;32mREMOVENDO PUERTO DE SSH\033[0m"
  71. echo ""
  72. fun_delpssh() {
  73. sed -i "/Port $pt/d" /etc/ssh/sshd_config
  74. service ssh restart
  75. }
  76. fun_bar 'fun_delpssh'
  77. echo -e "\n\033[1;32mPORTA REMOVIDA COM SUCESSO\033[0m"
  78. sleep 2
  79. return 0
  80. } || {
  81. echo -e "\n\033[1;31mPorta invalida!"
  82. sleep 2
  83. return 0
  84. }
  85. elif [[ "$resp" = '3' ]]; then
  86. echo -e "\n\033[1;31mRetornando.."
  87. sleep 2
  88. return 0
  89. else
  90. echo -e "\n\033[1;31mOpcao invalida!"
  91. sleep 2
  92. return 0
  93. fi
  94. }
  95. menu_udp () {
  96. _udp=$(lsof -V -i tcp -P -n | grep -v "ESTABLISHED" |grep -v "COMMAND"|grep "badvpn-ud"|awk '{print $1}')
  97. [[ -z $_udp ]] && v_udp="\e[31m[ OFF ]" || v_udp="\e[32m[ ON ] "
  98. msg -bar
  99. echo -e " \033[0;35m [\033[0;36m1\033[0;35m]\033[0;31m ➮ ${cor[3]} PARAR TODOS LOS BADVPN $v_udp"
  100. echo -e " \033[0;35m [\033[0;36m2\033[0;35m]\033[0;31m ➮ ${cor[3]} ADD + BADVPN ( CUSTOM PORT )"
  101. #echo -e " \033[0;35m [\033[0;36m2\033[0;35m]\033[0;31m ➮ ${cor[3]} AGREGAR / REMOVER HOST-SQUID"
  102. #echo -e " \033[0;35m [\033[0;36m3\033[0;35m]\033[0;31m ➮ ${cor[3]} DESINSTALAR SQUID"
  103. msg -bar
  104. echo -e " \033[0;35m [\033[0;36m0\033[0;35m]\033[0;31m ➮ $(msg -bra "\033[1;41m[ REGRESAR ]\e[0m")"
  105. msg -bar
  106. selection=$(selection_fun 2)
  107. case ${selection} in
  108. 0)
  109. return 0
  110. ;;
  111. 1)
  112. for pid in $(pgrep badvpn-udpgw);do
  113. kill $pid
  114. done
  115. return 0
  116. ;;
  117. 2)
  118. badcustom
  119. return 0
  120. ;;
  121. esac
  122. }
  123. badcustom () {
  124. msg -bar
  125. echo -e "BIENVENIDO AL MENU DE CUSTOM PORT "
  126. msg -bar
  127. read -p " DIJITA TU PUERTO CUSTOM PARA BADVPN :" -e -i "7100" port
  128. echo -e " VERIFICANDO BADVPN "
  129. msg -bar
  130. screen -dmS badvpn$port /bin/badvpn-udpgw --listen-addr 127.0.0.1:${port} --max-clients 1000 --max-connections-for-client 100 && msg -ama " BadVPN ACTIVADA CON EXITO" || msg -ama " Error al Activar BadVPN"
  131. msg -bar
  132. #echo -e ""
  133. }
  134. _badfix () {
  135. https://github.com/rudi9999/ADMRufu/raw/main/Utils/badvpn/badvpn-master.zip
  136. }
  137. packobs () {
  138. msg -ama "Buscando Paquetes Obsoletos"
  139. dpkg -l | grep -i ^rc
  140. msg -ama "Limpiando Paquetes Obsoloteos"
  141. dpkg -l |grep -i ^rc | cut -d " " -f 3 | xargs dpkg --purge
  142. sudo sync
  143. sudo sysctl -w vm.drop_caches=3 > /dev/null 2>&1
  144. msg -ama "Limpieza Completa"
  145. }
  146. ############
  147. SCPdir="/etc/adm-lite"
  148. #SCPfrm="${SCPdir}" && [[ ! -d ${SCPfrm} ]] && exit
  149. #SCPinst="${SCPdir}"&& [[ ! -d ${SCPinst} ]] && exit
  150. #declare -A cor=( [0]="\033[1;37m" [1]="\033[1;34m" [2]="\033[1;31m" [3]="\033[1;33m" [4]="\033[1;32m" [5]="\e[1;36m" )
  151. #LISTA PORTAS
  152. mportas () {
  153. unset portas
  154. portas_var=$(lsof -V -i tcp -P -n | grep -v "ESTABLISHED" |grep -v "COMMAND" | grep "LISTEN")
  155. while read port; do
  156. var1=$(echo $port | awk '{print $1}') && var2=$(echo $port | awk '{print $9}' | awk -F ":" '{print $2}')
  157. [[ "$(echo -e $portas|grep "$var1:$var2")" ]] || portas+="$var1:$var2\n"
  158. done <<< "$portas_var"
  159. i=1
  160. echo -e "$portas"
  161. }
  162. fun_bar () {
  163. comando="$1"
  164. _=$( $comando > /dev/null 2>&1 ) & > /dev/null
  165. pid=$!
  166. while [[ -d /proc/$pid ]]; do
  167. echo -ne " \033[1;33m["
  168. for((i=0; i<20; i++)); do
  169. echo -ne "\033[1;31m##"
  170. sleep 0.5
  171. done
  172. echo -ne "\033[1;33m]"
  173. sleep 1s
  174. echo tput cuu1 tput dl1
  175. done
  176. echo -e " \033[1;33m[\033[1;31m########################################\033[1;33m] - \033[1;32m100%\033[0m"
  177. sleep 1s
  178. }
  179. fun_apache () {
  180. echo -e "FUNCION DE MENU APACHE MODO BETA"
  181. msg -bar
  182. read -p " INGRESA PUERTO APACHE NUEVO :" nwPP
  183. [[ -z $nwPP ]] && nwPP="81"
  184. msg -bar
  185. echo "ESPERE MIENTRAS COMPLETAMOS EL PROCESO"
  186. fun_bar "apt purge apache2 -y "
  187. echo "REINSTALANDO Y RECONFIGURANDO"
  188. fun_bar "apt install apache2 -y "
  189. sed -i "s;Listen 80;Listen ${nwPP};g" /etc/apache2/ports.conf
  190. echo "REINICIANDO Y APLICANDO CAMBIOS"
  191. service apache2 restart &>/dev/null
  192. }
  193. filemanager () {
  194. [[ $(ps x | grep filebrowser | grep -v grep) ]] && {
  195. killall filebrowser &> /dev/null
  196. } || {
  197. [[ -z $(which filebrowser) ]] && curl -fsSL https://raw.githubusercontent.com/filebrowser/get/master/get.sh | bash &> /dev/null
  198. read -p " INGRESA PUERTO : " webrowser
  199. nohup filebrowser -a $(ip -4 addr | sed -ne 's|^.* inet \([^/]*\)/.* scope global.*$|\1|p' | awk '{print $1}' | head -1) -b / -p ${webrowser} -r /root/& > /dev/null
  200. msg -bar2
  201. echo ""
  202. echo -e " SERVICIO ACTIVO EN URL : http://$(wget -qO- ifconfig.me):${webrowser}/"
  203. echo ""
  204. echo -e " ACCEDE CON LAS CREDENCIALES : admin "
  205. echo ""
  206. msg -bar2
  207. }
  208. read -p " PRESIONA ENTER PARA CONTINUAR"
  209. }
  210. if netstat -tnlp |grep 'apache2' &>/dev/null; then
  211. _apa="\e[32m[ ON ] "
  212. else
  213. _apa="\e[31m[ OFF ]"
  214. fi
  215. clear&&clear
  216. [[ -e /etc/wireguard/params ]] && _wir="\e[32m[ ON ] " || _wir="\e[31m[ OFF ]"
  217. [[ $(ps x | grep filebrowser | grep -v grep) ]] && file="\e[32m[ ON ] " || file="\e[31m[ OFF ]"
  218. msg -bar2
  219. echo -e " \033[7;49;35m =>►► 🐲 FUNCIONES ALTERNS ChumoGH💥VPS 🐲 ◄◄<= \033[0m\033[1;31m"
  220. msg -bar2
  221. echo -e " \033[0;35m[\033[0;36m1\033[0;35m] \033[0;34m➮\033[0;33m PUERTO APACHE CUSTOM ${_apa} "
  222. echo -e " \033[0;35m[\033[0;36m2\033[0;35m] \033[0;34m➮\033[0;33m LIMPIAR RAM && PAQUETES ANTIGUOS "
  223. echo -e " \033[0;35m[\033[0;36m3\033[0;35m] \033[0;34m➮\033[0;31m ADD / REMOVE PORTS CUSTOM BADVPN "
  224. echo -e " \033[0;35m[\033[0;36m4\033[0;35m] \033[0;34m➮\033[0;31m ADD / REMOVE PORTS CUSTOM OPENSSH "
  225. echo -e " \033[0;35m[\033[0;36m5\033[0;35m] \033[0;34m➮\033[0;31m TROJAN GO - BETA "
  226. echo -e " \033[0;35m[\033[0;36m6\033[0;35m] \033[0;34m➮\033[0;31m CREAR CERTIFICADO CON DOMINIO "
  227. echo -e " \033[0;35m[\033[0;36m7\033[0;35m] \033[0;34m➮\033[0;31m Modulo WireGuard VPN Client ${_wir} "
  228. echo -e " \033[0;35m[\033[0;36m8\033[0;35m] \033[0;34m➮\033[0;31m FIILEMANAGER WEB ${file} "
  229. msg -bar2
  230. echo -e " \033[0;35m[\033[0;36m0\033[0;35m] \033[0;34m➮\033[0;33m $(msg -bra "\033[1;41m[ REGRESAR ]\e[0m") "
  231. msg -bar2
  232. selection=$(selection_fun 8)
  233. case ${selection} in
  234. 0)
  235. return 0
  236. ;;
  237. 1)
  238. fun_apache
  239. return 0
  240. ;;
  241. 2)
  242. packobs
  243. return 0
  244. ;;
  245. 3)
  246. menu_udp
  247. return 0
  248. ;;
  249. 4)
  250. fun_openssh
  251. return 0
  252. ;;
  253. 5)
  254. source <(curl -sSL https://raw.githubusercontent.com/AAAAAEXQOSyIpN2JZ0ehUQ/ADMPLUS-MANAGER-PRO/main/Modulos/trojan-go)
  255. ;;
  256. 6)
  257. clear&&clear
  258. echo -e "================================================"
  259. echo -e "A CONTINUACION CREAREMOS UN CETIFICADO SSL"
  260. echo -e " LA VERIFICACION ES MEDIANTE DOMINIO"
  261. echo -e " NECECITAS TENER EL PUERTO 80 Y 443 LIBRES"
  262. echo -e "================================================"
  263. source <(curl -sSL https://www.dropbox.com/s/839d3q8kh72ujr0/certificadossl.sh?dl=0)
  264. echo -e "================================================"
  265. echo -e ""
  266. echo -e "================================================"
  267. echo -e " SI LA EMICION FUE CORRECTA, TU CERTIFICADO"
  268. echo -e " SE ENCUENTR ALOJADO EN /data "
  269. echo -e "================================================"
  270. echo -e " /data/cert.crt && /data/cert.key "
  271. echo -e "================================================"
  272. echo -e ""
  273. ;;
  274. 7)
  275. rm -f /tmp/wireguard-install.sh* && wget -q -O /tmp/wireguard-install.sh https://www.dropbox.com/s/zgo0dz65l6v3d7s/wireguard-install.sh && chmod +x /tmp/wireguard-install.sh && /tmp/wireguard-install.sh
  276. ;;
  277. 8)
  278. filemanager
  279. ;;
  280. esac