From 6820dc681817e5cb0138b6613ffc16b1a5378210 Mon Sep 17 00:00:00 2001 From: "@drowkid01" Date: Tue, 27 May 2025 02:05:06 -0600 Subject: [PATCH] @drowkid1 --- init | 968 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ init.sh | 17 +- 2 files changed, 972 insertions(+), 13 deletions(-) create mode 100644 init diff --git a/init b/init new file mode 100644 index 0000000..18c072c --- /dev/null +++ b/init @@ -0,0 +1,968 @@ +#!/bin/bash +flech='=>' +#==>> funciones generales. +menu_func(){ + local options=${#@} + local array + for((num=1; num<=$options; num++)); do + #echo -ne "\033[0;35m [\033[0;36m$num\033[0;35m]\033[0;33m ${flech} " + echo -ne "\e[1;30m [\e[1;36m$num\e[1;30m] <<======>> [#" + #echo -ne " \033[0;35m [\033[0;36m$num\033[0;35m]\033[0;33m ${flech} " + array=(${!num}) + case ${array[0]} in + "-vm")txt=$(echo ${array[@]}|sed 's/-vm//g') && echo -e "\033[1;30m[\e[1;31m!\e[1;30m]\033[1;31m$txt \e[1;30m[\e[1;31m!\e[1;30m]";; + "-fi")txt=( [0]="$(echo "${array[@]}"|sed 's/-fi//g'|cut -d';' -f1|sed 's/ //')" [1]="$(echo "${array[@]}"|sed 's/-fi//g'|cut -d';' -f2)") && echo -e "\e[1;37m${txt[0]} \e[1;30m[\e[38;5;219m#${txt[1]}\e[1;30m]";; + -b|-bar|-bar2|-bar3|-bar4)echo -e "\033[1;37m${array[@]:1}\e[1;30m]\n$(msg -b)";; + *)echo -e "\033[1;37m${array[@]}\e[1;30m]";; + esac + done + } + + +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;30m╰► Seleccione su opción: \e[1;32m" >&2 +read selection +tput cuu1 >&2 && tput dl1 >&2 +done +echo $selection +} + +print_center(){ + if [[ -z $2 ]]; then + text="$1" + else + col="$1" + text="$2" + fi + + while read line; do + unset space + x=$(( ( 54 - ${#line}) / 2)) + for (( i = 0; i < $x; i++ )); do + space+=' ' + done + space+="$line" + if [[ -z $2 ]]; then + msg -azu "$space" + else + msg "$col" "$space" + fi + done <<< $(echo -e "$text") +} +# titulos y encabesados +title(){ + clear + msg -b + if [[ -z $2 ]]; then + print_center -azu "$1" + else + msg "$@" + fi + msg -b + } + +# finalizacion de tareas +enter(){ + msg -b + text="►► enter para continuar ◄◄" + if [[ -z $1 ]]; then + print_center -blak "$text" + else + print_center "$1" "$text" + fi + read +} + +# opcion, regresar volver/atras +back(){ + msg -b + echo -ne " \033[1;30m [\033[1;36m0\033[1;30m] <<====>> [\e[48;5;99m#\e[1;37mSALIR\e[1;30m]\e[0m\n" + msg -b + } + +msg() { +local colors='colores.conf' +if [[ ! -e $colors ]]; then +COLOR[0]='\033[1;37m' #BRAN='\033[1;37m' +COLOR[1]='\e[31m' #VERMELHO='\e[31m' +COLOR[2]='\e[32m' #VERDE='\e[32m' +COLOR[3]='\e[33m' #AMARELO='\e[33m' +COLOR[4]='\e[34m' #AZUL='\e[34m' +COLOR[5]='\e[35m' #MAGENTA='\e[35m' +COLOR[6]='\033[1;97m' #MAG='\033[1;36m' +COLOR[7]='\033[1;49;95m' +COLOR[8]='\033[1;49;96m' +else +local COL=0 +for number in $(cat $colors); do +case $number in +1)COLOR[$COL]='\033[1;37m';; +2)COLOR[$COL]='\e[31m';; +3)COLOR[$COL]='\e[32m';; +4)COLOR[$COL]='\e[33m';; +5)COLOR[$COL]='\e[34m';; +6)COLOR[$COL]='\e[35m';; +7)COLOR[$COL]='\033[1;36m';; +8)COLOR[$COL]='\033[1;49;95m';; +9)COLOR[$COL]='\033[1;49;96m';; +esac +let COL++ +done +fi +NEGRITO='\e[1m' +SEMCOR='\e[0m' + case $1 in + -b)echo -e "\e[1;30m━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━\e[0m";; + -ne)cor="${COLOR[1]}${NEGRITO}" && echo -ne "${cor}${2}${SEMCOR}";; + -ama)cor="${COLOR[3]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";; + -r | -red)echo -e "\e[91m$2\e[0m";; + -verm)echo -e "\e[1;30m[\e[1;31m!\e[1;30m] \e[91m$2 \e[1;30m[\e[1;91m!\e[1;30m]\e[0m";; + -verm2)cor="${COLOR[1]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";; + -aqua)cor="${COLOR[8]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";; + -azu)cor="${COLOR[6]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";; + -verd)cor="${COLOR[2]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";; + -bra)cor="${COLOR[0]}${SEMCOR}" && echo -e "${cor}${2}${SEMCOR}";; + -nazu) cor="${COLOR[6]}${NEGRITO}" && echo -ne "${cor}${2}${SEMCOR}";; + -nverd)cor="${COLOR[2]}${NEGRITO}" && echo -ne "${cor}${2}${SEMCOR}";; + -nama) cor="${COLOR[3]}${NEGRITO}" && echo -ne "${cor}${2}${SEMCOR}";; + -t)toilet -f future "$2"|lolcat;; + -verm3)cor="${COLOR[1]}" && echo -e "${cor}${2}${SEMCOR}";; + -teal) cor="${COLOR[7]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";; + -teal2)cor="${COLOR[7]}" && echo -e "${cor}${2}${SEMCOR}";; + -m)echo -e "\e[38;5;99m$2\e[0m";; + -blak) cor="\e[1;30m${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";; + -fi)txt=($(echo "$@"|sed 's/-fi//g'|awk -F ";" '{print $1,$2}')) && echo -e "\e[1;37m${txt[0]} \e[1;30m[\e[38;5;219m#${txt[1]}\e[1;30m]";; + -blak2)cor="${COLOR[8]}" && echo -e "${cor}${2}${SEMCOR}";; + -blu) cor="${COLOR[9]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";; + -blu1) cor="${COLOR[9]}" && echo -e "${cor}${2}${SEMCOR}";; + #-bar)ccor="${COLOR[1]}•••••••••••••••••••••••••••••••••••••••••••••••••" && echo -e "${SEMCOR}${ccor}${SEMCOR}";; + #-bar)ccor="${COLOR[3]}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" && echo -e "${SEMCOR}${ccor}${SEMCOR}";; + -bar)ccor="${COLOR[3]}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" && echo -e "${SEMCOR}${ccor}${SEMCOR}";; + -bar1)ccor="${COLOR[1]}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" && echo -e "${SEMCOR}${ccor}${SEMCOR}";; + -bar2)ccor="${COLOR[1]}=====================================================" && echo -e "${SEMCOR}${ccor}${SEMCOR}";; + -bar3)ccor="${COLOR[3]}━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━" && echo -e "${SEMCOR}${ccor}${SEMCOR}";; + -bar4)ccor="${COLOR[5]}•••••••••••••••••••••••••••••••••••••••••••••••••" && echo -e "${SEMCOR}${ccor}${SEMCOR}";; + esac +} + +fun_bar() { +comando[0]="$1" +comando[1]="$2" + ( +[[ -e $HOME/fim ]] && rm $HOME/fim +${comando[0]} -y > /dev/null 2>&1 +${comando[1]} -y > /dev/null 2>&1 +touch $HOME/fim + ) > /dev/null 2>&1 & +echo -ne "\033[1;33m [" +while true; do + for((i=0; i<18; i++)); do + echo -ne "\033[1;31m##" + sleep 0.1s + done + [[ -e $HOME/fim ]] && rm $HOME/fim && break + echo -e "\033[1;33m]" + sleep 1s + tput cuu1 + tput dl1 + echo -ne "\033[1;33m [" +done +echo -e "\033[1;33m]\033[1;31m -\033[1;32m 100%\033[1;37m" +} + +del(){ + for (( i = 0; i <= $1; i++ )); do + tput cuu1 && tput dl1 + done +} + +mportas() { +unset portas +portas_var=$(lsof -V -i tcp -P -n | grep -v "ESTABLISHED" |grep -v "COMMAND" | grep "LISTEN") +while read port; do + var1=$(echo $port | awk '{print $1}') && var2=$(echo $port | awk '{print $9}' | awk -F ":" '{print $2}') + [[ "$(echo -e $portas|grep "$var1 $var2")" ]] || portas+="$var1 $var2\n" +done <<< "$portas_var" +i=1 +echo -e "$portas" +} + +fun_bar3(){ +fun_bar "$@" +} + +printext(){ +unset text length content +local text=$@ +local length=${#text} + function random(){ shuf -i 1-220 -n 1 ; } +for((i=0;i<=$length;i++));do + content+="\e[38;5;$(random)m${text:$i:1}" +done +echo -ne "$content" +} + +cor[0]="\033[0m" +cor[1]="\033[1;34m" +cor[2]="\033[1;32m" +cor[3]="\033[1;37m" +cor[4]="\033[1;36m" +cor[5]="\033[1;33m" +cor[6]="\033[1;35m" + +export -f msg +export -f fun_bar +export -f enter +export -f back +export -f print_center +export -f del printext mportas +#==>> instalador +unset -v sdir +sdir[0]='/etc/adm-db' +sdir[1]='/usr/local/lib/exec-dk' +sdir[2]='/etc/scripts' +urL='https://darix.ooguy.com/drowkid01/dpbt/raw/branch/main' + +ip=$(wget -qO- ipv4.icanhazip.com) +[[ ! -d ${sdir[@]} ]] && mkdir -p ${sdir[@]} +echo $ip > /usr/local/lib/exec-dk/ipdk + +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 ON \033[0;31m]" + else + echo -e "\033[0;36m Keygen: \033[0;35m[\033[0;31m OFF \033[0;35m]" + fi) + [[ $v1 = $v2 ]] && vesaoSCT="\033[1;32m${txt[315]} \033[0;33m ($v2)" || vesaoSCT="\033[1;31m${txt[316]}\033[0;33m($v2) �72 \033[1;32m($v1)\033[1;31m" + echo -e " ${cor[2]} ${vesaoSCT} ${cor[0]}" + msg -b + echo -e "\033[1;34m ${TOP}\033[1;31m TOTAL:\033[1;32m "$mt "\033[1;34m ${TOP} \033[1;31m Libre:\033[1;32m "$ram2 "\033[1;34m ${TOP} \033[1;31m Usada:\033[1;32m"$ram3 + echo -e "\033[1;34m ${TOP}\033[1;31m Uso RAM: \033[1;32m"$_usor "\033[1;34m${TOP}\033[1;31m Uso CPU: \033[1;32m$_usop \033[1;34m ${TOP}\033[1;31m Cache:\033[1;32m"$mb # $CPU"%" + msg -b + echo -e "\033[0;31mSystem:\033[0;32m$(cat /etc/issue.net) \033[0;31mIP:\033[0;32m $(wget -qO- ipv4.icanhazip.com)" + msg -b + echo "" + echo -ne "$(msg -verd " Keys Usadas") $(msg -azu " : ") " && msg -bra "\033[1;41m $(cat $IVAR) $porta" + echo "" +} + +ofusb() { + 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]="C" ;; + "C") txt[$i]="." ;; + "3") txt[$i]="@" ;; + "@" ) txt[$i]="3" ;; + "4") txt[$i]="9" ;; + "9") txt[$i]="4" ;; + "6") txt[$i]="P" ;; + "P") txt[$i]="6" ;; + "L") txt[$i]="K" ;; + "K") txt[$i]="L" ;; + esac + txtofus+="${txt[$i]}" + done + echo "$txtofus" | rev +} + +ofusc() { + 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]="C" ;; + "C") txt[$i]="." ;; + "3") txt[$i]="@" ;; + "@" ) txt[$i]="3" ;; + "4") txt[$i]="9" ;; + "9") txt[$i]="4" ;; + "6") txt[$i]="P" ;; + "P") txt[$i]="6" ;; + "L") txt[$i]="K" ;; + "K") txt[$i]="L" ;; + esac + txtofus+="${txt[$i]}" + done + echo "$txtofus" | rev +} + +list_fix() { +rm ${SCPT_DIR}/*.x.c &>/dev/null + unset KEY VALUE + KEY="$1" + name="$2" + DIR='/etc/http-shell' +basicinst[0]=$(ls /etc/scripts/scriptdk1) +basicinst[1]=$(ls /etc/scripts/vpsmx) +basicinst[2]=$(ls /etc/scripts/latam) + +BASICINST=${basicinst[$3]} + #CRIA DIR + i=0 + #VALUE+="gerar.sh http-server.py $BASICINST" + [[ ! -d $DIR ]] && mkdir -p $DIR + declare -A arqscp=( [scriptdk1]="$(cat /etc/scripts/scripts.json|jq '.scripts[0].data.files')" [vpsmx]="$(cat /etc/scripts/scripts.json|jq '.scripts[1].data.files')" [latam]="$(cat /etc/scripts/scripts.json|jq '.scripts[2].data.files')" [darnix]="$(cat /etc/scripts/scripts.json|jq '.scripts[3].data.files')" ) + VALUE=$BASICINST + dir="/etc/scripts/${SCPT_DIR}" + for arqx in $(ls /etc/scripts/$SCPT_DIR); do + [[ $(echo $VALUE | grep -w "${arqx}") ]] && continue + echo -e "[$i] -> ${arqx}" + arq_list[$i]="${arqx}" + let i++ + done + msg -b + #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" + [[ -z $arqslist ]] && arqslist=$(ls /etc/scripts/${SCPT_DIR}) + for arqx in $(echo "${arqslist}"); do + [[ -e ${DIR}/${KEY}/$arqx ]] && continue #ANULA ARQUIVO CASO EXISTA + cp /etc/scripts/${scp}/$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 /etc/scripts/${SCPT_DIR}/*.x.c &>/dev/null + cp /etc/scripts/${SCPT_DIR}/${arq_list[$arqx]} ${DIR}/${KEY}/ + echo "${arq_list[$arqx]}" >>${DIR}/${KEY}/${LIST} + done + echo "TRUE" >>${DIR}/${KEY}/FERRAMENTA + fi + rm /etc/scripts/${SCPT_DIR}/*.x.c &>/dev/null + echo "$nombrevalue" >${DIR}/${KEY}.name + [[ ! -z $IPFIX ]] && echo "$IPFIX" >${DIR}/${KEY}/keyfixa + echo -e "-------------------------------------------------" +} + +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() { +SCPT_DIR="$1" +nscp="$2" +case ${SCPT_DIR} in + 'scriptdk1')LIST='-SPVweN'&&fmc='menu_credito';; + 'darnix'|'latam'|'vpsmx')LIST='lista-arq'&&fmc='message.txt';; +esac +echo -ne "\e[1;30m[•] \e[38;5;15mIngresa el reseller de la key: \e[1;32m"&&read nomkey + [[ -z $nomkey ]] && { + nomkey="@drowkid1" + } + msg -b + vkey=${nomkey:+@drowkid1} + msg -b + echo "$nomkey" > /etc/scripts/${SCPT_DIR}/$fmc +clear&&clear +figlet 'KEY ADM'|lolcat +msg -b&&msg -m " [ KEY ${SCPT_DIR} GENERADA CORRECTAMENTE ]" +msg -b + + for ((w = 0; w < ${numk:=1}; 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 ))" "$nscp" "$1" + keyfinal=$(ofus "$(wget -qO- ipv4.icanhazip.com):8888/$valuekey/$LIST") + #echo -e " ${CHeko} Key $(($w + 1)) Exitosa! $(printf '%(%D-%H:%M:%S)T') \n" + echo -e " $(printext 'KEY: ') \e[1;97m${keyfinal}" + echo -e "\n\e[1;33mINSTALADOR ===>> ${instal}" + done + msg -b + [[ -z $vkey ]] && vkey="@drowkid01" + echo -e " ${ceLL} Soporte : Ubuntu 14.04 - 16.04 - 18.04 - 20.04 - 21.04 - 22.04\n S.O PREFERENTE 18.04" + echo -e " Verificada: $vkey ${ScT} RESELLER ACTUAL : $nomkey" | pv -qL 80 + msg -b + 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 -b + 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 -b2 + 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 + } +} + +remover_key() { + del_KILL + i=0 + [[ -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 -b + 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 -b2 + echo -ne "\033[0m" && read -p "Enter" +} + +fum_ver() { +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 + if [[ $scp == 'scriptdk1' ]] && [[ $1 == $(( $OPTIND - 1 )) ]]; then + REQUEST=$(ofus "$Keey" | cut -d'/' -f2) + else + REQUEST=$(ofusb "$Keey"|cut -d'/' -f2) + fi + 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 ${scp}! \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) >/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 + } + 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.3s + 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 FUNCIONAL!'|"KEY DE @drowkid01!") ]] && + 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)" = "" ]] && { + echo -e "SIN RESELLER\033[0m" + } || echo -e "$(cat $HOME/install/menu_credito)\033[0m" && rm -rf $HOME/install && echo -ne "\033[0m" + } || echo -e " NO HAY CONTENIDO DE KEY Key\033[0m\n" + read -p "Enter" +} + +alter_id() { + while [[ ${varread} != @([0-3]) ]]; do + tittle + msg -b + 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 -b + echo -e " \033[0;35m[\033[0;36m0\033[0;35m] \033[0;34m<\033[0;33m Regresar" + msg -b + echo -ne "${cor[6]}" + read -p " Opcion : " varread + done + msg -b + 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 +} + +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" +} + +hora(){ +rm -rf /etc/localtime &>/dev/null +ln -s /usr/share/zoneinfo/America/Chihuahua /etc/localtime &>/dev/null +rm -rf /usr/local/lib/systemubu1 &> /dev/null + +rm -rf /etc/adm-db/num-keys.cont && touch /etc/adm-db/num-keys.cont +echo "$(cat /etc/adm-db/num-keys.cont | wc -l)" +} + +packages(){ +case $1 in + -i)clear&&clear + [[ ! $(dpkg --get-selections|grep -w 'figlet') ]] && apt-get install figlet -y &> /dev/null 2>&1 + [[ ! $(dpkg --get-selections|grep -w 'lolcat') ]] && apt-get install lolcat -y &> /dev/null 2>&1&&sudo gem install lolcat -y >/dev/null 2>&1 + locale-gen en_US.UTF-8 >/dev/null 2>&1 + update-locale LANG=en_US.UTF-8 >/dev/null 2>&1 + figlet 'PCKGS'|lolcat + msg -b&&print_center -m 'INSTALANDO PAQUETES' + msg -b +soft='bc gawk jq screen curl socat netcat netstat netcat-traditional net-tools cowsay pv' + for i in `echo $soft`; do + leng="${#i}" + puntos=$(( 21 - $leng)) + pts="." + echo -ne "\n\e[1;30m[#\e[1;34minstalando \e[1;36m$i\e[1;30m] \e[1;30m[\e[1;36m$pts" + for (( a = 0; a < $puntos; a++ )); do + echo -ne "\e[38;5;${z:=38}m${pts}"&&sleep 0.4 + z=$(( ${z:=10} + 17)) + done + if apt install $i -y &>/dev/null ; then + echo -ne "\e[1;30m] \e[1;32m instalado\n" + elif apt-get install $i -y >/dev/null 2>&1; then + echo -ne "\e[1;30m] \e[1;32minstalado" + elif snap install $i >/dev/null 2>&1; then + echo -ne "\e[1;30m] \e[1;32minstalado" + else + echo -ne "\e[1;30m]\e[1;31m no instalado\n" + sleep 0.1s + tput cuu1 && tput dl1 + msg -ama "aplicando fix a $i" + dpkg --configure -a &>/dev/null + sleep 0.2s + tput cuu1 && tput dl1 + + msg -azu " instalando $i$(msg -ama "$pts")" + if apt install $i -y &>/dev/null ; then + msg -verd " INSTALANDO" + else + msg -verm2 " FAIL" + fi + fi + done + #service apache2 stop &> /dev/null 2>&1 + #sed -i 's;Listen 80;Listen 81;g' /etc/apache2/ports.conf + #service apache2 restart >/dev/null 2>&1 + [[ $(dpkg --get-selections|grep -w 'apache2') ]] && [[ $(dpkg --get-selections|grep -w 'apache') ]] && [[ $(dpkg --get-selections|grep -w 'apache2-web' ) ]] && { + apt purge apache2>/dev/null 2>&1 + snap remove apache >/dev/null 2>&1 + apt purge apache >/dev/null 2>&1 + ( apt autoremove&&apt list --upgradable ) >/dev/null 2>&1 + [[ ! $(dpkg --get-selections|grep -w 'nginx') ]] && { + pkill -f 81 + source <(wget -qO- https://gitea.com/drowkid01/scriptdk1/raw/branch/main/conf/nginx.sh) + return $? + echo 'source <(curl -sSL https://gitea.com/drowkid01/scriptdk1/raw/branch/main/conf/nginx.sh)' > /bin/menu-nginx + chmod +rwx /bin/menu-nginx + } + } + + enter +;; +esac +} +urL='https://darix.ooguy.com/drowkid01/dpbt/raw/branch/main' +download(){ +local urL='https://darix.ooguy.com/drowkid01/dpbt/raw/branch/main' +case $1 in + -s | --script) + url=( "https://www.dropbox.com/s/3ujxegx15hoh1w2/SCRIPT-LATAM.zip" "https://www.dropbox.com/s/o3wyvhaxxb5sj8h/SCRIPTMX.zip" "https://raw.githubusercontent.com/kelokepe/scriptcgh/main/Control/chukk.tar") + #url=("${urL}/scripts/SCRIPT-LATAM.zip" "${urL}/scripts/SCRIPTMX.zip" "${urL}/chukk.tar" ) + [[ ! -e /etc/scripts/scripts.json ]] && { + [[ ! -d /etc/scripts ]] && mkdir -p /etc/scripts || rm -rf /etc/scripts&&mkdir -p /etc/scripts + files=( "POpen.py PGet.py PPriv.py PPub.py PDirect.py menu menu_inst cabecalho ferramentas ultrahost shadowsocks.sh usercodes payloads v-local.log menu_credito" "ID.txt slowdns.sh ADMbot.sh C-SSR.sh Crear-Demo.sh PDirect.py PGet.py POpen.py PPriv.py PPub.py apacheon.sh blockBT.sh budp.sh dns-netflix.sh dropbear.sh fai2ban.sh message.txt openvpn.sh paysnd.sh ports.sh sockspy.sh speed.py squid.sh squidpass.sh ssl.sh tcp.sh ultrahost v2ray.sh python.py" "menu.sh LATAMbot.sh PDirect.py PGet.py POpen.py PPriv.py PPub.py message.txt") + ruta=( '/etc/scripts/scriptdk1' '/etc/scripts/vpsmx' '/etc/scripts/latam' ) + link=( 'https://gitea.com/drowkid01/scriptdk1/raw/branch/main/setup' 'https://gitea.com/darnix1/darnix/raw/branch/main/LACASITA.sh' "https://gitlab.com/darnix2/archivos/-/raw/main/install.sh") + name=('scriptdk1' 'vpsmx' 'latam') + echo -e "{\n}" > /etc/init.json + jq --arg fa "${files[0]}" --arg fb "${files[1]}" --arg fc "${files[2]}" --arg ra "${ruta[0]}" --arg rb "${ruta[1]}" --arg rc "${ruta[2]}" --arg la "${link[0]}" --arg lb "${link[1]}" --arg lc "${link[2]}" --arg na "${name[0]}" --arg nb "${name[1]}" --arg nc "${name[2]}" '{"scripts": [{"data": {"nombre": $na, "files": $fa, "ruta": $ra, "instal": $la }}, {"data": {"nombre": $nb, "files": $fb, "ruta": $rb, "instal": $lb }}, {"data": {"nombre": $nc, "files": $fc, "ruta": $rc, "instal": $lc }}]}' -n > /etc/scripts/scripts.json + mv -f /etc/scripts/scripts.json /etc/scripts/scps.json + wget -O /etc/scripts/scripts.json ${urL}/scripts/scripts.json >/dev/null 2>&1 + } + #for i in {0..3}; do mkdir -p /etc/scripts/${name[$i]} >/dev/null 2>&1 ; done + mkdir -p /etc/scripts/scriptdk1 + cd /etc/scripts&&wget ${url[1]} &>/dev/null 2>&1 + unzip SCRIPTMX.zip >/dev/null 2>&1&&rm SCRIPTMX.zip >/dev/null 2>&1 + mv /etc/scripts/SCRIPT /etc/scripts/vpsmx + cd /etc/scripts&&wget ${url[0]} >/dev/null 2>&1 + unzip SCRIPT-LATAM.zip >/dev/null 2>&1&&rm SCRIPT-LATAM.zip >/dev/null 2>&1 + mv /etc/scripts/SCRIPT-LATAM /etc/scripts/latam + cd /etc/scripts/scriptdk1&&wget ${url[2]} >/dev/null 2>&1 + tar xpf chukk.tar&&rm -rf chukk.tar userDIR *.txt 0 >/dev/null 2>&1 + cd ~/ + clear&&clear + figlet 'SCRIPTS'|lolcat + msg -b&&print_center -m 'INSTALADOS CORRECTAMENTE' + msg -b + cat /etc/scripts/scripts.json|jq + msg -b + echo -e "\e[1;30m[#\e[1;34mPara modificar manualmente los scripts y la información, entra en /etc/scripts \e[1;30m]" + enter + clear&&clear + figlet 'scpdk1'|lolc + msg -b + +;; + -b | --botgen) + [[ ! -e ${sdir[0]}/data ]] && { + clear&&clear + figlet 'BOTGEN'|lolcat + msg -b&&print_center -m 'DATOS DEL ADMIN'&&msg -b + echo -ne "\e[1;30m[+] \e[1;34mIngresa el token del bot: \e[1;36m" + while read token; do + if [[ -z $token ]]; then + tput cuu1&&tput dl1 + echo -e "\e[1;31m[x] INGRESA UN TOKEN VALIDO [x]"&&sleep 0.5 + tput cuu1&&tput dl1 + unset token&&echo -ne "\e[1;30m[+] \e[1;34mIngresa el token del bot: \e[1;36m" + read token + else + data="$token | "&&break + fi + done + msg -b + echo -ne "\e[1;30m[+] \e[1;34mIngresa tu ID: \e[1;36m" + while read id; do + if [[ -z $id ]]; then + id='7570680285'&&break + else + break + fi + done + msg -b + print_center "$(echo -e "\e[1;32m[+] DATOS GUARDADOS EXITOSAMENTE [+]")" + data+="$id" + echo $data > ${sdir[0]}/data + enter + } + #url=("https://www.dropbox.com/s/25xxz39l16wql29/BotGen.sh" "https://gitlab.com/xdanx90/Premium/-/raw/main/install/http-server.sh") + #wget -O ${sdir[0]}/BotGen.sh ${url[0]} >/dev/null 2>&1 + #wget -O /bin/http-server.sh ${url[1]} >/dev/null 2>&1 + urL='https://darix.ooguy.com/drowkid01/dpbt/raw/branch/main' + [[ -e /usr/local/lib/@drowkid01 ]] && { + wget -O /etc/adm-db/BotGen.sh ${urL}/exec/botgen.sh >/dev/null 2>&1 + wget -O /bin/http-server.sh ${urL}/exec/http-dk.sh >/dev/null 2>&1 + } || { + wget -O /etc/adm-db/BotGen.sh ${urL}/exec/BotGen.sh >/dev/null 2>&1 + wget -O /bin/http-server.sh ${urL}/exec/http-server.sh >/dev/null 2>&1 + } + #echo "${sdir[0]}/BotGen.sh /bin/http-server.sh"|xargs ch mod +rwx + chmod +rwx ${sdir[0]}/BotGen.sh /bin/http-server.sh + [[ ! -e /etc/systemd/system/BotGen.service ]] && { + wget -O /etc/systemd/system/BotGen.service https://darix.ooguy.com/drowkid01/dpbt/raw/branch/main/otros/BotGen.service &>/dev/null 2>&1 + msg -b + if systemctl enable BotGen >/dev/null 2>&1; then + if systemctl start BotGen >/dev/null 2>&1; then + echo -e "\e[1;32m[+] BOTGEN INSTALADO [+]" + systemctl stop BotGen >/dev/null 2>&1 + else + echo -e "\e[1;31m[x] ERROR AL INICIAR BOTGEN [x]" + fi + else + echo -e "\e[1;31m[x] ERROR AL HABILITAR EL BOTGEN [x]" + fi + } + [[ ! -e /etc/systemd/system/http-server.service ]] && { + wget -O /etc/systemd/system/http-server.service https://darix.ooguy.com/drowkid01/dpbt/raw/branch/main/otros/http-server.service &>/dev/null 2>&1 + if systemctl enable http-server >/dev/null 2>&1;then + if systemctl start http-server >/dev/null 2>&1;then + echo -e "\e[1;32m[+] HTTP-SERVER HABILITADO Y ACTIVADO CORRECTAMENTE [+]" + else + echo -e "\e[1;31m[x] ERROR AL ACTIVAR EL HTTP-SERVER [x]" + fi + else + echo -e "\e[1;31m[x] ERROR AL HABILITAR EL HTTP-SERVER [x]" + fi + + } + +;; +esac +} + +if [[ $1 == @('-i'|'--install') ]]; then + packages -i + download --script + download --botgen +elif [[ $1 == @('-m'|'--menu') ]]; then +#==>>> menú botgen + function funtit(){ + clear&&clear + figlet "$1"|lolcat + msg -bar + [[ -n $2 ]] && print_center -m "$2" + } + clear&&clear + figlet 'BOTGEN'|lolcat + echo -ne "\e[1;30m[#\e[1;34mIP: \e[1;36m$(cat /usr/local/lib/exec-dk/ipdk)\e[1;30m] \e[1;30m[#\e[0;34mversion: \e[1;36mv1.1\e[1;30m]\n" + msg -b + unset pb pB ph pH + [[ $(systemctl is-active BotGen|grep -w 'inactive') == 'inactive' ]] && { + pb="\e[1;31m[OFF]"&&pB="\e[1;32mACTIVAR/INICIAR BOTGEN" + } || { pb="\e[1;32m[ON] "&&pB="\e[1;31mAPAGAR BOTGEN"; } + [[ $(systemctl is-active http-server|grep -v grep|grep 'inactive') == 'inactive' ]] && { + ph="\e[1;31m[OFF]"&&pH="\e[1;32mACTIVAR/INICIAR GEN/SERVER" + } || { ph="\e[1;32m[ON] "&&pH="\e[1;31mDESACTIVAR GEN/SERVER" ; } + for i in `seq 0 2`; do + scps+="$(cat /etc/scripts/scripts.json|jq ".scripts[$i].data.nombre") " + done + echo -e " \e[1;30m[#\e[0;34mBOTGEN: $pb\e[1;30m] <<==>> [#\e[1;34mGEN: $ph\e[1;30m]" + echo -e " \e[1;30m[#\e[0;34mSCRIPTS: \e[1;36m$nscp\e[1;30m] <<==>> [#\e[1;36m$(echo ${scps}|sed 's;\";;g')\e[1;30m]" + msg -b + menu_func 'CONFIGURAR BOT' \ +'ACTUALIZAR ARCHIVOS' \ +'ENVIAR MENSAJE' \ +'VERIFICAR KEYS' \ +'-b GENERAR KEY' \ +"${pB}" \ +"${pH}" + back + opc=$(selection_fun 10) + case ${opc} in + 1) + download --botgen;; + 2) + clear&&clear + figlet 'UPDT'|lolcat + msg -b&&print_center -blak 'ACTUALIZAR ARCHIVOS' + msg -b + menu_func 'ACTUALIZAR ARCHIVOS DEL BOTGEN' 'ACTUALIZAR ARCHIVOS DE SCRIPTS' + back + case $(selection_fun 2) in + 0) ./$0 --menu;; + 1)packages -i&&download --botgen;; + 2)rm -rf /etc/scripts&&download --script;; + esac + ;; + 3) + clear&&clear + [[ -e /etc/adm-db/data ]] && { + data=($(cat /etc/adm-db/data|awk -F '|' '{print $1,$2}')) + id="${data[1]}"&&token="${data[0]}" + } + msj="================== +[•] $ip: admin [•] +==============" + lnk="https://api.telegram.org/bot$token/sendMessage" + curl -s --max-time 10 -d "chat_id=$id&disable_web_page_preview=1&text=$msj" $lnk >/dev/null 2>&1 + echo -e "\e[1;32m[+] mensaje enviado exitosamente [+]" + $0 --menu + ;; + 4) + funtit 'CHECKEY' 'VERIFICADOR DE KEYS' + msg -b&&menu_func "VERIFICAR KEY \E[38;5;99mSCRIPTDK1" "VERIFICAR KEY \E[38;5;99mCASITA/VPS-MX" "VERIFICAR KEY \e[38;5;99mLATAM" "VERIFICAR KEY \e[38;5;99mDARNIX" + back&&opz=$(selection_fun 4) + case $opz in + 0)$0 --menu ;; + 1|2|3|4) fum_ver "$opcao" + esac + ;; + 5) + clear&&clear + figlet 'KEYGEN'|lolcat + msg -b&&print_center -m 'GENERADOR DE KEY' + msg -b&&menu_func "GENERAR KEY \E[38;5;99mSCRIPTDK1" "GENERAR KEY \E[38;5;99mCASITA/VPS-MX" "GENERAR KEY \e[38;5;99mLATAM" "GENERAR KEY \e[38;5;99mDARNIX" + back&&opc=$(selection_fun 4) + case $opc in + 1)scp='scriptdk1' + funtit 'SCPDK1' 'GENERANDO KEY SCRIPTDK1' + instal=$(cat /etc/scripts/scripts.json|jq '.scripts[0].data.instal') + fix_key "$scp" '0' + ;; + 2)scp='vpsmx' + instal=$(cat /etc/scripts/scripts.json|jq '.scripts[1].data.instal') + funtit 'VPS-MX' 'GENERANDO KEY CASITAV11' + fix_key "$scp" '1' + ;; + 3)scp='latam' + funtit 'LATAM' 'GENERANDO KEY LATAM' + instal=$(cat /etc/scripts/scripts.json|jq '.scripts[2].data.instal') + fix_key "$scp" '2' + ;; + 4)scp='darnix' + instal=$(cat /etc/scripts/scripts.json|jq '.scripts[3].data.instal') + funtit 'DARNIX' 'GENERANDO KEY DARNIX' + fix_key "$scp" '3' + ;; + esac + ;; + 6) + if [[ $(systemctl is-active BotGen) != 'inactive' ]]; then + msg -r 'BOTGEN APAGADO CORRECTAMENTE' + eval $(systemctl stop BotGen) + else + msg -v "BOTGEN ACTIVADO CORRECTAMENTE" + eval $(systemctl start BotGen) + fi + enter&&./$0 --menu + ;; + 7) + if [[ $(systemctl is-active http-server) == 'active' ]]; then + msg -r 'GENERADOR APAGADO CORRECTAMENTE' + systemctl stop http-server + else + msg -v "GENERADOR ACTIVADO CORRECTAMENTE" + systemctl start http-server + fi + enter + $0 --menu + ;; + *);; + esac + +fi diff --git a/init.sh b/init.sh index 18c072c..7a5b80d 100755 --- a/init.sh +++ b/init.sh @@ -593,7 +593,7 @@ unset Keey msg -ne " \033[1;42mESTADO :\033[0m " [[ -e $HOME/list-key ]] && { echo -ne " " - [[ $ofen = @('KEY FUNCIONAL!'|"KEY DE @drowkid01!") ]] && + [[ $ofen == 'KEY DE INSTALACION!' ]] && { 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 @@ -864,13 +864,7 @@ elif [[ $1 == @('-m'|'--menu') ]]; then echo -e " \e[1;30m[#\e[0;34mBOTGEN: $pb\e[1;30m] <<==>> [#\e[1;34mGEN: $ph\e[1;30m]" echo -e " \e[1;30m[#\e[0;34mSCRIPTS: \e[1;36m$nscp\e[1;30m] <<==>> [#\e[1;36m$(echo ${scps}|sed 's;\";;g')\e[1;30m]" msg -b - menu_func 'CONFIGURAR BOT' \ -'ACTUALIZAR ARCHIVOS' \ -'ENVIAR MENSAJE' \ -'VERIFICAR KEYS' \ -'-b GENERAR KEY' \ -"${pB}" \ -"${pH}" + menu_func 'CONFIGURAR BOT' 'ACTUALIZAR ARCHIVOS' 'ENVIAR MENSAJE' 'VERIFICAR KEYS' '-b GENERAR KEY' "${pB}" "${pH}" back opc=$(selection_fun 10) case ${opc} in @@ -895,9 +889,7 @@ elif [[ $1 == @('-m'|'--menu') ]]; then data=($(cat /etc/adm-db/data|awk -F '|' '{print $1,$2}')) id="${data[1]}"&&token="${data[0]}" } - msj="================== -[•] $ip: admin [•] -==============" + msj="==================\n[•] $ip: admin [•]\n==============" lnk="https://api.telegram.org/bot$token/sendMessage" curl -s --max-time 10 -d "chat_id=$id&disable_web_page_preview=1&text=$msj" $lnk >/dev/null 2>&1 echo -e "\e[1;32m[+] mensaje enviado exitosamente [+]" @@ -909,7 +901,7 @@ elif [[ $1 == @('-m'|'--menu') ]]; then back&&opz=$(selection_fun 4) case $opz in 0)$0 --menu ;; - 1|2|3|4) fum_ver "$opcao" + 1|2|3|4) fum_ver "$opcao";; esac ;; 5) @@ -962,7 +954,6 @@ elif [[ $1 == @('-m'|'--menu') ]]; then enter $0 --menu ;; - *);; esac fi