790 lines
25 KiB
Bash
790 lines
25 KiB
Bash
#!/bin/bash
|
|
# INSTALACAO BASICA
|
|
clear
|
|
|
|
SCPT_DIR="/etc/SPlus"
|
|
IVAR="/etc/http-instas"
|
|
BARRA="\033[1;36m-----------------------------------------------------\033[0m"
|
|
BARRA2="\033[1;31m=====================================================\033[0m"
|
|
_hora=$(printf '%(%H:%M:%S)T')
|
|
_fecha=$(printf '%(%D)T')
|
|
[[ -e /etc/NSCT ]] && nscript="$(cat < /etc/NSCT)"
|
|
[[ -e /etc/newadm-instalacao ]] && {
|
|
BASICINST="$(cat /etc/newadm-instalacao)"
|
|
} || {
|
|
BASICINST="$(ls ${SCPT_DIR})"
|
|
}
|
|
|
|
#PROCESSADOR
|
|
_core=$(printf '%-1s' "$(grep -c cpu[0-9] /proc/stat)")
|
|
_usop=$(printf '%-1s' "$(top -bn1 | awk '/Cpu/ { cpu = "" 100 - $8 "%" }; END { print cpu }')")
|
|
|
|
#SISTEMA-USO DA CPU-MEMORIA RAM
|
|
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 }')")
|
|
|
|
# Funcoes Globais
|
|
msg () {
|
|
local colors="/etc/new-adm-color"
|
|
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[91m' #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
|
|
-ne)cor="${COLOR[1]}${NEGRITO}" && echo -ne "${cor}${2}${SEMCOR}";;
|
|
-ama)cor="${COLOR[3]}${NEGRITO}" && echo -e "${cor}${2}${SEMCOR}";;
|
|
-verm)cor="${COLOR[3]}${NEGRITO}[!] ${COLOR[1]}" && echo -e "${cor}${2}${SEMCOR}";;
|
|
-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}";;
|
|
"-bar2"|"-bar")cor="${COLOR[7]}=====================================================" && echo -e "${SEMCOR}${cor}${SEMCOR}";;
|
|
esac
|
|
}
|
|
|
|
os_system () {
|
|
system=$(echo $(cat -n /etc/issue |grep 1 |cut -d' ' -f6,7,8 |sed 's/1//' |sed 's/ //'))
|
|
echo $system|awk '{print $1, $2}'
|
|
}
|
|
|
|
meu_ipe () {
|
|
[[ -e /usr/bin/vendor_code ]] && IP=$(cat < /usr/bin/vendor_code) || {
|
|
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
|
|
}
|
|
echo ${IP}
|
|
}
|
|
|
|
# SCPT_DIR="/etc/SPlus"
|
|
[[ ! -e ${SCPT_DIR} ]] && mkdir ${SCPT_DIR}
|
|
INSTA_ARQUIVOS="ADMVPS.zip"
|
|
DIR="/etc/http-shell"
|
|
LIST="lista-arq"
|
|
meu_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)
|
|
[[ -z "$MIP2" ]] && MIP2=127.0.0.1
|
|
[[ "$MIP" != "$MIP2" ]] && IP="$MIP2" || IP="$MIP"
|
|
}
|
|
|
|
mudar_instacao () {
|
|
while [[ ${var[$value]} != 0 ]]; do
|
|
[[ -e /etc/newadm-instalacao ]] && {
|
|
BASICINST="$(cat /etc/newadm-instalacao)"
|
|
} || {
|
|
BASICINST="$(ls ${SCPT_DIR})"
|
|
}
|
|
msg -bar
|
|
echo -e "MENÚ SELECCIÓN DE INSTALACIÓN"
|
|
msg -bar
|
|
i=1
|
|
for arqx in `ls ${SCPT_DIR}`; do
|
|
[[ $arqx = @(gerar.sh|http-server.py) ]] && continue
|
|
[[ $(echo $BASICINST|grep -w "$arqx") ]] && echo -e "\033[1;32m[$i] \033[1;37m- [\033[1;31mX\033[1;37m] - \033[1;96m$arqx" || echo -e "\033[1;32m[$i] \033[1;37m- [ ] - \033[1;96m$arqx"
|
|
var[$i]="$arqx"
|
|
let i++
|
|
done
|
|
msg -bar
|
|
echo "[0] - FINALIZAR PROCEDIMIENTO"
|
|
msg -bar
|
|
echo -ne "Seleccione el archivo [Agregar / Eliminar]: "
|
|
read value
|
|
[[ -z ${var[$value]} ]] && return
|
|
if [[ $(echo $BASICINST|grep -w "${var[$value]}") ]]; then
|
|
rm /etc/newadm-instalacao
|
|
local BASIC=""
|
|
for INSTS in $(echo $BASICINST); do
|
|
[[ $INSTS = "${var[$value]}" ]] && continue
|
|
BASIC+="$INSTS "
|
|
done
|
|
echo $BASIC > /etc/newadm-instalacao
|
|
else
|
|
echo "$BASICINST ${var[$value]}" > /etc/newadm-instalacao
|
|
fi
|
|
done
|
|
}
|
|
|
|
|
|
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]="R";;
|
|
"R")txt[$i]=".";;
|
|
"9")txt[$i]="@";;
|
|
"@")txt[$i]="9";;
|
|
"5")txt[$i]="?";;
|
|
"?")txt[$i]="5";;
|
|
"0")txt[$i]="%";;
|
|
"%")txt[$i]="0";;
|
|
"4")txt[$i]="I";;
|
|
"I")txt[$i]="4";;
|
|
"/")txt[$i]="Y";;
|
|
"Y")txt[$i]="/";;
|
|
"-")txt[$i]="T";;
|
|
"T")txt[$i]="-";;
|
|
"L")txt[$i]="1";;
|
|
"1")txt[$i]="L";;
|
|
esac
|
|
txtofus+="${txt[$i]}"
|
|
done
|
|
echo "$txtofus" | rev
|
|
}
|
|
|
|
gen_key_menu () {
|
|
if [[ $1 = 1 ]]; then
|
|
#ADM BASIC
|
|
[[ ! -e ${DIR}/${KEY} ]] && mkdir ${DIR}/${KEY}
|
|
read -p "Nombre de usuario ( comprador de la key ): " nombrevalue
|
|
[[ -z $nombrevalue ]] && nombrevalue="SIN NOMBRE"
|
|
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
|
|
echo "$nombrevalue" > ${DIR}/${KEY}.name
|
|
[[ -e /etc/gen_at.txt ]] && at now +$(cat /etc/gen_at.txt) <<< "rm -rf ${DIR}/${KEY}.name; rm -rf ${DIR}/${KEY}" &>/dev/null
|
|
tipo="ADM"
|
|
linck=1
|
|
key_ok
|
|
elif [[ $1 = 3 ]]; then
|
|
# GERADOR KEYS
|
|
[[ ! -e ${DIR}/${KEY} ]] && mkdir ${DIR}/${KEY}
|
|
read -p "Nombre de usuario ( comprador de la key ): " nombrevalue
|
|
[[ -z $nombrevalue ]] && nombrevalue="SIN NOMBRE"
|
|
msg -bar
|
|
read -p "autorizar a generar key para generador [Y/N]: " -e -i n gen_gen
|
|
msg -bar
|
|
read -p "KEY DE ACTUALIZACIÓN?: [Y/N]: " -e -i n attGEN
|
|
[[ $(echo $nombrevalue|grep -w "FIXA") ]] && nombrevalue+=[GERADOR]
|
|
for arqx in `ls $SCPT_DIR`; do
|
|
[[ -e ${DIR}/${KEY}/$arqx ]] && continue #ANULA ARQUIVO CASO EXISTA
|
|
cp ${SCPT_DIR}/$arqx ${DIR}/${KEY}/
|
|
echo "$arqx" >> ${DIR}/${KEY}/${LIST}
|
|
done
|
|
|
|
if [[ $gen_gen = @(Y|y|S|s) ]]; then
|
|
echo "generador autorizado para generar keys de generadores" > ${DIR}/${KEY}/autorizar &>/dev/null
|
|
echo "autorizar" >> ${DIR}/${KEY}/${LIST}
|
|
fi
|
|
|
|
tipo="GEN"
|
|
if [[ $attGEN = @(Y|y|S|s) ]]; then
|
|
[[ -e ${DIR}/${KEY}/gerar.sh ]] && rm ${DIR}/${KEY}/gerar.sh
|
|
[[ -e ${DIR}/${KEY}/http-server.py ]] && rm ${DIR}/${KEY}/http-server.py
|
|
nombrevalue+="_ACT"
|
|
tipo+="_ACTUALIZACION"
|
|
fi
|
|
nombrevalue+="_GEN"
|
|
echo "$nombrevalue" > ${DIR}/${KEY}.name
|
|
[[ -e /etc/gen_at.txt ]] && at now +$(cat /etc/gen_at.txt) <<< "rm -rf ${DIR}/${KEY}.name; rm -rf ${DIR}/${KEY}" &>/dev/null
|
|
linck=2
|
|
key_ok
|
|
elif [[ $1 = 2 ]]; then
|
|
#ADM BASIC FIJA
|
|
[[ ! -e ${DIR}/${KEY} ]] && mkdir ${DIR}/${KEY}
|
|
read -p "Nombre de usuario ( comprador de la key ): " nombrevalue
|
|
[[ -z $nombrevalue ]] && nombrevalue="SIN NOMBRE"
|
|
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
|
|
echo KEY_FIJA > ${DIR}/${KEY}/key.fija
|
|
echo "$nombrevalue" > ${DIR}/${KEY}.name
|
|
[[ -e /etc/gen_at.txt ]] && at now +$(cat /etc/gen_at.txt) <<< "rm -rf ${DIR}/${KEY}.name; rm -rf ${DIR}/${KEY}" &>/dev/null
|
|
tipo="FIJADA"
|
|
linck=1
|
|
key_ok
|
|
elif [[ $1 = 4 ]]; then
|
|
unset time
|
|
unset text
|
|
unset num
|
|
clear
|
|
msg -bar
|
|
echo -e "\033[7;49;35m Configuracion de auto eliminacion de keys \033[0m"
|
|
msg -bar
|
|
menu_func "MINUTOS" "HORAS" "DESACTIVAR $genat"
|
|
msg -bar
|
|
echo -ne "$(msg -verd "[0]") $(msg -aqua ">") "&& msg -bra "\033[7;49;35mAtras"
|
|
msg -bar
|
|
selection=$(selection_fun 3)
|
|
case ${selection} in
|
|
1)time=minutes && text=MINUTOS;;
|
|
2)time=hours && text=HORAS;;
|
|
3)[[ -e /etc/gen_at.txt ]] && rm /etc/gen_at.txt && registro auto_eliminar_fijado_en:OFF
|
|
return;;
|
|
0)return;;
|
|
esac
|
|
echo -ne "ESCRIBA LA CATIDAD DE $text: " && read num
|
|
[[ ! -z $num ]] && echo $num $time > /etc/gen_at.txt && registro auto_eliminar_fijado_en:ACTIVO TIEMPO_DEFINIDO:$num$text
|
|
gerar_key
|
|
fi
|
|
}
|
|
|
|
gerar_key () {
|
|
valuekey="$(date | md5sum | head -c10)"
|
|
valuekey+="$(echo $(($RANDOM*10))|head -c 5)"
|
|
unset KEY
|
|
KEY="$valuekey"
|
|
#CRIA DIR
|
|
[[ ! -e ${DIR} ]] && mkdir ${DIR}
|
|
#ENVIA ARQS
|
|
i=0
|
|
VALUE+="gerar.sh instgerador.sh http-server.py lista-arq $BASICINST"
|
|
for arqx in `ls ${SCPT_DIR}`; do
|
|
[[ $(echo $VALUE|grep -w "${arqx}") ]] && continue
|
|
echo -e "[$i] -> ${arqx}"
|
|
arq_list[$i]="${arqx}"
|
|
let i++
|
|
done
|
|
[[ -e /etc/gen_at.txt ]] && genat="CADA: \033[1;32m$(cat /etc/gen_at.txt)" || genat="\033[1;31mOff"
|
|
clear
|
|
msg -bar
|
|
echo -e "\033[7;49;35m Seleccione el tipo de Keys \033[0m"
|
|
msg -bar
|
|
|
|
[[ -e /etc/SPlus/gerar.sh ]] && {
|
|
|
|
menu_func "GENERAR KEY DE INSTALACIÓN NETCOLVIP" "GENERAR KEY FIJA DE INSTALACIÓN NETCOLVIP" "GENERAR KEY DE GENERADOR DE KEYS" "AUTO ELIMINACION DE KEY $genat"
|
|
msg -bar
|
|
echo -ne "$(msg -verd "[0]") $(msg -aqua ">") "&& msg -bra "\033[7;49;35mAtras"
|
|
msg -bar
|
|
selection=$(selection_fun 4)
|
|
case ${selection} in
|
|
1) gen_key_menu 1;;
|
|
2) gen_key_menu 2;;
|
|
3) gen_key_menu 3;;
|
|
4) gen_key_menu 4;;
|
|
0)return;;
|
|
esac
|
|
} || {
|
|
menu_func "GENERAR KEY DE INSTALACIÓN NETCOLVIP" "GENERAR KEY FIJA DE INSTALACIÓN NETCOLVIP" "AUTO ELIMINACION DE KEY $genat"
|
|
msg -bar
|
|
echo -ne "$(msg -verd "[0]") $(msg -aqua ">") "&& msg -bra "\033[7;49;35mAtras"
|
|
msg -bar
|
|
selection=$(selection_fun 3)
|
|
case ${selection} in
|
|
1) gen_key_menu 1;;
|
|
2) gen_key_menu 2;;
|
|
3) gen_key_menu 4;;
|
|
0)return;;
|
|
esac
|
|
}
|
|
}
|
|
|
|
key_ok () {
|
|
keyfinal=$(ofus "$IP:1116/$valuekey/$LIST")
|
|
registro KEY_INSTALL_DE:$tipo KEY:$keyfinal NOMBRE:$nombrevalue
|
|
clear
|
|
msg -bar
|
|
echo -e "\033[7;49;35m >>>>>Key Generada Con Exito!<<<<< \033[0m"
|
|
msg -bar
|
|
echo -e "\033[1;32m $keyfinal"
|
|
links_inst $linck
|
|
echo -ne "\033[1;37m Enter para Finalizar"
|
|
read foo
|
|
}
|
|
|
|
att_gen_key () {
|
|
i=0
|
|
rm ${SCPT_DIR}/*.x.c &> /dev/null
|
|
[[ -z $(ls $DIR|grep -v "ERROR-KEY") ]] && return
|
|
echo "[$i] Retornar"
|
|
keys="$keys retorno"
|
|
let i++
|
|
for arqs in `ls $DIR|grep -v "ERROR-KEY"|grep -v ".name"`; do
|
|
arqsx=$(ofus "$IP:1116/$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 -bar
|
|
while [[ -z ${keys[$value]} || -z $value ]]; do
|
|
read -p "Seleccione qué Actualizar[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:1116/$arqs/$LIST")
|
|
echo -e "\033[1;33m[KEY]: $arqsx \033[1;32m(ACTUALIZADA!)\033[0m"
|
|
fi
|
|
let i++
|
|
done
|
|
rm ${SCPT_DIR}/*.x.c &> /dev/null
|
|
msg -bar
|
|
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:1116/${keys[$value]}/$LIST")
|
|
echo -e "\033[1;33m[KEY]: $arqsx \033[1;32m(ACTUALIZADA!)\033[0m"
|
|
read -p "Enter"
|
|
rm ${SCPT_DIR}/*.x.c &> /dev/null
|
|
}
|
|
}
|
|
|
|
pass_admin () {
|
|
permited=$(ofus $(curl -sSL "https://www.dropbox.com/s/5qjgvuiaodacasu/passwd"))
|
|
read -p "ESCRIBA SU CONTRASEÑA: " passw
|
|
if [[ $permited = $passw ]]; then
|
|
clear
|
|
msg -bar
|
|
echo -e "\033[1;37m ACTUALIZANDO......"
|
|
msg -bar
|
|
sleep 2
|
|
wget -O $HOME/instger.sh $url &>/dev/null
|
|
chmod +x $HOME/instger.sh
|
|
cd $HOME
|
|
rm -rf $SCPT_DIR &>/dev/null
|
|
./instger.sh
|
|
rm $HOME/instger.sh &>/dev/null
|
|
else
|
|
clear
|
|
msg -bar
|
|
echo -e "\033[1;37m LA CONTRASEÑA NO COINCIDE"
|
|
echo -e "\033[1;37m ACTUALIZACION CANSELADA!"
|
|
msg -bar
|
|
sleep 3
|
|
fi
|
|
}
|
|
|
|
|
|
remover_key () {
|
|
unset i
|
|
unset keys
|
|
unset value
|
|
i=0
|
|
[[ -z $(ls $DIR|grep -v "ERROR-KEY") ]] && return
|
|
clear
|
|
msg -bar
|
|
echo -e "\033[7;49;35m Lista de Keys \033[0m"
|
|
msg -bar
|
|
keys="$keys retorno"
|
|
for arqs in `ls $DIR|grep -v "ERROR-KEY"|grep -v ".name"`; do
|
|
arqsx=$(ofus "$IP:1116/$arqs/$LIST")
|
|
let i++
|
|
|
|
if [[ ! -e ${DIR}/${arqs}/used.date ]] && [[ ! -e ${DIR}/${arqs}/key.fija ]]; then
|
|
echo -e "$(msg -verd "[$i]") \033[0;49;93m$arqsx\n \033[0;49;36m($(cat ${DIR}/${arqs}.name))\033[1;32m (ACTIVA)\033[0m"
|
|
msg -bar
|
|
elif [[ ! -e ${DIR}/${arqs}/key.fija ]]; then
|
|
echo -e "$(msg -verd "[$i]") \033[0;49;31m$arqsx\n \033[0;49;36m($(cat ${DIR}/${arqs}.name))\033[5;49;31m (USADA): \033[0;49;93m$(cat ${DIR}/${arqs}/used.date) IP:$(cat ${DIR}/${arqs}/used)\033[0m"
|
|
msg -bar
|
|
else
|
|
echo -e "$(msg -verd "[$i]") \033[0;49;93m$arqsx\n \033[0;49;36m($(cat ${DIR}/${arqs}.name)) \033[0;49;34m($(cat ${DIR}/${arqs}/key.fija))\033[0m"
|
|
msg -bar
|
|
fi
|
|
|
|
keys="$keys $arqs"
|
|
done
|
|
keys=($keys)
|
|
echo -e "$(msg -verd "[0]")$(msg -aqua ">") $(msg -bra "\033[7;49;35mAtras")"
|
|
msg -bar
|
|
value=$(selection_fun $i)
|
|
[[ -d "$DIR/${keys[$value]}" ]] && rm -rf $DIR/${keys[$value]}* && keydel=$(ofus "$IP:1116/${keys[$value]}/$LIST") && registro key_eliminada $keydel &&remover_key
|
|
}
|
|
|
|
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
|
|
[[ $1 = delall ]] && rm -rf ${DIR}/*
|
|
if [[ -e ${DIR}/${arqs}/used.date ]]; then #KEY USADA
|
|
if [[ ! -e ${DIR}/${arqs}/key.fija ]]; then
|
|
rm -rf ${DIR}/${arqs}*
|
|
fi
|
|
fi
|
|
let i++
|
|
done
|
|
}
|
|
|
|
reg_key_used () {
|
|
echo > $IVAR
|
|
registro se_limpio_el_registro_de_keys_usadas
|
|
}
|
|
|
|
start_gen () {
|
|
unset PIDGEN
|
|
PIDGEN=$(ps aux|grep -v grep|grep "http-server.sh")
|
|
if [[ ! $PIDGEN ]]; then
|
|
screen -dmS generador /bin/http-server.sh -start
|
|
registro generador_online
|
|
clear
|
|
msg -bar
|
|
echo -e "\033[1;32m Generador en linea"
|
|
msg -bar
|
|
echo -ne "\033[1;97m Poner en linea despues de un reinicio [s/n]: "
|
|
read start_ini
|
|
msg -bar
|
|
[[ $start_ini = @(s|S|y|Y) ]] && {
|
|
crontab -l > /root/cron
|
|
echo "@reboot screen -dmS generador /bin/http-server.sh -start" >> /root/cron
|
|
crontab /root/cron
|
|
rm /root/cron
|
|
}
|
|
else
|
|
killall http-server.sh
|
|
kill -9 $(ps x | grep /bin/http-server.sh | grep -v grep | awk '{print $1}')
|
|
registro generador_offline
|
|
crontab -l > /root/cron
|
|
sed -i '/http-server.sh/ d' /root/cron
|
|
crontab /root/cron
|
|
rm /root/cron
|
|
clear
|
|
msg -bar
|
|
echo -e "\033[1;31m Generador fuera de linea"
|
|
msg -bar
|
|
sleep 3
|
|
fi
|
|
}
|
|
|
|
message_gen () {
|
|
read -p "NUEVO MENSAJE: " MSGNEW
|
|
echo "$MSGNEW" > ${SCPT_DIR}/message.txt
|
|
msg -bar
|
|
registro cambio_creditos
|
|
}
|
|
|
|
rmv_iplib () {
|
|
echo -e "SERVIDORES DE KEY ACTIVOS!"
|
|
rm /var/www/html/newlib && touch /var/www/html/newlib
|
|
rm ${SCPT_DIR}/*.x.c &> /dev/null
|
|
[[ -z $(ls $DIR|grep -v "ERROR-KEY") ]] && return
|
|
for arqs in `ls $DIR|grep -v "ERROR-KEY"|grep -v ".name"`; do
|
|
if [[ $(cat ${DIR}/${arqs}.name|grep GERADOR) ]]; then
|
|
var=$(cat ${DIR}/${arqs}.name)
|
|
ip=$(cat ${DIR}/${arqs}/keyfixa)
|
|
echo -ne "\033[1;31m[USUARIO]: (\033[1;32m${var%%[*]}\033[1;31m) \033[1;33m[GERADOR]:\033[1;32m ($ip)\033[0m"
|
|
echo "$ip" >> /var/www/html/newlib && echo -e " \033[1;36m[ATUALIZADO]"
|
|
fi
|
|
done
|
|
echo "104.238.135.147" >> /var/www/html/newlib
|
|
msg -bar
|
|
read -p "Enter"
|
|
}
|
|
|
|
atualizar_geb () {
|
|
clear
|
|
msg -bar
|
|
echo -e " \033[1;37mACTUALIZADOR DE GENERADOR DE KEYS"
|
|
msg -bar
|
|
menu_func "USAR CONTRASEÑA DE ADMINISTRADOR" "USAR KEY DE ACTUALIZACION"
|
|
msg -bar && echo -ne "$(msg -verd "[0]") $(msg -aqua ">") "&& msg -bra "\033[7;49;35mREGRESAR"
|
|
msg -bar
|
|
selection=$(selection_fun 2)
|
|
case ${selection} in
|
|
1)pass_admin;;
|
|
2)key_update;;
|
|
esac
|
|
}
|
|
|
|
key_update () {
|
|
clear
|
|
msg -bar
|
|
echo -e "\033[1;37m ACTUALIZANDO......"
|
|
msg -bar
|
|
rm -rf $SCPT_DIR &>/dev/null
|
|
#
|
|
sleep 3
|
|
}
|
|
|
|
links_inst () {
|
|
if [[ $1 = 1 ]]; then
|
|
[[ $2 = 1 ]] && clear
|
|
msg -bar
|
|
echo -e "\033[7;49;35m LINKS INSTALL SSHPlus ${nscript} "
|
|
msg -bar
|
|
echo -e "\033[1;37mapt install wget -y; bash <(wget -qO- raw.githubusercontent.com/netfreeplus/SSHPLUS/main/ssh-plus)"
|
|
msg -bar
|
|
[[ $2 = 1 ]] && echo -ne "\033[1;37m Enter para Finalizar"
|
|
[[ $2 = 1 ]] && read foo
|
|
elif [[ $1 = 2 ]]; then
|
|
msg -bar
|
|
echo -e "\033[7;49;35m LINKS INSTALL SSHPlus GEN ${nscript} "
|
|
msg -bar
|
|
echo -e "\033[1;37mapt install wget -y; bash <(wget -qO- raw.githubusercontent.com/netfreeplus/SSHPLUS/main/ssh-plus)"
|
|
msg -bar
|
|
fi
|
|
}
|
|
|
|
bot_menu () {
|
|
CIDdir=/etc/ADM-db && [[ ! -d ${CIDdir} ]] && mkdir ${CIDdir}
|
|
#[[ ! -e "${CIDdir}/confbot.sh" ]] &&
|
|
wget -qO- https://darix.ooguy.com/darnix/botnet/raw/branch/main/config.sh > ${CIDdir}/confbot.sh && chmod +x ${CIDdir}/confbot.sh && ${CIDdir}/confbot.sh '--bot'
|
|
rm -f ${CIDdir}/confbot.sh
|
|
#sed -i -e 's/\r$//' ${CIDdir}/confbot.sh
|
|
}
|
|
|
|
key_used () {
|
|
echo -e " \033[1;37mKEYS USADAS: \033[1;49;95m[\033[1;32m$(cat $IVAR)\033[1;49;95m]"
|
|
msg -bar
|
|
}
|
|
|
|
# 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;37m$(fun_trans "Selecione una Opcion"): " >&2
|
|
read selection
|
|
tput cuu1 >&2 && tput dl1 >&2
|
|
done
|
|
echo $selection
|
|
}
|
|
|
|
fun_trans () {
|
|
local texto
|
|
local retorno
|
|
declare -A texto
|
|
#SCPidioma="${SCPT_DIR}/idioma"
|
|
#[[ ! -e ${SCPidioma} ]] && touch ${SCPidioma}
|
|
#local LINGUAGE=$(cat ${SCPidioma})
|
|
[[ -z $LINGUAGE ]] && LINGUAGE=es
|
|
[[ $LINGUAGE = "es" ]] && echo "$@" && return
|
|
[[ ! -e /usr/bin/trans ]] && wget -O /usr/bin/trans https://raw.githubusercontent.com/rudi9999/Herramientas/main/trans &> /dev/null
|
|
[[ ! -e /etc/texto-adm ]] && touch /etc/texto-adm
|
|
source /etc/texto-adm
|
|
if [[ -z "$(echo ${texto[$@]})" ]]; then
|
|
#ENGINES=(aspell google deepl bing spell hunspell apertium yandex)
|
|
#NUM="$(($RANDOM%${#ENGINES[@]}))"
|
|
retorno="$(source trans -e bing -b es:${LINGUAGE} "$@"|sed -e 's/[^a-z0-9 -]//ig' 2>/dev/null)"
|
|
echo "texto[$@]='$retorno'" >> /etc/texto-adm
|
|
echo "$retorno"
|
|
else
|
|
echo "${texto[$@]}"
|
|
fi
|
|
}
|
|
|
|
menu_func () {
|
|
local options=${#@}
|
|
local array
|
|
for((num=1; num<=$options; num++)); do
|
|
echo -ne "$(msg -verd "[$num]") $(msg -aqua ">") "
|
|
array=(${!num})
|
|
case ${array[0]} in
|
|
"-vd")msg -verd "\033[1;33m[!]\033[1;32m $(fun_trans "${array[@]:1}")" | sed ':a;N;$!ba;s/\n/ /g';;
|
|
"-vm")msg -verm2 "\033[1;33m[!]\033[1;31m $(fun_trans "${array[@]:1}")" | sed ':a;N;$!ba;s/\n/ /g';;
|
|
"-fi")msg -azu "$(fun_trans "${array[@]:2}") ${array[1]}" | sed ':a;N;$!ba;s/\n/ /g';;
|
|
*)msg -azu "$(fun_trans "${array[@]}")" | sed ':a;N;$!ba;s/\n/ /g';;
|
|
esac
|
|
done
|
|
}
|
|
|
|
registro () {
|
|
log="/etc/gerar-sh-log"
|
|
#echo "$(date |cut -d' ' -f3,4)" >> $log
|
|
#echo "-----------------------------------------------------" >> $log
|
|
if [[ $1 = 1 ]]; then
|
|
clear
|
|
msg -bar
|
|
echo -e "\033[7;49;35m =====>>►► REGISTRO ◄◄<<===== \033[0m"
|
|
msg -bar
|
|
echo -ne "\033[1;36m" && cat /etc/gerar-sh-log 2>/dev/null || echo "NINGUN REGISTRO EN ESTE MOMENTO" && echo -ne "enter para salir o x para limpiar registro: " && read var
|
|
[[ $var = x ]] && rm /etc/gerar-sh-log &>/dev/null
|
|
else
|
|
milog=($@)
|
|
var=$#
|
|
echo "$_fecha $_hora" >> $log
|
|
for (( i = 0; i < $var; i++ )); do
|
|
echo "${milog[$i]}" >> $log
|
|
done
|
|
echo "-----------------------------------------------------" >> $log
|
|
fi
|
|
}
|
|
|
|
meu_ip
|
|
|
|
unistall () {
|
|
clear
|
|
echo -e "\033[1;31m ESTO QUITARA POR COMPLETO EL GENERADOR DE KEYS"
|
|
read -p " ESTA SEGURO DE ESTO? [S/N]: " -e -i n unistal
|
|
if [[ $unistal = @(Y|y|S|s) ]]; then
|
|
unset PID_GEN
|
|
PID_GEN=$(ps x|grep -v grep|grep "http-server.sh")
|
|
[[ ! -z $PID_GEN ]] && start_gen
|
|
rm -rf /etc/MEUIPADM &>/dev/null
|
|
rm -rf /etc/gen_at.txt &>/dev/null
|
|
rm -rf /etc/texto-adm &>/dev/null
|
|
rm -rf /etc/newadm-instalacao &>/dev/null
|
|
rm -rf /usr/bin/trans &>/dev/null
|
|
rm -rf /bin/http-server.sh &>/dev/null
|
|
rm -rf $DIR &>/dev/null
|
|
rm -rf $SCPT_DIR &>/dev/null
|
|
rm -rf /etc/gerar-sh-log &>/dev/null
|
|
rm -f $(which keygen) &>/dev/null
|
|
fi
|
|
}
|
|
|
|
info_sys () {
|
|
info_so=$(printf '%-18s' "$(os_system)")
|
|
info_ip=$(meu_ipe)
|
|
info_ram1=$(printf '%-7s' "${ram1}")
|
|
info_ram3=$(printf '%-6s' "${ram3}")
|
|
info_fecha=$(printf '%-16s' "${_fecha}")
|
|
info_hora=$(printf '%-16s' "${_hora}")
|
|
|
|
msg -bar
|
|
echo -e "\033[7;49;35m =====>>►► 🐲 GEN NETCOLVIP•VPS 🐲 ◄◄<<===== \033[0m"
|
|
msg -bar
|
|
echo -e " \033[1;32mSISTEMA MEMORIA PROSESADOR"
|
|
echo -e " \033[1;49;96mS.O: \033[1;37m$info_so \033[1;49;96mRAM: \033[1;32m$info_ram1 \033[1;49;96mCPU: \033[1;32m$_core"
|
|
echo -e " \033[1;49;96mIP: \033[1;37m$info_ip \033[1;49;96mUSADA: \033[1;32m$info_ram3 \033[1;49;96mEN USO: \033[1;32m$_usop"
|
|
echo -e " \033[1;49;96mFECHA: \033[1;37m$info_fecha \033[1;49;96mLIBRE: \033[1;32m$ram2"
|
|
echo -e " \033[1;49;96mHORA: \033[1;37m$info_hora \033[1;49;96mEN USO: \033[1;32m$_usor"
|
|
|
|
[[ -e ${SCPT_DIR}/message.txt ]] && msg -bar && msg -bra " \033[1;37mKEY GENERADOR BY \033[1;32m➣➣ \033[1;96m $(cat ${SCPT_DIR}/message.txt) "
|
|
msg -bar
|
|
}
|
|
|
|
_check(){
|
|
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
|
|
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 INSTALACION! \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:1116 ) ]] && echo -e "\033[1;42mCONEXION CON SERVIDOR EXITOSA\033[0m" || echo -e "\033[1;43mCONEXION CON SERVIDOR FALLIDA\033[0m"
|
|
#[[ $(echo "$(ofus "$Keey"|cut -d'/' -f2)" | wc -c ) = 15 ]] && echo -e "\033[1;32m [ CODEX ACCESIBLE ]\n" || echo -e "\033[1;31m [ CODEX INVALIDO ]\n"
|
|
#wget --no-check-certificate -O list-key -q $(ofus $Keey)
|
|
sleep 2s
|
|
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=" Verificando Atualizacoes "|sed -e 's/[^a-z -]//ig'
|
|
for arqx in $(cat $HOME/list-key); do
|
|
msg -verm "${stopping}${pontos}"
|
|
wget --no-check-certificate -O $HOME/install/${arqx} ${IP}:85/${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 INVALIDA!' ]] &&
|
|
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 "
|
|
[[ $(ls $HOME/install|wc -l) > 1 ]] && {
|
|
echo -ne " "
|
|
rm -rf $HOME/install && echo -ne "\033[0m"
|
|
} || echo -e " NO HAY CONTENIDO DE KEY Key\033[0m\n"
|
|
read -p "Enter"
|
|
}
|
|
|
|
#########VISUALIZACION DE MENU
|
|
|
|
clear
|
|
info_sys
|
|
key_used
|
|
unset PID_GEN
|
|
PID_GEN=$(ps x|grep -v grep|grep "http-server.sh")
|
|
[[ ! $PID_GEN ]] && PID_GEN="\033[1;31moff" || PID_GEN="\033[1;32monline"
|
|
echo -e "\033[1;37mSync $(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)"
|
|
msg -bar
|
|
menu_func "GENERADOR DE KEYS" "ELIMINAR/MIRAR KEYS" "LIMPIAR REGISTRO DE KEYS USADAS" "ALTERAR ARCHIVOS DE KEY BASICA" "ENCENDER/APAGAR GENERADOR $PID_GEN\033[0m" "VER LINKS DE INSTALACION" "CONFIGURAR BOT DE TELEGRAM" "CAMBIAR CREDITOS" "VER REGISTRO" "-vd ACTUALIZAR GENERADOR" "-vm DESINSTALAR GENERADOR" "COMPROBAR KEYS"
|
|
msg -bar && echo -ne "$(msg -verd "[0]") $(msg -aqua ">") "&& msg -bra "\033[7;49;35mSALIR DEL SPlus"
|
|
msg -bar
|
|
selection=$(selection_fun 12)
|
|
case ${selection} in
|
|
1)gerar_key;;
|
|
2)remover_key;;
|
|
3)reg_key_used;;
|
|
4)mudar_instacao;;
|
|
5)start_gen;;
|
|
6)links_inst 1 1;;
|
|
7)bot_menu;;
|
|
8)message_gen;;
|
|
9)registro 1;;
|
|
10)atualizar_geb;;
|
|
11)unistall;;
|
|
12)_check;;
|
|
0)cd $HOME && exit 0;;
|
|
esac
|
|
$(which keygen) |