#!/bin/bash #==>> 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 [[ ! -e /usr/local/lib/exec-dk/msg ]] && wget -O /usr/local/lib/exec-dk/msg ${urL}/otros/msg >/dev/null 2>&1;chmod +rwx /usr/local/lib/exec-dk/msg source /usr/local/lib/exec-dk/msg 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 "" } list_fix() { rm ${SCPT_DIR}/*.x.c &>/dev/null unset KEY VALUE KEY="$1" name="$2" DIR='/etc/http-shell' BASICINST=$(ls /etc/scripts/$3) SCPT_DIR="/etc/scripts/$3" i=0 #VALUE+="gerar.sh http-server.py $BASICINST" [[ ! -d $DIR ]] && mkdir -p $DIR VALUE=$BASICINST dir="${SCPT_DIR}" for arqx in $(ls /etc/scripts/$3); 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" 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 /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 "-------------------------------------------------" } ofusdk() { 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 } ofus() { 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 } 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 } createkey(){ unset valuekey valuekey="$(date | md5sum | head -c10)" valuekey+="$(echo $(($RANDOM*10))|head -c 5)" IP=$(wget -qO- ipv4.icanhazip.com) case $1 in --scpdk)list='-SPVweN' key=$(ofusdk "$IP:8888/$valuekey/$list") ;; --vpsmx)list='lista-arq' key=$(ofusc "$IP:8888/$valuekey/$list") ;; --latam)list='lista-arq' key=$(ofus "$IP:8888/$valuekey/$list") ;; esac echo -e " $key" } checkey(){ read Key Key="$(echo "$Key" | tr -d '[[:space:]]')" if [[ $(ofusdk "$Key" | grep -vE '127\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -o -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') == "$(wget -qO- ipv4.icanhazip.com)" ]]; then echo -e "key de scriptdk1" elif [[ $(ofusc "$Key" | grep -vE '127\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -o -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') == "$(wget -qO- ipv4.icanhazip.com)" ]]; then echo -e "key de vpsmx" elif [[ $(ofus "$Key" | grep -vE '127\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -o -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}') == "$(wget -qO- ipv4.icanhazip.com)" ]]; then echo -e "key de latam" fi echo -e "ip: $IiP\nkey: $Key" } fix_key() { unset valuekey valuekey="$(date | md5sum | head -c10)" valuekey+="$(echo $(($RANDOM*10))|head -c 5)" IP="$(wget -qO- ipv4.icanhazip.com)" case $1 in --scpdk | --scriptdk1 | --chukk) LIST='-SPVweN'&&fmc='menu_credito' list_fix "$valuekey" "$name" "scriptdk1" key=$(ofusdk "$IP:8888/$valuekey/$LIST") ;; --latam) LIST='lista-arq'&&fmc='message.txt' list_fix "$valuekey" "$name" "latam" key=$(ofus "$IP:8888/$valuekey/$LIST") ;; --vpsmx)LIST='lista-arq'&&fmc='message.txt' list_fix "$valuekey" "$name" "vpsmx" key=$(ofusc "$IP:8888/$valuekey/$LIST") ;; --darnix)LIST='lista-arq'&&fmc='message.txt' list_fix "$valuekey" "$name" "darnix" key=$(ofusc "$IP:8888/$valuekey/$LIST") ;; esac SCPT_DIR="/etc/scripts/${1//-/}" 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" > ${SCPT_DIR}/$fmc clear&&clear figlet 'KEY ADM'|lolcat msg -b&&msg -m " [ KEY ${SCPT_DIR} GENERADA CORRECTAMENTE ]" msg -b echo -e " $(printext 'KEY: ') \e[1;97m${key}" echo -e "\n\e[1;33mINSTALADOR ===>> ${instal}" 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=$(ofusdk "$Keey" | cut -d'/' -f2) else REQUEST=$(ofusb "$Keey"|cut -d'/' -f2) fi REQUEST=$(ofusdk $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=$(ofusdk "$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 $(ofusdk $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- $(ofusdk $Keey)) unset arqx [[ -d $HOME/install ]] && rm -rf $HOME/install/* || mkdir $HOME/install verificar_arq() { echo "$1" >>$HOME/install/log.txt } n=1 IP=$(ofusdk "$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!"|'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 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 --scriptdk1 ;; 2)scp='vpsmx' instal=$(cat /etc/scripts/scripts.json|jq '.scripts[1].data.instal') funtit 'VPS-MX' 'GENERANDO KEY CASITAV11' fix_key --vpsmx ;; 3)scp='latam' funtit 'LATAM' 'GENERANDO KEY LATAM' instal=$(cat /etc/scripts/scripts.json|jq '.scripts[2].data.instal') fix_key --latam ;; 4)scp='darnix' instal=$(cat /etc/scripts/scripts.json|jq '.scripts[3].data.instal') funtit 'DARNIX' 'GENERANDO KEY DARNIX' fix_key --darnix ;; 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