From 9e0e00f24ec3742d66df871aa64d9d145515c892 Mon Sep 17 00:00:00 2001 From: darnix Date: Thu, 5 Jun 2025 08:07:34 +0000 Subject: [PATCH] Subir archivos a "/" --- gerar.sh | 790 +++++++++++++++++++++++++++++++++++++++++++++++++ http-server.py | 125 ++++++++ install.sh | 258 ++++++++++++++++ 3 files changed, 1173 insertions(+) create mode 100644 gerar.sh create mode 100644 http-server.py create mode 100644 install.sh diff --git a/gerar.sh b/gerar.sh new file mode 100644 index 0000000..0f111a0 --- /dev/null +++ b/gerar.sh @@ -0,0 +1,790 @@ +#!/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://www.dropbox.com/scl/fi/68kghnxsmxh9tt53dcs9p/config.sh?rlkey=a7e1ythng4pkmnphy7coj1pj6 > ${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) \ No newline at end of file diff --git a/http-server.py b/http-server.py new file mode 100644 index 0000000..2b75ca7 --- /dev/null +++ b/http-server.py @@ -0,0 +1,125 @@ +#!/bin/bash +IVAR="/etc/http-instas" +onliCHECK=/var/www/html/ChumoGH +#LIST="$(echo "NewVPS-" | rev)" +LIST="lista-arq" +[[ -d /var/www/html/ChumoGH ]] || mkdir ${onliCHECK} +install_fun () { +apt-get install netcat -y +} +fun_ip () { +_hora=$(printf '%(%D-%H:%M:%S)T') + if [[ -e /bin/IPcgh ]]; then + IP="$(cat /bin/IPcgh)" + else + MEU_IP=$(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) + MEU_IP2=$(wget -qO- ipv4.icanhazip.com) + [[ "$MEU_IP" != "$MEU_IP2" ]] && IP="$MEU_IP2" && echo "$MEU_IP2" || IP="$MEU_IP" && echo "$MEU_IP" + echo "$MEU_IP2" > /bin/IPcgh + IP="$MEU_IP2" + fi +} +# LISTEN +listen_fun () { +PORTA="1116" +PROGRAMA="/bin/http-server.sh" +while true; do + nc.traditional -l -p "$PORTA" -e "$PROGRAMA" +done +} +# SERVER +server_fun () { +fun_ip +PORTA="1116" +DIR="/etc/http-shell" +unset ENV_ARQ +if [[ ! -d $DIR ]]; then +mkdir $DIR +fi +read URL +KEYZ=($(echo $URL|cut -d ' ' -f2|awk -F "/" '{print $2, $3, $4, $5, $6, $7}')) +KEY=$(echo ${KEYZ[0]}) && [[ ! $KEY ]] && KEY="ERRO" +ARQ=$(echo ${KEYZ[1]}) && [[ ! $ARQ ]] && ARQ="ERRO" +USRIP=$(echo ${KEYZ[2]}) && [[ ! $USRIP ]] && USRIP="ERRO" +USRSYS=$(echo ${KEYZ[3]}) && [[ ! $USRSYS ]] && USRSYS="ERRO" +UUID=$(echo ${KEYZ[4]}) && [[ ! $UUID ]] && UUID="SERIAL QR NO RECIVIDO" +FILE2="${DIR}/${KEY}" +FILE="${DIR}/${KEY}/$ARQ" +if [[ -e ${FILE} ]]; then +STATUS_NUMBER="200" +STATUS_NAME="Found" +ENV_ARQ="True" + if [[ -e ${FILE2}/GERADOR ]]; then + if [[ ${USRIP} != "ERRO" ]]; then + FILE="${DIR}/ERROR-KEY" + echo "GERADOR KEY!" > ${FILE} + ENV_ARQ="False" + fi + else + if [[ ${USRIP} = "ERRO" ]]; then + FILE="${DIR}/ERROR-KEY" + echo "KEY DE SSHPlus By @NETCOLVIP!" > ${FILE} + ENV_ARQ="False" + fi + fi +else +FILE="${DIR}/ERROR-KEY" +echo "KEY INVALIDA!" > ${FILE} +STATUS_NUMBER="200" +STATUS_NAME="Found" +ENV_ARQ="False" +fi +cat << EOF +HTTP/1.1 $STATUS_NUMBER - $STATUS_NAME +Date: $(date) +Server: ShellHTTP +Content-Length: $(wc --bytes "$FILE" | cut -d " " -f1) +Connection: close +Content-Type: text/html; charset=utf-8 + +$(cat "$FILE") +EOF +if [[ $ENV_ARQ = "True" ]]; then +( +mkdir /var/www/html/$KEY +mkdir /var/www/$KEY +TIME="20+" + for arqs in `cat $FILE`; do + cp ${FILE2}/$arqs /var/www/html/$KEY/ + cp ${FILE2}/$arqs /var/www/$KEY/ + TIME+="1+" + done +TIME=$(echo "${TIME}0"|bc) +sleep ${TIME}s +rm -rf /var/www/html/$KEY +rm -rf /var/www/$KEY +log="/etc/gerar-sh-log" +_hora=$(printf '%(%D-%H:%M:%S)T') +if [[ -d $FILE2 ]]; then +PERM="${DIR}/${KEY}/keyfixa" +if [[ -e $PERM ]]; then + if [[ $(cat $PERM) != "$USRIP" ]]; then + log="/etc/gerar-sh-log" + #cat /etc/gerar-sh-log > ${onliCHECK}/checkIP.log + rm -rf $FILE2 + rm -f ${FILE2}.name + fi +else +echo "$(cat ${FILE2}.name) | $USRIP | ${_key} | $_hora | ${USRSYS} | ${UUID}" >> $log +rm -rf $FILE2 +rm -f ${FILE2}.name +fi +num=$(cat ${IVAR}) + if [[ $num = "" ]]; then + num=0 + fi +let num++ +echo $num > $IVAR +fi +) & > /dev/null +fi +} + +[[ $1 = @(-[Ss]tart|-[Ss]|-[Ii]niciar) ]] && listen_fun && exit +[[ $1 = @(-[Ii]stall|-[Ii]|-[Ii]stalar) ]] && listen_fun && exit +server_fun diff --git a/install.sh b/install.sh new file mode 100644 index 0000000..379ce6b --- /dev/null +++ b/install.sh @@ -0,0 +1,258 @@ +#!/bin/bash +#Instalador del BOT +coo=1 +IVAR="/etc/http-instas" +SCPT_DIR="/etc/SPlus" +_hora=$(printf '%(%D-%H:%M:%S)T') +rm -f gera* +source <(curl -sSL https://raw.githubusercontent.com/ChumoGH/ChumoGH-Script/master/msg-bar/msg) > /dev/null +add-apt-repository universe +apt update -y; apt upgrade -y + +install_ini () { +clear +msg -bar +echo -e "\033[92m -- INSTALANDO PAQUETES NECESARIOS -- " +msg -bar +ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null +locale-gen en_US.UTF-8 > /dev/null 2>&1 +update-locale LANG=en_US.UTF-8 > /dev/null 2>&1 +echo -e "\033[97m # Instalando UTF...................... $ESTATUS " +apt-get install gawk -y > /dev/null 2>&1 +#bc +[[ $(dpkg --get-selections|grep -w "jq"|head -1) ]] || apt-get install jq -y &>/dev/null +[[ $(dpkg --get-selections|grep -w "jq"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null +[[ $(dpkg --get-selections|grep -w "jq"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null +echo -e "\033[97m # apt-get install jq................... $ESTATUS " +#SCREEN +[[ $(dpkg --get-selections|grep -w "screen"|head -1) ]] || apt-get install screen -y &>/dev/null +[[ $(dpkg --get-selections|grep -w "screen"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null +[[ $(dpkg --get-selections|grep -w "screen"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null +echo -e "\033[97m # apt-get install screen............... $ESTATUS " +#apache2 +[[ $(dpkg --get-selections|grep -w "apache2"|head -1) ]] || { + apt-get install apache2 -y &>/dev/null +echo -e '# If you just change the port or add more ports here, you will likely also +# have to change the VirtualHost statement in +# /etc/apache2/sites-enabled/000-default.conf + +Listen 85 + + + Listen 443 + + + + Listen 443 + + +# vim: syntax=apache ts=4 sw=4 sts=4 sr noet' > /etc/apache2/ports.conf + service apache2 restart > /dev/null 2>&1 & + } +[[ $(dpkg --get-selections|grep -w "apache2"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null +[[ $(dpkg --get-selections|grep -w "apache2"|head -1) ]] && ESTATUS=`echo -e "\e[3;32mINSTALADO\e[0m"` &>/dev/null +echo -e "\033[97m # apt-get install apache2.............. $ESTATUS " +#curl +[[ $(dpkg --get-selections|grep -w "curl"|head -1) ]] || apt-get install curl -y &>/dev/null +[[ $(dpkg --get-selections|grep -w "curl"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null +[[ $(dpkg --get-selections|grep -w "curl"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null +echo -e "\033[97m # apt-get install curl................. $ESTATUS " +#socat +[[ $(dpkg --get-selections|grep -w "socat"|head -1) ]] || apt-get install socat -y &>/dev/null +[[ $(dpkg --get-selections|grep -w "socat"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null +[[ $(dpkg --get-selections|grep -w "socat"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null +echo -e "\033[97m # apt-get install socat................ $ESTATUS " +#netcat +[[ $(dpkg --get-selections|grep -w "netcat"|head -1) ]] || apt-get install netcat -y &>/dev/null +[[ $(dpkg --get-selections|grep -w "netcat"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null +[[ $(dpkg --get-selections|grep -w "netcat"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null +echo -e "\033[97m # apt-get install netcat............... $ESTATUS " +#netcat-traditional +[[ $(dpkg --get-selections|grep -w "netcat-traditional"|head -1) ]] || apt-get install netcat-traditional -y &>/dev/null +[[ $(dpkg --get-selections|grep -w "netcat-traditional"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null +[[ $(dpkg --get-selections|grep -w "netcat-traditional"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null +echo -e "\033[97m # apt-get install netcat-traditional... $ESTATUS " +#net-tools +[[ $(dpkg --get-selections|grep -w "net-tools"|head -1) ]] || apt-get net-tools -y &>/dev/null +[[ $(dpkg --get-selections|grep -w "net-tools"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null +[[ $(dpkg --get-selections|grep -w "net-tools"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null +echo -e "\033[97m # apt-get install net-tools............ $ESTATUS " +#cowsay +[[ $(dpkg --get-selections|grep -w "cowsay"|head -1) ]] || apt-get install cowsay -y &>/dev/null +[[ $(dpkg --get-selections|grep -w "cowsay"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null +[[ $(dpkg --get-selections|grep -w "cowsay"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null +echo -e "\033[97m # apt-get install cowsay............... $ESTATUS " +#figlet +[[ $(dpkg --get-selections|grep -w "figlet"|head -1) ]] || apt-get install figlet -y &>/dev/null +[[ $(dpkg --get-selections|grep -w "figlet"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null +[[ $(dpkg --get-selections|grep -w "figlet"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null +echo -e "\033[97m # apt-get install figlet............... $ESTATUS " +#lolcat +apt-get install lolcat -y &>/dev/null +sudo gem install lolcat &>/dev/null +[[ $(dpkg --get-selections|grep -w "lolcat"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null +[[ $(dpkg --get-selections|grep -w "lolcat"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null +echo -e "\033[97m # apt-get install lolcat............... $ESTATUS " +#PV +[[ $(dpkg --get-selections|grep -w "pv"|head -1) ]] || apt-get install pv -y &>/dev/null +[[ $(dpkg --get-selections|grep -w "pv"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null +[[ $(dpkg --get-selections|grep -w "pv"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null +echo -e "\033[97m # apt-get install PV ................ $ESTATUS " +msg -bar +echo -e "\033[92m La instalacion de paquetes necesarios a finalizado" +msg -bar +echo -e "\033[97m Si la instalacion de paquetes tiene fallas" +echo -ne "\033[97m Puede intentar de nuevo [s/n]: " +read inst +[[ $inst = @(s|S|y|Y) ]] && install_ini +} + +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" +} +function_verify () { +unset keybot +echo -e "\033[7;49;35m ${TTini} GEN NETCOLVIP${TTcent}VPS ${TTfin} \033[0m" +msg -bar +} + +[[ ! -e /etc/http-instas ]] && echo '0' > /etc/http-instas || let sd=$(cat < /etc/http-instas)-$coo && echo $sd > /etc/http-instas +[[ -d $SCPT_DIR ]] && rm -rf $SCPT_DIR + +#CORES +cor[1]="\033[1;36m" +cor[2]="\033[1;32m" +cor[3]="\033[1;31m" +cor[4]="\033[1;33m" +cor[0]="\033[1;37m" + +#TEXTOS + +#COMPARA +fun_filez () { +fup="$HOME/update" +echo "$1" >> $HOME/files.log +[[ $1 = 'http-server.py' ]] && mv -f ${fup}/$1 /bin/http-server.sh && chmod +x /bin/http-server.sh +[[ -e $1 ]] && mv -f ${fup}/$1 /etc/SPlus/$1 +chmod 666 /etc/SPlus/$1 +} + +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 +} + + +atualiza_fun () { +msg -bar +[[ -d $HOME/update ]] && rm -rf $HOME/update/* || mkdir $HOME/update +cd $HOME/update/ +msg -bar +echo -e "\033[1;33mDescargando archivos... ESPERE " +msg -bar +wget -q --no-check-certificate -O $HOME/files.tar https://github.com/netfreeplus/SSHPLUS/raw/main/SSHPlus.tar +## RECUERDA -- CADA UPDATE DEBES RECOMPRIMIR ESTE TAR Y RESUBIRLO CON LA MISMA RUTA ( SI CAMBIAS DE URL, SOLO LO CAMBIAS AQUI ) +[[ -d $HOME/update ]] && rm -rf $HOME/update/* || mkdir $HOME/update +[[ -e $HOME/files.tar ]] && tar xpf $HOME/files.tar -C $HOME/update && rm -f $HOME/files.tar +n=1 +unset arqs +n=1 +rm -f $HOME/files.log +for arqs in `ls $HOME/update`; do +echo -ne "\033[1;33m FILE \e[32m [${n}.gen] \e[0m " +fun_filez $arqs > /dev/null 2>&1 && echo -e "\033[1;31m- \033[1;31m $arqs (no Trasladado!)" || echo -e "\033[1;31m- \033[1;32m $arqs Trasladado!" +n=$(($n + 1)) +done +echo -e "DESCARGANADO LA BASE DEL SERVIDOR FTP" +wget -q -O /bin/http-server.sh https://www.dropbox.com/scl/fi/541yo195lh3mp4pyt4feb/http-server.py?rlkey=tv06qulpo04vgr5yjuorlhcr0 +##FILE HTTP-SERVER ( FICHERO A REEMPLAZAR POR EL TUYO ) +chmod 777 /bin/http-server.sh +wget -q -O /bin/keygen https://www.dropbox.com/scl/fi/wzavic76je14ew51wx202/gerar.sh?rlkey=fkp16dkx49tth1emoxz9i54ga && chmod +x /bin/keygen +##FILE KEYGEN DE GENERADOR ( DEBES VOLVER A DESCARGARLO POR LOS CAMBIOS HACIA EL BOT ) +cd $HOME + [[ -e $HOME/lista ]] && rm $HOME/lista + [[ -d $HOME/update ]] && rm -rf $HOME/update +cd $HOME && rm -rf $HOME/update && rm -f $HOME/files.tar +} + +unset Key +[[ $1 = '--gen' ]] && install_ini +[[ $1 = '' ]] && clear && echo " DESTRUYENDO FICHERO rm -rf /bin " && exit +clear +check_ip +function_verify +msg -bar +echo -e "\033[7;49;35m ${TTini} GEN NETCOLVIP${TTcent}VPS ${TTfin} \033[0m" +msg -bar +echo -e " \nPara Finalizar, AGREGA NOMBRE DE SCRIPT \n" +msg -bar +read -p " DIGITA NOMBRE " nscript +[[ -z ${nscript} ]] && nscript='@NETCOLVIP' +echo -e "${nscript}" > /etc/NSCT +chmod 777 /etc/NSCT +echo -ne " \033[1;33mIP $(wget -qO- ifconfig.me) VERIFICADA POR @NETCOLVIP. . . " | pv -qL 20 + +meu_ip () { +[[ -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 +} +} + +meu_ip + +[[ -e /usr/bin/vendor_code ]] && { +[[ ! -d ${IVAR} ]] && touch ${IVAR} +[[ -d /etc/SPlus ]] && rm -rf /etc/SPlus/* || mkdir /etc/SPlus +[[ ! -d /var/www/html/NETCOLVIP ]] && mkdir /var/www/html/NETCOLVIP +cd +atualiza_fun +IVAR2="/etc/key-gerador" +echo "$Key" > $IVAR2 +wget --no-check-certificate -q -O /var/www/html/index.html https://raw.githubusercontent.com/ChumoGH/ChumoGH-Script/master/html/index.html +echo -e "\033[1;33m Perfecto, utilize el comando \033[1;31mkeygen o gerar \033[1;33mpara administrar sus keys y + actualizar la base del servidor" +echo -e "\033[1;36m--------------------------------------------------------------------\033[0m" +echo -e " Recuerda Generar 1 Key manual, luego de terminar la Instalacion " +echo -e "\033[1;36m--------------------------------------------------------------------\033[0m" +echo -e "\033[1;33mKey ACCESIBLE MEDIANTE" $1 +echo -e "\033[1;36m--------------------------------------------------------------------\033[0m" +curl -s --max-time 10 -d "chat_id=$ID&disable_web_page_preview=1&text=$(echo -e "$MENSAJE")" $urlBOT &>/dev/null +} || { +echo -e "\033[1;36m--------------------------------------------------------------------\033[0m" +echo -e "\033[1;33mKey inválida!" +echo -e "\033[1;36m--------------------------------------------------------------------\033[0m" +curl -s --max-time 10 -d "chat_id=$ID&disable_web_page_preview=1&text=$(echo -e "$MENSAJE")" $urlBOT &>/dev/null +} +echo "$(wget -qO- ifconfig.me)" > /etc/key-gerador +echo -ne "\033[0m" +rm -f insta*