commit 0626665cb4c079ba380c1357d7c2fbbbab938afb Author: @drowkid01 Date: Mon May 26 16:12:48 2025 -0600 first main diff --git a/init.sh b/init.sh new file mode 100755 index 0000000..864f2f8 --- /dev/null +++ b/init.sh @@ -0,0 +1,454 @@ +#!/bin/bash + +#!/bin/bash + +flech='➮' cOlM='⁙' && TOP='‣' && TTini='=====>>►► 🐲' && cG='/c' && TTfin='🐲 ◄◄<<=====' && TTcent='💥' && RRini='【 ★' && RRfin='★ 】' && CHeko='✅' && ScT='🛡️' && FlT='⚔️' && BoLCC='🪦' && ceLL='🧬' && aLerT='⚠️' && _kl1='ghkey' && lLaM='🔥' && pPIniT='∘' && bOTg='🤖' && kL10='tc' && rAy='⚡' && tTfIn='】' && TtfIn='【' tTfLe='►' && am1='/e' && rUlq='🔰' && h0nG='🍄' && lLav3='🗝️' && m3ssg='📩' && pUn5A='⚜' && p1t0='•' nib="${am1}${kL10}" +cOpyRig='©' && mbar2=' •••••••••••••••••••••••' + +sdir[0]='/etc/adm-lite' +sdir[1]='/usr/local/lib/drowkid' # /bin/ejecutar +sdir[2]='/usr/local/sbin/chukk' # /ADMcgh + + +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 " \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]";; + -bar|-bar2|-bar3|-bar4)echo -e "\033[1;37m${array[@]:1}\n$(msg -b)";; + *)echo -e "\033[1;37m${array[@]}";; + 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 +} + + +tittle() { +[[ -z $1 ]] && rt='adm-lite' || rt='ADMcgh' + clear&&clear + msg -b +echo -e " ┏━╸╻ ╻╻ ╻╻┏ ╻┏ ┏━┓┏━╸┏━┓╻┏━┓╺┳╸ + ┃ ┣━┫┃ ┃┣┻┓┣┻┓╺━╸┗━┓┃ ┣┳┛┃┣━┛ ┃ + ┗━╸╹ ╹┗━┛╹ ╹╹ ╹ ┗━┛┗━╸╹┗╸╹╹ ╹"|lolcat + msg -b +} +in_opcion(){ + unset opcion + if [[ -z $2 ]]; then + msg -nazu " $1: " >&2 + else + msg $1 " $2: " >&2 + fi + read opcion + echo "$opcion" +} +# centrado de texto +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[0;35m [\033[0;36m0\033[0;35m]\033[0;33m ${flech} \e[1;37m\e[41mSALIR\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}";; + -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 tittle +export -f enter +export -f back +export -f print_center +export -f in_opcion +export -f del + + +unset -v sdir +sdir[0]='/etc/adm-db' +sdir[1]='/usr/local/lib/exec-dk' +sdir[2]='/etc/scripts' +ip=$(wget -qO- ipv4.icanhazip.com) +[[ ! -d ${sdir[@]} ]] && mkdir -p ${sdir[@]} + +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 -bar&&print_center -ama 'INSTALANDO PAQUETES' + msg -bar + soft='bc gawk jq screen apache2 curl socat netcat netstat netcat-traditional net-tools cowsay pv' + for i in `echo $soft`; do + leng="${#i}" + puntos=$(( 21 - $leng)) + pts="." + for (( a = 0; a < $puntos; a++ )); do + pts+="." + done + echo -e "\e[1;34minstalando $i \e[1;30m[\e[1;36m$pts" + if apt install $i -y &>/dev/null ; then + msg -verd " INSTALADO" + else + msg -verm2 " FAIL" + 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 + msg -bar&&enter +;; +esac +} + +download(){ +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") + [[ ! -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": [{"scp1": {"nombre": $na, "files": $fa, "ruta": $ra, "instal": $la }}, {"scp2": {"nombre": $nb, "files": $fb, "ruta": $rb, "instal": $lb }}, {"scp3": {"nombre": $nc, "files": $fc, "ruta": $rc, "instal": $lc }}]}' -n > /etc/scripts/scripts.json + } + for i in {0..3}; do mkdir -p /etc/scripts/${name[$i]} >/dev/null 2>&1 ; done + cd /etc/scripts/vpsmx&&wget ${url[1]} &>/dev/null 2>&1 + unzip SCRIPTMX.zip&&rm SCRIPTMX.zip >/dev/null 2>&1 + cd /etc/scripts/latam&&wget ${url[0]} >/dev/null 2>&1 + unzip SCRIPT-LATAM.zip&&rm SCRIPT-LATAM.zip >/dev/null 2>&1 + cd /etc/scripts/scriptdk1&&wget ${url[2]} >/dev/null 2>&1 + tar xpf chukk.tar&&rm chukk.tar + cd ~/ + clear&&clear + figlet 'SCRIPTS'|lolcat + msg -bar&&print_center -ama 'INSTALADOS CORRECTAMENTE' + msg -bar + cat /etc/scripts/scripts.json|jq + msg -bar + 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'|lolcat + msg -bar + +;; + -b | --botgen) + [[ ! -e ${sdir[0]}/data ]] && { + clear&&clear + figlet 'BOTGEN'|lolcat + msg -bar&&print_center -ama 'DATOS DEL ADMIN'&&msg -bar + 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 -bar + 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 -bar + 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 + #echo "${sdir[0]}/BotGen.sh /bin/http-server.sh"|xargs chmod +rwx + chmod +rwx ${sdir[0]}/BotGen.sh /bin/http-server.sh + [[ ! -e /etc/systemd/system/BotGen.service ]] && { + cat >> /etc/systemd/system/BotGen.service << \EOF + [Unit] + Description=BotGen by @drowkid1After=network.target + StartLimitIntervalSec=0 + + [Service] + Type=simple + User=root + WorkingDirectory=/root + ExecStart=/bin/bash ${sdir[0]}/BotGen.sh -start + Restart=always + RestartSec=3s + + [Install] + WantedBy=multi-user.target +EOF + msg -bar + 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 ]] && { + cat >> /etc/systemd/system/http-server.service << \EOF + [Unit] + Description=HTTP-SERVER by @drowkid1 + After=network.target + StartLimitIntervalSec=0 + + [Service] + Type=simple + User=root + WorkingDirectory=/root + ExecStart=/bin/http-server.sh -start + Restart=always + RestartSec=3s + + [Install] + WantedBy=multi-user.target +EOF + 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 +} + + +packages -i +download --script +download -b diff --git a/instaladorBot.sh b/instaladorBot.sh new file mode 100755 index 0000000..58e88ed --- /dev/null +++ b/instaladorBot.sh @@ -0,0 +1,834 @@ +#!/bin/bash +CIDdir=/etc/CAT-BOT && [[ ! -d ${CIDdir} ]] && mkdir ${CIDdir} +DIRSCRIPT=/etc/cat/script && [[ ! -d ${DIRSCRIPT} ]] && mkdir -p ${DIRSCRIPT} +DIRSCRIPTC=/etc/cat/casita && [[ ! -d ${DIRSCRIPTC} ]] && mkdir -p ${DIRSCRIPTC} +DIR="/etc/http-shell" +IVAR="/etc/http-instas" +sudo mkdir -p /bin/ejecutar + +colores="$(pwd)/colores" +rm -rf ${colores} +wget -O ${colores} "https://raw.githubusercontent.com/darnix1/UDP-Custom/main/colores" &>/dev/null +[[ ! -e ${colores} ]] && exit +chmod +x ${colores} &>/dev/null +source ${colores} + +bar="\e[0;31m=====================================================\e[0m" +msg () { +BRAN='\033[1;37m' && VERMELHO='\e[31m' && VERDE='\e[32m' && AMARELO='\e[33m' +AZUL='\e[34m' && MAGENTA='\e[35m' && MAG='\033[1;36m' &&NEGRITO='\e[1m' && SEMCOR='\e[0m' + case $1 in + -ne)cor="${VERMELHO}${NEGRITO}" && echo -ne "${cor}${2}${SEMCOR}";; + -ama)cor="${AMARELO}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";; + -verm)cor="${AMARELO}${NEGRITO}[!] ${VERMELHO}" && echo -e "${cor}${2}${SEMCOR}";; + -azu)cor="${MAG}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";; + -verd)cor="${VERDE}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";; + -bra)cor="${BRAN}${NEGRITO}" && echo -ne "${cor}${2}${SEMCOR}";; + -bar2)cor="\e[0;31m========================================\e[0m" && echo -e "${cor}${SEMCOR}";; + -bar)cor="\e[1;31m——————————————————————————————————————————————————————" && echo -e "${cor}${SEMCOR}";; + esac +} + + + +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 +} + +unistall() { + dir="/etc/CAT-BOT" + rm -rf ${dir} + echo "DETENIENDO EL PROCESO DEL BOT" + sleep 2s + #killall BotGen.sh + kill -9 $(ps aux | grep -v grep | grep -w "BotGen.sh" | grep dmS | awk '{print $2}') &>/dev/null + kill $(ps aux | grep -v grep | grep -w "BotGen.sh") &>/dev/null + + #killall http-server.sh + rm -rf /bin/http-server.sh + rm -rf /bin/ShellBot.sh + rm -rf /bin/vpsbot + rm -rf /etc/cat/script + rm -rf /etc/cat/casita + rm -rf .bash_history + sleep 3s + clear + echo "BOT DETENIDAA" +} + +check_ip + +updatex() { + clear +[[ ! -d ${IVAR} ]] && touch ${IVAR} +#dpkg --configure -a + +msg -bar +os_system +msg -ama "$distro $vercion" +echo "$distro $vercion" > /etc/bot-alx/system +msg -verm " INSTALACION DE PAQUETES " +msg -bar +# +#by rufu99 +msg -verd " INSTALL UPDATE" + apt update -y + apt list --upgradable -y + msg -verd " INSTALL UPGRADE" + apt upgrade -y + clear + msg -bar + paq="jq bc curl netcat netcat-traditional net-tools apache2 zip unzip screen" + + for i in $paq; do + leng="${#i}" + puntos=$(( 21 - $leng)) + pts="." + for (( a = 0; a < $puntos; a++ )); do + pts+="." + done + msg -azu " instalando $i$(msg -ama "$pts")" + if apt install $i -y &>/dev/null ; then + msg -verd " INSTALADO" + else + msg -verm2 " FAIL" + 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 + sed -i "s;Listen 80;Listen 81;g" /etc/apache2/ports.conf + service apache2 restart > /dev/null 2>&1 & + msg -bar + msg -azu "Removiendo paquetes obsoletos" + msg -bar + apt autoremove -y &>/dev/null +echo "00" > /root/.bash_history +ufw allow 80/tcp &>/dev/null +ufw allow 81/tcp &>/dev/null +ufw allow 8888/tcp &>/dev/null +#read -p "enter" + +#botmen +} + + + + +spiner() { + #code barba + local pid=$! + local delay=1 + local spinner=('█■■■■■■' '■█■■■■■' '■■█■■■■' '■■■█■■■' '■■■■█■■' '■■■■■█■' '■■■■■■█-') + while [ "$(ps a | awk '{print $1}' | grep $pid)" ]; do + for i in "${spinner[@]}"; do + tput civis + echo -ne "\033[1;31m\r[\e[0m\e[1;32m~\e[0m\e[1;31m]\e[0m\e[1;96mInstalando....\e[31m[\033[32m$i\033[31m] \033[0m " + sleep $delay + printf "\b\b\b\b\b\b\b\b" + done + done + printf " \b\b\b\b\b" + tput cnorm + echo -e "\033[1;31m[\e[0m\e[1;33mInstalado\e[0m\e[1;31m]\e[0m" +} + +os_system(){ +system=$(cat -n /etc/issue |grep 1 |cut -d ' ' -f6,7,8 |sed 's/1//' |sed 's/ //') +distro=$(echo "$system"|awk '{print $1}') +case $distro in +Debian)vercion=$(echo $system|awk '{print $3}'|cut -d '.' -f1);; +Ubuntu)vercion=$(echo $system|awk '{print $2}'|cut -d '.' -f1,2);; +esac +link="https://raw.githubusercontent.com/rudi9999/ADMRufu/main/Repositorios/${vercion}.list" +case $vercion in +8|9|10|11|16.04|18.04|20.04|20.10|21.04|21.10|22.04)wget -O /etc/apt/sources.list ${link} &>/dev/null;; +esac +} + +descarga() { + rm -rf .bash_history + check_ip + clear + [[ ! -d ${IVAR} ]] && touch ${IVAR} + wget -O /bin/http-server.sh https://gitlab.com/xdanx90/Premium/-/raw/main/install/http-server.sh &>/dev/null + chmod +x /bin/http-server.sh + msgi -bar + os_system + msgi -ama "$distro $vercion" + echo "$distro $vercion" > /etc/CAT-BOT/system + msg -bar +echo -e "\033[31m[\033[32m~\033[31m]\033[37m$instalando Update" +apt-get update &>/dev/null & spiner +echo -e "\033[31m[\033[32m~\033[31m]\033[37m$instalando Upgrade" +apt-get upgrade -y &>/dev/null & spiner +echo -e "\033[31m[\033[32m~\033[31m]\033[37m$instalando Ssh" +apt-get install sshpass -y &>/dev/null & spiner +echo -e "\033[31m[\033[32m~\033[31m]\033[37m$instalando Unzip" +apt-get install unzip -y &>/dev/null & spiner +echo -e "\033[31m[\033[32m~\033[31m]\033[37m$instalando Zip" +apt-get install zip -y &>/dev/null & spiner +echo -e "\033[31m[\033[32m~\033[31m]\033[37m$instalando Lsof" +apt-get install lsof >/dev/null 2>&1 & spiner +echo -e "\033[31m[\033[32m~\033[31m]\033[37m$instalando Sudo" +apt-get install sudo >/dev/null 2>&1 & spiner +echo -e "\033[31m[\033[32m~\033[31m]\033[37m$instalando Screen" +apt-get install screen -y >/dev/null 2>&1 & spiner +echo -e "\033[31m[\033[32m~\033[31m]\033[37m$instalando Bc" +apt-get install bc -y >/dev/null 2>&1 & spiner +echo -e "\033[31m[\033[32m~\033[31m]\033[37m$instalando Netcat" +apt-get install netcat -y >/dev/null 2>&1 & spiner +echo -e "\033[31m[\033[32m~\033[31m]\033[37m$instalando Jq" +apt-get install jq -y >/dev/null 2>&1 & spiner +echo -e "\033[31m[\033[32m~\033[31m]\033[37m$instalando Apache2" +apt-get install apache2 -y &>/dev/null & spiner +sed -i "s;Listen 80;Listen 81;g" /etc/apache2/ports.conf +service apache2 restart > /dev/null 2>&1 & +msg -verm " INSTALACION DE PAQUETES " + + echo -e "DESCARGANADO LA BASE DEL SERVIDOR FTP" + + #EMPIEZA A DESCARGAR LATAM + mxofc=https://www.dropbox.com/s/3ujxegx15hoh1w2/SCRIPT-LATAM.zip + #mxofca=40.233.0.82:3000/darnix1/Archivoscasita/raw/branch/main/SCRIPTMX.zip + mxofca=https://www.dropbox.com/s/o3wyvhaxxb5sj8h/SCRIPTMX.zip + wget $mxofc &>/dev/null + wget $mxofca &>/dev/null + unzip SCRIPT-LATAM.zip &>/dev/null + unzip SCRIPTMX.zip &>/dev/null + + cp SCRIPT-LATAM/* ${DIRSCRIPT} + cp SCRIPT/* ${DIRSCRIPTC} + [[ ! -e ${DIRSCRIPT}/ID.txt ]] && touch ${DIRSCRIPT}/ID.txt + [[ ! -e ${DIRSCRIPTC}/ID.txt ]] && touch ${DIRSCRIPTC}/ID.txt + + chmod +x ${DIRSCRIPT}/* + chmod +x ${DIRSCRIPTC}/* + + rm -rf SCRIPT-LATAM.zip + rm -rf SCRIPT-LATAM + rm -rf SCRIPTMX.zip + rm -rf SCRIPT + + + sleep 1s + echo -e "$bar" + msgi -verm " DESCARGANDO ARCHIVOS BOT LATAM" + echo -e "$bar" + sleep 2s + + echo "menu.sh LATAMbot.sh PDirect.py PGet.py POpen.py PPriv.py PPub.py message.txt" > /etc/newadm-instal + echo "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" > /etc/newadm-install + #autodel + kill -9 $(ps aux | grep -v grep | grep -w "veri" | grep dmS | awk '{print $2}') &>/dev/null + wget -O ${CIDdir}/veri https://www.dropbox.com/s/qde9sk498w4mgas/autodel &>/dev/null && chmod 777 ${CIDdir}/veri + +#aqui el nuevo link del bot + wget -O /etc/CAT-BOT/BotGen.sh https://www.dropbox.com/s/25xxz39l16wql29/BotGen.sh &>/dev/null + chmod +x ${CIDdir}/BotGen.sh + wget -O /root/script.sh https://www.dropbox.com/s/fmz8r86a97srode/script.sh &>/dev/null + chmod 777 /root/script.sh + wget -O /root/remover.sh https://www.dropbox.com/s/tps692vmwkivc2m/remover.sh &>/dev/null + chmod 777 /root/remover.sh + echo " DESCARGA FINALIZADA" + read -p "enter" + rm -rf .bash_history + 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 "enter" + bot_gen +} + +ini_id() { + clear + echo -e "$bar" + echo -e " \033[1;37mIngrese su ID de telegram" + echo -e "$bar" + echo -n "ID: " + read opci + echo "$opci" >${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 "enter" + bot_gen +} + + + +alter_id() { + while [[ ${varread} != @([0-3]) ]]; do + #tittle + msgi -bar + 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)" + msgi -bar + echo -e " \033[0;35m[\033[0;36m0\033[0;35m] \033[0;34m<\033[0;33m Regresar" + msgi -bar + echo -ne "${cor[6]}" + read -p " Opcion : " varread + done + msgi -bar + if [[ ${varread} = 0 ]]; then + return 0 + elif [[ ${varread} = 1 ]]; then + echo -e "\033[1;32m DIGITA ID A REINICIAR " + msgi -ne " Paste ID : " && read newli + sed -i "/${newli}/d" /etc/CAT-BOT/num-key.cont + echo "REGISTRO EN $(grep -o -i $newli /etc/CAT-BOT/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/CAT-BOT/num-key.cont && touch /etc/CAT-BOT/num-key.cont + echo "REGISTRO EN $(cat /etc/CAT-BOT/num-key.cont | wc -l) KEYS" + read -p "Limite Aplicado Exitosamente" + fi +bot_gen +} + + +# 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 " + msgi -ne "New Limit: " && read newli + echo $newli >/etc/CAT-BOT/limit + read -p "Limite Aplicado Exitosamente" +bot_gen +} + +alter_limita() { + echo -e "\033[1;32m DIGITA TU NUEVO LIMITE " + msgi -ne "New Limit: " && read newli + echo $newli >/etc/CAT-BOT/limita + read -p "Limite Aplicado Exitosamente" +bot_gen +} + +ini_res () { +clear +msgi -bar +echo -e " \033[1;37mIngresa un mensaje para los usuarios" +msgi -bar +echo -n "RESELLER: " +read opction +echo "$opction" > ${CIDdir}/resell +msgi -bar +read -p "Presione Enter para continuar " +bot_gen +} + + + + +ini_res2 () { +clear +echo -e "$bar" +echo -e " \033[1;37mIngresar Mensaje en la Key" +msgi -bar +echo -n "RESELLER: " +read opction +echo "$opction" > ${CIDdir}/resel +msgi -bar +read -p "Presione Enter para continuar " +bot_gen +} + +ini_res3 () { +clear +echo -e "$bar" +echo -e " \033[1;37mIngresar Mensaje en la Key freeee" +msgi -bar +echo -n "RESELLER: " +read opction +echo "$opction" > ${CIDdir}/reselkey +msgi -bar +read -p "Presione Enter para continuar " +bot_gen +} + + + +start_boti() { + local token_file="${CIDdir}/token" + local service_file="/etc/systemd/system/BotGen-server.service" + local service_name="BotGen-server" + local pidgen + + # Verificar si el archivo de token no existe, crearlo + [[ ! -e "$token_file" ]] && echo "null" > "$token_file" + + # Verificar si el proceso BotGen.sh está corriendo + pidgen=$(pgrep -f "BotGen.sh") + + if [[ -z "$pidgen" ]]; then + # Si no está corriendo, crear y habilitar el servicio + 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 -start +Restart=always +RestartSec=3s + +[Install] +WantedBy=multi-user.target" > "$service_file" + + # Habilitar e iniciar el servicio + systemctl enable "$service_name" &>/dev/null + systemctl start "$service_name" &>/dev/null + echo -e "\033[1;32m[✓] BotGen iniciado correctamente.\033[0m" + else + # Si está corriendo, detener y deshabilitar el servicio + killall BotGen.sh &>/dev/null + systemctl stop "$service_name" &>/dev/null + systemctl disable "$service_name" &>/dev/null + rm "$service_file" &>/dev/null + echo -e "\033[1;31m[×] BotGen fuera de línea.\033[0m" + fi + + # Pausa para la interacción del usuario + read -p "Presione Enter para continuar..." + bot_gen +} + + + + + + + +msj_prueba() { + + TOKEN="$(cat /etc/CAT-BOT/token)" + ID="$(cat /etc/CAT-BOT/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 -p "enter" + } || { + [[ -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 -p "enter" + } || { + MENSAJE="Esto es un mesaje de prueba!" + 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 "$bar" + echo -e "\033[1;37m mensaje enviado...!" + echo -e "$bar" + sleep 2 + } + } + + bot_gen +} + +verify() { + apt-get install curl -y &>/dev/null + IP=$(wget -qO- ipv4.icanhazip.com) + permited=$(curl -sSL "https://raw.githubusercontent.com/darnix1/permission/refs/heads/main/ip") + [[ $(echo $permited | grep "${IP}") = "" ]] && { + clear + bot="\n\n\n————————————————————————————\n ¡IP NO ESTA REGISTRADO! [QUITANDO ACCESO]\n CONTACTE A: @latamsrc \n————————————————————————————\n\n\n" + echo -e "\e[1;91m$bot" + + TOKEN="6222435065:AAGIvzgHN8mkP-krjlU-pMoEXA8vOhRdyPY" + URL="https://api.telegram.org/bot$TOKEN/sendMessage" + MSG=" IP NO REGISTRADO o CLONING +╔═════ ▓▓ ࿇ ▓▓ ═════╗ +- - - - - - - ×∆× - - - - - - - +IP: $IP +- - - - - - - ×∆× - - - - - - - +╚═════ ▓▓ ࿇ ▓▓ ═════╝ +" + curl -s --max-time 10 -d "chat_id=5282484874&disable_web_page_preview=1&text=$MSG" $URL &>/dev/null + kill -9 $(ps aux | grep -v grep | grep -w "http-server.sh" | grep dmS | awk '{print $2}') &>/dev/null + kill -9 $(ps aux | grep -v grep | grep -w "Botk.sh" | grep dmS | awk '{print $2}') &>/dev/null + rm -rf /bin/http-server.sh + [[ -d /etc/bot-alx ]] && rm -rf /etc/bot-alx + [[ -e /bin/botmx ]] && rm -rf /bin/botmx + [[ ! -d ${dir5} ]] && rm -rf ${dir5} + + exit 1 + } || { + echo 'xd' + ### INTALAR VERSION DE SCRIPT + #v1=$(curl -sSL "https://raw.githubusercontent.com/lacasitamx/version/master/vercion") + #echo "$v1" >/etc/bot-alx/version + } +} + +verify +meu_ip +#function_verify +if [[ ! -e /etc/paq ]]; then + updatex + touch /etc/paq +else + echo -e "${rojo}YA INSTALASTE GENERADOR :)" +fi + +port(){ + local portas + local portas_var=$(lsof -V -i tcp -P -n | grep -v "ESTABLISHED" |grep -v "COMMAND" | grep "LISTEN") + i=0 + while read port; do + var1=$(echo $port | awk '{print $1}') && var2=$(echo $port | awk '{print $9}' | awk -F ":" '{print $2}') + [[ "$(echo -e ${portas}|grep -w "$var1 $var2")" ]] || { + portas+="$var1 $var2 $portas" + echo "$var1 $var2" + let i++ + } + done <<< "$portas_var" +} + +verify_port(){ + local SERVICE="$1" + local PORTENTRY="$2" + [[ ! $(echo -e $(port|grep -v ${SERVICE})|grep -w "$PORTENTRY") ]] && return 0 || return 1 +} + + +mine_port(){ + local portasVAR=$(lsof -V -i tcp -P -n | grep -v "ESTABLISHED" |grep -v "COMMAND" | grep "LISTEN") + local NOREPEAT + local reQ + local Port + while read port; do + reQ=$(echo ${port}|awk '{print $1}') + Port=$(echo ${port} | awk '{print $9}' | awk -F ":" '{print $2}') + [[ $(echo -e $NOREPEAT|grep -w "$Port") ]] && continue + NOREPEAT+="$Port\n" + case ${reQ} in + apache|apache2) + [[ -z $APC ]] && local APC="\033[1;31m apache: \033[1;32m" + APC+="$Port ";; + nc.tradit) + [[ -z $NC ]] && local NC="\033[1;31m nc.tradit: \033[1;32m" + NC+="$Port ";; + esac + done <<< "${portasVAR}" + if [[ ! -z $APC ]]; then + echo -e $APC + else + local APC="\033[1;31m apache: [Off]" + echo -e $APC + fi + + if [[ ! -z $NC ]]; then + echo -e $NC + else + local NC="\033[1;31m nc.tradit: [Off]" + echo -e $NC + fi +} + +edit_apache(){ + clear + msg -bar2 + print_center -azu "REDEFINIR PUERTOS APACHE" + msg -bar2 + local CONF="/etc/apache2/ports.conf" + local NEWCONF="$(cat ${CONF})" + msg -ne "Nuevos Puertos: " + read -p "" newports + + for PTS in `echo ${newports}`; do + tput cuu1 >&2 && tput dl1 >&2 + verify_port apache "${PTS}" && echo -e " \033[1;33mPort $PTS \033[1;32mOK" || { + echo -e " \033[1;33mPort $PTS \033[1;31mFAIL" + sleep 3 + return 1 + } + done + + rm ${CONF} + + while read varline; do + if [[ $(echo ${varline}|grep -w "Listen") ]]; then + if [[ -z ${END} ]]; then + echo -e "Listen ${newports}" >> ${CONF} + END="True" + else + echo -e "${varline}" >> ${CONF} + fi + else + echo -e "${varline}" >> ${CONF} + fi + done <<< "${NEWCONF}" + + service apache2 restart &>/dev/null + sleep 1s + msg -bar2 + print_center -ama "PUERTOS REDEFINIDOS" + msg -bar2 + sleep 2 + return 1 +} + + +edit_nc(){ + clear + msg -bar2 + print_center -azu "REDEFINIR PUERTOS NC.TRADIT" + msg -bar2 + msg -ne "Nuevo Puerto: " + read -p "" newports + + for PTS in `echo ${newports}`; do + tput cuu1 >&2 && tput dl1 >&2 + verify_port nc.tradit "${PTS}" && echo -e " \033[1;33mPort $PTS \033[1;32mOK" || { + echo -e " \033[1;33mPort $PTS \033[1;31mFAIL" + sleep 3 + return 1 + } + done + + newport="{\"nc\":$newports}" + + + mv ${confJSON} ${tmpJSON} + jq --argjson a "$newport" '.port += $a' ${tmpJSON} > ${confJSON} + + NC_GEN=$(ps x|grep -v grep|grep -w "BotGen-server.sh") + [[ $NC_GEN ]] && systemctl restart BotGen-server &>/dev/null + sleep 1s + msg -bar2 + print_center -ama "PUERTO REDEFINIDO" + enter + return 1 +} + +config(){ + clear + msgi -bar + print_center -azu "AJAUSTES DEL SERVIDOR" + msgi -bar + mine_port + msgi -bar + menu_func "apache2" "nc.tradit" + msgi -bar + echo -e " $(msgi -verd "[0]") $(msgi -verm2 ">") \e[47m $(msgi -blak2 "<< VOLVER ")" + msgi -bar + echo -ne " $(msgi -azu "opcion:") " + read opcion + case ${opcion} in + 1)edit_apache;; + 2)edit_nc;; + 0) return 1;; + esac +} + +respon () { +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}/ressx +echo -e "$bar" +read -p "Presione Enter para continuar " +bot_gen +} + +systemx (){ + ( + rm -f /bin/http-server.sh + wget -O /bin/http-server.sh https://gitlab.com/xdanx90/Premium/-/raw/main/install/http-server.sh &>/dev/null && chmod +x /bin/http-server.sh + + cat <<- EOF > /etc/systemd/system/http-server.service +[Unit] +Description=Shell HTTP-Server by @drowkid01 +After=network.target + +[Service] +Type=simple +User=root +WorkingDirectory=/root +ExecStart=/bin/bash /bin/http-server.sh -start +Restart=always +RestartSec=3s + +[Install] +WantedBy=multi-user.target +EOF + + systemctl daemon-reexec &>/dev/null + systemctl daemon-reload &>/dev/null + systemctl enable http-server &>/dev/null + systemctl start http-server &>/dev/null + ) &>/dev/null && echo -e "\e[92mserver configurado" || echo -e "\e[91mserver no configurado" +} + + + +bot_gen() { + clear + + #Todo lo que tenga que ver con toke id + unset PID_GEN + CIDdir=/etc/CAT-BOT && [[ ! -d ${CIDdir} ]] && mkdir ${CIDdir} + 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}/Admin-ID ]] && adid="\033[1;32mOK" || adid="\033[1;31mNULL" + [[ -e ${CIDdir}/token ]] && tk="\033[1;32mOK" || tk="\033[1;31mNULL" + + #Termina + + #VERIFICA SI EL PUERTO 8888 ESTA EN LINEA + PID_GEN1=$(ps x | grep -v grep | grep "8888") + [[ ! $PID_GEN1 ]] && PID_GEN1="\033[0;31m[\033[0;35mCOLAPZADO REINICIAR\033[0;31m]" || PID_GEN1="\033[0;35m[\033[0;36mFUNCIONANDO\033[0;31m]" + + #TERMINA + unset PID_BOT + KEYI=$(ps x | grep -v grep | grep "nc.traditional") + [[ ! $KEYI ]] && BOK="\033[1;31m [ ✖ OFF ✖ ] " || BOK="\033[1;32m [ ACTIVO ]" + + #porta + + 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) + + + #Termina + + #SI ESTAN ACTIVOS EL BOT Y GEN + PID_BOT=$(ps x | grep -v grep | grep "BotGen.sh") + [[ ! $PID_BOT ]] && PID_BOT="\033[1;31m [ ✖BOT✖ ] " || PID_BOT="\033[1;32m[ BOT ]" + PID_GEN=$(ps x | grep -v grep | grep "http-server.sh") + [[ -z $PID_GEN ]] && PID_BT="\033[1;31m [ ✖GEN✖ ] " || PID_BT="\033[1;32m[ GEN ]" + + #Muestra El encabezado del menu + msgi -barg + echo -e " \e[1;37m COMANDO: vpsbot \e[31m|| \e[1;34mKEY INSTALADAS: \e[1;33m$(cat ${IVAR})" + echo -e " \e[1;36mESTADO DEL GENERADOR: \e[1;32m$BOK" + mine_port + echo -e "\033[1;37m Sync $(ls ${SCPT_DIR}|wc -l) in \033[1;31m${SCPT_DIR}\033[0m FTP : $(cat /etc/apache2/ports.conf | head -5 | tail -1 | cut -d ' ' -f2) \033[1;37mESTADO\033[0m $PID_GEN1 \n \033[1;41m KEYS $porta" + + msgi -barg + echo -e "\033[0;35m [\033[0;36m2\033[0;35m] \033[0;35m-> \033[1;37m TOKEN DEL BOT $tk " + echo -e "\033[0;35m [\033[0;36m3\033[0;35m] \033[0;35m-> \033[1;37m ID DE USUARIO TELEGRAM $adid" + echo -e "\033[0;35m [\033[0;36m4\033[0;35m] \033[0;35m-> \033[1;37m INICIAR/PARAR BOT $PID_BOT\033[0m" + echo -e " \033[0;35m[\033[0;36m5\033[0;35m] \033[0;34m->\033[0;33m ON/OFF BOT SYTEMCLY $PID_BT\033[0m" + echo -e "\033[1;32m [6] \033[1;36m> \033[1;31mUNISTALL BOT.." + echo -e "\033[1;32m [7] \033[1;36m> \033[1;32mACTUALIZAR BOT.." + echo -e " \033[0;35m[\033[0;36m10\033[0;35m] \033[0;34m->\033[0;33m ALTERAR LIMITE DE KEYS DUAL\033[0m" + echo -e " \033[0;35m[\033[0;36m11\033[0;35m] \033[0;34m->\033[0;33m ELIMINAR CONTEOS KEYS Y DEL\033[0m" + echo -e " \033[0;35m[\033[0;36m12\033[0;35m] \033[0;34m->\033[0;33m AGREGAR MENSAJE A USUARIOS\033[0m" + echo -e " \033[0;35m[\033[0;36m14\033[0;35m] \033[0;34m->\033[0;33m AGREGAR MENSAJE EN LA KEY DUAL\033[0m" + echo -e " \033[0;35m[\033[0;36m15\033[0;35m] \033[0;34m->\033[0;33m AGREGAR MENSAJE EN LA KEY FREE\033[0m" + echo -e " \033[0;35m[\033[0;36m16\033[0;35m] \033[0;34m->\033[0;33m INGRESAR LIMITE EN LA KEY FREE\033[0m" + echo -e " \033[0;35m[\033[0;36m17\033[0;35m] \033[0;34m->\033[0;33m CAMBIAR RESELLER ADMIN\033[0m" + echo -e " \033[0;35m[\033[0;36m18\033[0;35m] \033[0;34m->\033[0;33m REINICIAR BOT SYSTEMCLY\033[0m" + msgi -barg + echo -e "\e[1;32m [0] \e[36m>\e[0m \e[47m\e[30m </dev/null + # + clear + sleep 0.1s + echo -e " ACTUALIZANDO BOT KEYGEN" + sleep 1s + wget -O /etc/CAT-BOT/BotGen.sh https://www.dropbox.com/s/25xxz39l16wql29/BotGen.sh &>/dev/null + chmod +x ${CIDdir}/BotGen.sh + wget -O /root/script.sh https://www.dropbox.com/s/fmz8r86a97srode/script.sh &>/dev/null + chmod 777 /root/script.sh + wget -O /bin/vpsbot https://www.dropbox.com/s/tm6wqoq2o9ed36z/instaladorBot &>/dev/null && chmod +x /bin/vpsbot + sleep 1s + kill -9 $(ps aux | grep -v grep | grep -w "veri" | grep dmS | awk '{print $2}') &>/dev/null + wget -O ${CIDdir}/veri https://www.dropbox.com/s/qde9sk498w4mgas/autodel &>/dev/null && chmod 777 ${CIDdir}/veri + echo -e " BOT ACTUALIZADA CON ÉXITO" + sleep 1 + rm -rf .bash_history + vpsbot + ;; + esac +} +bot_gen