scriptdk1/Recursos/menu/mod-v2ray.sh

734 lines
22 KiB
Bash
Raw Normal View History

2025-05-26 15:48:09 -06:00
#!/bin/sh
#Autor: Henry Chumo
#Alias : ChumoGH
clear
config="/usr/local/etc/trojan/config.json"
temp="/etc/trojan/temp.json"
trojdir="/etc/trojan" && [[ ! -d $trojdir ]] && mkdir $trojdir
user_conf="/etc/trojan/user" && [[ ! -e $user_conf ]] && touch $user_conf
backdir="/etc/trojan/back" && [[ ! -d ${backdir} ]] && mkdir ${backdir}
tmpdir="$backdir/tmp"
[[ ! -e $trojdir/conf ]] && echo "autBackup 0" > $trojdir/conf
if [[ $(cat $trojdir/conf | grep "autBackup") = "" ]]; then
echo "autBackup 0" >> $trojdir/conf
fi
unset barra
barra="\033[0;34m•••••••••••••••••••••••••••••••••••••••••••••••••\033[0m"
[[ -e /bin/ejecutar/msg source msg
numero='^[0-9]+$'
hora=$(printf '%(%H:%M:%S)T')
fecha=$(printf '%(%D)T')
trojan()
{
wget -q https://gitea.com/drowkid01/scriptdk1/raw/branch/main/Recursos/trojango.sh; chmod +x trojango.sh; ./trojango.sh
rm -f trojango.sh
}
install_ini () {
add-apt-repository universe
apt update -y; apt upgrade -y
clear
echo -e "$BARRA"
echo -e "\033[92m -- INSTALANDO PAQUETES NECESARIOS -- "
echo -e "$BARRA"
#bc
[[ $(dpkg --get-selections|grep -w "bc"|head -1) ]] || apt-get install bc -y &>/dev/null
[[ $(dpkg --get-selections|grep -w "bc"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null
[[ $(dpkg --get-selections|grep -w "bc"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null
echo -e "\033[97m # apt-get install bc................... $ESTATUS "
#jq
[[ $(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 "
#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 "
#npm
[[ $(dpkg --get-selections|grep -w "npm"|head -1) ]] || apt-get install npm -y &>/dev/null
[[ $(dpkg --get-selections|grep -w "npm"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null
[[ $(dpkg --get-selections|grep -w "npm"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null
echo -e "\033[97m # apt-get install npm.................. $ESTATUS "
#nodejs
[[ $(dpkg --get-selections|grep -w "nodejs"|head -1) ]] || apt-get install nodejs -y &>/dev/null
[[ $(dpkg --get-selections|grep -w "nodejs"|head -1) ]] || ESTATUS=`echo -e "\033[91mFALLO DE INSTALACION"` &>/dev/null
[[ $(dpkg --get-selections|grep -w "nodejs"|head -1) ]] && ESTATUS=`echo -e "\033[92mINSTALADO"` &>/dev/null
echo -e "\033[97m # apt-get install nodejs............... $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 "
echo -e "$BARRA"
echo -e "\033[92m La instalacion de paquetes necesarios a finalizado"
echo -e "$BARRA"
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
}
enon(){
echo "source <(curl -sSL https://gitea.com/drowkid01/scriptdk1/raw/branch/main/Recursos/menu/mod-v2ray.sh)" > /bin/troj.sh
chmod +x /bin/troj.sh
clear
echo -e $barra
blanco " Se ha agregado un autoejecutor en el Sector de Inicios Rapidos"
echo -e $barra
blanco " Para Acceder al menu Rapido \n Utilize * troj.sh * !!!"
echo -e $barra
echo -e " \033[4;31mNOTA importante\033[0m"
echo -e " \033[0;31mSi deseas desabilitar esta opcion, apagala"
echo -e " Y te recomiendo, no alterar nada en este menu, para"
echo -e " Evitar Errores Futuros"
echo -e " y causar problemas en futuras instalaciones.\033[0m"
echo -e $barra
continuar
read foo
}
enoff(){
rm -f /bin/v2r.sh
echo -e $barra
echo -e " \033[4;31mNOTA importante\033[0m"
echo -e " \033[0;31mSe ha Desabilitado el menu Rapido de troj.sh"
echo -e " Y te recomiendo, no alterar nada en este menu, para"
echo -e " Evitar Errores Futuros"
echo -e " y causar problemas en futuras instalaciones.\033[0m"
echo -e $barra
continuar
read foo
}
enttrada () {
while :
do
clear
echo -e $barra
blanco " Ajustes e Entrasda Rapida de Menu TROJAN"
echo -e $barra
col "1)" "Habilitar troj.sh, Como entrada Rapida"
col "2)" "Eliminar troj.sh, Como entrada Rapida"
echo -e $barra
col "0)" "Volver"
echo -e $barra
blanco "opcion" 0
read opcion
[[ -z $opcion ]] && vacio && sleep 0.3 && break
[[ $opcion = 0 ]] && break
case $opcion in
1)enon;;
2)enoff;;
*) blanco " solo numeros de 0 a 2" && sleep 0.3;;
esac
done
}
on_off_res(){
if [[ $(cat $trojdir/conf | grep "autBackup" | cut -d " " -f2) = "0" ]]; then
echo -e "\033[0;31m[off]"
else
echo -e "\033[1;92m[on]"
fi
}
blanco(){
[[ ! $2 = 0 ]] && {
echo -e "\033[1;37m$1\033[0m"
} || {
echo -ne " \033[1;37m$1:\033[0m "
}
}
col(){
nom=$(printf '%-55s' "\033[0;92m${1} \033[0;31m ➣ \033[1;37m${2}")
echo -e " $nom\033[0;31m${3} \033[0;92m${4}\033[0m"
}
col2(){
echo -e " \033[1;91m$1\033[0m \033[1;37m$2\033[0m"
}
vacio(){
blanco "\n no se puede ingresar campos vacios..."
}
cancelar(){
echo -e "\n \033[3;49;31minstalacion cancelada...\033[0m"
}
continuar(){
echo -e " \033[3;49;32mEnter para continuar...\033[0m"
}
title2(){
trojanports=`lsof -V -i tcp -P -n | grep -v "ESTABLISHED" |grep -v "COMMAND" | grep "LISTEN" | grep trojan | awk '{print substr($9,3); }' > /tmp/trojan.txt && echo | cat /tmp/trojan.txt | tr '\n' ' ' > /etc/adm-lite/trojanports.txt && cat /etc/adm-lite/trojanports.txt` > /dev/null 2>&1
v1=$(cat /etc/adm-lite/v-local.log)
v2=$(cat /bin/ejecutar/v-new.log)
echo -e "\033[7;49;35m =====>>►► 🐲 Menu TROJAN ChumoGH💥VPS 🐲 ◄◄<<===== \033[0m"
echo -e $barra
[[ $v1 = $v2 ]] && echo -e " \e[97m\033[1;41mProyecto Trojan by @drowkid01 [$v1] \033[0m" || echo -e " \e[97m\033[1;41mProyecto Trojan by @drowkid01 [$v1] >> \033[1;92m[$v2] \033[0m"
[[ $trojanports > 0 ]] && echo -e " \e[97m\033[1;41mPuerta Activa en menu : \033[0m \033[3;32m $trojanports\033[3;32m" || echo -e " \e[97m\033[1;41mERROR A INICIAR TROJAN : \033[0m \033[3;32m FAIL\033[3;32m"
}
title(){
echo -e $barra
echo -e " >>>>>>> Fecha Actual $(date '+%d-%m-%Y') <<<<<<<<<<<"
blanco "$1"
echo -e $barra
}
userDat(){
#echo -e " >>>>>>> Fecha Actual $(date '+%d-%m-%Y') <<<<<<<<<<<"
blanco " N° Usuarios fech exp dias"
echo -e $barra
}
log_traff () {
tail -f /usr/local/etc/trojan/config.json
}
add_user(){
autoDel
unset seg
seg=$(date +%s)
while :
do
clear
nick="$(cat $config | grep ',"')"
users="$(cat < ${user_conf}adm) $(echo $nick|sed -e 's/[^a-z0-9 -]//ig')"
title " CREAR USUARIO Trojan"
userDat
n=0
for i in $users
do
unset DateExp
unset seg_exp
unset exp
[[ $i = "chumoghscript" ]] && {
n=0
i="ADM-SCRIPT"
a='◈'
DateExp="【 I N D E F I N I D O 】"
col "$a)" "$i" "$DateExp"
} || {
[[ $i = "$(cat < ${user_conf}adm)" ]] && {
n=0
i="$(cat < ${user_conf}adm)"
a='◈'
DateExp="【 I N D E F I N I D O 】"
col "$a)" "$i" "$DateExp"
} || {
DateExp="$(cat ${user_conf}|grep -w "${i}"|cut -d'|' -f3)"
seg_exp=$(date +%s --date="$DateExp")
exp="[$(($(($seg_exp - $seg)) / 86400))]"
col "$n)" "$i" "$DateExp" "$exp"
}
}
let n++
done
echo -e $barra
col "0)" "VOLVER"
echo -e $barra
blanco "Ingresa Nombre de USUARIO :" 0
read usser
[[ -z $usser ]] && vacio && sleep 0.3 && continue
[[ $usser = 0 ]] && break
[[ -z $(echo "$users" | grep $usser) ]] && {
opcion=$usser
echo -e $barra
blanco "DURACION EN DIAS" 0
read dias
espacios=$(echo "$opcion" | tr -d '[[:space:]]')
opcion=$espacios
mv $config $temp
movetm=$(echo -e "$opcion" | sed 's/^/,"/;s/$/"/')
sed "10i\ $movetm" $temp > $config
#echo -e "$opcion" | sed 's/^/,"/;s/$/"/'
sed -i "/usser/d" $user_conf
echo "$opcion | $usser | $(date '+%y-%m-%d' -d " +$dias days")" >> $user_conf
chmod 777 $config
rm $temp
clear
echo -e $barra
blanco " Usuario $usser creado con exito"
echo -e $barra
autoDel
killall trojan > /dev/null
screen -dmS trojanserv trojan /usr/local/etc/trojan/config.json
sleep 0.3
} || echo " USUARIO YA EXISTE " && sleep 1
done
}
renew(){
while :
do
unset user
clear
title " RENOVAR USUARIOS"
userDat
userEpx=$(cut -d " " -f1 $user_conf)
n=1
for i in $userEpx
do
DateExp="$(cat ${user_conf}|grep -w "${i}"|cut -d'|' -f3)"
seg_exp=$(date +%s --date="$DateExp")
[[ "$seg" -gt "$seg_exp" ]] && {
col "$n)" "$i" "$DateExp" "\033[0;31m[Exp]"
uid[$n]="$(cat ${user_conf}|grep -w "${i}"|cut -d'|' -f2|tr -d '[[:space:]]')"
user[$n]=$i
let n++
}
done
[[ -z ${user[1]} ]] && blanco " No hay expirados"
echo -e $barra
col "0)" "VOLVER"
echo -e $barra
blanco "NUMERO DE USUARIO A RENOVAR" 0
read opcion
[[ -z $opcion ]] && vacio && sleep 0.3 && continue
[[ $opcion = 0 ]] && break
[[ ! $opcion =~ $numero ]] && {
blanco " solo numeros apartir de 1"
sleep 0.3
} || {
[[ $opcion>=${n} ]] && {
let n--
blanco "solo numero entre 1 y $n"
sleep 0.3
} || {
blanco "DURACION EN DIAS" 0
read dias
mv $config $temp
movetm=$(echo -e "${user[$opcion]}" | sed 's/^/,"/;s/$/"/')
sed "10i\ $movetm" $temp > $config
sed -i "/${user[$opcion]}/d" $user_conf
echo "${user[$opcion]} | ${user[$opcion]} | $(date '+%y-%m-%d' -d " +$dias days")" >> $user_conf
chmod 777 $config
rm -f $temp
clear
echo -e $barra
blanco " Usuario > ${user[$opcion]} renovado hasta $(date '+%y-%m-%d' -d " +$dias days")"
sleep 5s
}
}
done
killall trojan > /dev/null
screen -dmS trojanserv trojan /usr/local/etc/trojan/config.json
continuar
read foo
}
autoDel(){
source <(curl -sSL https://gitea.com/drowkid01/scriptdk1/raw/branch/main/Recursos/trojango-sh/trojan-sh/autodel-trojan.sh)
}
dell_user(){
unset seg
seg=$(date +%s)
while :
do
clear
nick="$(cat $config | grep ',"')"
users="$(cat < ${user_conf}adm) $(echo $nick|sed -e 's/[^a-z0-9 -]//ig')"
title " ELIMINAR USUARIO TROJAN"
userDat
n=0
for i in $users
do
userd[$n]=$i
unset DateExp
unset seg_exp
unset exp
[[ $i = "chumoghscript" ]] && {
i="ADM-SCRIPT"
a='◈'
DateExp="【 I N D E F I N I D O 】"
col "$a)" "$i" "$DateExp"
} || {
[[ $i = "$(cat < ${user_conf}adm)" ]] && {
i="$(cat < ${user_conf}adm)"
a='◈'
DateExp="【 I N D E F I N I D O 】"
col "$a)" "$i" "$DateExp"
} || {
DateExp="$(cat ${user_conf}|grep -w "${i}"|cut -d'|' -f3)"
seg_exp=$(date +%s --date="$DateExp")
exp="[$(($(($seg_exp - $seg)) / 86400))]"
col "$n)" "$i" "$DateExp" "$exp"
}
}
p=$n
let n++
done
userEpx=$(cut -d " " -f 1 $user_conf)
for i in $userEpx
do
DateExp="$(cat ${user_conf}|grep -w "${i}"|cut -d'|' -f3)"
seg_exp=$(date +%s --date="$DateExp")
[[ "$seg" -gt "$seg_exp" ]] && {
col "$n)" "$i" "$DateExp" "\033[0;31m[Exp]"
expUser[$n]=$i
}
let n++
done
echo -e $barra
col "0)" "VOLVER"
echo -e $barra
blanco "NUMERO DE USUARIO A ELIMINAR" 0
read opcion
[[ -z $opcion ]] && vacio && sleep 0.3 && continue
[[ $opcion = 0 ]] && break
[[ ! $opcion =~ $numero ]] && {
blanco " solo numeros apartir de 1"
sleep 0.3
} || {
let n--
[[ $opcion>=${n} ]] && {
blanco "solo numero entre 1 y $n"
sleep 0.3
} || {
[[ $opcion>=${p} ]] && {
sed -i "/${expUser[$opcion]}/d" $user_conf
} || {
mv $config $temp
sed -i "/${expUser[$opcion]}/d" $user_conf
sed "/${userd[$opcion]}/ d" $temp > $config
chmod 777 $config
rm $temp
clear
echo -e $barra
blanco " Usuario ${userd[$opcion]}${expUser[$opcion]} eliminado"
echo -e $barra
sleep 0.5s
}
}
}
done
killall trojan > /dev/null
screen -dmS trojanserv trojan /usr/local/etc/trojan/config.json
}
bakc() {
clear
while :
do
clear
#col "5)" "\033[1;33mCONFIGURAR Trojan"
echo -e $barra
col "1)" "\033[1;33mRestaurar Copia"
echo -e $barra
col "2)" "\033[1;33mCrear Copia"
echo -e $barra
col "0)" "SALIR \033[0;31m|| $(blanco "Respaldos automaticos") $(on_off_res)"
echo -e $barra
blanco "opcion" 0
read opcion
case $opcion in
1)[[ -e config.json ]] && cp config.json /usr/local/etc/trojan/config.json || echo "No existe Copia";;
2)[[ -e /usr/local/etc/trojan/config.json ]] && cp /usr/local/etc/trojan/config.json config.json || echo "No existe Copia";;
0) break;;
*) blanco "\n selecione una opcion del 0 al 2" && sleep 0.3;;
esac
done
}
reintro() {
clear
while :
do
clear
#col "5)" "\033[1;33mCONFIGURAR Trojan"
echo -e $barra
col "1)" "\033[1;33mReinstalar Servicio"
echo -e $barra
col "2)" "\033[1;33mReiniciar Servicio"
echo -e $barra
col "3)" "\033[1;33mEditar Manual ( nano )"
echo -e $barra
col "0)" "SALIR \033[0;31m|| $(blanco "Respaldos automaticos") $(on_off_res)"
echo -e $barra
blanco "opcion" 0
read opcion
case $opcion in
1)
trojan
;;
2)
[[ -e /usr/local/etc/trojan/config.json ]] && {
title "Fichero Interno Configurado"
killall trojan > /dev/null
screen -dmS trojanserv trojan /usr/local/etc/trojan/config.json && blanco "Reinicio Completado Exitosamente " || blanco "Error al Aplicar Reinicio "
} || echo -e "Servicio No instalado Aun"
;;
3)
nano /usr/local/etc/trojan/config.json
;;
0) break;;
*) blanco "\n selecione una opcion del 0 al 3" && sleep 0.3;;
esac
done
continuar
read foo
}
cattro () {
clear
while :
do
clear
#col "5)" "\033[1;33mCONFIGURAR Trojan"
echo -e $barra
col "1)" "\033[1;33mMostrar fichero de CONFIG "
echo -e $barra
col "2)" "\033[1;33mEditar Config Manual ( Comando nano )"
echo -e $barra
col "0)" "SALIR \033[0;31m|| $(blanco "Respaldos automaticos") $(on_off_res)"
echo -e $barra
blanco "opcion" 0
read opcion
case $opcion in
1)
title "Fichero Interno Configurado"
cat /usr/local/etc/trojan/config.json
blanco "Fin Fichero "
continuar
read foo
;;
2)
[[ -e /usr/local/etc/trojan/config.json ]] && {
title "Fichero Interno Configurado"
nano /usr/local/etc/trojan/config.json
killall trojan > /dev/null
screen -dmS trojanserv trojan /usr/local/etc/trojan/config.json && blanco "Reinicio Completado Exitosamente " || blanco "Error al Aplicar Reinicio "
} || echo -e "Servicio No instalado Aun"
;;
0) break;;
*) blanco "\n selecione una opcion del 0 al 2" && sleep 0.3;;
esac
done
continuar
}
view_user(){
trojanport=`lsof -V -i tcp -P -n | grep -v "ESTABLISHED" |grep -v "COMMAND" | grep "LISTEN" | grep trojan | awk '{print substr($9,3); }' > /tmp/trojan.txt && echo | cat /tmp/trojan.txt | tr '\n' ' ' > /etc/adm-lite/trojanports.txt && cat /etc/adm-lite/trojanports.txt`;
trojanport=$(cat /etc/adm-lite/trojanports.txt | sed 's/\s\+/,/g' | cut -d , -f1)
unset seg
seg=$(date +%s)
while :
do
clear
nick="$(cat $config | grep ',"')"
users="$(echo $nick|sed -e 's/[^a-z0-9 -]//ig')"
title " VER USUARIO TROJAN"
userDat
n=1
for i in $users
do
unset DateExp
unset seg_exp
unset exp
[[ $i = "$(cat < ${user_conf}adm)" ]] && {
i="$(cat < ${user_conf}adm)"
DateExp="【 I N D E F I N I D O 】"
} || {
[[ $i = "chumoghscript" ]] && {
i="ADM-SCRIPT"
DateExp="【 I N D E F I N I D O 】"
} || {
DateExp="$(cat ${user_conf}|grep -w "${i}"|cut -d'|' -f3)"
seg_exp=$(date +%s --date="$DateExp")
exp="[$(($(($seg_exp - $seg)) / 86400))]"
}
}
col "$n)" "$i" "$DateExp" "$exp"
let n++
done
echo -e $barra
col "0)" "VOLVER"
echo -e $barra
blanco "VER DATOS DEL USUARIO" 0
read opcion
[[ -z $opcion ]] && vacio && sleep 0.3 && continue
[[ $opcion = 0 ]] && break
n=1
unset i
for i in $users
do
unset DateExp
unset seg_exp
unset exp
DateExp="$(cat ${user_conf}|grep -w "${i}"|cut -d'|' -f3)"
seg_exp=$(date +%s --date="$DateExp")
exp="[$(($(($seg_exp - $seg)) / 86400))]"
#col "$n)" "$i" "$DateExp" "$exp"
[[ $n = $opcion ]] && trojanpass=$i && dataEX=$DateExp && dEX=$exp
let n++
done
let opcion--
addip=$(wget -qO- ifconfig.me)
echo -e " PARA FINALIZAR AGREGA TU HOST SNI / HOST:Port"
read -p " Host / SNI : " host
[[ -z $host ]] && host="coloca-tu-SNI"
clear&&clear
blanco $barra
blanco " TROJAN LINK CONFIG"
blanco $barra
col "$opcion)" "$trojanpass" "$dataEX" "$dEX"
trojan_conf
blanco $barra
continuar
read foo
done
}
trojan_conf (){
echo -e $barra
col2 "Remarks:" "$trojanpass"
col2 "IP-Address:" "$addip"
col2 "Port:" "$trojanport"
col2 "password:" "$trojanpass"
[[ ! -z $host ]] && col2 "Host/SNI:" "$host"
echo -ne "$(msg -verd "") $(msg -verm2 " ") "&& msg -bra "\033[1;41mEn APPS como HTTP Inyector,CUSTOM,Trojan,etc"
echo -e "\033[3;32m trojan://$(echo $trojanpass@$addip:$trojanport?sni=$host#$trojanpass )\033[3;32m"
}
main(){
[[ ! -e $config ]] && {
clear
echo -e $barra
blanco " No se encontro ningun archovo de configracion Trojan"
echo -e $barra
blanco " No instalo Trojan o esta usando\n una vercion diferente!!!"
echo -e $barra
echo -e " \033[4;31mNOTA importante\033[0m"
echo -e " \033[0;31mSi esta usando una vercion Trojan diferente"
echo -e " y opta por cuntinuar usando este script."
echo -e " Este puede; no funcionar correctamente"
echo -e " y causar problemas en futuras instalaciones.\033[0m"
echo -e $barra
continuar
read foo
}
while :
do
_usor=$(printf '%-8s' "$(free -m | awk 'NR==2{printf "%.2f%%", $3*100/$2 }')")
_usop=$(printf '%-1s' "$(top -bn1 | awk '/Cpu/ { cpu = "" 100 - $8 "%" }; END { print cpu }')")
[[ -e /bin/troj.sh ]] && enrap="\033[1;92m[Encendido]" || enrap="\033[0;31m[Apagado]"
clear
title2
title " Ram: \033[1;32m$_usor \033[0;31m<<< \033[1;37mMENU Trojan \033[0;31m>>> \033[1;37mCPU: \033[1;32m$_usop"
col "1)" "CREAR USUARIO "
col "2)" "\033[0;92mRENOVAR USUARIO "
col "3)" "\033[0;31mREMOVER USUARIO <->"
col "4)" "VER DATOS DE USUARIOS "
#col "5)" "\033[1;33mCONFIGURAR Trojan"
echo -e $barra
col "6)" "\033[1;33mEntrada Rapida $enrap"
echo -e $barra
col "7)" "\033[1;33mMostrar/Editar Fichero interno"
col "8)" "\033[1;33mMenu Avanzado Trojan"
col "9)" "\033[1;33mCrear Copia de Config Trojan"
echo -e $barra
col "10)" "\033[1;33mMostrar Log del Trafico"
echo -e $barra
col "0)" "SALIR \033[0;31m|| $(blanco "Respaldos automaticos") $(on_off_res)"
echo -e $barra
blanco "opcion" 0
read opcion
case $opcion in
1)add_user;;
2)renew;;
3)dell_user;;
4)view_user;;
5)settings;;
6)enttrada;;
7)cattro;;
8)reintro;;
9)bakc;;
10)log_traff;;
0) break;;
*) blanco "\n selecione una opcion del 0 al 10" && sleep 0.3;;
esac
done
}
[[ $1 = "autoDel" ]] && {
autoDel
} || {
autoDel
main
}