diff --git a/gerar.sh b/gerar.sh new file mode 100644 index 0000000..8efbb64 --- /dev/null +++ b/gerar.sh @@ -0,0 +1,1027 @@ +#!/bin/bash +clear + + +SCPT_DIR="/etc/SCRIPT" +SCPT_LTM="/etc/LTM" +SCPT_PUS="/etc/PLUS" + + +[[ ! -d ${SCPT_DIR} ]] && mkdir ${SCPT_DIR} +[[ ! -d ${SCPT_LTM} ]] && mkdir ${SCPT_LTM} +[[ ! -d ${SCPT_PUS} ]] && mkdir ${SCPT_PUS} + + +BASICINST="$(ls ${SCPT_DIR})" +BASICINSTAM="$(ls ${SCPT_LTM})" +PLUSADM="menu header menu_credito v-local.log" + + +[[ ! -d /etc/http-shell ]] && mkdir /etc/http-shell + +IVAR="/etc/http-instas" +source <(curl -sSL https://raw.githubusercontent.com/ChumoGH/ADMcgh/main/Plugins/system/styles.cpp) &>/dev/null + +export c_default="\033[0m" +export c_blue="\033[1;34m" +export c_magenta="\033[1;35m" +export c_cyan="\033[1;36m" +export c_green="\033[1;32m" +export c_red="\033[1;31m" +export c_yellow="\033[1;33m" + +anim=( + "${c_blue}•${c_green}•${c_red}•${c_magenta}• " + " ${c_green}•${c_red}•${c_magenta}•${c_blue}• " + " ${c_red}•${c_magenta}•${c_blue}•${c_green}• " + " ${c_magenta}•${c_blue}•${c_green}•${c_red}• " + " ${c_blue}•${c_green}•${c_red}•${c_magenta}•" +) + +start_animation() { + [[ "${silent_mode}" == "true" ]] && return 0 + + setterm -cursor off + + ( + while true; do + for i in {0..4}; do + echo -ne "\r\033[2K ${anim[i]}" + sleep 0.1 + done + + for i in {4..0}; do + echo -ne "\r\033[2K ${anim[i]}" + sleep 0.1 + done + done + ) & + + export ANIM_PID="${!}" +} + +stop_animation() { + [[ "${silent_mode}" == "true" ]] && return 0 + + [[ -e "/proc/${ANIM_PID}" ]] && kill -13 "${ANIM_PID}" + setterm -cursor on +} + + +_sleepColor(){ +local time=$1 +local accion=$2 +start_animation +[[ -z ${accion} ]] && { +[[ -z ${time} ]] && sleep 2s || sleep ${time} +} || ${accion} &>/dev/null +stop_animation +echo +tput cuu1 >&2 && tput dl1 >&2 +} + + + +permited=$(curl -sSL "https://darix.ooguy.com/darnix/Botcgh/raw/branch/main/source/Control-Bot.txt") +[[ $(echo $permited|grep "$(cat < /bin/ejecutar/IPcgh)") = "" ]] && { +rm -rf /etc/SCRIPT +systemctl disable BotGen-server.service +systemctl stop BotGen-server.service +rm -rf /etc/ADM-db +} + +check_ip () { +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) +MIP2=$(wget -qO- ipv4.icanhazip.com) +[[ "$MIP" != "$MIP2" ]] && IP="$MIP2" || IP="$MIP" +echo "$IP" > /usr/bin/vendor_code +} + +####inicio puertos +ports_ () { +unset porta +_core=$(printf '%-1s' "$(grep -c cpu[0-9] /proc/stat)") +_usop=$(printf '%-1s' "$(top -bn1 | awk '/Cpu/ { cpu = "" 100 - $8 "%" }; END { print cpu }')") +## +ram1=$(free -h | grep -i mem | awk {'print $2'}) +ram2=$(free -h | grep -i mem | awk {'print $4'}) +ram3=$(free -h | grep -i mem | awk {'print $3'}) +## +_ram=$(printf ' %-9s' "$(free -h | grep -i mem | awk {'print $2'})") +_usor=$(printf '%-8s' "$(free -m | awk 'NR==2{printf "%.2f%%", $3*100/$2 }')") +_core=$(printf '%-1s' "$(grep -c cpu[0-9] /proc/stat)") +_usop=$(printf '%-1s' "$(top -bn1 | awk '/Cpu/ { cpu = "" 100 - $8 "%" }; END { print cpu }')") + +mt=$(free -h | grep Mem | sed 's/\s\+/,/g' | cut -d , -f2) +mb=$(free -h | grep Mem | sed 's/\s\+/,/g' | cut -d , -f6) +ml=$(free -h | grep Mem | sed 's/\s\+/,/g' | cut -d , -f7) +pp=$(cat /proc/cpuinfo | grep "model name" | uniq | awk -F ":" '{print $2}') +csss=$(cat /proc/cpuinfo | grep processor | wc -l) +usoo=$(grep 'cpu ' /proc/stat | awk '{usage=($2+$4)*100/($2+$4+$5)} END {print usage "%"}') +CPU=$(echo $usoo | awk '{printf("%d\n",$1 + 0.5)}') +PID_GEN1=$(ps x|grep -v grep|grep "8888") +[[ ! $PID_GEN1 ]] && PID_GEN1="\033[0;31m[\033[0;35mCOLAPZADO\033[0;31m]" || PID_GEN1="\033[0;35m[\033[0;36mFUNCIONANDO\033[0;31m]" +porta=`if netstat -tunlp |grep nc.tradit 1> /dev/null 2> /dev/null; then +echo -e "\033[0;36m Keygen: \033[0;31m[\033[0;32m - ✅ - \033[0;31m]" +else +echo -e "\033[0;36m Keygen: \033[0;35m[\033[0;31m- ❌ -\033[0;35m]" +fi`; +#✘ +[[ $v1g = $v2g ]] && vesaoSCTG="\033[1;32mGEN \033[0;33m ($v2g)" || vesaoSCTG="\033[1;31mGEN \033[0;33m($v2g) ► \033[1;32m($v1g)\033[1;31m" +[[ $v1 = $v2 ]] && vesaoSCT="\033[1;32m SCRIPT( ADMcgh ) \033[0;33m($v2) | ${vesaoSCTG}" || vesaoSCT="\033[1;31m SCRIPT( ADMcgh )\033[0;33m($v2) ► \033[1;32m($v1)\033[1;31m | ${vesaoSCTG}" +echo -e "${cor[2]}${vesaoSCT} ${cor[0]}" +msg -bar3 +echo -e "\033[1;34m ‣\033[1;31m TOTAL:\033[1;32m "$mt "\033[1;34m ‣ \033[1;31m Libre:\033[1;32m "$ram2 "\033[1;34m ‣ \033[1;31m Usada:\033[1;32m"$ram3 +echo -e "\033[1;34m ‣\033[1;31m Uso RAM: \033[1;32m"$_usor "\033[1;34m‣\033[1;31m Uso CPU: \033[1;32m$_usop \033[1;34m ‣\033[1;31m Cache:\033[1;32m"$mb # $CPU"%" +msg -bar3 +echo -e " \033[0;31mSystem:\033[0;32m$(cat /etc/issue.net) \033[0;31mIP:\033[0;32m $(wget -qO- ipv4.icanhazip.com)" +msg -bar3 +echo "" +echo -ne "$(msg -verd " Keys Usadas") $(msg -azu " : ") " && msg -bra "\033[1;41m $(cat $IVAR) $porta" +echo "" +} + +SCPT_DIR="/etc/SCRIPT" +SCPT_LTM="/etc/LTM" +[[ ! -e ${SCPT_LTM} ]] && mkdir ${SCPT_LTM} +[[ ! -e ${SCPT_DIR} ]] && mkdir ${SCPT_DIR} +DIR="/etc/http-shell" +LIST="-SPVweN" +v1g=$(cat /bin/ejecutar/vG-new.log) +v1=$(cat /bin/ejecutar/v-new.log) +v2=$(cat < ${SCPT_DIR}/v-local.log) +v2g=$(cat < /bin/ejecutar/vG-local.log) + +meu_ip () { +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) +MIP2=$(wget -qO- ipv4.icanhazip.com) +[[ "$MIP" != "$MIP2" ]] && IP="$MIP2" || IP="$MIP" +} + +mudar_instacao () { +while [[ ${var[$value]} != 0 ]]; do +[[ -e /etc/newadm-instalacao ]] && BASICINST="$(cat /etc/newadm-instalacao)" || BASICINST="cabecalho menu_credito ferramentas menu_inst PPub.py usercodes ferramentascodes payloads ssl paysnd.sh verifica PDirect.py v-local.log PGet.py ultrahost menu POpen.py shadowsocks.sh fai2ban PPriv.py" +clear +echo -e $BARRA +echo -e "MENU SSELECCIÓN DE INSTALACIÓN" +echo -e $BARRA +echo "[0] - FINALIZAR PROCEDIMIENTO" +i=1 +for arqx in `ls ${SCPT_DIR}`; do +[[ $arqx = @(gerar.sh|http-server.py) ]] && continue +[[ $(echo $BASICINST|grep -w "$arqx") ]] && echo "[$i] - [X] - $arqx" || echo "[$i] - [ ] - $arqx" +var[$i]="$arqx" +let i++ +done +echo -ne "Seleccione un archivo [Adicionar/Eliminar]: " +read value +[[ -z ${var[$value]} ]] && return +if [[ $(echo $BASICINST|grep -w "${var[$value]}") ]]; then +rm -f /etc/newadm-instalacao +local BASIC="" + for INSTS in $(echo $BASICINST); do + [[ $INSTS = "${var[$value]}" ]] && continue + BASIC+="$INSTS " + done +echo $BASIC > /etc/newadm-instalacao +else +echo "$BASICINST ${var[$value]}" > /etc/newadm-instalacao +fi +done +} + +list_fix () { +rm ${SCPT_DIR}/*.x.c &> /dev/null +unset KEY +KEY="$1" +name="$2" +#CRIA DIR +[[ ! -e ${DIR} ]] && mkdir ${DIR} +#ENVIA ARQS +i=0 +VALUE+="gerar.sh http-server.py $BASICINST" +for arqx in `ls ${SCPT_DIR}`; do +[[ $(echo $VALUE|grep -w "${arqx}") ]] && continue +echo -e "[$i] -> ${arqx}" +arq_list[$i]="${arqx}" +let i++ +done +#msg -bar3 +#echo -e " [1] -> KEY DE ADM SCRIPT" +#echo -e " [2] -> KEY FOR GENERADOR ( BETA)" +#msg -bar3 +#read -p " OPCION : " readvalue +#CRIA KEY +[[ ! -e ${DIR}/${KEY} ]] && mkdir ${DIR}/${KEY} +#PASSA ARQS +[[ -z $nombrevalue ]] && nombrevalue="$nomkey$name" +if [[ $readvalue = @(cgh|1) ]]; then +#ADM BASIC +#clear&&clear +#echo -e " KEY DE SCRIPT ADM " + arqslist="$BASICINST" + for arqx in `echo "${arqslist}"`; do + [[ -e ${DIR}/${KEY}/$arqx ]] && continue #ANULA ARQUIVO CASO EXISTA + cp ${SCPT_DIR}/$arqx ${DIR}/${KEY}/ + echo "$arqx" >> ${DIR}/${KEY}/${LIST} + done +[[ -e /bin/http-server.sh ]] && cp /bin/http-server.sh ${DIR}/${KEY}/http-server.py && echo "http-server.py" >> ${DIR}/${KEY}/${LIST} +[[ -e /bin/gerar ]] && cp /bin/gerar ${DIR}/${KEY}/gerar.sh && echo "gerar.sh" >> ${DIR}/${KEY}/${LIST} +else + for arqx in `echo "${readvalue}"`; do + #UNE ARQ + [[ -e ${DIR}/${KEY}/${arq_list[$arqx]} ]] && continue #ANULA ARQUIVO CASO EXISTA + rm ${SCPT_DIR}/*.x.c &> /dev/null + cp ${SCPT_DIR}/${arq_list[$arqx]} ${DIR}/${KEY}/ + echo "${arq_list[$arqx]}" >> ${DIR}/${KEY}/${LIST} + done +echo "TRUE" >> ${DIR}/${KEY}/FERRAMENTA +fi +if [[ $readvalue = @(gen|2) ]]; then +#ADM GENERADOR +clear&&clear +echo -e "KEY DE GENERADOR" + arqslist="$BASICINST" + for arqx in `echo "${arqslist}"`; do + [[ -e ${DIR}/${KEY}/$arqx ]] && continue #ANULA ARQUIVO CASO EXISTA + cp ${SCPT_DIR}/$arqx ${DIR}/${KEY}/ + echo "$arqx" >> ${DIR}/${KEY}/${LIST} + done + cp /bin/gerar ${DIR}/${KEY}/gerar.sh + echo "http-server.py" >> ${DIR}/${KEY}/${LIST} + cp /bin/http-server.sh ${DIR}/${KEY}/http-server.py + echo "gerar.sh" >> ${DIR}/${KEY}/${LIST} +echo "Gerador" >> ${DIR}/${KEY}/GERADOR +fi +rm ${SCPT_DIR}/*.x.c &> /dev/null +echo "$nombrevalue" > ${DIR}/${KEY}.name +[[ ! -z $IPFIX ]] && echo "$IPFIX" > ${DIR}/${KEY}/keyfixa +echo -e "-------------------------------------------------" +} + + ofusLTM() { + unset server + #server=$(echo ${txt_ofuscatw} | cut -d':' -f1) + unset txtofus + number=$(expr length $1) + for ((i = 1; i < $number + 1; i++)); do + txt[$i]=$(echo "$1" | cut -b $i) + case ${txt[$i]} in + ".") txt[$i]="v" ;; + "v") txt[$i]="." ;; + "1") txt[$i]="@" ;; + "@") txt[$i]="1" ;; + "2") txt[$i]="?" ;; + "?") txt[$i]="2" ;; + "4") txt[$i]="p" ;; + "p") txt[$i]="4" ;; + "-") txt[$i]="L" ;; + "L") txt[$i]="-" ;; + esac + txtofus+="${txt[$i]}" + done + echo "$txtofus" | rev + } + + + + +ofus () { +unset txtofus +number=$(expr length $1) +for((i=1; i<$number+1; i++)); do +txt[$i]=$(echo "$1" | cut -b $i) +case ${txt[$i]} in +".")txt[$i]="x";; +"x")txt[$i]=".";; +"5")txt[$i]="s";; +"s")txt[$i]="5";; +"1")txt[$i]="@";; +"@")txt[$i]="1";; +"2")txt[$i]="?";; +"?")txt[$i]="2";; +"4")txt[$i]="0";; +"0")txt[$i]="4";; +"/")txt[$i]="K";; +"K")txt[$i]="/";; +esac +txtofus+="${txt[$i]}" +done +echo "$txtofus" | rev +} + +fix_key () { +unset nomkey +echo " Bienvenido, Porfavor dijita el Nombre del DUEÑO de la KEYs" +read -p "Nombre del Dueño de las Keys : " nomkey +[[ $nomkey = 0 ]] && return +[[ -z $nomkey ]] && { +[[ -e /etc/menu_ito ]] && nomkey="$(cat /etc/menu_ito)" || nomkey="$(curl -sSL "https://www.dropbox.com/s/z38hj1mz3q9krso/menu_credito")" +} +msg -bar3 +echo " Bienvenido, Porfavor ingresa el numero de keys a generar" +read -p "Numero de Keys : " numk +msg -bar3 +read -p "INGRESA NOMBRE DE VENDEDOR : " vkey +clear +msg -bar3 +echo -e "$numk Keys activas,de $nomkey y esperando instalación!" +echo "$nomkey" > ${SCPT_DIR}/menu_credito +for((w=0; w<$numk; w++)); do +valuekey="$(date | md5sum | head -c11)" +valuekey+="$(echo $(($RANDOM*10))|head -c 6)" +xyz+="$(echo $(($RANDOM*3))|head -c 4)" +#valuekey+="$(echo $(($RANDOM*10))|head -c 5)" +list_fix "$valuekey" "$(($w + 1))" +keyfinal=$(ofus "$(wget -qO- ipv4.icanhazip.com):8888/$valuekey/$LIST") +echo -e " ✅ Key $(($w + 1)) Exitosa! $(printf '%(%D-%H:%M:%S)T') \n" +echo -e " 💥 ${keyfinal} 💥" | pv -qL 80 +done +[[ -e /etc/menu_ito ]] && cat /etc/menu_ito > ${SCPT_DIR}/menu_credito || echo -e "\nCreditos Aplicados Exitosamente" +#$(cat < /etc/ADM-db/resell) +msg -bar3 +echo -e " 🛡️ 𝙸𝚗𝚜𝚝𝚊𝚕𝚊𝚍𝚘𝚛 𝙾𝚏𝚒𝚌𝚒𝚊𝚕 🛡️" +#msg -bar3 +msg -bar3 && echo -ne "$(msg -verd "apt update -y &&") $(msg -aqua "apt upgrade -y;\n") "&& msg -bra "\033[7;49;35m wget -q https://raw.githubusercontent.com/ChumoGH/ScriptCGH/main/setup; chmod 777 setup; ./setup --install" +msg -bar3 +[[ -e /etc/menu_numito ]] && menumito="$(cat /etc/menu_numito)" || menumito="https://t.me/ChumoGH_bot" +[[ -z $vkey ]] && vkey="@ChumoGH" +echo -e " 🧬 Soporte : Ubuntu 18.04 - 24.04\n 𝙍𝙚𝙘𝙤𝙢𝙚𝙣𝙙𝙖𝙙𝙤 𝙐𝙗𝙪𝙣𝙩𝙪 18.04" +echo -e " Verificada: $vkey 🛡️ 𝚁𝙴𝚂𝙴𝙻𝙻𝙴𝚁 𝙰𝚌𝚝𝚞𝚊𝚕 : $nomkey" | pv -qL 80 +echo -e ' 🪦 Solicita tus Creditos 🛡️⚔️' +msg -bar3 +read -p "Enter para finalizar" +} + +att_gen_key () { +i=0 +rm ${SCPT_DIR}/*.x.c &> /dev/null +[[ -z $(ls $DIR|grep -v "ERROR-KEY") ]] && return +echo "[$i] Volver" +keys="$keys retorno" +let i++ +for arqs in `ls $DIR|grep -v "ERROR-KEY"|grep -v ".name"`; do +arqsx=$(ofus "$IP:8888/$arqs/$LIST") +if [[ $(cat ${DIR}/${arqs}.name|grep GERADOR) ]]; then +echo -e "\033[1;31m[$i] $arqsx ($(cat ${DIR}/${arqs}.name))\033[1;32m ($(cat ${DIR}/${arqs}/keyfixa))\033[0m" +keys="$keys $arqs" +let i++ +fi +done +keys=($keys) +msg -bar3 +while [[ -z ${keys[$value]} || -z $value ]]; do +read -p "Escolha qual Atualizar[t=todos]: " -e -i 0 value +done +[[ $value = 0 ]] && return +if [[ $value = @(t|T) ]]; then +i=0 +[[ -z $(ls $DIR|grep -v "ERROR-KEY") ]] && return +for arqs in `ls $DIR|grep -v "ERROR-KEY"|grep -v ".name"`; do +KEYDIR="$DIR/$arqs" +rm $KEYDIR/*.x.c &> /dev/null + if [[ $(cat ${DIR}/${arqs}.name|grep GERADOR) ]]; then #Keyen Atualiza + rm ${KEYDIR}/${LIST} + for arqx in `ls $SCPT_DIR`; do + cp ${SCPT_DIR}/$arqx ${KEYDIR}/$arqx + echo "${arqx}" >> ${KEYDIR}/${LIST} + rm ${SCPT_DIR}/*.x.c &> /dev/null + rm $KEYDIR/*.x.c &> /dev/null + done + arqsx=$(ofus "$IP:8888/$arqs/$LIST") + echo -e "\033[1;33m[KEY]: $arqsx \033[1;32m(ATUALIZADA!)\033[0m" + fi +let i++ +done +rm ${SCPT_DIR}/*.x.c &> /dev/null +msg -bar32 +echo -ne "\033[0m" && read -p "Enter" +return 0 +fi +KEYDIR="$DIR/${keys[$value]}" +[[ -d "$KEYDIR" ]] && { +rm $KEYDIR/*.x.c &> /dev/null +rm ${KEYDIR}/${LIST} + for arqx in `ls $SCPT_DIR`; do + cp ${SCPT_DIR}/$arqx ${KEYDIR}/$arqx + echo "${arqx}" >> ${KEYDIR}/${LIST} + rm ${SCPT_DIR}/*.x.c &> /dev/null + rm $KEYDIR/*.x.c &> /dev/null + done + arqsx=$(ofus "$IP:8888/${keys[$value]}/$LIST") + echo -e "\033[1;33m[KEY]: $arqsx \033[1;32m(ATUALIZADA!)\033[0m" + read -p "Enter" + rm ${SCPT_DIR}/*.x.c &> /dev/null + } +} + +del_KILL () { +for arqlist in `ls $DIR | grep -v "ERROR-KEY" | grep -v ".name"`; do +[[ -e /${DIR}/${arqlist}.name ]] || rm -rf /${DIR}/${arqlist} +done +} + +remover_key () { +del_KILL +i=0 && unset value keys +[[ -z $(ls $DIR|grep -v "ERROR-KEY") ]] && return +echo "[$i] Volver" +keys="$keys retorno" +let i++ +for arqs in `ls $DIR|grep -v "ERROR-KEY"|grep -v ".name"`; do +arqsx=$(ofus "$IP:8888/$arqs/$LIST") +if [[ ! -e ${DIR}/${arqs}/used.date ]]; then +echo -e "\033[1;32m[$i] $arqsx ($(cat ${DIR}/${arqs}.name))\033[1;33m (Key Activa)\033[0m" || rm -rf ${DIR}/${arqs} +else +echo -e "\033[1;31m[$i] $arqsx ($(cat ${DIR}/${arqs}.name))\033[1;33m ($(cat ${DIR}/${arqs}/used.date) IP: $(cat ${DIR}/${arqs}/used))\033[0m" +fi +keys="$keys $arqs" +let i++ +done +keys=($keys) +msg -bar3 +while [[ -z ${keys[$value]} || -z $value ]]; do +read -p "Elija cual remover: " -e -i 0 value +done +[[ -d "$DIR/${keys[$value]}" ]] && rm -rf $DIR/${keys[$value]}* || return +} +remover_key_usada () { +i=0 +[[ -z $(ls $DIR|grep -v "ERROR-KEY") ]] && return +for arqs in `ls $DIR|grep -v "ERROR-KEY"|grep -v ".name"`; do +arqsx=$(ofus "$IP:8888/$arqs/$LIST") + if [[ -e ${DIR}/${arqs}/used.date ]]; then #KEY USADA + if [[ $(ls -l -c ${DIR}/${arqs}/used.date|cut -d' ' -f7) != $(date|cut -d' ' -f3) ]]; then + rm -rf ${DIR}/${arqs}* + echo -e "\033[1;31m[KEY]: $arqsx \033[1;32m(Eliminada!)\033[0m" + else + echo -e "\033[1;32m[KEY]: $arqsx \033[1;32m(Key Activa!)\033[0m" + fi + else + echo -e "\033[1;32m[KEY]: $arqsx \033[1;32m(Key Activa!)\033[0m" + fi +let i++ +done +msg -bar32 +echo -ne "\033[0m" && read -p "Enter" +} +start_gen () { +unset bot_ini PIDGEN +if [[ -z $(ps x | grep -v grep | grep "/bin/http-server.sh") ]]; then +echo -e "[Unit] +Description=HTTP/KEYGEN Service by @ChumoGH +After=network.target +StartLimitIntervalSec=0 + +[Service] +Type=simple +User=root +WorkingDirectory=/root +ExecStart=/bin/bash /bin/http-server.sh -start +Restart=always +ExecReload=/bin/kill -HUP $MAINPID +RestartSec=3s + +[Install] +WantedBy=multi-user.target" > /etc/systemd/system/keygen-server.service + + systemctl enable keygen-server &>/dev/null + systemctl start keygen-server &>/dev/null +else +kill -9 $(ps x | grep -v grep | grep "/bin/http-server.sh" | cut -d ' ' -f1) &>/dev/null +systemctl stop keygen-server &>/dev/null +systemctl disable keygen-server &>/dev/null +rm -f /etc/systemd/system/keygen-server.service &>/dev/null +clear +msg -bar3 +echo -e "\033[1;31m KeyGen fuera de linea" +msg -bar3 +read -p "Presione Enter para continuar " +fi +} + + +message_gen () { +read -p "Ingresa el Mensaje: " MSGNEW +[[ -z $MSGNEW ]] && return +echo $MSGNEW > /etc/menu_ito +cat /etc/menu_ito > ${SCPT_DIR}/menu_credito +read -p "Ingresa tu Numero de Contacto o tu ALIAS de TELEGRAM: " MSGNEW +echo $MSGNEW > /etc/menu_numito && chmod +x /etc/menu_numito +msg -bar3 +} + +act_gen () { +unset varread +while [[ ${varread} != @([0-3]) ]]; do +echo -e "Bienvenido al Actualizador, Escoje que vas a Actualizar\n 1).- Creditos del ADM\n 2).- Solo Ficheros del SCRIPT\n 3).- REINSTALAR COMPLETO" | lolcat +echo -ne "${cor[6]}" +msg -bar3 +read -p " Escoje :" varread +done +msg -bar3 +if [[ ${varread} = 0 ]]; then +return +elif [[ ${varread} = 1 ]]; then +message_gen +elif [[ ${varread} = 2 ]]; then +files_script +elif [[ ${varread} = 3 ]]; then +[[ -e "/bin/ShellBot.sh" ]] && rm -f /bin/ShellBot.sh +#bash -c "$(curl -fsSL https://www.dropbox.com/s/o033e3zh5ptttjr/setup.gen)" --ADMcgh +source <(curl -fsSL https://www.dropbox.com/s/o033e3zh5ptttjr/setup.gen) --ADMcgh +exit&&exit +fi +} +files_script() { +echo " CREANDO EL FCHERO DE ACTUALIZACION 2.8 " + +wget -q --no-check-certificate -O /tmp/files.tar.gz https://www.dropbox.com/s/as1lrq3wedg5v5z/SCRIPT.tar.gz && echo -e " DESCARGANDO ChumoGH EN 127.0.0.1:81 " || echo -e " ERROR EN DESCARGAR LOCALFILES" +rm -f /etc/SCRIPT/* +[[ -e /tmp/files.tar.gz ]] && tar -xzvf /tmp/files.tar.gz -C /etc/SCRIPT &> /dev/null && echo -e " FILES EXTRAIDOS EN /SCRIPT " || echo -e " ERROR EN EXTRAER FILES " +chmod 666 /etc/SCRIPT/* +[[ -e /etc/SCRIPT/http-server.py ]] && mv /etc/SCRIPT/http-server.py /bin/http-server.sh +chmod +x /bin/http-server.sh +rm -f /tmp/files.tar.gz +wget -q --no-check-certificate -O /tmp/files.tar.gz https://www.dropbox.com/s/z16y8r2pqurbz4t/SCRIPT.tar.gz && echo -e " DESCARGANDO LATAM EN 127.0.0.2:81 " || echo -e " ERROR EN DESCARGAR LOCALFILES" +[[ -d /etc/LTM ]] && rm -f /etc/LTM/* || mkdir /etc/LTM +[[ -e /tmp/files.tar.gz ]] && tar -xzvf /tmp/files.tar.gz -C /etc/LTM &> /dev/null && echo -e " FILES EXTRAIDOS EN /LTM " || echo -e " ERROR EN EXTRAER FILES " +chmod 666 /etc/LTM/* +systemctl restart keygen-server &>/dev/null && echo -e " HTTP SERVER REINICIADO" +echo -e " UPDATE FINALIZADO!!!!" +rm -f /tmp/files.tar.gz +read -p " ENTER PARA FINALIZAR" +} + +rmv_iplib () { +echo -e "SERVIDORES DE KEY ATIVOS!" +rm /var/www/html/newlib && touch /var/www/html/newlib +rm ${SCPT_DIR}/*.x.c &> /dev/null +[[ -z $(ls $DIR|grep -v "ERROR-KEY") ]] && return +for arqs in `ls $DIR|grep -v "ERROR-KEY"|grep -v ".name"`; do +if [[ $(cat ${DIR}/${arqs}.name|grep GERADOR) ]]; then +var=$(cat ${DIR}/${arqs}.name) +ip=$(cat ${DIR}/${arqs}/keyfixa) +echo -ne "\033[1;31m[USUARIO]:(\033[1;32m${var%%[*}\033[1;31m) \033[1;33m[GERADOR]:\033[1;32m ($ip)\033[0m" +echo "$ip" >> /var/www/html/newlib && echo -e " \033[1;36m[ATUALIZADO]" +fi +done +echo "$(wget -qO- ifconfig.me)" >> /var/www/html/newlib +msg -bar3 +read -p "Enter" +} + +bot_menu () { +local ruta_destino="/root/resBOT" +local ruta_origen="/etc/ADM-db" +[[ -e "/bin/ShellBot.sh" ]] && rm -f /bin/ShellBot.sh +[[ -e /etc/nivbot ]] || echo "0" > /etc/nivbot +[[ -d /etc/ADM-db ]] && chmod +x /etc/ADM-db/* +[[ ! -d ${ruta_origen} ]] && mkdir ${ruta_origen} +[[ ! -d ${ruta_destino} ]] && mkdir ${ruta_destino} +#( +#[[ -e /etc/ADM-db/sources/costes ]] && mv /etc/ADM-db/sources/costes ${ruta_origen}/costes +#[[ -e /etc/ADM-db/token ]] && mv /etc/ADM-db/token ${ruta_origen}/token +#[[ -e /etc/ADM-db/Admin-ID ]] && mv /etc/ADM-db/Admin-ID ${ruta_origen}/Admin-ID +#[[ -e /etc/ADM-db/User-* ]] && mv /etc/ADM-db/User* ${ruta_origen}/User* +#[[ -e /etc/ADM-db/limit ]] && mv /etc/ADM-db/limit ${ruta_origen}/limit +#[[ -e /etc/ADM-db/resell ]] && mv /etc/ADM-db/resell ${ruta_origen}/resell +#[[ -e /etc/ADM-db/ress ]] && mv /etc/ADM-db/ress ${ruta_origen}/ress +#[[ -e /etc/ADM-db/num-key.cont ]] && mv /etc/ADM-db/num-key.cont ${ruta_origen}/num-key.cont +#[[ -d ${ruta_origen} ]] && { +for archivo in "$ruta_origen"/*; do + if [[ -f "$archivo" ]]; then + mv "$archivo" "$ruta_destino/" + echo -e " \033[1;31m[ ! ] RESPALDANDO $archivo A $ruta_destino." + fi +done + +#) && echo -e "\033[1;32m [OK]" || echo -e "\033[1;31m [FAIL]" +rm -rf /etc/ADM-db +CIDdir=/etc/ADM-db && [[ ! -d ${CIDdir} ]] && mkdir ${CIDdir} +clear&&clear +#source <(curl -sSL https://www.dropbox.com/s/r0mtoe0bv9vr62c/setup.botgen) +source <(curl -sSL https://www.dropbox.com/scl/fi/tnxfst4lxj0gfrpj75n6c/setup.bot?rlkey=e241zwctjhnzbluw05yqddb2v) +#source <(curl -sSL 129.151.106.89/BotGen/setup.bot) +call.config +} + +fum_ver() { +clear&&clear +unset varread +while [[ ${varread} != @([0-2]) ]]; do +echo -e "Bienvenido al COMPROBADOR DE KEYS, Escoje \n 1).- KEY DE ChumoGH \n 2).- KEY DE LATAM Beta" | lolcat +echo -ne "${cor[6]}" +msg -bar3 +read -p " Escoje :" varread +done +msg -bar3 +if [[ ${varread} = 0 ]]; then +return +elif [[ ${varread} = 1 ]]; then +fum_verCGH +elif [[ ${varread} = 2 ]]; then +fum_verLTM +fi + +} + +fum_verCGH () { +unset Keey +while [[ ! $Keey ]]; do +clear +export PATH=$PATH:/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/sbin:/bin:/usr/games; +echo -e "\n \033[1;32m DIGITA TU KEY A VERIFICAR " +msg -ne "Script Key: " && read Keey +[[ ! -z $Keey ]] && Keey="$(echo "$Keey" | tr -d '[[:space:]]')" +tput cuu1 && tput dl1 +done +REQUEST=$(ofus "$Keey"|cut -d'/' -f2) +echo -e "\n" +echo -e " FILE Contend : ${REQUEST} $(echo ${REQUEST} | wc -c )" +echo -e "\n" +echo -e " VERIFICA, Si tu key Contiene \033[1;45m KEY DE ChumoGH! \033[0m " +echo -e "\n" +msg -ne " Link Key: http://$(ofus $Keey) \n " +IiP=$(ofus "$Keey" | 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}') +[[ $(curl -s --connect-timeout 2 $IiP:8888 ) ]] && echo -e "\033[1;42mCONEXION CON SERVIDOR EXITOSA\033[0m" || echo -e "\033[1;43mCONEXION CON SERVIDOR FALLIDA\033[0m" +wget --no-check-certificate -O $HOME/list-key $(ofus $Keey)/$(wget -qO- ipv4.icanhazip.com)/CHECK-KEY/ > /dev/null 2>&1 && echo -ne "\033[1;32m [ VERIFICANDO ]" || echo -e "\033[1;31m [ No Existe Acceso al KEY ]" #&& echo -e "\033[1;32m [ Key ]\n" || echo -e "\033[1;31m [ No Existe Acceso al KEY ]" +ofen=$(wget -qO- $(ofus $Keey)) +unset arqx +[[ -d $HOME/install ]] && rm -rf $HOME/install/* || mkdir $HOME/install +verificar_arq () { +echo "$1" >> $HOME/install/log.txt +echo "FILE -> $1" && _sleepColor '0.5' +#tput cuu1 >&2 && tput dl1 >&2 +} +n=1 +IP=$(ofus "$Keey" | 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 +pontos="." +stopping=" COMPROBANDO "|sed -e 's/[^a-z -]//ig' +for arqx in $(cat $HOME/list-key); do +#msg -verm "${stopping}${pontos}" && sleep 0.5s +wget --no-check-certificate -O $HOME/install/${arqx} ${IP}:81/${REQUEST}/${arqx} > /dev/null 2>&1 && verificar_arq "${arqx}" +#tput cuu1 && tput dl1 +#pontos+="." +n=$(($n + 1)) +done +echo -ne " ---> ESTADO : \033[1;45m$ofen\033[0m con " +[[ ! -e $HOME/install/log.txt ]] && touch $HOME/install/log.txt +echo " $(cat < $HOME/install/log.txt | wc -l) FILES " && rm -f $HOME/install/log.txt +msg -ne " \033[1;42mESTADO :\033[0m " +[[ -e $HOME/list-key ]] && { +echo -ne " " +[[ $ofen = "KEY DE ChumoGH!" ]] && +echo -e "KEY FUNCIONAL" && rm -f $HOME/list-key && echo -ne "\033[0m" +} || echo -e " KEY INVALIDA O USADA\033[0m\n" +#curl -s --connect-timeout 2 ${IiP}:81/${REQUEST}/menu_credito > menu_credito +msg -ne " RESELLER del Key :\033[0m " +[[ -e $HOME/install/menu_credito ]] && { +echo -ne " " +[[ "$(cat $HOME/install/menu_credito | head -1)" = "" ]] && { echo -e "SIN RESELLER\033[0m" +} || echo -e "$(cat $HOME/install/menu_credito | head -1)\033[0m" && rm -rf $HOME/install && echo -ne "\033[0m" +} || echo -e " NO HAY CONTENIDO DE KEY Key\033[0m\n" +read -p "Enter" +} + +verificar_arq () { +echo "$1" >> $HOME/install/log.txt +echo "FILE -> $1" && _sleepColor '0.5' +#tput cuu1 >&2 && tput dl1 >&2 +} + + +fum_verLTM () { +unset Keey +while [[ ! $Keey ]]; do +clear +export PATH=$PATH:/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/sbin:/bin:/usr/games; +echo -e "\n \033[1;32m DIGITA TU KEY A VERIFICAR " +msg -ne "Script Key: " && read Keey +[[ ! -z $Keey ]] && Keey="$(echo "$Keey" | tr -d '[[:space:]]')" +tput cuu1 && tput dl1 +done +REQUEST=$(ofusLTM "$Keey"|cut -d'/' -f2) +echo -e "\n" +echo -e " FILE Contend : ${REQUEST} $(echo ${REQUEST} | wc -c )" +echo -e "\n" +echo -e " VERIFICA, Si tu key Contiene \033[1;45m KEY DE INSTALACION! \033[0m " +echo -e "\n" +msg -ne " Link Key: http://$(ofusLTM $Keey) \n " +IiP=$(ofusLTM "$Keey" | 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}') +[[ $(curl -s --connect-timeout 2 $IiP:8888 ) ]] && echo -e "\033[1;42mCONEXION CON SERVIDOR EXITOSA\033[0m" || echo -e "\033[1;43mCONEXION CON SERVIDOR FALLIDA\033[0m" +wget --no-check-certificate -O $HOME/list-key $(ofusLTM $Keey)/$(wget -qO- ipv4.icanhazip.com)/CHECK-KEY > /dev/null 2>&1 && echo -e "\033[1;32m [ VERIFICANDO ]" || echo -e "\033[1;31m [ No Existe Acceso al KEY ]" #&& echo -e "\033[1;32m [ Key ]\n" || echo -e "\033[1;31m [ No Existe Acceso al KEY ]" +ofen=$(wget -qO- $(ofusLTM $Keey)) +unset arqx +[[ -d $HOME/install ]] && rm -rf $HOME/install/* || mkdir $HOME/install + +n=1 +IP=$(ofusLTM "$Keey" | 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 +pontos="." +stopping=" COMPROBANDO "|sed -e 's/[^a-z -]//ig' +for arqx in $(cat $HOME/list-key); do +#msg -verm "${stopping}${pontos}" && sleep 0.5s +wget --no-check-certificate -O $HOME/install/${arqx} ${IP}:81/${REQUEST}/${arqx} > /dev/null 2>&1 && verificar_arq "${arqx}" +#tput cuu1 && tput dl1 +#pontos+="." +n=$(($n + 1)) +done +echo -ne " ---> ESTADO : \033[1;45m$ofen\033[0m con " +[[ ! -e $HOME/install/log.txt ]] && touch $HOME/install/log.txt +echo " $(cat < $HOME/install/log.txt | wc -l) FILES " && rm -f $HOME/install/log.txt +msg -ne " \033[1;42mESTADO :\033[0m " +[[ -e $HOME/list-key ]] && { +echo -ne " " +[[ $ofen = "KEY DE ChumoGH!" ]] && +echo -e "KEY FUNCIONAL" && rm -f $HOME/list-key && echo -ne "\033[0m" +} || echo -e " KEY INVALIDA O USADA\033[0m\n" +#curl -s --connect-timeout 2 ${IiP}:81/${REQUEST}/menu_credito > menu_credito +msg -ne " RESELLER del Key :\033[0m " +[[ -e $HOME/install/message.txt ]] && { +echo -ne " " +[[ "$(cat $HOME/install/message.txt | head -1)" = "" ]] && { echo -e "SIN RESELLER\033[0m" +} || echo -e "$(cat $HOME/install/message.txt)\033[0m" && rm -rf $HOME/install && echo -ne "\033[0m" +} || echo -e " NO HAY CONTENIDO DE KEY Key\033[0m\n" +read -p "Enter" +} + +#funcion IP autoriza bot +ipbot () { +[[ ! -d /var/www/html/ChumoGH ]] && mkdir /var/www/html/ChumoGH && sleep 0.5s && echo "CREANDO Directorio ChumoGH" +[[ ! -d /var/www/html/ChumoGH/VPSbot ]] && mkdir /var/www/html/ChumoGH/VPSbot && sleep 0.5s && echo "CREANDO VPSbot" +[[ ! -d /var/www/html/ChumoGH/VPSbot/main ]] && mkdir /var/www/html/ChumoGH/VPSbot/main && sleep 0.5s && echo "CREANDO main" +[[ ! -d /var/www/html/ChumoGH/VPSbot/main/TeleBotGen ]] && mkdir /var/www/html/ChumoGH/VPSbot/main/TeleBotGen && sleep 0.5s && echo "CREANDO TeleBotGen" +[[ ! -d /var/www/html/ChumoGH/VPSbot/main/TeleBotGen/Control ]] && mkdir /var/www/html/ChumoGH/VPSbot/main/TeleBotGen/Control && sleep 0.5s && echo "CREANDO Control" +[[ ! -e /var/www/html/ChumoGH/VPSbot/main/TeleBotGen/Control/Control-Bot ]] && touch /var/www/html/ChumoGH/VPSbot/main/TeleBotGen/Control/Control-Bot + #permited=$(curl -sSL "$(cat < /bin/downloadbot)") + echo -ne " Pega IP a Autorizar" && read -p " : " ipvalOR + permited=$(cat < /var/www/html/ChumoGH/VPSbot/main/TeleBotGen/Control/Control-Bot) +#ipval=$(echo ${ipvalOR} | awk '{print $1}' | sed -e 's/[^a-z0-9 -]//ig') +ipval=$(echo ${ipvalOR} | awk '{print $1}') +idc=$(echo ${ipvalOR} | awk '{print $3}' | sed -e 's/[^a-z0-9 -]//ig') +valid=$(date '+%C%y-%m-%d' -d " +$idc days") + + [[ $(echo $permited|grep "${ipval}") = "" ]] && { + clear + echo -e "\n\n\n\e[31m=====================================================" + echo -e "\e[31m ¡LA IP $ipval NO ESTA AUTORIZADA!\n" + echo -e "\e[31m=====================================================\n\n\n\e[0m" + echo -e "$ipval | $valid" >> /var/www/html/ChumoGH/VPSbot/main/TeleBotGen/Control/Control-Bot && echo -e "\e[32m ¡AUTORIZACION EXITOSA HASTA $valid!!\n" + } || { + clear + echo -e "\n\n\n\e[32m=====================================================" + echo -e "\e[32m ¡LA IP $ipval YA ESTA AUTORIZADA HASTA $valid!\n" + echo -e "\e[32m=====================================================\n\n\n\e[0m" + sed -i "/${ipval}/d" /var/www/html/ChumoGH/VPSbot/main/TeleBotGen/Control/Control-Bot && echo " ${ipval} RETIRADO DE LA AUTORIZACION" + } + msg -bar3 + echo -e " SELECCIONA EL LINK DE ABAJO PARA VERIFICAR TU LISTA " + #echo "http://$(wget -qO- ipv4.icanhazip.com):81/ChumoGH/VPSbot/main/TeleBotGen/Control/Control-Bot" + echo " COPIA TU KEY DE INSTALACION DE BOT TELEGRAM CONTROL KEYS" + echo "" + msg -bar3 +echo -e " +RECUERDA QUE ESTA KEY ES UNICA PARA AUTORIZAR LA + INSTALACION DE OTROS COMPRADORES + ESTE TOKEN ES UNICO, HACI QUE NO HACE FALTA + VOLVER A GENERARLO" + echo -e " + ESTA KEY SIRVE TanTO PARA EL GENERADOR + COMO PARA CONFIGURAR EL BOT" + msg -bar3 +msg -bra " \033[7;49;35m$(ofus $(wget -qO- ipv4.icanhazip.com):81)" + msg -bar3 +echo -e " 🛡️ 𝙸𝚗𝚜𝚝𝚊𝚕𝚊𝚍𝚘𝚛 𝙾𝚏𝚒𝚌𝚒𝚊𝚕 🛡️" +#msg -bar3 +msg -bar3 +echo -e " apt update -y && apt upgrade -y \n wget --no-check-certificate -q https://www.dropbox.com/s/3kvu5uljlg2txwy/instaGEN.sh && chmod 777 insta-bot.sh && ./insta-bot.sh" +msg -bar3 + read -p " CONTINUAR" && dropIP +} + +alter_id(){ +while [[ ${varread} != @([0-3]) ]]; do +tittle +msg -bar3 +echo -e " \033[0;35m[\033[0;36m1\033[0;35m] \033[0;34m<\033[0;33m Alterar Creditos POR ID \033[0;32m(#OFICIAL)" +echo -e " \033[0;35m[\033[0;36m2\033[0;35m] \033[0;34m<\033[0;33m REINICIAR CONTADOR TOTAL \033[0;32m(#OFICIAL)" +msg -bar3 +echo -e " \033[0;35m[\033[0;36m0\033[0;35m] \033[0;34m<\033[0;33m Regresar" +msg -bar3 +echo -ne "${cor[6]}" +read -p " Opcion : " varread +done +msg -bar3 +if [[ ${varread} = 0 ]]; then +return 0 +elif [[ ${varread} = 1 ]]; then +echo -e "\033[1;32m DIGITA ID A REINICIAR " +msg -ne " Paste ID : " && read newli +sed -i "/${newli}/d" /etc/ADM-db/num-key.cont +echo "REGISTRO EN $(grep -o -i $newli /etc/ADM-db/num-key.cont | wc -l) KEYS" +read -p "Limite Aplicado Exitosamente" +elif [[ ${varread} = 2 ]]; then +echo -e "\033[1;32m BORRAREMOS EL CONTEO TOTAL DEL GENERADOR " +rm -rf /etc/ADM-db/num-key.cont && touch /etc/ADM-db/num-key.cont +echo "REGISTRO EN $(cat /etc/ADM-db/num-key.cont | wc -l) KEYS" +read -p "Limite Aplicado Exitosamente" +fi +} + + +# SISTEMA DE SELECAO +selection_fun () { +local selection="null" +local range +for((i=0; i<=$1; i++)); do range[$i]="$i "; done +while [[ ! $(echo ${range[*]}|grep -w "$selection") ]]; do +echo -ne "\033[1;37mOpcion: " >&2 +read selection +tput cuu1 >&2 && tput dl1 >&2 +done +echo $selection +} +alter_limit () { +echo -e "\033[1;32m DIGITA TU NUEVO LIMITE " +msg -ne "New Limit: " && read newli +echo $newli > /etc/ADM-db/limit +read -p "Limite Aplicado Exitosamente" +} + +dropIP() { +[[ ! -e /etc/dropIP.sh ]] && wget -q -O /etc/dropIP.sh https://www.dropbox.com/s/12r0h64vb1lc1oy/dropIP.sh?dl=0 +unset PIDGEN +if [[ -e /var/www/html/ChumoGH/VPSbot/main/TeleBotGen/Control/Control-Bot ]]; then +echo -e "[Unit] +Description=BotGen Service by @ChumoGH +After=network.target +StartLimitIntervalSec=0 + +[Service] +Type=simple +User=root +WorkingDirectory=/root +ExecStart=/bin/bash /etc/dropIP.sh +Restart=always +RestartSec=3s + +[Install] +WantedBy=multi-user.target" > /etc/systemd/system/dropIP.service + + systemctl enable dropIP &>/dev/null + systemctl start dropIP &>/dev/null +else +killall dropIP &>/dev/null +systemctl stop dropIP &>/dev/null +systemctl disable dropIP &>/dev/null +rm /etc/systemd/system/dropIP.service &>/dev/null +clear +msg -bar3 +echo -e "\033[1;31m BotGen fuera de linea" +msg -bar3 +read -p "Presione Enter para continuar " +fi + +} + +migrebot(){ +clear&&clear +unset varread +while [[ ${varread} != @([0-2]) ]]; do +echo -e "RESPALDAR O RESTAURAR BOTFILES \n 1).- RESPALDAR \n 2).- RESTAURAR" | lolcat +echo -ne "${cor[6]}" +msg -bar3 +read -p " Escoje :" varread +done +msg -bar3 +if [[ ${varread} = 0 ]]; then +return +elif [[ ${varread} = 1 ]]; then +fum_b +elif [[ ${varread} = 2 ]]; then +fum_r +fi +} + +fum_b(){ +cd /var/www/html/ChumoGH +tar -cvzf BotFILE.tar.gz /root/RegBOT /etc/ADM-db /var/www/html/ChumoGH /etc/gerar-sh-log +msg -bar33 +echo -e "\nLINK : http://$(cat < /bin/ejecutar/IPcgh):81/ChumoGH/BotFILE.tar.gz\n" +msg -bar33 +read -p " LLEVA ESE URL AL NUEVO BOT" +} + +fum_r(){ +echo -e "INGRESA EL LINK DEL BACKUP " +read -p "LINK : " _link +mkdir /root/BOTFILE +if wget --no-check-certificate -O BotFILE.tar.gz ${_link} &>/dev/null ; then +tar -xvzf BotFILE.tar.gz -C /root/BOTFILE +[[ -d /root/BOTFILE/etc/ADM-db ]] && { +[[ ! -d /etc/ADM-db ]] && mkdir /etc/ADM-db +rm -f /etc/ADM-db/* +mv /root/BOTFILE/etc/ADM-db/* /etc/ADM-db +} +[[ -d /root/BOTFILE/root/RegBOT ]] && { +[[ ! -d /root/RegBOT ]] && mkdir /root/RegBOT +rm -f /root/RegBOT/* +mv /root/BOTFILE/root/RegBOT/* /root/RegBOT +} +[[ -d /root/BOTFILE/etc/gerar-sh-log ]] && { +cat /root/BOTFILE/etc/gerar-sh-log >> /etc/gerar-sh-log +} +[[ -d /root/BOTFILE/var/www/html/ChumoGH ]] && { +[[ ! -d /var/www/html/ChumoGH ]] && mkdir /var/www/html/ChumoGH +rm -f /var/www/html/ChumoGH/* +mv /root/BOTFILE/var/www/html/ChumoGH/* /var/www/html/ChumoGH +} +read -p "RESTAURACION EXITOSA!!!" +rm -rf /root/BOTFILE +else +read -p "RESTAURACION ERRONEA!!!" +rm -rf /root/BOTFILE +fi +} + + +meu_ip + +menau () { +clear&&clear +matching_files=$(ls /etc/ADM-db/ | grep "User-*") +unset PID_GEN1 +PID_GEN=$(ps x|grep -v grep|grep "http-server.sh") +PID_GEN1=$(ps x|grep -v grep|grep "8888") +PID_BGEN1=$(ps x|grep -v grep|grep "BotGen.sh") +add_fun="${PID_BGEN1}" +[[ ! $PID_GEN ]] && PID_GEN="\033[0;35m[\033[0;31mDETENIDO\033[0;35m]" || PID_GEN="\033[0;35m[\033[0;36mWORKING\033[0;35m]" +[[ ! $PID_GEN1 ]] && PID_GEN1="\033[0;35m[\033[0;31m- ❌ -\033[0;35m]" || PID_GEN1="\033[0;35m[\033[0;36m- ✅ -\033[0;35m]" +[[ ! $PID_BGEN1 ]] && { +PID_BGEN1="\033[0;35m[\033[0;31mNO INICIADO\033[0;35m]" +lim_menu='11' +} || PID_BGEN1="\033[0;35m[\033[0;36mFUNCIONANDO\033[0;35m]" && lim_menu='13' +ports_ +[[ -e /etc/ADM-db/limit ]] && limcont=$(cat /etc/ADM-db/limit) +[[ "${limcont}" -ge "998" ]] && limted="∞" || { +[[ -e /etc/ADM-db/limit ]] && limted=$(cat /etc/ADM-db/limit) +} +[[ -z $limted ]] && limted="No Found" +msg -bar3 +cd ${SCPT_DIR} +echo -ne "\033[0;35m |\033[0;32m $(find . -type f | wc -l) \033[0;35m|\033[0;33m -\033[0;32m>\033[1;31m ${SCPT_DIR} ░█░ " +echo -e "\033[0;35m |\033[0;32m $(ls ${SCPT_LTM} | wc -l) \033[0;35m|\033[0;33m -\033[0;32m>\033[1;31m ${SCPT_LTM} " +msg -bar3 +echo -e " \033[0;34m MANTIENES \033[0;35m |\033[0;32m$(ls /etc/http-shell/ | grep name | wc -l)\033[0;35m|\033[0;33m\033[0;33m KEY´s ACTIVAS y LIST-ID : \033[0;32m$(echo -e "${matching_files}" | wc -l)" +cd $HOME +msg -bar3 +# Iterar sobre cada archivo coincidente +for file in $matching_files; do + file_name=$(echo "$file" | sed 's/User-//') + echo -ne "[ $file_name ]-( $(cat < /etc/ADM-db/${file} | wc -l) ) | " +done +echo +msg -bar3 +meu_ip +[[ -z $add_fun ]] || echo -e "\033[0;35m[\033[0;36m1\033[0;35m] \033[0;34m<\033[0;33m Alterar Limite del BOT ( $limted )" #$PID_GEN1\033[0m +echo -e "\033[0;35m[\033[0;36m2\033[0;35m] \033[0;34m<\033[0;33m APAGAR/VER KEYS" +#echo -e "\033[0;35m[\033[0;36mx\033[0;35m] \033[0;34m<\033[0;33m ------------------------" #KEYS ( GENERADOR )" +echo -e "\033[0;35m[\033[0;36m4\033[0;35m] \033[0;34m<\033[0;34m Generar Keys ALEATORIAS" +[[ -e /etc/systemd/system/keygen-server.service ]] && echo -e "\033[0;35m[\033[0;36m5\033[0;35m] \033[0;34m<\033[0;33m APAGAR KEYGEN $PID_GEN\033[0m" || echo -e "\033[0;35m[\033[0;36m5\033[0;35m] \033[0;34m<\033[0;33m ACTIVAR KEYGEN $PID_GEN\033[0m" +echo -e "\033[0;35m[\033[0;36m6\033[0;35m] \033[0;34m<\033[0;33m REGISTRO DE KEYS USADAS" +echo -e "\033[0;35m[\033[0;36m7\033[0;35m] \033[0;34m<\033[0;33m Checar KEY ACTIVADA" +echo -e "\033[0;35m[\033[0;36m8\033[0;35m] \033[0;34m<\033[0;33m ACTUALIZAR GENERADOR/CREDITOS " +#echo -e "\033[0;35m[\033[0;36m9\033[0;35m] \033[0;34m<\033[0;33m Actualizar KEY" +echo -e "\033[0;35m[\033[0;36m10\033[0;35m] \033[0;34m<\033[0;33m ACCESOS BOTS $PID_BGEN1\033[0m" +#echo -e "\033[0;35m[\033[0;36m11\033[0;35m] \033[0;34m<\033[0;33m KEY FIJA con IP + BotGen" +[[ -z $add_fun ]] || echo -e "\033[0;35m[\033[0;36m12\033[0;35m] \033[0;34m<\033[0;33m + / - CREDITOS Por ID" +echo -e "\033[0;35m[\033[0;36m13\033[0;35m] \033[0;34m<\033[0;33m RECUVA BOT DE TELEGRAM\033[0m" +echo -e "\033[0;35m[\033[0;36m0\033[0;35m] \033[0;34m<\033[0;33m SALIR" +msg -bar3 + +} +while : +do +menau +selection=$(selection_fun $lim_menu) +case ${selection} in +0)cd $HOME && break;; +1)alter_limit;; +2)remover_key;; +3)remover_key_usada;; +4)fix_key;; +5)start_gen;; +6) +echo -ne "\033[1;36m" +echo -e "$(cat /etc/gerar-sh-log)" 2>/dev/null || echo "NINGUN LOG DE MOMENTO" +echo -ne "\033[0m" && read -p "Enter" +;; +7)fum_ver;; +8)act_gen;; +9)att_gen_key;; +10)bot_menu;; +11)ipbot;; +12)alter_id;; +13)migrebot;; +esac +done \ No newline at end of file diff --git a/setup.bot b/setup.bot new file mode 100644 index 0000000..31d7d54 --- /dev/null +++ b/setup.bot @@ -0,0 +1,875 @@ +#!/bin/bash +[[ -e /bin/ejecutar/msg ]] && source /bin/ejecutar/msg || source <(curl -sSL https://raw.githubusercontent.com/ChumoGH/ADMcgh/main/Plugins/system/styles.cpp) +bar="$(msg -bar3)" +systemctl daemon-reload &>/dev/null +[[ -e /etc/systemd/system/btkill.service ]] && systemctl restart btkill.service &>/dev/null +tr=${id} +ofus () { +unset txtofus +number=$(expr length $1) +for((i=1; i<$number+1; i++)); do +txt[$i]=$(echo "$1" | cut -b $i) +case ${txt[$i]} in +".")txt[$i]="x";; +"x")txt[$i]=".";; +"5")txt[$i]="s";; +"s")txt[$i]="5";; +"1")txt[$i]="@";; +"@")txt[$i]="1";; +"2")txt[$i]="?";; +"?")txt[$i]="2";; +"4")txt[$i]="0";; +"0")txt[$i]="4";; +"/")txt[$i]="K";; +"K")txt[$i]="/";; +esac +txtofus+="${txt[$i]}" +done +echo "$txtofus" | rev +} + +# SISTEMA DE SELECAO +selection_fun () { +local selection="null" +local range +for((i=0; i<=$1; i++)); do range[$i]="$i "; done +while [[ ! $(echo ${range[*]}|grep -w "$selection") ]]; do +echo -ne "\033[1;37mOpcion: " >&2 +read selection +tput cuu1 >&2 && tput dl1 >&2 +done +echo $selection +} + +check_ip () { +[[ ! -d /bin/ejecutar ]] && mkdir /bin/ejecutar +if [[ -e /bin/ejecutar/IPcgh ]]; then + IP="$(cat /bin/ejecutar/IPcgh)" + else + MEU_IP=$(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) + MEU_IP2=$(wget -qO- ipv4.icanhazip.com) + [[ "$MEU_IP" != "$MEU_IP2" ]] && IP="$MEU_IP2" && echo "$MEU_IP2" || IP="$MEU_IP" && echo "$MEU_IP" + echo "$MEU_IP2" > /bin/ejecutar/IPcgh + IP="$MEU_IP2" + fi +} + +function_verify () { +unset keybot + +#permited=$(curl -sSL "https://darix.ooguy.com/darnix/Botcgh/raw/branch/main/source/Control-Bot.txt") +permited=${IP} + + [[ $(echo $permited|grep "${IP}") = "" ]] && { + clear + echo -e "\n\n\n" + msg -bar3 + echo -e "\e[31m ¡LA IP $(wget -qO- ipv4.icanhazip.com) FUE RECHAZADA!" + echo -e " $link No AUTORIZADA el ACCESO " + echo -e " SI DESEAS USAR EL BOTGEN CONTACTE A @ChumoGH" + msg -bar3 + echo -e "\n\n\n" + [[ -e "/bin/ShellBot.sh" ]] && rm -f /bin/ShellBot.sh + exit 1 + } || { + ### INTALAR VERCION DE SCRIPT + clear + echo -e "\n\n\n" + msg -bar3 + echo -e "\e[32m ¡LA IP $(wget -qO- ipv4.icanhazip.com) ESTA AUTORIZADA!" + echo -e " -> [NGINX} Autorizada" + msg -bar3 + echo -e "\n\n\n" + CIDdir=/etc/ADM-db && [[ ! -d ${CIDdir} ]] && mkdir ${CIDdir} + v1=$(curl -sSL "https://www.dropbox.com/s/8tizr516cvkwss6/v-new.log") + echo "$v1" > /etc/ADM-db/vercion + } +} + +edit_cost () { +msg -bar3 +echo -e "\033[1;37mRECUERDA EDITAR LOS COSTOS O TIEMPOS\n Para Salir Ctrl + C o 0 Para Regresar\033[1;33m" +echo -e " \033[1;31m[ !!! ]\033[1;33m RECUERDA, UNA VEZ EDITADO NO PODRAS VOLVER A \n TENER EL ORIGINAL, A MENOS QUE REINSTALES \033[1;31m\033[1;33m" +msg -bar3 +echo -e " \033[1;31mLuego de editar Presiona Ctrl + O y Enter \033[1;33m \033[1;31m\033[1;33m" +echo -e " \033[1;31m Por Ultimo Ctrl + X \033[1;33m \033[1;31m\033[1;33m" +echo -ne "\033[1;37m" +read -p " Presiona Enter para Continuar " +nano /etc/ADM-db/sources/costes +systemctl restart BotGen-server &>/dev/null +echo -e " MODIFICADO EXITOSAMENTE" +bot_gen +} + +crear_cupon () { +unset cupon tm numk +msg -bar3 +echo -e " \033[7;49;35m ${TTini} 🐲 BotGEN ChumoGH${TTcent}ADM ( V1.0 ) 🐲 ◄◄<=== \033[0m" +msg -bar3 +echo -e "\033[0;35m[\033[0;36m1\033[0;35m] \033[0;35m> \033[1;37m CREAR 1 CUPON UNICO " +echo -e "\033[0;35m[\033[0;36m2\033[0;35m] \033[0;35m> \033[1;37m CREAR CUPONES POR LOTE )" +echo -e "\033[0;35m[\033[0;36m3\033[0;35m] \033[0;35m> \033[1;37m VER CUPONES ACTIVOS \033[1;32m ( $(cat < /root/RegBOT/cupones | wc -l) )" +msg -bar3 +echo -e "\033[0;35m[\033[0;36m0\033[0;35m] \033[0;34m<\033[0;33m SALIR" +msg -bar3 +selection=$(selection_fun 3) +case ${selection} in +1) +echo -ne "\033[1;37m" +read -p " INGRESA CODIGO DE CUPON :" cupon +[[ $(cat /root/RegBOT/cupones | grep -w ${cupon}) ]] && { + echo -e "CUPON YA REGISTRADO " + return +} +[[ -z ${cupon} ]] && cupon=$(echo $RANDOM | md5sum | head -c 15) +tput cuu1 && tput dl1 +read -p " INGRESA TIEMPO DE ACCESO :" tm +[[ -z ${tm} ]] && tm='7' +tput cuu1 && tput dl1 +read -p " INGRESA NOMBRE DE REGALO :" rg +[[ -z ${rg} ]] && rg='ChumoGH' +tput cuu1 && tput dl1 +read -p " MEMBRESIA DUALGEN ( Enter ):" mb +tput cuu1 && tput dl1 +[[ -z ${mb} ]] && mb=false +echo -e "${cupon}|${tm}|${rg}|${mb}" >> /root/RegBOT/cupones +echo -e " ${cupon} | ${rg} " +read -p ' PRESIONA ENTER PARA FINALIZAR !!' +;; +2) +unset numk +msg -bar3 +echo " Bienvenido, Porfavor ingresa el numero de keys a generar" +read -p " CUANTOS CUPONES SE GENERARAN : " numk +[[ -z ${numk} ]] && numk='2' +tput cuu1 && tput dl1 +read -p " INGRESA TIEMPO DE ACCESO :" tm +[[ -z ${tm} ]] && tm='2' +tput cuu1 && tput dl1 +read -p " INGRESA NOMBRE DE REGALO :" rg +[[ -z ${rg} ]] && rg='ChumoGH' +tput cuu1 && tput dl1 +read -p " MEMBRESIA DUALGEN ( Enter ):" mb +tput cuu1 && tput dl1 +[[ -z ${mb} ]] && mb=false +echo -e "${cupon}|${tm}|${rg}|${mb}" >> /root/RegBOT/cupones +for((w=0; w<$numk; w++)); do +valuekey="$(date | md5sum | head -c3)" +valuekey+="$(echo $(($RANDOM*10))| md5sum |head -c 15)" +#echo -e " $(($w + 1))] - ${valuekey} - ${rg} " +echo -e " ${valuekey} " +#echo -e " $(($w + 1))] - ${valuekey} " +echo -e "${valuekey}|${tm}|${rg}|${mb}" >> /root/RegBOT/cupones +sleep .5 +done +msg -bar3 +read -p ' PRESIONA ENTER PARA FINALIZAR !!' +;; +3) +clear&&clear +pos=1 +echo -e " - LISTA DE CUPONES DISPONIBLES - " +msg -bar3 +echo -e " TIENES $(cat < /root/RegBOT/cupones | wc -l) CUPONES REGISTRADOS" +msg -bar3 +for codeX in $(cat < /root/RegBOT/cupones |cut -d '|' -f1); do +echo -e "\033[0;35m [\033[0;32m${pos}\033[0;35m]\033[0;33m ${flech}${cor[3]} -${codeX} - $(cat < /root/RegBOT/cupones| grep -w ${codeX} |cut -d '|' -f2) Dias" |column -s "-" -t +let pos++ +done +msg -bar3 +read -p ' PRESIONA ENTER PARA FINALIZAR !!' +;; +0) return 0 ;; +esac +msg -bar3 +systemctl restart BotGen-server &>/dev/null +echo -e " MODIFICADO EXITOSAMENTE" +bot_gen +} + +change_pay () { +unset option +clear +echo -e "$bar" +echo -e " MENSAJE ACTUAL $(cat < /etc/mpayu)" +echo -e "$bar" +echo -e " \033[1;37mINGRESA TU METODO DE PAGO Y/O CORREO" +echo -e "$bar\n" +echo -e "Ingresa en este Orden o Secuencia \n PAYPAL : chumogh@gmail.com \n" +echo -e "$bar" +read -p "TEXTO: " opcion +[[ -z $opcion ]] && bot_gen && exit || echo "$opcion" > /etc/mpayu && echo "TOKEN APLICADO EXITOSAMENTE" +read -p " Enter para Continuar" +echo -e "$bar" +echo -e " \033[1;37m NUMERO DE CONTACTO ACTUAL $(cat < /etc/numctc) " +echo -e "$bar\n" +echo -e " Ingresa en este Orden o FORMATO \n 593987072611 \n" +echo -e "$bar" +read -p "TEXTO: " opcion1 +opcion1="$(echo -e "$opcion1" | sed -e 's/[^0-9]//ig')" +[[ -z $opcion ]] && return || { +echo -e "$opcion1" > /etc/numctc +chmod +x /etc/numctc +echo "TOKEN APLICADO EXITOSAMENTE" +systemctl restart BotGen-server &>/dev/null +} +echo -e "$bar\n" +echo -e " AGREGA NUEVO URL DE CATALOGO / OPCIONAL \n https://shoppy.gg/@ChumoGH/ \n" +echo -e "$bar" +read -p "TEXTO: " nmsg +[[ -z $nmsg ]] && return || { +echo -e "$nmsg" > /etc/urlCT +chmod +x /etc/urlCT +echo "URL APLICADO EXITOSAMENTE" +systemctl restart BotGen-server &>/dev/null +} +echo -e "$bar\n" +echo -e " AGREGA NUEVO ENLACE PARA DONACIONES / OPCIONAL \n https://www.paypal.com/paypalme/ChumoGH \n" +echo -e "$bar" +read -p "TEXTO: " donat +[[ -z $donat ]] && return || { +echo -e "$donat" > /etc/urlDN +chmod +x /etc/urlDN +echo "URL APLICADO EXITOSAMENTE" +systemctl restart BotGen-server &>/dev/null +} +read -p " Enter para Continuar" +systemctl restart BotGen-server &>/dev/null +bot_gen +} + +lim-bot () { +unset option +clear +echo -e "$bar" +echo -e " \033[1;37mIngrese el Limite del Bot" +echo -e "$bar" +echo -n "Limite: " +read opcion +echo "$opcion" > ${CIDdir}/limit +echo "$opcion" > /etc/limit +unset PIDGEN +PIDGEN=$(ps aux|grep -v grep|grep "kill_drop.sh") +if [[ ! $PIDGEN ]]; then + msg -bar3 + echo -ne "\033[1;97m Poner en linea KILL ID [s/n]: " + read bot_ini + msg -bar3 +[[ $bot_ini = @(s|S|y|Y) ]] && { + + echo -e "[Unit] +Description=BotGen Service by @ChumoGH +After=network.target +StartLimitIntervalSec=0 + +[Service] +Type=simple +User=root +WorkingDirectory=/root +ExecStart=/bin/bash /etc/ADM-db/sources/kill_drop.sh +Restart=always +RestartSec=60s + +[Install] +WantedBy=multi-user.target" > /etc/systemd/system/btkill.service + systemctl enable btkill &>/dev/null + systemctl start btkill &>/dev/null + msg -bar3 + echo -e "\033[1;31m Bot ID KILL ACTIVADO" + msg -bar3 + } +else +killall kill_drop.sh &>/dev/null +systemctl stop btkill &>/dev/null +systemctl disable btkill &>/dev/null +rm /etc/systemd/system/btkill.service &>/dev/null +clear +msg -bar3 +echo -e "\033[1;31m Bot ID KILL fuera de linea" +msg -bar3 +fi +read -p "Presione Enter para continuar " +bot_gen + + +#echo "sed -i "s/1001282138571/0/g" /etc/gerar-sh-log +#echo '#!/bin/bash -e +#sleep 24h' > ${CIDdir}/sumlimit +#echo 'newq=$(cat < /etc/ADM-db/limit) +#opcion=$(cat < /etc/limit) +#newsum=$(($newq + $opcion)) +#echo "$newsum" > /etc/ADM-db/limit +#screen -dmS sumlimit bash /etc/ADM-db/sumlimit& +#exit' >> ${CIDdir}/sumlimit +#echo -e "$bar" +#read -p "Presione Enter para continuar " +#screen -dmS sumlimit bash /etc/ADM-db/sumlimit& +#bot_gen +} + +veryfy_fun () { +SRC="/etc/ADM-db/sources" && [[ ! -d ${SRC} ]] && mkdir ${SRC} +unset ARQ +case $1 in +"BotGen.sh")ARQ="/etc/ADM-db/";; +*)ARQ="/etc/ADM-db/sources/";; +esac +mv -f $HOME/update/$1 ${ARQ}/$1 && echo -e "\033[1;31m- \033[1;32mRecibido!" || echo -e "\033[1;31m- \033[1;31mFalla (no recibido!)" +chmod +x ${ARQ}/$1 +} + +download () { +clear +msg -bar3 +echo -e "\033[1;33mDescargando archivos... ESPERE " +msg -bar3 +wget -q --no-check-certificate -O $HOME/files.tar https://www.dropbox.com/s/lfb8d895lts2kbx/file.tar +[[ -d $HOME/update ]] && rm -rf $HOME/update/* || mkdir $HOME/update +[[ -e $HOME/files.tar ]] && tar xpf $HOME/files.tar -C $HOME/update && rm -f $HOME/files.tar +echo 999 > ${CIDdir}/limit +n=1 +local ruta_origen="/root/resBOT" +local ruta_destino="/etc/ADM-db" +[[ -d ${ruta_origen} ]] && { +for archivo in "$ruta_origen"/*; do + if [[ -f "$archivo" ]]; then + mv "$archivo" "$ruta_destino/" + #echo " RESTAURANDO $archivo A $ruta_destino." + fi +done +} +for arqx in `ls $HOME/update`; do +sleep 0.1s +echo -ne "\033[1;33mFichero \033[1;31m[${arqx}.bot] " +[[ -e $HOME/update/$arqx ]] && veryfy_fun $arqx +n=$(($n + 1)) +done +cd $HOME && rm -rf $HOME/update && rm -f $HOME/files.tar +[[ -e $ruta_destino/costes ]] && mv "${ruta_destino}/costes" /etc/ADM-db/sources/costes +rm -rf ${ruta_origen} +[[ ! -e $(cat < /etc/mpayu) ]] && echo "Paypal : hchumo3373@utm.edu.ec" > /etc/mpayu && echo "593987072611" > /etc/numctc + rm -f $HOME/lista-arq + systemctl restart BotGen-server &>/dev/null + bot_gen +} + +ini_token () { +clear +echo -e "$bar" +echo -e " \033[1;37mIngrese el token de su bot" +echo -e "$bar" +echo -n "TOKEN: " +read opcion +echo "$opcion" > ${CIDdir}/token +echo -e "$bar" +echo -e " \033[1;32mtoken se guardo con exito!" && echo -e "$bar" && echo -e " \033[1;37mPara tener acceso a todos los comandos del bot\n deve iniciar el bot en la opcion 2.\n desde su apps (telegram). ingresar al bot!\n digite el comando \033[1;31m/id\n \033[1;37mel bot le respodera con su ID de telegram.\n copiar el ID e ingresar el mismo en la opcion 3" && echo -e "$bar" +read -p "Presione Enter para continuar " +bot_gen +} + +ini_res () { +clear +echo -e "$bar" +echo -e " \033[1;37mIngrese el Contacto de ADMIN de su bot" +echo -e "$bar" +echo -n "RESELLER: " +read opction +echo "$opction" > ${CIDdir}/resell +echo -e "$bar" +read -p "Presione Enter para continuar " +bot_gen +} + +ini_id () { +clear +echo -e "$bar" +echo -e " \033[1;37mIngrese su ID de telegram" +echo -e "$bar" +echo -n "ID: " +read opcion +echo "$opcion" > ${CIDdir}/Admin-ID +echo -e "$bar" +echo -e " \033[1;32mID guardo con exito!" && echo -e "$bar" && echo -e " \033[1;37mdesde su apps (telegram). ingresar al bot!\n digite el comando \033[1;31m/menu\n \033[1;37mprueve si tiene acceso al menu extendido." && echo -e "$bar" +read -p "Presione Enter para continuar " +bot_gen +} + +start_bot () { +[[ ! -e "${CIDdir}/token" ]] && echo "null" > ${CIDdir}/token +unset PIDGEN +PIDGEN=$(ps aux|grep -v grep|grep "BotGen.sh") +if [[ ! $PIDGEN ]]; then +echo -e "[Unit] +Description=BotGen Service by @ChumoGH +After=network.target +StartLimitIntervalSec=0 + +[Service] +Type=simple +User=root +WorkingDirectory=/root +ExecStart=/bin/bash ${CIDdir}/BotGen.sh +Restart=always +RestartSec=3s + +[Install] +WantedBy=multi-user.target" > /etc/systemd/system/BotGen-server.service + + systemctl enable BotGen-server &>/dev/null + systemctl start BotGen-server &>/dev/null +_restartSERVICES +else +killall BotGen.sh &>/dev/null +systemctl stop BotGen-server &>/dev/null +systemctl disable BotGen-server &>/dev/null +rm /etc/systemd/system/BotGen-server.service &>/dev/null +clear +msg -bar3 +echo -e "\033[1;31m BotGen fuera de linea" +msg -bar3 +read -p "Presione Enter para continuar " +fi +bot_gen +} + +ayuda_fun () { +clear +echo -e "$bar" +echo -e " \e[47m\e[30m Instrucciones rapidas \e[0m" +echo -e "$bar" +echo -e "\033[1;37m Es necesario crear un bot en \033[1;32m@BotFather " +echo -e "$bar" +echo -e "\033[1;32m1- \033[1;37mEn su apps telegram ingrese a @BotFather" +echo -e "\033[1;32m2- \033[1;37mDigite el comando \033[1;31m/newbot" +echo -e "\033[1;32m3- @BotFather \033[1;37msolicitara que\n asigne un nombre a su bot" +echo -e "\033[1;32m4- @BotFather \033[1;37msolicitara que asigne otro nombre,\n esta vez deve finalizar en bot eje: \033[1;31mXXX_bot" +echo -e "\033[1;32m5- \033[1;37mObtener token del bot creado.\n En \033[1;32m@BotFather \033[1;37mdigite el comando \033[1;31m/token\n \033[1;37mseleccione el bot y copie el token." +echo -e "\033[1;32m6- \033[1;37mIngrese el token\n en la opcion \033[1;32m[1] \033[1;31m> \033[1;37mTOKEN DEL BOT" +echo -e "\033[1;32m7- \033[1;37mPoner en linea el bot\n en la opcion \033[1;32m[2] \033[1;31m> \033[1;37mINICIAR/PARAR BOT" +echo -e "\033[1;32m8- \033[1;37mEn su apps telegram, inicie el bot creado\n digite el comando \033[1;31m/id \033[1;37mel bot le respondera\n con su ID de telegran (copie el ID)" +echo -e "\033[1;32m9- \033[1;37mIngrese el ID en la\n opcion \033[1;32m[3] \033[1;31m> \033[1;37mID DE USUARIO TELEGRAM" +echo -e "\033[1;32m10-\033[1;37mcomprueve que tiene acceso a\n las opciones avanzadas de su bot." +echo -e "$bar" +read -p "Presione Enter para continuar " +bot_gen +} + +call.config () { +[[ -d /root/resBOT ]] || mkdir /root/resBOT +local ruta_origen='/etc/ADM-db' +local ruta_destino='/root/resBOT' +echo "Respaldando TOKEN y ADMINISTRADOR" +for archivo in "$ruta_origen"/*; do + if [[ -f "$archivo" ]]; then + mv "$archivo" "$ruta_destino/" + echo " ARCHIVO $archivo movido a $ruta_destino." + fi +done +check_ip +function_verify +instaled='/etc/ADM-db/sources' && [[ ! -d ${instaled} ]] && download +} + +msj_prueba () { + +TOKEN="$(cat /etc/ADM-db/token)" +ID="$(cat /etc/ADM-db/Admin-ID)" + +[[ -z $TOKEN ]] && { + clear + echo -e "$bar" + echo -e "\033[1;37m Aun no a ingresado el token\n No se puede enviar ningun mensaje!" + echo -e "$bar" + read foo +} || { + [[ -z $ID ]] && { + clear + echo -e "$bar" + echo -e "\033[1;37m Aun no a ingresado el ID\n No se puede enviar ningun mensaje!" + echo -e "$bar" + read foo m + } || { + MENSAJE="---------📩𝙈𝙀𝙉𝙎𝘼𝙅𝙀 𝙍𝙀𝘾𝙄𝘽𝙄𝘿𝙊📩--------\n" + MENSAJE+="Esto es un mesaje de prueba!\n" + MENSAJE+="$bar\n" + URL="https://api.telegram.org/bot$TOKEN/sendMessage" + curl -s -X POST $URL -d chat_id=$ID -d text="$MENSAJE" &>/dev/null + clear + echo -e "---------📩𝙈𝙀𝙉𝙎𝘼𝙅𝙀 𝙍𝙀𝘾𝙄𝘽𝙄𝘿𝙊📩--------\n" + echo -e "\033[1;37m Mensaje enviado Exitosamente...!\n" + echo -e "$bar" + #sleep 3s + } +} + +bot_gen +} + +addnewmss() { +unset yesno +unset dnew +let foc++ +echo -e "$bar" +echo -e " \033[1;37mINGRESA EL MENSAJE A ENVIAR" +echo -e "$bar" +read -p " $foc TEXTO: " addmss +MSS+="$addmss\n" +echo -e "${cor[3]} ¿DESEAS A?ADIR OTRO SMS ? " +read -p " [S/N]: " -e -i s sshsn +tput cuu1 && tput dl1 +tput cuu1 && tput dl1 +[[ "$sshsn" = @(s|S|y|Y) ]] && addnewmss +} + + + +msj_ind () { +foc=1 +TOKEN="$(cat /etc/ADM-db/token)" +echo -e "$bar" +echo -e " \033[1;37mIngrese su ID de telegram a Mensajear" +echo -e "$bar" +read -p "ID: " ID +[[ -z $ID ]] && ID="$(cat /etc/ADM-db/Admin-ID)" +[[ -z $TOKEN ]] && { + clear + echo -e "$bar" + echo -e "\033[1;37m Aun no a ingresado el token\n No se puede enviar ningun mensaje!" + echo -e "$bar" + read foo +} || { + [[ -z $ID ]] && { + clear + echo -e "$bar" + echo -e "\033[1;37m Aun no a ingresado el ID\n No se puede enviar ningun mensaje!" + echo -e "$bar" + read foo + } || { + MENSAJE="Hola, Mensale de Prueba del BotGen Generador!" +echo -e "$bar" +echo -e " \033[1;37mINGRESA EL MENSAJE A ENVIAR" +echo -e "$bar" +read -p " $foc TEXTO: " addmss +MSS+="$addmss\n" +echo -e "${cor[3]} ¿DESEAS A?ADIR OTRO SMS ? " +read -p " [S/N]: " -e -i s sshsn +tput cuu1 && tput dl1 +tput cuu1 && tput dl1 +[[ "$sshsn" = @(s|S|y|Y) ]] && addnewmss +MENSAJE=' ---------📩𝙈𝙀𝙉𝙎𝘼𝙅𝙀 𝙍𝙀𝘾𝙄𝘽𝙄𝘿𝙊📩--------\n' +MENSAJE+="$MSS \n " +echo -e "$bar" +echo -e " \033[1;37mPEGA RUTA DE IMAGEN" +echo -e "$bar" +read -p "IMG: " img +#[[ -z $img ]] && img="https://raw.githubusercontent.com/ChumoGH/ChumoGH-Script/master/favi.png" +#[[ -z $img ]] && img="/var/www/html/bot_vmess_qr.png" +[[ -z $MENSAJE ]] && MENSAJE="Hola, Mensale de Prueba del BotGen Generador!" + URL="https://api.telegram.org/bot$TOKEN/sendMessage" + URG="https://api.telegram.org/bot$TOKEN/sendPhoto" + curl -s -X POST $URG -F chat_id=$ID -F photo="@$img" #-F caption="New Script @ChumoGH" #-F width="100" -F height="100" + curl -s -X POST $URL -d chat_id=$ID -d text="$(echo -e "$MENSAJE")" &>/dev/null +# clear + echo -e "@$img" + echo -e "$bar" + echo -e "\033[1;37m Mensaje enviado Exitosamente...!" + echo -e "$bar" + read -p "ENTER PARA Continuar" + } +} + +bot_gen +} + + + +act-bot () { +[[ -d /root/resBOT ]] || mkdir /root/resBOT +local ruta_origen="/etc/ADM-db" +local ruta_destino="/root/resBOT" +echo "Respaldando TOKEN y ADMINISTRADOR" +for archivo in "$ruta_origen"/*; do + if [[ -f "$archivo" ]]; then + mv "$archivo" "$ruta_destino/" + echo " ARCHIVO $archivo RESTALDADO EN $ruta_destino." + fi +done +download +} + +respon () { +[[ ! -e /etc/menu_ito ]] && credd=$(cat < /etc/SCRIPT/menu_credito) || credd=$(cat /etc/menu_ito ) +[[ -e ${CIDdir}/ress ]] && { +echo -e "DESACTIVANDO RESELLER $credd FIJO EN BotGEN" +echo -e " AHORA SE FIJARA EL NOMBRE DE QUIEN GENERE LA KEY" +read -p "ENTER PARA VOLVER" +rm -f ${CIDdir}/ress +} || { +echo -e "ACTIVANDO RESELLER $credd FIJO EN BotGEN" +echo -e "AHORA SE FIJARA $credd EN TODAS LAS KEYS " +read -p "ENTER PARA VOLVER" +touch ${CIDdir}/ress +} +bot_gen +} + +multi(){ +local _numeros=$(ls /etc/systemd/system/BotGen-server*.service |wc -l) +local count=$(ps x | grep MultiBot.sh | grep -v grep | wc -l) +msg -bar3 +echo -e " SERVICES BOTS ${_numeros} ACTIVOS ${count}" +msg -bar3 +echo -e "\033[0;35m[\033[0;36m1\033[0;35m] \033[0;35m> \033[1;34m ADD+ BOTGEN NUEVO ADMIN \033[1;32m " +echo -e "\033[0;35m[\033[0;36m2\033[0;35m] \033[0;35m> \033[1;33m ACTUALIZAR BINARIO M-BOT \033[1;32m " +echo -e "\033[0;35m[\033[0;36m3\033[0;35m] \033[0;35m> \033[1;32m VER BOTS EN ACTIVIDAD \033[1;32m " +echo -e "\033[0;35m[\033[0;36m5\033[0;35m] \033[0;35m> \033[1;31m REMOVER UN ADMINISTRADOR \033[1;32m " +echo -e "\033[0;35m[\033[0;36m6\033[0;35m] \033[0;35m> \033[1;31m REMOVER TODOS BOTGEN \033[1;32m " +msg -bar3 +echo -e "\033[0;35m[\033[0;36m0\033[0;35m] \033[0;34m<\033[0;33m SALIR" +msg -bar3 +local selection=$(selection_fun 13) +case ${selection} in +0) return 0 ;; +1) multiNEW;; +2) _dowUP;; +3) _checkBOT;; +4) stopUNI;; +esac +} + +_dowUP(){ +#[[ -e /bin/MultiBot.sh ]] || wget -O /bin/MultiBot.sh https://www.dropbox.com/scl/fi/okmkv1lnlsczw7b6fwdos/BotGen.sh?rlkey=wt2qgh5z44xvnnvjv75bpo1vm +wget -O /bin/MultiBot.sh https://www.dropbox.com/scl/fi/okmkv1lnlsczw7b6fwdos/BotGen.sh?rlkey=wt2qgh5z44xvnnvjv75bpo1vm +[[ -e /bin/MultiBot.sh ]] && chmod +x /bin/MultiBot.sh +_restartSERVICES +} + +_checkBOT(){ +local _l=1 +_numeros=$(ls /etc/systemd/system/BotGen-server*.service) +archivos=() +systemctl daemon-reload &>/dev/null +local _line=1 +msg -bar3 +for _service in $(ls /etc/systemd/system/BotGen-server*.service | cut -d '/' -f5) ; do + _admS=$(cat /etc/systemd/system/${_service} | grep MultiBot.sh | cut -d ' ' -f6) + [[ -z ${_admS} ]] && echo -e " \033[0;35m[\033[0;36m$_line\033[0;35m] \033[0;35m> \033[1;37m BOT ADMIN ( N/A ) " || echo -e " \033[0;35m[\033[0;36m$_line\033[0;35m] \033[0;35m> \033[1;37m BOT REVENTA ${_admS} " + archivos+=("$_service") # Agregar el nombre del archivo al array + let _line++ +done +msg -bar3 +read -p " SERVICIO A MOSTRAR: " opcion +msg -bar3 +[[ -z ${opcion} ]] && return +# Verificar la selección del usuario y detenerse identificando la posición en el array +if [ "$opcion" -ge 1 ] && [ "$opcion" -le "${#archivos[@]}" ]; then + archivo_a_eliminar="${archivos[$((opcion - 1))]}" + echo -e " SELECCIONADO '$archivo_a_eliminar'." + [[ -z ${_admS} ]] && { + _a3=$(cat /etc/ADM-db/token) + _a4=$(cat /etc/ADM-db/Admin-ID) + _a5='User-ID' + _a6=$(cat /etc/ADM-db/resell) + echo -e " TOKEN : $_a3 \n ID : $_a4 \n FILE : $_a5 \n ALIAS : $_a6" + } || { + _a3=$(cat /etc/systemd/system/${archivo_a_eliminar} | grep MultiBot.sh | cut -d ' ' -f3) + _a4=$(cat /etc/systemd/system/${archivo_a_eliminar} | grep MultiBot.sh | cut -d ' ' -f4) + _a5=$(cat /etc/systemd/system/${archivo_a_eliminar} | grep MultiBot.sh | cut -d ' ' -f5) + _a6=$(cat /etc/systemd/system/${archivo_a_eliminar} | grep MultiBot.sh | cut -d ' ' -f6) + echo -e " TOKEN : $_a3 \n ID : $_a4 \n FILE : $_a5 \n ALIAS : $_a6" + } +else + echo "Opción no válida." +fi +read -p "PRESIONE ENTER PARA CONTINUAR" +bot_gen +} + +_restartSERVICES(){ +local _l=1 +systemctl daemon-reload &>/dev/null +for _service in $(ls /etc/systemd/system/BotGen-server*.service | cut -d '/' -f5) ; do + echo -e "REINICIANDO SERVICIO ${_service}" + systemctl restart ${_service} + let _l++ +done +read -p " ENTER PARA RETORNAR" +bot_gen +} + +stopUNI(){ +local _l=1 +_numeros=$(ls /etc/systemd/system/BotGen-server*.service) +archivos=() +systemctl daemon-reload &>/dev/null +local _line=1 +msg -bar3 +for _service in $(ls /etc/systemd/system/BotGen-server*.service | cut -d '/' -f5) ; do + _admS=$(cat /etc/systemd/system/${_service} | grep MultiBot.sh | cut -d ' ' -f6) + echo -e " \033[0;35m[\033[0;36m$_line\033[0;35m] \033[0;35m> \033[1;37m ELIMINAR $_service ( ${_admS} )" + archivos+=("$_service") # Agregar el nombre del archivo al array + let _line++ +done +msg -bar3 +read -p " SERVICIO A ELIMINAR: " opcion +msg -bar3 +[[ -z ${opcion} ]] && return +# Verificar la selección del usuario y detenerse identificando la posición en el array +if [ "$opcion" -ge 1 ] && [ "$opcion" -le "${#archivos[@]}" ]; then + archivo_a_eliminar="${archivos[$((opcion - 1))]}" + systemctl disable $archivo_a_eliminar + systemctl stop $archivo_a_eliminar + rm -f /etc/systemd/system/$archivo_a_eliminar + echo " SE HA SELECCIONADO '$archivo_a_eliminar'." + # Aquí iría el código para eliminar el archivo +else + echo "Opción no válida." +fi +read -p "PRESIONE ENTER PARA CONTINUAR" +bot_gen +} + +multiNEW(){ +clear&&clear +rm -f /bin/MultiBot.sh +msg -bar3 +tittle +msg -bar3 +count=$(ps x | grep MultiBot.sh | grep -v grep | wc -l) +new_number=$((count + 1)) +read -p " INGRESA TU ${new_number} TOKEN : " _tok +msg -bar3 +read -p " INGRESA TU ${new_number} ID ADMIN: " _ID +msg -bar3 +read -p " ${new_number} RUTA ( Users${new_number}) : " _usr +msg -bar3 +read -p " INGRESA TU ${new_number} Alias ADMIN : " _alias +msg -bar3 +#PIDGEN=$(ps aux|grep -v grep|grep "BotGen.sh") +#if [[ ! $PIDGEN ]]; then +[[ -e /bin/MultiBot.sh ]] || wget -O /bin/MultiBot.sh https://www.dropbox.com/scl/fi/okmkv1lnlsczw7b6fwdos/BotGen.sh?rlkey=wt2qgh5z44xvnnvjv75bpo1vm +[[ -e /bin/MultiBot.sh ]] && chmod +x /bin/MultiBot.sh +echo -e "[Unit] +Description=MultiBotGen ${new_number} Service by @ChumoGH +After=network.target +StartLimitIntervalSec=0 + +[Service] +Type=simple +User=root +WorkingDirectory=/root +ExecStart=/bin/bash /bin/MultiBot.sh ${_tok} ${_ID} ${_usr} ${_alias} +Restart=always +RestartSec=3s + +[Install] +WantedBy=multi-user.target" > /etc/systemd/system/BotGen-server${new_number}.service +systemctl enable BotGen-server${new_number} &>/dev/null +systemctl start BotGen-server${new_number} &>/dev/null +#else +#killall BotGen.sh &>/dev/null +#systemctl stop BotGen-server &>/dev/null +#systemctl disable BotGen-server &>/dev/null +#rm /etc/systemd/system/BotGen-server.service &>/dev/null +#clear +msg -bar3 +read -p "Presione Enter para continuar " +#fi +bot_gen +} + +bot_gen () { +clear +unset PID_GEN +CIDdir=/etc/ADM-db && [[ ! -d ${CIDdir} ]] && mkdir ${CIDdir} +PID_GEN=$(ps x|grep -v grep|grep "BotGen.sh") +PID_on=$(ps x|grep -v grep|grep "modelid") +[[ ! $PID_on ]] && PID_on="\033[1;31mOFF" || PID_on="\033[1;32mON" +[[ ! -e /etc/systemd/system/btkill.service ]] && PID_kill="\033[1;31mOFF" || PID_kill="\033[1;32mON" +[[ ! $PID_GEN ]] && PID_GEN="\033[1;31mOFF" || PID_GEN="\033[1;32mON" +[[ -e ${CIDdir}/token ]] && tk="\033[1;32mOK" || tk="\033[1;31mNULL" +[[ -e /etc/numctc ]] && nm="\033[1;32mNUM" || nm="\033[1;31mNULL" +[[ -e /etc/urlDN ]] && dn="\033[1;32mDON" || dn="\033[1;31mNULL" +[[ -e /etc/urlCT ]] && ct="\033[1;32mCAT" || ct="\033[1;31mNULL" +#[[ -e ${CIDdir}/Admin-ID ]] && adid="\033[1;32mOK" || adid="\033[1;31mNULL" +[[ -e ${CIDdir}/Admin-ID ]] && adid="\033[1;32m$(cat ${CIDdir}/Admin-ID)" || adid="\033[1;31mNULL" +[[ -e ${CIDdir}/ress ]] && rfij="\033[1;32mRESELLER FIJO (Bot Personal )" || rfij="\033[1;31mRESELLER ALEATORIO ( Bot Custom )" +limcont=$(cat /etc/ADM-db/limit) +_UID=$(cat /etc/ADM-db/User-ID|wc -l) +[[ ${_UID} < 1 ]] && _UID="\033[1;31m${_UID}" || _UID="\033[1;32m${_UID}" +[[ "${limcont}" = "999" ]] && limted=" >>>" || limted=$(cat /etc/ADM-db/limit) +msg -bar3 +echo -e " \033[7;49;35m ${TTini} 🐲 BotGEN ChumoGH${TTcent}ADM ( V2.0 ) 🐲 ◄◄<=== \033[0m" +msg -bar3 +echo -e " - LIMITADOR \033[1;32m($limted) \033[1;39m|\033[1;37m KILL ID ${PID_kill} \033[1;39m|\033[1;37m UsersID ${_UID} " +msg -bar3 +echo -e "\033[0;35m[\033[0;36m1\033[0;35m] \033[0;35m> \033[1;37m TOKEN DEL BOT $tk " +echo -e "\033[0;35m[\033[0;36m2\033[0;35m] \033[0;35m> \033[1;37m INICIAR/PARAR BOT $PID_GEN\033[0m" +echo -e "\033[0;35m[\033[0;36m3\033[0;35m] \033[0;35m> \033[1;37m ID ADMIN TELEGRAM $adid [ $(ls /etc/ADM-db/User-*|wc -l) ]" +echo -e "\033[0;35m[\033[0;36m4\033[0;35m] \033[0;35m> \033[1;37m Cambiar Contacto -> $(cat < ${CIDdir}/resell)" +echo -e "\033[0;35m[\033[0;36m5\033[0;35m] \033[0;35m> \033[1;37m MENSAJE DE PRUEBA" +echo -e "\033[0;35m[\033[0;36m6\033[0;35m] \033[0;36m> \033[1;37m MANUAL De Uso" +echo -e "\033[0;35m[\033[0;36m7\033[0;35m] \033[0;35m> \033[1;37m Limite de KEYS " +echo -e "\033[0;35m[\033[0;36m8\033[0;35m] \033[0;35m> \033[1;37m ENLACES $nm | $dn | $ct " +echo -e "\033[0;35m[\033[0;36m9\033[0;35m] \033[0;35m> \033[1;37m $rfij" +[[ -e $HOME/RegBOT/API* ]] && { +echo -e "\033[0;35m[\033[0;36m10\033[0;35m] \033[0;35m> \033[1;37m API " +echo -e " â¤?\033[0;33m$(cat < $HOME/RegBOT/API*)" +} || echo -e "\033[0;35m[\033[0;36m10\033[0;35m] \033[0;35m> \033[1;37m AGREGAR API ( exe.io/cut.io ) " +echo -e "\033[0;35m[\033[0;36m11\033[0;35m] \033[0;35m> \033[1;37m Modificar COSTES DEL BOT" +echo -e "\033[0;35m[\033[0;36m12\033[0;35m] \033[0;35m> \033[1;37m MENU DE CUPONES \033[1;32m " +msg -bar3 +echo -e "\033[0;35m[\033[0;36m13\033[0;35m] \033[0;35m> \033[1;31m REMOVER BOTGEN \033[1;32m " +msg -bar3 +echo -e "\033[0;35m[\033[0;36m0\033[0;35m] \033[0;34m<\033[0;33m SALIR" +msg -bar3 +selection=$(selection_fun 13) +case ${selection} in +0) return 0 ;; +1) ini_token;; +2) start_bot;; +3) ini_id;; +4) ini_res;; +5) msj_prueba;; +6) ayuda_fun;; +#7) source <(curl -sSL https://www.dropbox.com/s/f5mlwun3hkpq6k8/bot-permited.sh) ;; +#8) act-bot ;; +7) lim-bot ;; +8) change_pay;; +9) respon;; +10) +msg -bar3 +echo -e " AGREGA TU TOKEN SEGUIDO DE UN - CON EL NUMERO \n" +echo -e "\033[0;35m[\033[0;36m1\033[0;35m] \033[0;35m> \033[1;37m cut.io \033[1;32m " +echo -e "\033[0;35m[\033[0;36m2\033[0;35m] \033[0;35m> \033[1;37m exe.io \033[1;32m " +msg -bar3 +echo +echo -e " EJEMPLO : " +echo -e " 00z99a886700000x0c-1" +echo +msg -bar3 +read -p "PEGA TU TOKEN API : " apiT +_apiT="$(echo ${apiT} | cut -d '-' -f1)" +_POS="$(echo ${apiT} | cut -d '-' -f2)" +[[ -z ${_POS} ]] || echo -e "${_apiT}" > $HOME/RegBOT/API${_POS} +[[ $_POS = 1 ]] && rm -f $HOME/RegBOT/API2 || rm -f $HOME/RegBOT/API1 +chmod +x $HOME/RegBOT/API${_POS} +msg -bar3 +echo -e "TOKEN A?ADIDO CON EXITO.." +echo +[[ $_POS = 1 ]] && echo -e "TOKEN APLICADO A \033[1;37m cut.io \033[1;32m " || echo -e "TOKEN APLICADO A \033[1;37m exe.io \033[1;32m " +echo -e " AHORA VE Y GENERA UN ACORTADOR " +echo -e " DEBERIA APARECERTE EN LA PAGUINA " +echo +echo -e " TOKEN : $(cat < $HOME/RegBOT/API${_POS})" +echo +msg -bar3 +read -p "ENTER PARA RERTORNAR" +#msj_ind +;; +11)edit_cost;; +12)crear_cupon;; +13)multi;; +*) bot_gen;; +esac +}