setup 23 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676
  1. #!/bin/bash
  2. #CREADOR Henry Chumo | 25/08/2022
  3. #Alias : @ChumoGH
  4. # -*- ENCODING: UTF-8 -*-
  5. export PATH=$PATH:/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/sbin:/bin:/usr/games;
  6. fecha=`date +"%d-%m-%y"`;
  7. SCPdir="/etc/adm-lite"
  8. SCPinstal="$HOME/install"
  9. rm -f instala.*
  10. [[ -e /etc/folteto ]] && rm -f /etc/folteto
  11. [[ ! -z $1 ]] && {
  12. rm -f wget*
  13. echo -e " ESPERE UN MOMENTO "
  14. apt-get install curl -y &>/dev/null
  15. apt install sudo -y &> /dev/null
  16. source <(curl -sSL https://raw.githubusercontent.com/ChumoGH/ChumoGH-Script/master/msg-bar/msg)
  17. COLS=$(tput cols)
  18. os_system(){
  19. system=$(cat -n /etc/issue |grep 1 |cut -d ' ' -f6,7,8 |sed 's/1//' |sed 's/ //')
  20. distro=$(echo "$system"|awk '{print $1}')
  21. case $distro in
  22. Debian)vercion=$(echo $system|awk '{print $3}'|cut -d '.' -f1);;
  23. Ubuntu)vercion=$(echo $system|awk '{print $2}'|cut -d '.' -f1,2);;
  24. esac
  25. link="https://raw.githubusercontent.com/rudi9999/ADMRufu/main/Repositorios/${vercion}.list"
  26. #case $vercion in
  27. #8|9|10|11|16.04|18.04|20.04|20.10|21.04|21.10|22.04)wget -O /etc/apt/sources.list ${link} &>/dev/null;;
  28. #esac
  29. }
  30. rutaSCRIPT () {
  31. rm -f setup*
  32. act_ufw() {
  33. [[ -f "/usr/sbin/ufw" ]] && ufw allow 81/tcp ; ufw allow 8888/tcp
  34. }
  35. [[ -z $(cat /etc/resolv.conf | grep "8.8.8.8") ]] && echo "nameserver 8.8.8.8" >> /etc/resolv.conf
  36. [[ -z $(cat /etc/resolv.conf | grep "1.1.1.1") ]] && echo "nameserver 1.1.1.1" >> /etc/resolv.conf
  37. cd $HOME
  38. fun_ip () {
  39. MIP=$(ip addr | grep 'inet' | grep -v inet6 | grep -vE '127\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -o -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | head -1)
  40. MIP2=$(wget -qO- ipv4.icanhazip.com)
  41. [[ "$MIP" != "$MIP2" ]] && IP="$MIP2" || IP="$MIP"
  42. }
  43. fun_install () {
  44. clear
  45. valid_fun
  46. msg -bar
  47. cd $HOME
  48. [[ -e $HOME/lista ]] && rm -f $HOME/lista*
  49. [[ -d ${SCPinstal} ]] && rm -rf ${SCPinstal}
  50. }
  51. ## root check
  52. if ! [ $(id -u) = 0 ]; then
  53. clear
  54. echo ""
  55. echo " _________________________________________________"
  56. echo " �21�21�21 Error Fatal!! x000e1 �21�21�21"
  57. echo " _________________________________________________"
  58. echo " �40 Este script debe ejecutarse como root! �40"
  59. echo " Como Solucionarlo "
  60. echo " Ejecute el script as�:"
  61. echo " �30 �31 "
  62. echo " ( sudo -i )"
  63. echo " sudo su"
  64. echo " Retornando . . ."
  65. echo $(date)
  66. exit
  67. fi
  68. function_verify () {
  69. echo "verify" > $(echo -e $(echo 2f62696e2f766572696679737973|sed 's/../\\x&/g;s/$/ /'))
  70. echo 'MOD @ChumoGH ChumoGHADM' > $(echo -e $(echo 2F7573722F6C69622F6C6963656E6365|sed 's/../\\x&/g;s/$/ /'))
  71. [[ $(dpkg --get-selections|grep -w "libpam-cracklib"|head -1) ]] || apt-get install libpam-cracklib -y &> /dev/null
  72. echo -e '# Modulo @ChumoGH
  73. password [success=1 default=ignore] pam_unix.so obscure sha512
  74. password requisite pam_deny.so
  75. password required pam_permit.so' > /etc/pam.d/common-password && chmod +x /etc/pam.d/common-password
  76. }
  77. verificar_arq () {
  78. [[ ! -d ${SCPdir} ]] && mkdir ${SCPdir}
  79. mv -f ${SCPinstal}/$1 ${SCPdir}/$1 && chmod +x ${SCPdir}/$1
  80. }
  81. fun_ip
  82. valid_fun () {
  83. msg -bar
  84. echo -e ""
  85. echo -e "${cor[2]}\n\033[1;37m Script Patrocinado por: @ChumoGH - Henry Chumo" | pv -qL 12
  86. echo -e ""
  87. msg -bar
  88. echo -e " ${cor[5]} NewScriptADM Mod ChumoGH-ADM REFACTORIZADO "
  89. msg -bar
  90. echo -e "${cor[3]} DESENCADENANDO FICHEROS DE LA KEY "
  91. echo ""
  92. echo '#!/bin/bash
  93. # Creado por @ChumoGH
  94. SCPdir="/etc/adm-lite"
  95. cd ${SCPdir} && ./menu' > /bin/menu && chmod +x /bin/menu
  96. echo '#!/bin/bash
  97. # Creado por @ChumoGH
  98. SCPdir="/etc/adm-lite"
  99. cd ${SCPdir} && ./menu' > /bin/cgh && chmod +x /bin/cgh
  100. echo '#!/bin/bash
  101. # Creado por @ChumoGH
  102. SCPdir="/etc/adm-lite"
  103. cd ${SCPdir} && ./menu' > /bin/adm && chmod +x /bin/adm
  104. msg -bar
  105. echo ""
  106. [[ -e ${SCPdir}/menu_credito ]] && ress="$(cat ${SCPdir}/menu_credito) " || ress="NULL ( no found ) "
  107. echo -ne "${cor[2]}\n\033[1;37m RESELLER : " | pv -qL 50 && sleep 1s && echo -e "\033[0;35m$ress" | pv -qL 50
  108. echo ""
  109. [[ -e ${SCPdir}/cabecalho ]] && bash ${SCPdir}/cabecalho --instalar
  110. }
  111. error_conex () {
  112. [[ -e $HOME/lista-arq ]] && list_fix="$(cat < $HOME/lista-arq)" || list_fix=""
  113. msg -bar
  114. echo -e "\033[41m -- SISTEMA ACTUAL $(lsb_release -si) $(lsb_release -sr) --"
  115. [[ "$list_fix" = "" ]] && {
  116. msg -bar
  117. echo -e " ERROR (PORT 8888 TCP) ENTRE GENERADOR <--> VPS "
  118. echo -e " NO EXISTE CONEXION ENTRE EL GENERADOR "
  119. echo -e " - \e[3;32mGENERADOR O KEYGEN COLAPZADO\e[0m - "
  120. }
  121. invalid_key
  122. }
  123. invalid_key () {
  124. [[ -e $HOME/lista-arq ]] && list_fix="$(cat < $HOME/lista-arq)" || list_fix=''
  125. echo -e ' '
  126. msg -bar
  127. #echo -e "\033[41m -- SISTEMA ACTUAL $(lsb_release -si) $(lsb_release -sr) --"
  128. echo -e " \033[41m-- CPU :$(lscpu | grep "Vendor ID" | awk '{print $3}') SISTEMA : $(lsb_release -si) $(lsb_release -sr) --"
  129. [[ "$list_fix" = "" ]] && {
  130. msg -bar
  131. echo -e " ERROR (PORT 8888 TCP) ENTRE GENERADOR <--> VPS "
  132. echo -e " NO EXISTE CONEXION ENTRE EL GENERADOR "
  133. echo -e " - \e[3;32mGENERADOR O KEYGEN COLAPZADO\e[0m - "
  134. }
  135. [[ "$list_fix" = "KEY INVALIDA!" ]] && {
  136. IiP="$(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}')"
  137. cheklist="$(curl -sSL $IiP:81/ChumoGH/checkIP.log)"
  138. chekIP="$(echo -e "$cheklist" | grep ${Key} | awk '{print $3}')"
  139. chekDATE="$(echo -e "$cheklist" | grep ${Key} | awk '{print $7}')"
  140. msg -bar
  141. echo ""
  142. [[ ! -z ${chekIP} ]] && {
  143. varIP=$(echo ${chekIP}| sed 's/[1-5]/X/g')
  144. msg -verm " KEY USADA POR IP : ${varIP} \n DATE: ${chekDATE} ! "
  145. echo ""
  146. msg -bar
  147. } || {
  148. echo -e " PRUEBA COPIAR BIEN TU KEY "
  149. [[ $(echo "$(ofus "$Key"|cut -d'/' -f2)" | wc -c ) = 18 ]] && echo -e "" || echo -e "\033[1;31m CONTENIDO DE LA KEY ES INCORRECTO"
  150. echo -e " KEY NO COINCIDE CON EL CODEX DEL ADM "
  151. msg -bar
  152. tput cuu1 && tput dl1
  153. }
  154. }
  155. msg -bar
  156. [[ $(echo "$(ofus "$Key"|cut -d'/' -f2)" | wc -c ) = 18 ]] && echo -e "" || echo -e "\033[1;31m CONTENIDO DE LA KEY ES INCORRECTO"
  157. [[ -e $HOME/lista-arq ]] && rm $HOME/lista-arq
  158. cd $HOME
  159. [[ -e ${SCPinstal} ]] && rm -rf ${SCPinstal}
  160. [[ -d $HOME/chumogh ]] && rm -rf $HOME/chumogh
  161. [[ -d ${SCPdir} ]] && rm -rf ${SCPdir}
  162. [[ -d $HOME/chumogh ]] && rm -rf $HOME/chumogh
  163. [[ -e /bin/menu ]] && rm /bin/menu
  164. [[ -e $HOME/chumogh ]] && rm -rf $HOME/chumogh
  165. [[ -e $HOME/log.txt ]] && rm -f $HOME/log.txt
  166. [[ -e /bin/troj.sh ]] && rm -f /bin/troj.sh
  167. [[ -e /bin/v2r.sh ]] && rm -f /bin/v2r.sh
  168. [[ -e /bin/clash.sh ]] && rm -f /bin/clash.sh
  169. rm -f instala.* > /dev/null
  170. rm -f /bin/cgh > /dev/null
  171. rm -rf /bin/ejecutar > /dev/null
  172. figlet " Key Invalida" | boxes -d stone -p a2v1 > error.log
  173. msg -bar >> error.log
  174. echo " Key Invalida, Contacta con tu Provehedor" >> error.log
  175. echo -e ' https://t.me/ChumoGH - @ChumoGH' >> error.log
  176. msg -bar >> error.log
  177. cat error.log | lolcat
  178. #msg -bar
  179. echo -e " \033[1;44m Deseas Reintentar con OTRA KEY\033[0;33m :v"
  180. echo -ne "\033[0;32m "
  181. read -p " Responde [ s | n ] : " -e -i "n" x
  182. [[ $x = @(s|S|y|Y) ]] && funkey || return
  183. }
  184. funkey () {
  185. unset Key
  186. while [[ ! $Key ]]; do
  187. echo 3 > /proc/sys/vm/drop_caches 1> /dev/null 2> /dev/null
  188. sysctl -w vm.drop_caches=3 1> /dev/null 2> /dev/null
  189. swapoff -a && swapon -a 1> /dev/null 2> /dev/null
  190. #[[ -f "/usr/sbin/ufw" ]] && ufw allow 443/tcp ; ufw allow 80/tcp ; ufw allow 3128/tcp ; ufw allow 8799/tcp ; ufw allow 8080/tcp ; ufw allow 81/tcp ; ufw allow 8888/tcp
  191. clear
  192. fun_ip
  193. [[ $(uname -m 2> /dev/null) != x86_64 ]] && {
  194. msg -bar3
  195. echo -e " PROCESADOR ARM DETECTADO "
  196. }
  197. _cpu=$(lscpu | grep "Vendor ID" | awk '{print $3}')
  198. [[ ${_cpu} = "ARM" ]] && _cpu='ARM64 Pro'
  199. msg -bar3
  200. echo -e " \033[41m- CPU: \033[100m$_cpu\033[41m SISTEMA : \033[100m$(lsb_release -si) $(lsb_release -sr)\033[41m -\033[0m"
  201. msg -bar3
  202. echo -e " ${FlT}${rUlq} ScriptADM LITE | MOD @ChumoGH OFICIAL ${rUlq}${FlT} -" | lolcat
  203. msg -bar3
  204. figlet ' . KEY ADM . ' | boxes -d stone -p a0v0 | lolcat
  205. echo " PEGA TU KEY DE INSTALACION " | lolcat
  206. echo -ne " " && msg -bar3
  207. echo -ne " \033[1;41m Key : \033[0;33m" && read Key
  208. tput cuu1 && tput dl1
  209. done
  210. Key="$(echo "$Key" | tr -d '[[:space:]]')"
  211. cd $HOME
  212. IiP=$(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}')
  213. [[ $(curl -s --connect-timeout 5 $IiP:8888 ) ]] && {
  214. tput cuu1 && tput dl1
  215. msg -bar
  216. echo -ne " \e[90m\e[43m CHEK KEY : \033[0;33m"
  217. echo -e " \e[3;32m ENLAZADA AL GENERADOR\e[0m" | pv -qL 50
  218. ofen=$(wget -qO- $(ofus $Key))
  219. tput cuu1 && tput dl1
  220. msg -bar3
  221. echo -ne " \033[1;41m CHEK KEY : \033[0;33m"
  222. tput cuu1 && tput dl1
  223. wget --no-check-certificate -O $HOME/lista-arq $(ofus "$Key")/$IP > /dev/null 2>&1 && echo -ne "\033[1;34m [ \e[3;32m VERIFICANDO KEY \e[0m \033[1;34m]\033[0m" && pkrm=$(ofus "$Key")
  224. } || {
  225. echo -e "\e[3;31mCONEXION FALLIDA\e[0m" && sleep 1s
  226. invalid_key && exit
  227. }
  228. [[ -e $HOME/log.txt ]] && rm -f $HOME/log.txt
  229. 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
  230. REQUEST=$(ofus "$Key"|cut -d'/' -f2)
  231. [[ ! -d ${SCPinstal} ]] && mkdir ${SCPinstal}
  232. for arqx in $(cat $HOME/lista-arq); do
  233. wget --no-check-certificate -O ${SCPinstal}/${arqx} ${IP}:81/${REQUEST}/${arqx} > /dev/null 2>&1 && verificar_arq "${arqx}"
  234. done
  235. if [[ -e $HOME/lista-arq ]] && [[ ! $(cat $HOME/lista-arq|grep "KEY INVALIDA!") ]]; then
  236. [[ -e ${SCPdir}/cabecalho ]] && {
  237. echo $Key > /etc/cghkey
  238. clear
  239. rm -f $HOME/log.txt
  240. } || {
  241. clear&&clear
  242. [[ -d $HOME/locked ]] && rm -rf $HOME/locked/* || mkdir $HOME/locked
  243. cp -r ${SCPinstal}/* $HOME/locked/
  244. figlet 'LOCKED KEY' | boxes -d stone -p a0v0
  245. [[ -e $HOME/log.txt ]] && ff=$(cat < $HOME/log.txt | wc -l) || ff='ALL'
  246. msg -ne " ${aLerT} "
  247. echo -e "\033[1;31m [ $ff FILES DE KEY BLOQUEADOS ] " | pv -qL 50 && msg -bar
  248. echo -e " APAGA TU CORTAFUEGOS O HABILITA PUERTO 81 Y 8888"
  249. echo -e " ---- AGREGANDO REGLAS AUTOMATICAS ----"
  250. act_ufw
  251. echo -e " Si esto no funciona PEGA ESTOS COMANDOS "
  252. echo -e " sudo ufw allow 81 && sudo ufw allow 8888 "
  253. msg -bar
  254. echo -e " sudo apt purge ufw -y"
  255. invalid_key && exit
  256. }
  257. #systemctl restart rsyslog > /dev/null 2>&1
  258. #systemctl restart rsyslog.service > /dev/null 2>&1
  259. #systemctl disable systemd-journald & > /dev/null
  260. #systemctl disable systemd-journald.service & > /dev/null
  261. #systemd-journald.socket
  262. #systemd-journald-audit.socket
  263. #systemd-journald-dev-log.socket
  264. #[[ -d /var/log/journal ]] && rm -rf /var/log/journal
  265. [[ -d /etc/alx ]] || mkdir /etc/alx
  266. [[ -e /etc/folteto ]] && rm -f /etc/folteto
  267. msg -bar
  268. killall apt apt-get &> /dev/null
  269. fun_install
  270. function_verify
  271. else
  272. invalid_key
  273. fi
  274. sudo sync
  275. echo 3 > /proc/sys/vm/drop_caches
  276. sysctl -w vm.drop_caches=3 > /dev/null 2>&1
  277. }
  278. funkey
  279. }
  280. ofus () {
  281. unset txtofus
  282. number=$(expr length $1)
  283. for((i=1; i<$number+1; i++)); do
  284. txt[$i]=$(echo "$1" | cut -b $i)
  285. case ${txt[$i]} in
  286. ".")txt[$i]="x";;
  287. "x")txt[$i]=".";;
  288. "5")txt[$i]="s";;
  289. "s")txt[$i]="5";;
  290. "1")txt[$i]="@";;
  291. "@")txt[$i]="1";;
  292. "2")txt[$i]="?";;
  293. "?")txt[$i]="2";;
  294. "4")txt[$i]="0";;
  295. "0")txt[$i]="4";;
  296. "/")txt[$i]="K";;
  297. "K")txt[$i]="/";;
  298. esac
  299. txtofus+="${txt[$i]}"
  300. done
  301. echo "$txtofus" | rev
  302. }
  303. [[ $1 == "--ban" ]] && {
  304. #xyz=$(curl -sSL "https://www.dropbox.com/s/jzkd6fzey2u0m0g/token.sh")
  305. #ID="$(echo $xyz| awk '{print $2}')"
  306. #TOKEN="$(echo $xyz| awk '{print $1}')"
  307. #urlBOT="https://api.telegram.org/bot$TOKEN/sendMessage"
  308. unset Key
  309. while [[ ! $Key ]]; do
  310. clear
  311. msg -bar3
  312. echo -e " ${FlT}${rUlq} ADM - LITE | MOD @ChumoGH OFICIAL ${rUlq}${FlT} -" | lolcat
  313. msg -bar3
  314. figlet ' . BAN KEY . ' | boxes -d stone -p a0v0 | lolcat
  315. echo " PEGA TU KEY DE VERIFICACION " | lolcat
  316. echo -ne " " && msg -bar3
  317. echo -ne " \033[1;41m Key : \033[0;33m" && read Key
  318. tput cuu1 && tput dl1
  319. done
  320. Key="$(echo "$Key" | tr -d '[[:space:]]')"
  321. echo -e "${Key}" > /etc/cghkey
  322. IiP="$(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}')"
  323. wget -q --no-check-certificate -O /etc/folteto $IiP:81/ChumoGH/checkIP.log
  324. cheklist="$(cat /etc/folteto)"
  325. chekKEY="$(echo -e "$cheklist" | grep ${Key})"
  326. checkID="$(echo -e "${chekKEY}" | grep ${IP} | awk '{print $1}')"
  327. chekIP="$(echo -e "${chekKEY}" | grep ${IP} | awk '{print $3}')"
  328. [[ -z ${chekKEY} || -z ${chekIP} ]] && {
  329. echo 'clear&&clear
  330. echo -e "\n\n\n \033[0;31m==================================================
  331. � �253 KEY BANEADA �253 ! CONTACTE Su ADMINISTRADOR
  332. ==================================================
  333. RAZON, NO ES POSIBLE VERIFICAR ESTA KEY
  334. ==================================================
  335. \n\n"
  336. ' > /bin/menu \
  337. chmod +x /bin/menu
  338. rm -f /etc/folteto
  339. exit && exit
  340. } || {
  341. echo -e "\n\n\n \033[0;32m==================================================
  342. � KEY DESBANEADA !
  343. ================================================== \n\n"
  344. # MENSAJE="�42�42�42 22�351�110�100�111�116�074�105�100 �115�100�076�104�075�104�077�112�351 22 22 22 22\n"
  345. # MENSAJE+=" IP : $(wget -qO- ifconfig.me)\n"
  346. # MENSAJE+=" INTENTO FALLIDO \n"
  347. # MENSAJE+=" �735017: ${keybot} > $1 \n"
  348. # MENSAJE+=" �42 22�42�42 22 22 22 22 22 22 22�42�42�42�42 22 22�42�42�42 22 22�42 22�42�42�42�42 22�42 22�42 22 22�42�42�42 22�42�42 22 22�42 22�42�42 22 22\n"
  349. # MENSAJE+=" IP : ${IP} HORA : $_hora\n"
  350. # MENSAJE+=" 22�42 22�42�42 22 22�42�42�42 22 22�42 22 22�42 22 22�42�42 22�42 22 22�42 22�42�42�42 22 22 22 22�42�42�42 22 22 22�42�42�42 22 22 22�42 22 22\n"
  351. # MENSAJE+=' �460 Bot generador de key �460\n'
  352. # MENSAJE+=' �34 By @ChumoGH �34 \n'
  353. # MENSAJE+=" 22 22 22 22 22�42�42 22�42 22 22 22�42�42 22 22 22�42 22 22 22�42 22 22�42�42�42�42�42�42�42�42 22 22�42�42 22�42�42�42�42 22�42�42�42 22 22�42\n"
  354. #curl -s --max-time 10 -d "chat_id=$ID&disable_web_page_preview=1&text=$(echo -e "$MENSAJE")" $urlBOT &>/dev/null
  355. echo '#!/bin/bash
  356. # Creado por @ChumoGH
  357. SCPdir="/etc/adm-lite"
  358. cd ${SCPdir} && ./menu' > /bin/menu && chmod +x /bin/menu
  359. sleep 2s
  360. exit 0
  361. }
  362. exit && exit
  363. }
  364. function printTitle
  365. {
  366. echo ""
  367. echo -e "\033[1;92m$1\033[1;91m"
  368. printf '%0.s-' $(seq 1 ${#1})
  369. echo ""
  370. }
  371. killall apt apt-get &> /dev/null
  372. TIME_START="$(date +%s)"
  373. DOWEEK="$(date +'%u')"
  374. [[ -e $HOME/cgh.sh ]] && rm $HOME/cgh.*
  375. fun_bar () {
  376. comando[0]="$1"
  377. (
  378. [[ -e $HOME/fim ]] && rm $HOME/fim
  379. ${comando[0]} -y > /dev/null 2>&1
  380. touch $HOME/fim
  381. ) > /dev/null 2>&1 &
  382. echo -ne "\033[1;33m ["
  383. while true; do
  384. for((i=0; i<18; i++)); do
  385. echo -ne "\033[1;31m##"
  386. sleep 0.1s
  387. done
  388. [[ -e $HOME/fim ]] && rm $HOME/fim && break
  389. echo -e "\033[1;33m]"
  390. sleep 0.5s
  391. tput cuu1
  392. tput dl1
  393. echo -ne "\033[1;33m ["
  394. done
  395. echo -e "\033[1;33m]\033[1;31m -\033[1;32m 100%\033[1;37m"
  396. }
  397. msg -bar
  398. printTitle " ORGANIZANDO INTERFAZ DEL INSTALADOR "
  399. echo ""
  400. update_pak () {
  401. echo ""
  402. [[ $(dpkg --get-selections|grep -w "pv"|head -1) ]] || apt install pv -y &> /dev/null
  403. os_system
  404. echo -e " [ ! ] ESPERE UN MOMENTO [ ! ]"
  405. [[ $(dpkg --get-selections|grep -w "lolcat"|head -1) ]] || apt-get install lolcat -y &>/dev/null
  406. [[ $(dpkg --get-selections|grep -w "figlet"|head -1) ]] || apt-get install figlet -y &>/dev/null
  407. echo ""
  408. msg -bar
  409. echo -e "\e[1;31m SISTEMA: \e[33m$distro $vercion \e[1;31m CPU: \e[33m$(lscpu | grep "Vendor ID" | awk '{print $3}')"
  410. msg -bar
  411. dpkg --configure -a > /dev/null 2>&1 && echo -e "\033[94m ${TTcent} INTENTANDO RECONFIGURAR UPDATER ${TTcent}" | pv -qL 80
  412. msg -bar
  413. echo -e "\033[94m ${TTcent} UPDATE DATE : $(date +"%d/%m/%Y") & TIME : $(date +"%H:%M") ${TTcent}" | pv -qL 80
  414. [[ $(dpkg --get-selections|grep -w "net-tools"|head -1) ]] || apt-get install net-tools -y &>/dev/null
  415. [[ $(dpkg --get-selections|grep -w "boxes"|head -1) ]] || apt-get install boxes -y &>/dev/null
  416. echo ""
  417. apt-get install software-properties-common -y > /dev/null 2>&1 && echo -e "\033[94m ${TTcent} INSTALANDO NUEVO PAQUETES ( S|P|C ) ${TTcent}" | pv -qL 80
  418. echo ""
  419. echo -e "\033[94m ${TTcent} PREPARANDO BASE RAPIDA INSTALL ${TTcent}" | pv -qL 80
  420. msg -bar
  421. echo " "
  422. #[[ $(dpkg --get-selections|grep -w "figlet"|head -1) ]] || apt-get install figlet -y -qq --silent &>/dev/null
  423. clear&&clear
  424. rm $(pwd)/$0 &> /dev/null
  425. return
  426. }
  427. clear&&clear
  428. update_pak
  429. clear&&clear
  430. rutaSCRIPT ${distro} ${vercion}
  431. rm -f instala.* lista*
  432. echo -e " Duracion $((($(date +%s)-$TIME_START)/60)) min."
  433. read -p " ENTER PARA IR AL MENU"
  434. #chekKEY
  435. [[ -e "$(which menu)" ]] && $(which menu) || echo -e " INSTALACION NO COMPLETADA CON EXITO !"
  436. } || {
  437. echo -e " NO SE RECIVIO PARAMETROS "
  438. rm -f setup*
  439. rm -f /etc/folteto
  440. }
  441. ESPERE UN MOMENTO
  442. #!/bin/bash
  443. # menu maker (opciones 1, 2, 3,.....)
  444. flech='➮' cOlM='⁙' && TOP='‣' && TTini='=====>>►► 🐲' && TTfin='🐲 ◄◄<<=====' && TTcent='💥' && RRini='【 ★' && RRfin='★ 】' && CHeko='✅' && ScT='🛡️' && FlT='⚔️' && BoLCC='🪦' && ceLL='🧬' && aLerT='⚠️' && lLaM='🔥' && pPIniT='∘' && bOTg='🤖' && rAy='⚡' && tTfIn='】' && TtfIn='【' tTfLe='►' && rUlq='🔰' && h0nG='🍄' && lLav3='🗝️' && m3ssg='📩' && pUn5A='⚜'
  445. cOpyRig='©' && mbar2=' •••••••••••••••••••••••'
  446. menu_func(){
  447. local options=${#@}
  448. local array
  449. for((num=1; num<=$options; num++)); do
  450. echo -ne "$(msg -verd " [$num]") $(msg -verm2 ">") "
  451. array=(${!num})
  452. case ${array[0]} in
  453. "-vd")echo -e "\033[1;33m[!]\033[1;32m ${array[@]:1}";;
  454. "-vm")echo -e "\033[1;33m[!]\033[1;31m ${array[@]:1}";;
  455. "-fi")echo -e "${array[@]:2} ${array[1]}";;
  456. -bar|-bar2|-bar3|-bar4)echo -e "\033[1;37m${array[@]:1}\n$(msg ${array[0]})";;
  457. *)echo -e "\033[1;37m${array[@]}";;
  458. esac
  459. done
  460. }
  461. selection_fun () {
  462. local selection="null"
  463. local range
  464. for((i=0; i<=$1; i++)); do range[$i]="$i "; done
  465. while [[ ! $(echo ${range[*]}|grep -w "$selection") ]]; do
  466. echo -ne "\033[1;37m ► Opcion : " >&2
  467. read selection
  468. tput cuu1 >&2 && tput dl1 >&2
  469. done
  470. echo $selection
  471. }
  472. tittle () {
  473. [[ -z $1 ]] && rt='adm-lite' || rt='ADMcgh'
  474. clear&&clear
  475. msg -bar
  476. echo -e "\033[1;44;44m \033[1;33m=====>>►► 🐲 ChumoGH 💥 Plus 🐲 ◄◄<<===== \033[0m \033[0;33m[$(less /etc/${rt}/v-local.log)]"
  477. msg -bar
  478. }
  479. in_opcion(){
  480. unset opcion
  481. if [[ -z $2 ]]; then
  482. msg -nazu " $1: " >&2
  483. else
  484. msg $1 " $2: " >&2
  485. fi
  486. read opcion
  487. echo "$opcion"
  488. }
  489. # centrado de texto
  490. print_center(){
  491. if [[ -z $2 ]]; then
  492. text="$1"
  493. else
  494. col="$1"
  495. text="$2"
  496. fi
  497. while read line; do
  498. unset space
  499. x=$(( ( 54 - ${#line}) / 2))
  500. for (( i = 0; i < $x; i++ )); do
  501. space+=' '
  502. done
  503. space+="$line"
  504. if [[ -z $2 ]]; then
  505. msg -azu "$space"
  506. else
  507. msg "$col" "$space"
  508. fi
  509. done <<< $(echo -e "$text")
  510. }
  511. # titulos y encabesados
  512. title(){
  513. clear
  514. msg -bar
  515. if [[ -z $2 ]]; then
  516. print_center -azu "$1"
  517. else
  518. print_center "$1" "$2"
  519. fi
  520. msg -bar
  521. }
  522. # finalizacion de tareas
  523. enter(){
  524. msg -bar
  525. text="►► Presione enter para continuar ◄◄"
  526. if [[ -z $1 ]]; then
  527. print_center -ama "$text"
  528. else
  529. print_center "$1" "$text"
  530. fi
  531. read
  532. }
  533. # opcion, regresar volver/atras
  534. back(){
  535. msg -bar
  536. echo -ne "$(msg -verd " [0]") $(msg -verm2 ">") " && msg -bra "\033[1;41mVOLVER"
  537. msg -bar
  538. }
  539. msg () {
  540. local colors="/etc/new-adm-color"
  541. if [[ ! -e $colors ]]; then
  542. COLOR[0]='\033[1;37m' #BRAN='\033[1;37m'
  543. COLOR[1]='\e[31m' #VERMELHO='\e[31m'
  544. COLOR[2]='\e[32m' #VERDE='\e[32m'
  545. COLOR[3]='\e[33m' #AMARELO='\e[33m'
  546. COLOR[4]='\e[34m' #AZUL='\e[34m'
  547. COLOR[5]='\e[35m' #MAGENTA='\e[35m'
  548. COLOR[6]='\033[1;97m' #MAG='\033[1;36m'
  549. COLOR[7]='\033[1;49;95m'
  550. COLOR[8]='\033[1;49;96m'
  551. else
  552. local COL=0
  553. for number in $(cat $colors); do
  554. case $number in
  555. 1)COLOR[$COL]='\033[1;37m';;
  556. 2)COLOR[$COL]='\e[31m';;
  557. 3)COLOR[$COL]='\e[32m';;
  558. 4)COLOR[$COL]='\e[33m';;
  559. 5)COLOR[$COL]='\e[34m';;
  560. 6)COLOR[$COL]='\e[35m';;
  561. 7)COLOR[$COL]='\033[1;36m';;
  562. 8)COLOR[$COL]='\033[1;49;95m';;
  563. 9)COLOR[$COL]='\033[1;49;96m';;
  564. esac
  565. let COL++
  566. done
  567. fi
  568. NEGRITO='\e[1m'
  569. SEMCOR='\e[0m'
  570. case $1 in
  571. -ne)cor="${COLOR[1]}${NEGRITO}" && echo -ne "${cor}${2}${SEMCOR}";;
  572. -ama)cor="${COLOR[3]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";;
  573. -verm)cor="${COLOR[3]}${NEGRITO}[!] ${COLOR[1]}" && echo -e "${cor}${2}${SEMCOR}";;
  574. -verm2)cor="${COLOR[1]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";;
  575. -aqua)cor="${COLOR[8]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";;
  576. -azu)cor="${COLOR[6]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";;
  577. -verd)cor="${COLOR[2]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";;
  578. -bra)cor="${COLOR[0]}${SEMCOR}" && echo -e "${cor}${2}${SEMCOR}";;
  579. -nazu) cor="${COLOR[6]}${NEGRITO}" && echo -ne "${cor}${2}${SEMCOR}";;
  580. -nverd)cor="${COLOR[2]}${NEGRITO}" && echo -ne "${cor}${2}${SEMCOR}";;
  581. -nama) cor="${COLOR[3]}${NEGRITO}" && echo -ne "${cor}${2}${SEMCOR}";;
  582. -verm3)cor="${COLOR[1]}" && echo -e "${cor}${2}${SEMCOR}";;
  583. -teal) cor="${COLOR[7]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";;
  584. -teal2)cor="${COLOR[7]}" && echo -e "${cor}${2}${SEMCOR}";;
  585. -blak) cor="${COLOR[8]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";;
  586. -blak2)cor="${COLOR[8]}" && echo -e "${cor}${2}${SEMCOR}";;
  587. -blu) cor="${COLOR[9]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";;
  588. -blu1) cor="${COLOR[9]}" && echo -e "${cor}${2}${SEMCOR}";;
  589. #-bar)ccor="${COLOR[1]}•••••••••••••••••••••••••••••••••••••••••••••••••" && echo -e "${SEMCOR}${ccor}${SEMCOR}";;
  590. -bar)ccor="${COLOR[1]}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" && echo -e "${SEMCOR}${ccor}${SEMCOR}";;
  591. -bar1)ccor="${COLOR[1]}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" && echo -e "${SEMCOR}${ccor}${SEMCOR}";;
  592. -bar2)ccor="${COLOR[1]}=====================================================" && echo -e "${SEMCOR}${ccor}${SEMCOR}";;
  593. -bar3)ccor="${COLOR[3]}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" && echo -e "${SEMCOR}${ccor}${SEMCOR}";;
  594. -bar4)ccor="${COLOR[5]}•••••••••••••••••••••••••••••••••••••••••••••••••" && echo -e "${SEMCOR}${ccor}${SEMCOR}";;
  595. esac
  596. }
  597. fun_bar () {
  598. comando[0]="$1"
  599. comando[1]="$2"
  600. (
  601. [[ -e $HOME/fim ]] && rm $HOME/fim
  602. ${comando[0]} -y > /dev/null 2>&1
  603. ${comando[1]} -y > /dev/null 2>&1
  604. touch $HOME/fim
  605. ) > /dev/null 2>&1 &
  606. echo -ne "\033[1;33m ["
  607. while true; do
  608. for((i=0; i<18; i++)); do
  609. echo -ne "\033[1;31m##"
  610. sleep 0.1s
  611. done
  612. [[ -e $HOME/fim ]] && rm $HOME/fim && break
  613. echo -e "\033[1;33m]"
  614. sleep 1s
  615. tput cuu1
  616. tput dl1
  617. echo -ne "\033[1;33m ["
  618. done
  619. echo -e "\033[1;33m]\033[1;31m -\033[1;32m 100%\033[1;37m"
  620. }
  621. del(){
  622. for (( i = 0; i < $1; i++ )); do
  623. tput cuu1 && tput dl1
  624. done
  625. }
  626. [[ -d /bin/ejecutar ]] && {
  627. [[ -e /bin/ejecutar/msg ]] || wget -q -O /bin/ejecutar/msg https://raw.githubusercontent.com/ChumoGH/ChumoGH-Script/master/msg-bar/msg
  628. } || mkdir /bin/ejecutar
  629. cor[0]="\033[0m"
  630. cor[1]="\033[1;34m"
  631. cor[2]="\033[1;32m"
  632. cor[3]="\033[1;37m"
  633. cor[4]="\033[1;36m"
  634. cor[5]="\033[1;33m"
  635. cor[6]="\033[1;35m"
  636. export -f msg
  637. export -f fun_bar
  638. export -f tittle
  639. export -f enter
  640. export -f back
  641. export -f print_center
  642. export -f in_opcion
  643. export -f del