2025-05-26 16:12:48 -06:00
|
|
|
|
#!/bin/bash
|
2025-05-26 18:13:53 -06:00
|
|
|
|
flech='=>'
|
2025-05-26 21:24:35 -06:00
|
|
|
|
#==>> funciones generales.
|
2025-05-26 16:12:48 -06:00
|
|
|
|
menu_func(){
|
|
|
|
|
|
local options=${#@}
|
|
|
|
|
|
local array
|
|
|
|
|
|
for((num=1; num<=$options; num++)); do
|
2025-05-26 18:13:53 -06:00
|
|
|
|
#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] <<======>> [#"
|
2025-05-26 16:12:48 -06:00
|
|
|
|
#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]";;
|
2025-05-26 18:13:53 -06:00
|
|
|
|
-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]";;
|
2025-05-26 16:12:48 -06:00
|
|
|
|
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
|
2025-05-26 21:24:35 -06:00
|
|
|
|
echo -ne " \033[1;30m [\033[1;36m0\033[1;30m] <<====>> [\e[48;5;99m#\e[1;37mSALIR\e[1;30m]\e[0m\n"
|
2025-05-26 16:12:48 -06:00
|
|
|
|
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}";;
|
2025-05-27 01:07:38 -06:00
|
|
|
|
-m)echo -e "\e[38;5;99m$2\e[0m";;
|
2025-05-26 16:12:48 -06:00
|
|
|
|
-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
|
2025-05-26 20:08:53 -06:00
|
|
|
|
export -f del printext mportas
|
2025-05-26 21:24:35 -06:00
|
|
|
|
#==>> instalador
|
2025-05-26 16:12:48 -06:00
|
|
|
|
unset -v sdir
|
|
|
|
|
|
sdir[0]='/etc/adm-db'
|
|
|
|
|
|
sdir[1]='/usr/local/lib/exec-dk'
|
|
|
|
|
|
sdir[2]='/etc/scripts'
|
2025-05-26 20:47:17 -06:00
|
|
|
|
urL='https://darix.ooguy.com/drowkid01/dpbt/raw/branch/main'
|
|
|
|
|
|
|
2025-05-26 16:12:48 -06:00
|
|
|
|
ip=$(wget -qO- ipv4.icanhazip.com)
|
|
|
|
|
|
[[ ! -d ${sdir[@]} ]] && mkdir -p ${sdir[@]}
|
2025-05-26 18:13:53 -06:00
|
|
|
|
echo $ip > /usr/local/lib/exec-dk/ipdk
|
2025-05-26 16:12:48 -06:00
|
|
|
|
|
2025-05-26 22:11:56 -06:00
|
|
|
|
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) <20>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() {
|
2025-05-27 01:07:38 -06:00
|
|
|
|
rm ${SCPT_DIR}/*.x.c &>/dev/null
|
|
|
|
|
|
unset KEY VALUE
|
2025-05-26 22:11:56 -06:00
|
|
|
|
KEY="$1"
|
|
|
|
|
|
name="$2"
|
2025-05-27 01:07:38 -06:00
|
|
|
|
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]}
|
2025-05-26 22:11:56 -06:00
|
|
|
|
#CRIA DIR
|
|
|
|
|
|
i=0
|
2025-05-27 01:07:38 -06:00
|
|
|
|
#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
|
2025-05-26 22:11:56 -06:00
|
|
|
|
[[ $(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"
|
2025-05-27 01:07:38 -06:00
|
|
|
|
[[ -z $arqslist ]] && arqslist=$(ls /etc/scripts/${SCPT_DIR})
|
2025-05-26 22:11:56 -06:00
|
|
|
|
for arqx in $(echo "${arqslist}"); do
|
|
|
|
|
|
[[ -e ${DIR}/${KEY}/$arqx ]] && continue #ANULA ARQUIVO CASO EXISTA
|
2025-05-27 01:07:38 -06:00
|
|
|
|
cp /etc/scripts/${scp}/$arqx ${DIR}/${KEY}/
|
2025-05-26 22:11:56 -06:00
|
|
|
|
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
|
2025-05-27 01:07:38 -06:00
|
|
|
|
rm /etc/scripts/${SCPT_DIR}/*.x.c &>/dev/null
|
|
|
|
|
|
cp /etc/scripts/${SCPT_DIR}/${arq_list[$arqx]} ${DIR}/${KEY}/
|
2025-05-26 22:11:56 -06:00
|
|
|
|
echo "${arq_list[$arqx]}" >>${DIR}/${KEY}/${LIST}
|
|
|
|
|
|
done
|
|
|
|
|
|
echo "TRUE" >>${DIR}/${KEY}/FERRAMENTA
|
|
|
|
|
|
fi
|
2025-05-27 01:07:38 -06:00
|
|
|
|
rm /etc/scripts/${SCPT_DIR}/*.x.c &>/dev/null
|
2025-05-26 22:11:56 -06:00
|
|
|
|
echo "$nombrevalue" >${DIR}/${KEY}.name
|
|
|
|
|
|
[[ ! -z $IPFIX ]] && echo "$IPFIX" >${DIR}/${KEY}/keyfixa
|
|
|
|
|
|
echo -e "-------------------------------------------------"
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-05-27 01:07:38 -06:00
|
|
|
|
ofus(){
|
2025-05-26 22:11:56 -06:00
|
|
|
|
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() {
|
2025-05-27 01:07:38 -06:00
|
|
|
|
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
|
2025-05-26 22:11:56 -06:00
|
|
|
|
[[ -z $nomkey ]] && {
|
2025-05-27 01:07:38 -06:00
|
|
|
|
nomkey="@drowkid1"
|
2025-05-26 22:11:56 -06:00
|
|
|
|
}
|
|
|
|
|
|
msg -b
|
2025-05-27 01:07:38 -06:00
|
|
|
|
vkey=${nomkey:+@drowkid1}
|
2025-05-26 22:11:56 -06:00
|
|
|
|
msg -b
|
2025-05-27 01:07:38 -06:00
|
|
|
|
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)"
|
2025-05-26 22:11:56 -06:00
|
|
|
|
#valuekey+="$(echo $(($RANDOM*10))|head -c 5)"
|
2025-05-27 01:07:38 -06:00
|
|
|
|
list_fix "$valuekey" "$(($w + 1 ))" "$nscp" "$1"
|
2025-05-26 22:11:56 -06:00
|
|
|
|
keyfinal=$(ofus "$(wget -qO- ipv4.icanhazip.com):8888/$valuekey/$LIST")
|
2025-05-27 01:07:38 -06:00
|
|
|
|
#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}"
|
2025-05-26 22:11:56 -06:00
|
|
|
|
done
|
|
|
|
|
|
msg -b
|
2025-05-27 01:07:38 -06:00
|
|
|
|
[[ -z $vkey ]] && vkey="@drowkid01"
|
2025-05-26 22:11:56 -06:00
|
|
|
|
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() {
|
|
|
|
|
|
while [[ ! $Keey ]]; do
|
|
|
|
|
|
clear
|
|
|
|
|
|
export PATH=$PATH:/usr/sbin:/usr/local/sbin:/usr/local/bin:/usr/bin:/sbin:/bin:/usr/games
|
|
|
|
|
|
echo -e "\n \033[1;32m DIGITA TU KEY A VERIFICAR "
|
|
|
|
|
|
msg -ne "Script Key: " && read Keey
|
|
|
|
|
|
[[ ! -z $Keey ]] && Keey="$(echo "$Keey" | tr -d '[[:space:]]')"
|
|
|
|
|
|
tput cuu1 && tput dl1
|
|
|
|
|
|
done
|
|
|
|
|
|
REQUEST=$(ofus "$Keey" | cut -d'/' -f2)
|
|
|
|
|
|
echo -e "\n"
|
|
|
|
|
|
echo -e " FILE Contend : ${REQUEST} $(echo ${REQUEST} | wc -c)"
|
|
|
|
|
|
echo -e "\n"
|
|
|
|
|
|
echo -e " VERIFICA, Si tu key Contiene \033[1;45m KEY DE ChumoGH! \033[0m "
|
|
|
|
|
|
echo -e "\n"
|
|
|
|
|
|
msg -ne " Link Key: http://$(ofus $Keey) \n "
|
|
|
|
|
|
IiP=$(ofus "$Keey" | grep -vE '127\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}' | grep -o -E '[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}\.[0-9]{1,3}')
|
|
|
|
|
|
[[ $(curl -s --connect-timeout 2 $IiP:8888) ]] && echo -e "\033[1;42mCONEXION CON SERVIDOR EXITOSA\033[0m" || echo -e "\033[1;43mCONEXION CON SERVIDOR FALLIDA\033[0m"
|
|
|
|
|
|
wget --no-check-certificate -O $HOME/list-key $(ofus $Keey)/$(wget -qO- ipv4.icanhazip.com) >/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 DE ChumoGH!" ]] &&
|
|
|
|
|
|
echo -e "KEY FUNCIONAL" && rm -f $HOME/list-key && echo -ne "\033[0m"
|
|
|
|
|
|
} || echo -e " KEY INVALIDA O USADA\033[0m\n"
|
|
|
|
|
|
#curl -s --connect-timeout 2 ${IiP}:81/${REQUEST}/menu_credito > menu_credito
|
|
|
|
|
|
msg -ne " RESELLER del Key :\033[0m "
|
|
|
|
|
|
[[ -e $HOME/install/menu_credito ]] && {
|
|
|
|
|
|
echo -ne " "
|
|
|
|
|
|
[[ "$(cat $HOME/install/menu_credito)" = "" ]] && {
|
|
|
|
|
|
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"
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-05-26 16:12:48 -06:00
|
|
|
|
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
|
2025-05-27 01:07:38 -06:00
|
|
|
|
msg -b&&print_center -m 'INSTALANDO PAQUETES'
|
2025-05-26 22:11:56 -06:00
|
|
|
|
msg -b
|
2025-05-26 18:13:53 -06:00
|
|
|
|
soft='bc gawk jq screen curl socat netcat netstat netcat-traditional net-tools cowsay pv'
|
2025-05-26 16:12:48 -06:00
|
|
|
|
for i in `echo $soft`; do
|
|
|
|
|
|
leng="${#i}"
|
|
|
|
|
|
puntos=$(( 21 - $leng))
|
|
|
|
|
|
pts="."
|
2025-05-26 16:53:40 -06:00
|
|
|
|
echo -ne "\n\e[1;30m[#\e[1;34minstalando \e[1;36m$i\e[1;30m] \e[1;30m[\e[1;36m$pts"
|
2025-05-26 16:12:48 -06:00
|
|
|
|
for (( a = 0; a < $puntos; a++ )); do
|
2025-05-26 16:53:40 -06:00
|
|
|
|
echo -ne "\e[38;5;${z:=38}m${pts}"&&sleep 0.4
|
|
|
|
|
|
z=$(( ${z:=10} + 17))
|
2025-05-26 16:12:48 -06:00
|
|
|
|
done
|
|
|
|
|
|
if apt install $i -y &>/dev/null ; then
|
2025-05-26 16:53:40 -06:00
|
|
|
|
echo -ne "\e[1;30m] \e[1;32m instalado\n"
|
2025-05-26 20:47:17 -06:00
|
|
|
|
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"
|
2025-05-26 16:12:48 -06:00
|
|
|
|
else
|
2025-05-26 16:53:40 -06:00
|
|
|
|
echo -ne "\e[1;30m]\e[1;31m no instalado\n"
|
2025-05-26 16:12:48 -06:00
|
|
|
|
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
|
2025-05-26 16:53:40 -06:00
|
|
|
|
#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
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-05-26 21:24:35 -06:00
|
|
|
|
enter
|
2025-05-26 16:12:48 -06:00
|
|
|
|
;;
|
|
|
|
|
|
esac
|
|
|
|
|
|
}
|
2025-05-26 21:32:05 -06:00
|
|
|
|
urL='https://darix.ooguy.com/drowkid01/dpbt/raw/branch/main'
|
2025-05-26 16:12:48 -06:00
|
|
|
|
download(){
|
2025-05-26 21:24:35 -06:00
|
|
|
|
local urL='https://darix.ooguy.com/drowkid01/dpbt/raw/branch/main'
|
2025-05-26 16:12:48 -06:00
|
|
|
|
case $1 in
|
|
|
|
|
|
-s | --script)
|
2025-05-27 01:07:38 -06:00
|
|
|
|
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" )
|
2025-05-26 16:12:48 -06:00
|
|
|
|
[[ ! -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
|
2025-05-26 18:13:53 -06:00
|
|
|
|
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
|
2025-05-26 20:47:17 -06:00
|
|
|
|
mv -f /etc/scripts/scripts.json /etc/scripts/scps.json
|
|
|
|
|
|
wget -O /etc/scripts/scripts.json ${urL}/scripts/scripts.json >/dev/null 2>&1
|
2025-05-26 16:12:48 -06:00
|
|
|
|
}
|
2025-05-27 01:07:38 -06:00
|
|
|
|
#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
|
2025-05-26 20:47:17 -06:00
|
|
|
|
unzip SCRIPTMX.zip >/dev/null 2>&1&&rm SCRIPTMX.zip >/dev/null 2>&1
|
2025-05-27 01:07:38 -06:00
|
|
|
|
mv /etc/scripts/SCRIPT /etc/scripts/vpsmx
|
|
|
|
|
|
cd /etc/scripts&&wget ${url[0]} >/dev/null 2>&1
|
2025-05-26 20:47:17 -06:00
|
|
|
|
unzip SCRIPT-LATAM.zip >/dev/null 2>&1&&rm SCRIPT-LATAM.zip >/dev/null 2>&1
|
2025-05-27 01:07:38 -06:00
|
|
|
|
mv /etc/scripts/SCRIPT-LATAM /etc/scripts/latam
|
2025-05-26 16:12:48 -06:00
|
|
|
|
cd /etc/scripts/scriptdk1&&wget ${url[2]} >/dev/null 2>&1
|
2025-05-27 01:07:38 -06:00
|
|
|
|
tar xpf chukk.tar&&rm -rf chukk.tar userDIR *.txt 0 >/dev/null 2>&1
|
2025-05-26 16:12:48 -06:00
|
|
|
|
cd ~/
|
|
|
|
|
|
clear&&clear
|
|
|
|
|
|
figlet 'SCRIPTS'|lolcat
|
2025-05-27 01:07:38 -06:00
|
|
|
|
msg -b&&print_center -m 'INSTALADOS CORRECTAMENTE'
|
2025-05-26 22:11:56 -06:00
|
|
|
|
msg -b
|
2025-05-26 16:12:48 -06:00
|
|
|
|
cat /etc/scripts/scripts.json|jq
|
2025-05-26 22:11:56 -06:00
|
|
|
|
msg -b
|
2025-05-26 16:12:48 -06:00
|
|
|
|
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
|
2025-05-26 16:53:40 -06:00
|
|
|
|
figlet 'scpdk1'<EFBFBD><EFBFBD>|lolc
|
2025-05-26 22:11:56 -06:00
|
|
|
|
msg -b
|
2025-05-26 16:12:48 -06:00
|
|
|
|
|
|
|
|
|
|
;;
|
|
|
|
|
|
-b | --botgen)
|
|
|
|
|
|
[[ ! -e ${sdir[0]}/data ]] && {
|
|
|
|
|
|
clear&&clear
|
|
|
|
|
|
figlet 'BOTGEN'|lolcat
|
2025-05-27 01:07:38 -06:00
|
|
|
|
msg -b&&print_center -m 'DATOS DEL ADMIN'&&msg -b
|
2025-05-26 16:12:48 -06:00
|
|
|
|
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
|
2025-05-26 22:11:56 -06:00
|
|
|
|
msg -b
|
2025-05-26 16:12:48 -06:00
|
|
|
|
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
|
2025-05-26 22:11:56 -06:00
|
|
|
|
msg -b
|
2025-05-26 16:12:48 -06:00
|
|
|
|
print_center "$(echo -e "\e[1;32m[+] DATOS GUARDADOS EXITOSAMENTE [+]")"
|
|
|
|
|
|
data+="$id"
|
|
|
|
|
|
echo $data > ${sdir[0]}/data
|
|
|
|
|
|
enter
|
|
|
|
|
|
}
|
2025-05-26 20:47:17 -06:00
|
|
|
|
#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
|
2025-05-26 21:32:05 -06:00
|
|
|
|
urL='https://darix.ooguy.com/drowkid01/dpbt/raw/branch/main'
|
2025-05-26 20:47:17 -06:00
|
|
|
|
[[ -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
|
2025-05-26 16:12:48 -06:00
|
|
|
|
chmod +rwx ${sdir[0]}/BotGen.sh /bin/http-server.sh
|
|
|
|
|
|
[[ ! -e /etc/systemd/system/BotGen.service ]] && {
|
2025-05-26 18:21:04 -06:00
|
|
|
|
wget -O /etc/systemd/system/BotGen.service https://darix.ooguy.com/drowkid01/dpbt/raw/branch/main/otros/BotGen.service &>/dev/null 2>&1
|
2025-05-26 22:11:56 -06:00
|
|
|
|
msg -b
|
2025-05-26 16:12:48 -06:00
|
|
|
|
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 ]] && {
|
2025-05-26 18:21:04 -06:00
|
|
|
|
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
|
2025-05-26 16:12:48 -06:00
|
|
|
|
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
|
|
|
|
|
|
}
|
|
|
|
|
|
|
2025-05-26 18:13:53 -06:00
|
|
|
|
if [[ $1 == @('-i'|'--install') ]]; then
|
|
|
|
|
|
packages -i
|
|
|
|
|
|
download --script
|
2025-05-26 20:47:17 -06:00
|
|
|
|
download --botgen
|
2025-05-26 18:13:53 -06:00
|
|
|
|
elif [[ $1 == @('-m'|'--menu') ]]; then
|
2025-05-26 21:24:35 -06:00
|
|
|
|
#==>>> menú botgen
|
2025-05-27 01:07:38 -06:00
|
|
|
|
function funtit(){
|
|
|
|
|
|
clear&&clear
|
|
|
|
|
|
figlet "$1"|lolcat
|
|
|
|
|
|
msg -bar
|
|
|
|
|
|
[[ -n $2 ]] && print_center -m "$2"
|
|
|
|
|
|
}
|
2025-05-26 18:13:53 -06:00
|
|
|
|
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
|
2025-05-26 20:47:17 -06:00
|
|
|
|
unset pb pB ph pH
|
2025-05-26 21:24:35 -06:00
|
|
|
|
[[ $(systemctl is-active BotGen|grep -w 'inactive') == 'inactive' ]] && {
|
2025-05-26 18:13:53 -06:00
|
|
|
|
pb="\e[1;31m[OFF]"&&pB="\e[1;32mACTIVAR/INICIAR BOTGEN"
|
|
|
|
|
|
} || { pb="\e[1;32m[ON] "&&pB="\e[1;31mAPAGAR BOTGEN"; }
|
2025-05-26 21:24:35 -06:00
|
|
|
|
[[ $(systemctl is-active http-server|grep -v grep|grep 'inactive') == 'inactive' ]] && {
|
2025-05-26 18:13:53 -06:00
|
|
|
|
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
|
2025-05-26 20:47:17 -06:00
|
|
|
|
menu_func 'CONFIGURAR BOT' \
|
|
|
|
|
|
'ACTUALIZAR ARCHIVOS' \
|
|
|
|
|
|
'ENVIAR MENSAJE' \
|
|
|
|
|
|
'VERIFICAR KEYS' \
|
|
|
|
|
|
'-b GENERAR KEY' \
|
|
|
|
|
|
"${pB}" \
|
|
|
|
|
|
"${pH}"
|
2025-05-26 18:13:53 -06:00
|
|
|
|
back
|
2025-05-26 20:47:17 -06:00
|
|
|
|
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;;
|
2025-05-27 01:07:38 -06:00
|
|
|
|
2)rm -rf /etc/scripts&&download --script;;
|
2025-05-26 20:47:17 -06:00
|
|
|
|
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="==================
|
2025-05-26 22:11:56 -06:00
|
|
|
|
[•] $ip: admin [•]
|
2025-05-26 20:47:17 -06:00
|
|
|
|
=============="
|
|
|
|
|
|
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 [+]"
|
2025-05-26 21:24:35 -06:00
|
|
|
|
$0 --menu
|
2025-05-26 20:47:17 -06:00
|
|
|
|
;;
|
2025-05-27 01:07:38 -06:00
|
|
|
|
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);;
|
|
|
|
|
|
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
|
|
|
|
|
|
;;
|
2025-05-26 18:13:53 -06:00
|
|
|
|
6)
|
2025-05-26 21:24:35 -06:00
|
|
|
|
if [[ $(systemctl is-active BotGen) != 'inactive' ]]; then
|
2025-05-26 18:13:53 -06:00
|
|
|
|
msg -r 'BOTGEN APAGADO CORRECTAMENTE'
|
2025-05-26 21:24:35 -06:00
|
|
|
|
eval $(systemctl stop BotGen)
|
2025-05-26 18:13:53 -06:00
|
|
|
|
else
|
|
|
|
|
|
msg -v "BOTGEN ACTIVADO CORRECTAMENTE"
|
2025-05-26 21:24:35 -06:00
|
|
|
|
eval $(systemctl start BotGen)
|
2025-05-26 18:13:53 -06:00
|
|
|
|
fi
|
|
|
|
|
|
enter&&./$0 --menu
|
|
|
|
|
|
;;
|
|
|
|
|
|
7)
|
2025-05-26 21:24:35 -06:00
|
|
|
|
if [[ $(systemctl is-active http-server) == 'active' ]]; then
|
2025-05-26 18:13:53 -06:00
|
|
|
|
msg -r 'GENERADOR APAGADO CORRECTAMENTE'
|
2025-05-26 21:24:35 -06:00
|
|
|
|
systemctl stop http-server
|
2025-05-26 18:13:53 -06:00
|
|
|
|
else
|
|
|
|
|
|
msg -v "GENERADOR ACTIVADO CORRECTAMENTE"
|
2025-05-26 21:24:35 -06:00
|
|
|
|
systemctl start http-server
|
2025-05-26 18:13:53 -06:00
|
|
|
|
fi
|
2025-05-26 21:24:35 -06:00
|
|
|
|
enter
|
|
|
|
|
|
$0 --menu
|
2025-05-26 18:13:53 -06:00
|
|
|
|
;;
|
|
|
|
|
|
*);;
|
|
|
|
|
|
esac
|
2025-05-26 16:12:48 -06:00
|
|
|
|
|
2025-05-26 18:13:53 -06:00
|
|
|
|
fi
|