diff --git a/exec/menu.sh b/exec/menu.sh old mode 100644 new mode 100755 index 70d60a3..a1dab4c --- a/exec/menu.sh +++ b/exec/menu.sh @@ -35,52 +35,62 @@ for i in `seq 0 3`; do done done } -list-fix(){ +listfix(){ +unset name ruta inst arqs scpconf='/etc/scripts/scripts.json' -for i in `seq 0 3`; do +for((i=0;i<4;i++)); do name[$i]=$(cat "$scpconf"|jq ".scripts[$i].data.nombre"|tr -d '"') ruta[$i]=$(cat "$scpconf"|jq ".scripts[$i].data.ruta"|tr -d '"') inst[$i]=$(cat "$scpconf"|jq ".scripts[$i].data.instal"|tr -d '"') - arqs[$i]=$(cat "$scpconf"|jq ".scripts[$i].data.files"|tr -d '"') done valuekey="$(date | md5sum | head -c11)" valuekey+="$(echo $(($RANDOM * 10)) | head -c 6)" ip=$(wget -qO- ipv4.icanhazip.com) -DIR='/etc/http-shell'&&keY="$2"&&ress="$3" +arqs=( [0]=$(cat "$scpconf"|jq '.scripts[0].data.files') [1]=$(cat "$scpconf"|jq '.scripts[1].data.files') [2]=$(cat "$scpconf"|jq '.scripts[2].data.files') [3]=$(cat "$scpconf"|jq '.scripts[3].data.files') ) +DIR='/etc/http-shell'&&keY="$valuekey" case $1 in - --scriptdk1 | --scriptcgh) - LIST='-SPVweN'&&BASICINST="${arqs[0]}" - fress='menu_credito' - instal="${inst[0]}"&&SCPT_DIR="${ruta[0]}" + 'scriptdk1'| '--scriptdk1' | '--scriptcgh') + LIST='-SPVweN'&&BASICINST=${arqs[0]//\"/} + fress='menu_credito'&&SCPT_DIR='/etc/scripts/scriptdk1' + instal="${inst[0]}" keyfnl=$(ofus "$ip:8888/$valuekey/$LIST") ;; - --vpsmx) - LIST='lista-arq'&&BASICINST="${arqs[1]}" - fress='message.txt' + '--vpsmx'|'vpsmx') + LIST='lista-arq' + fress='message.txt'&&BASICINST=${arqs[1]//\"/} instal="${inst[1]}"&&SCPT_DIR="${ruta[1]}" keyfnl=$(ofusdk "$ip:8888/$valuekey/$LIST") ;; - --latam) - LIST='lista-arq'&&BASICINST="${arqs[2]}" - fress='menu_credito' + '--latam'|'latam') + LIST='lista-arq'&&BASICINST=${arqs[2]//\"/} + fress='message.txt' instal="${inst[2]}"&&SCPT_DIR="${ruta[2]}" - keyfnl=$(ofusdk "$ip:8888/$valuekey/$LIST") + keyfnl=$(ofus "$ip:8888/$valuekey/$LIST") ;; - --darnix) - LIST='lista-arq'&&BASICINST="${arqs[3]}" - fress='menu_credito' + '--darnix'|'darnix') + LIST='lista-arq'&&BASICINST=${arqs[3]//\"/} + fress='menu_credito' instal="${inst[3]}"&&SCPT_DIR="${ruta[3]}" keyfnl=$(ofusdk "$ip:8888/$valuekey/$LIST") ;; esac +echo $2 > /etc/scripts/$1/$fress + +DIR='/etc/http-shell' +keY="$valuekey" [[ ! -d $DIR/$keY ]] && mkdir -p $DIR/$keY -echo $ress > "$DIR/${keY}.name" -msg -b&&echo -e "ARQS DE ${1//-/}" +echo "${ress:=$2}" > "$DIR/${keY}.name" +msg -b&&echo -e "ARQS DE ${1//-/}: $SCPT_DIR \n$(msg -b)" +unset w for i in `echo "$BASICINST"`;do - [[ $(ls ${SCPT_DIR}|grep -w "$i") ]] && continue + #[[ $(ls ${SCPT_DIR}|grep -w "$i") ]] && [[ $(ls /etc/scripts/${1//-/}|grep -w "$i") ]] && continue echo "[${w:=1}] <<====>> [$i]" - cp ${SCPT_DIR}/$i $DIR/$keY/ - echo $i >> $DIR/$keY/$LIST + if cp ${SCPT_DIR}/$i $DIR/$keY/ ; then + echo $i >> $DIR/$keY/$LIST + elif cp /etc/scripts/${1//-/}/$i $DIR/$keY/$i ; then + echo $i >> $DIR/$keY/$LIST + fi + w=$(( ${w:=1} + $OPTIND )) done msg -b echo -e "\e[1;30m[•] \e[1;34mSCRIPT: \e[1;36m${1//-/}" @@ -89,53 +99,6 @@ echo -e "\e[1;30m[•] \e[1;34mINSTALADOR: \e[1;37m${instal}" enter } -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 -bar - #read -p " OPCION : " readvalue - #CRIA KEY - [[ ! -e ${DIR}/${KEY} ]] && mkdir ${DIR}/${KEY} - #PASSA ARQS - [[ -z $readvalue ]] && readvalue="1" - [[ -z $nombrevalue ]] && nombrevalue="$nomkey$name" - if [[ $readvalue = @(cgh|1) ]]; then - #ADM BASIC - echo -e " - KEY SCRIPT BASE 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 - 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 - rm ${SCPT_DIR}/*.x.c &>/dev/null - echo "$nombrevalue" >${DIR}/${KEY}.name - [[ ! -z $IPFIX ]] && echo "$IPFIX" >${DIR}/${KEY}/keyfixa - echo -e "-------------------------------------------------" -} ofus() { unset txtofus @@ -173,10 +136,10 @@ menu_func "GENERAR KEY \e[1;30m[#\e[1;36mSCRIPTDK1\e[1;30m]" "GENERAR KEY \e[1;3 back ops=$(selection_fun 4) case $ops in - 1)list-fix --scriptdk1;; - 2)list-fix --vpsmx;; - 3)list-fix --latam;; - 4)list-fix --darnix;; + 1)listfix 'scriptdk1' "$nomkey";; + 2)listfix 'vpsmx' "$nomkey";; + 3)listfix 'latam' "$nomkey";; + 4)listfix 'darnix' "$nomkey";; esac } fix_key() { @@ -274,15 +237,25 @@ echo -e "\e[1;32m[+] BOTGEN DESCARGADO CORRECTAMENTE [+]" power(){ pb=$(ps x|grep -v grep|grep -w 'BotGen.sh') ph=$(ps x|grep -v grep|grep -w 'http-server.sh') +if [[ $(dpkg --get-selections|grep -w 'apache2') ]]; then + pxrt="$(lsof -V -i tcp -P -n | grep -w 'apache2'|awk -F ':' '{print $2}'|awk '{print $1}')" + pxt="\e[1;34mAPACHE: $pxrt" +elif [[ $(dpkg --get-selections|grep -w 'nginx') ]]; then + pxrt="$(lsof -V -i tcp -P -n | grep -w 'nginx'|awk -F ':' '{print $2}'|awk '{print $1}')" + pxt="\e[1;34mNGINX: $pxrt" +else + pxt="\e[1;31m[x] PUERTO 8888 INACTIVO [x]" +fi + [[ -z $pb ]] && { - pb="\e[1;31m[x] BOTGEN INACTIVO [x]"&&bp="\e[1;31m[OFF]" + pb="\e[1;32mACTIVAR BOTGEN"&&bp="\e[1;31m[OFF]" } || { - pb="\e[1;32m[+] BOTGEN ACTIVO [+]"&&bp="\e[1;32m[ON] " + pb="\e[1;31mDESACTIVAR BOTGEN"&&bp="\e[1;32m[ON] " } [[ -z $ph ]] && { - ph="\e[1;31m[x] GENERADOR INACTIVO [x]"&&hp="\e[1;31m[OFF]" + ph="\e[1;32mACTIVAR GENERADOR"&&hp="\e[1;31m[OFF]" } || { - ph="\e[1;32m[+] GENERADOR ACTIVO [+]"&&hp="\e[1;32m[ON] " + ph="\e[1;31mDESACTIVAR GENERADOR"&&hp="\e[1;32m[ON] " } } @@ -291,13 +264,17 @@ ph=$(ps x|grep -v grep|grep -w 'http-server.sh') [[ ! -e /etc/CAT-BOT/Admin-ID ]] && idd="\e[1;31m[!] CONFIGURAR ID [x]" || idd="\e[1;37mMODIFICAR/CAMBIAR ID" [[ ! -e /etc/CAT-BOT/token ]] && tkn="\e[1;31m[!] CONFIGURAR TOKEN [x]" || tkn="\e[1;37mMODIFICAR/CAMBIAR TOKEN" +[[ ! -e /etc/scripts/scripts.json ]] || [[ ! -d /etc/scripts ]] && { + downfilez +} + clear&&clear figlet 'BOT-MENU'|lolcat msg -b power echo -e "\e[1;34mBOTGEN: $bp \e[1;30m| \e[1;34mGEN: $hp \e[1;30m|\e[1;34m SCP: \e[1;36m4" msg -b -menu_func "$idd" "$tkn" 'ENVIAR MENSAJE' "$pb" "$ph" "UPDATE BOT" "REINSTALAR SCRIPTS" +menu_func "$idd" "$tkn" 'ENVIAR MENSAJE' "$pb" "$ph" "UPDATE BOT" "-b REINSTALAR SCRIPTS" "\e[1;37mGENERAR KEY" "VERIFICAR KEY" back case `selection_fun 10` in 1)databot --id&&enter&&source $0;; @@ -337,9 +314,12 @@ ID: $id 6) clear&&clear figlet "UPDT-BOT"|lolcat - msg -b&&print_center -m 'ACTUALIZANDO BOTGEN' + msg -b&&print_center -m 'ACTUALIZANDO BOTGEN' msg -b downbot enter&&source $0 ;; + 7) clear;; + 8)fix-key;; + esac