581 lines
25 KiB
Bash
581 lines
25 KiB
Bash
#!/bin/bash
|
|
#by @ChumoGH Oficial
|
|
|
|
#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 "
|
|
_apTT=$(netstat -tlpn | grep -w 80)
|
|
ofus () {
|
|
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
|
|
}
|
|
|
|
function chekKEY {
|
|
[[ -z ${IP} ]] && IP=$(cat < /bin/ejecutar/IPcgh)
|
|
[[ -z ${IP} ]] && IP=$(wget -qO- ifconfig.me)
|
|
Key="$(cat /etc/cghkey)"
|
|
_double=$(curl -sSL "https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Control/Control-Bot.txt")
|
|
IiP="$(ofus "$Key" | 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}')"
|
|
[[ -e /file ]] && _double=$(cat < /file) || {
|
|
wget -q -O /file https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Control/Control-Bot.txt
|
|
_double=$(cat < /file)
|
|
}
|
|
_check2="$(echo -e "$_double" | grep ${IiP})"
|
|
[[ ! -e /etc/folteto ]] && {
|
|
wget --no-check-certificate -O /etc/folteto $IiP:81/ChumoGH/checkIP.log
|
|
cheklist="$(cat /etc/folteto)"
|
|
echo -e "$(echo -e "$cheklist" | grep ${IP})" > /etc/folteto
|
|
}
|
|
[[ -z ${_check2} ]] && {
|
|
mss_='\n BotGEN NO AUTORIZADO POR @ChumoGH '
|
|
cat <<EOF >/bin/menu
|
|
clear && clear
|
|
echo -e "\n\n\033[1;31m==================================================\n ¡¡ 🚫 KEY BANEADA 🚫 ! CONTACTE Su ADMINISTRADOR! \n==================================================\n ¡¡ FECHA DE BANEO :$(date +%d/%m/%Y) HORA :$(date +%H:%M:%S) \n==================================================\n\n¡¡ ${mss_} \n\n==================================================\n"
|
|
echo -e " \e[1;32m --- SI CONSIDERA QUE FUE UN ERROR --- " | pv -qL 60
|
|
echo -e " \e[1;32m -- ${mss_} -- " | pv -qL 60
|
|
echo -e "\n \e[1;93m --- TECLEA \e[1;93m --- \e[1;97mcgh -fix\e[1;93m --- " | pv -qL 50
|
|
echo -e "\n\033[1;31m==================================================\n\n"
|
|
#echo "/etc/adm-lite/menu" > /bin/menu && chmod +x /bin/menu
|
|
EOF
|
|
|
|
rm -f /etc/folteto
|
|
rm -f /etc/adm-lite/menu*
|
|
MENSAJE="${TTini}${m3ssg}MSG RECIVIDO${m3ssg}${TTfin}\n"
|
|
MENSAJE+=" ---------------------------------------------\n"
|
|
MENSAJE+=" IP Clon: ${IP} Rechazada\n"
|
|
MENSAJE+=" ---------------------------------------------\n"
|
|
MENSAJE+=" INSECTO DETECTADO EN Install Trojan Plus\n"
|
|
MENSAJE+=" ---------------------------------------------\n"
|
|
MENSAJE+=" Key : ${Key}\n"
|
|
MENSAJE+=" ---------------------------------------------\n"
|
|
MENSAJE+=" HORA : $(printf '%(%D-%H:%M:%S)T')\n"
|
|
MENSAJE+=" ---------------------------------------------\n"
|
|
MENSAJE+=" ${rUlq} Bot ADMcgh de keyS ${rUlq}\n"
|
|
MENSAJE+=" ${pUn5A} By @ChumoGH ${pUn5A} \n"
|
|
MENSAJE+=" ---------------------------------------------\n"
|
|
curl -s --max-time 10 -d "chat_id=$ID&disable_web_page_preview=1&text=$(echo -e "$MENSAJE")" $urlBOT &>/dev/null
|
|
exit && exit
|
|
}
|
|
}
|
|
|
|
#FUN_BAR
|
|
fun_bar () {
|
|
comando="$1"
|
|
_=$( $comando > /dev/null 2>&1 ) & > /dev/null
|
|
pid=$!
|
|
while [[ -d /proc/$pid ]]; do
|
|
echo -ne " \033[1;33m["
|
|
for((i=0; i<20; i++)); do
|
|
echo -ne "\033[1;31m##"
|
|
sleep 0.5
|
|
done
|
|
echo -ne "\033[1;33m]"
|
|
sleep 1s
|
|
echo tput cuu1 tput dl1
|
|
done
|
|
echo -e " \033[1;33m[\033[1;31m########################################\033[1;33m] - \033[1;32m100%\033[0m"
|
|
sleep 1s
|
|
}
|
|
|
|
selection_fun () {
|
|
chekKEY &> /dev/null 2>&1
|
|
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;31m <> OPCION : " >&2
|
|
read selection
|
|
tput cuu1 >&2 && tput dl1 >&2
|
|
done
|
|
echo $selection
|
|
}
|
|
|
|
source <(curl -sL https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/msg-bar/msg)
|
|
[[ -e /etc/trojan/user ]] && rm -f /etc/trojan/user
|
|
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}
|
|
config='/usr/local/etc/trojan/config.json'
|
|
car_cert () {
|
|
[[ -d /bin/ejecutar/cert ]] && rm -f /bin/ejecutar/cert/* || mkdir /bin/ejecutar/cert
|
|
[[ -e /etc/trojan/private.key ]] && echo -e "Ya Existe un certificado SSL Cargado \n Recuerde Cargar SU Certificado y Key del SSL " | pv -qL 25
|
|
msg -bar3
|
|
echo -e "Descarga el fichero URL del Certificado SSL "
|
|
echo -e $barra
|
|
echo -e " \033[4;31mNOTA importante\033[0m"
|
|
echo -e " \033[0;31mPara este Paso debes tener el URL del certificado Online"
|
|
echo -e " Si Aun no lo has hecho, Cancela este paso"
|
|
echo -e " Evitar Errores Futuros"
|
|
echo -e " y causar problemas en futuras instalaciones.\033[0m"
|
|
echo -e $barra
|
|
msg -bar3
|
|
echo -e "Ingrese Link del Fichero URL de tu ZIP con los Certificados "
|
|
msg -bar3
|
|
read -p " Pega tu Link : " urlm
|
|
cd /bin/ejecutar/cert
|
|
wget -O certificados.zip $urlm && echo -e "Descargando Fichero ZIP " || echo "Link de descarga Invalido"
|
|
msg -bar3
|
|
echo -ne "\033[3;49;32mZIPS Existentes : " && ls | grep zip
|
|
msg -bar3
|
|
unzip certificados.zip 1> /dev/null 2> /dev/null && echo -e "Descomprimiendo Ficheros descargados" || echo -e "Error al Descomprimir "
|
|
[[ -e private.key ]] && cat private.key > /etc/trojan/private.key && echo -e " Key del Certificado cargada Exitodamente" || echo "Claves Invalidas"
|
|
[[ -e certificate.crt && -e ca_bundle.crt ]] && cat certificate.crt ca_bundle.crt > /etc/trojan/fullchain.cer && echo -e " crt del Certificado cargada Exitodamente" || echo "Claves Invalidas"
|
|
rm -f private.key certificate.crt ca_bundle.crt certificados.zip 1> /dev/null 2> /dev/null && cd $HOME
|
|
}
|
|
|
|
troport () {
|
|
tittle
|
|
echo -e "[\033[1;31m-\033[1;33m]\033[1;31m \033[1;33m"
|
|
msg -bar3
|
|
echo -ne "\033[1;33mΔ PUERTO TROJAN "
|
|
read -p ": " trojanport
|
|
trojanport=$(echo ${trojanport}|sed -e 's/[^0-9]//ig')
|
|
[[ -z ${trojanport} ]] && trojanport='180'
|
|
msg -bar3
|
|
sed -i 's/443/'${trojanport}'/g' /usr/local/etc/trojan/config.json
|
|
echo -ne "\033[1;33mΔ CLAVE TROJAN "
|
|
read -p ": " trojanpass
|
|
trojanpass=$(echo ${trojanpass}|sed -e's/[^0-9a-z_]//ig')
|
|
msg -bar3
|
|
[[ -z ${trojanpass} ]] && trojanpass=$(hostname)
|
|
echo -ne "\033[1;33mΔ COLOCA TU SNI "
|
|
read -p ": " trojanSNI
|
|
trojanSNI="$(echo ${trojanSNI}|sed -e 's/[^A-Za-z0-9._-$]//ig')"
|
|
[[ -z ${trojanSNI} ]] && trojanSNI='ssl.whatsapp.net'
|
|
SNI=$(cat /usr/local/etc/trojan/config.json | jq -r .ssl.sni)
|
|
new_id=$(uuidgen)
|
|
#sed -i "s%${SNI}%${trojanSNI}%g" /usr/local/etc/trojan/config.json
|
|
sed -i 's/'${SNI}'/'${trojanSNI}'/g' /usr/local/etc/trojan/config.json
|
|
msg -bar3
|
|
sed -i 's/passtrojan/'$new_id'/g' /usr/local/etc/trojan/config.json
|
|
echo -e "\033[1;32mΔ Iniciando Trojan Server"
|
|
msg -bar3
|
|
echo -ne "\033[1;31m[ ! ] AGREGANDO USUARIO ADMINISTRADOR "
|
|
(opcion=$trojanpass
|
|
espacios=$(echo "$opcion" | tr -d '[[:space:]]')
|
|
opcion=$espacios
|
|
echo "chumoghscript | chumoghscript | $(date '+%y-%m-%d' -d " +9999 days")" >> $user_conf
|
|
echo "$opcion | $new_id | $(date '+%y-%m-%d' -d " +999 days")" >> $user_conf
|
|
echo "$trojanpass" > ${user_conf}adm
|
|
) && echo -e "\033[1;32m [OK]" || echo -e "\033[1;31m [FAIL]"
|
|
unset bot_ini
|
|
PIDGEN=$(ps x|grep -v grep|grep "/usr/local/etc/trojan/config.json")
|
|
if [[ ! $PIDGEN ]]; then
|
|
msg -bar3
|
|
read -t 5 -p " $(echo -e "\033[1;97m Poner en linea despues de un reinicio [s/n]: ")" -e -i "s" bot_ini
|
|
msg -bar3
|
|
[[ $bot_ini = @(s|S|y|Y) ]] && {
|
|
#echo "@reboot systemctl restart trojan.service" >>/bin/autoboot
|
|
[[ $(uname -m 2> /dev/null) != x86_64 ]] && {
|
|
sed -i '/trojanserv/d' /bin/autoboot
|
|
echo -e "netstat -tlpn | grep -w ${trojanport} > /dev/null || { screen -r -S 'trojanserv' -X quit; screen -dmS trojanserv trojan --config /usr/local/etc/trojan/config.json >> /root/server.log & }" >>/bin/autoboot
|
|
[[ -z ${_apTT} ]] && {
|
|
echo -e "netstat -tlpn | grep -w 80 > /dev/null || { screen -r -S 'ws80' -X quit; screen -dmS ws80 python /etc/adm-lite/PDirect.py 80 ; }" >>/bin/autoboot
|
|
screen -dmS ws80 python /etc/adm-lite/PDirect.py 80 ;
|
|
}
|
|
echo -e "[Unit]
|
|
Description=Trojan Service by @ChumoGH
|
|
Documentation=https://trojan-gfw.github.io/trojan/config https://github.com/p4gefau1t/trojan/
|
|
After=network.target network-online.target nss-lookup.target mysql.service mariadb.service mysqld.service
|
|
StartLimitIntervalSec=0
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=root
|
|
WorkingDirectory=/root
|
|
ExecStart="$(which trojan)" --config "/usr/local/etc/trojan/config.json" >> /root/server.log &
|
|
Restart=always
|
|
RestartSec=1s
|
|
[Install]
|
|
WantedBy=multi-user.target" > /etc/systemd/system/trojan.service
|
|
systemctl daemon-reload &>/dev/null
|
|
systemctl enable trojan &>/dev/null
|
|
systemctl start trojan &>/dev/null
|
|
} || {
|
|
sed -i '/trojanserv/d' /bin/autoboot
|
|
[[ ${MENU_OPTION} = 2 ]] && {
|
|
[[ -z ${_apTT} ]] && {
|
|
echo -e "netstat -tlpn | grep -w 80 > /dev/null || { screen -r -S 'ws80' -X quit; screen -dmS ws80 python /etc/adm-lite/PDirect.py 80 ; }" >>/bin/autoboot
|
|
screen -dmS ws80 python /etc/adm-lite/PDirect.py 80 ;
|
|
}
|
|
}
|
|
echo -e "netstat -tlpn | grep -w ${trojanport} > /dev/null || { screen -r -S 'trojanserv' -X quit; screen -dmS trojanserv trojan --config /usr/local/etc/trojan/config.json >> /root/server.log & }" >>/bin/autoboot
|
|
echo -e "[Unit]
|
|
Description=Trojan Service by @ChumoGH
|
|
Documentation=https://trojan-gfw.github.io/trojan/config https://github.com/p4gefau1t/trojan/
|
|
After=network.target network-online.target nss-lookup.target mysql.service mariadb.service mysqld.service
|
|
StartLimitIntervalSec=0
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=root
|
|
WorkingDirectory=/root
|
|
ExecStart="$(which trojan)" --config "/usr/local/etc/trojan/config.json" >> /root/server.log &
|
|
Restart=always
|
|
RestartSec=1s
|
|
[Install]
|
|
WantedBy=multi-user.target" > /etc/systemd/system/trojan.service
|
|
systemctl daemon-reload &>/dev/null
|
|
systemctl enable trojan &>/dev/null
|
|
systemctl start trojan &>/dev/null
|
|
}
|
|
print_center -verd " AUTORESTARTS DE TROJAN-GO ENCENDIDO "
|
|
} || {
|
|
sed -i '/trojanserv/d' /bin/autoboot
|
|
echo -e "netstat -tlpn | grep -w ${trojanport} > /dev/null || { screen -r -S 'trojanserv' -X quit; screen -dmS trojanserv trojan --config /usr/local/etc/trojan/config.json >> /root/server.log & }" >>/bin/autoboot
|
|
echo -e "[Unit]
|
|
Description=Trojan Service by @ChumoGH
|
|
Documentation=https://trojan-gfw.github.io/trojan/config https://github.com/p4gefau1t/trojan/
|
|
After=network.target network-online.target nss-lookup.target mysql.service mariadb.service mysqld.service
|
|
StartLimitIntervalSec=0
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=root
|
|
WorkingDirectory=/root
|
|
ExecStart="$(which trojan)" --config "/usr/local/etc/trojan/config.json" >> /root/server.log &
|
|
Restart=always
|
|
RestartSec=1s
|
|
[Install]
|
|
WantedBy=multi-user.target" > /etc/systemd/system/trojan.service
|
|
systemctl daemon-reload &>/dev/null
|
|
systemctl enable trojan &>/dev/null
|
|
systemctl start trojan &>/dev/null
|
|
}
|
|
[[ -e /usr/local/etc/trojan/config.json ]] && {
|
|
# $HOME/PDirect80.py 'https://www.dropbox.com/s/4z2aj25m2avmttk/PDirect.py'
|
|
if wget -O /bin/autodel-trojan.sh https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Recursos/trojango-sh/trojan-sh/autodel-trojan.sh &>/dev/null ; then
|
|
chmod +x /bin/autodel-trojan.sh
|
|
chattr +i /bin/autodel-trojan.sh
|
|
fi
|
|
echo -e "[Unit]
|
|
Description=UsersKillTrojan Service by @ChumoGH
|
|
After=network.target
|
|
StartLimitIntervalSec=0
|
|
|
|
[Service]
|
|
Type=simple
|
|
User=root
|
|
WorkingDirectory=/root
|
|
ExecStart=/bin/bash /bin/autodel-trojan.sh
|
|
Restart=always
|
|
RestartSec=360s
|
|
|
|
[Install]
|
|
WantedBy=multi-user.target" > /etc/systemd/system/trojankill.service
|
|
systemctl enable trojankill &>/dev/null
|
|
systemctl start trojankill &>/dev/null
|
|
systemctl daemon-reload &>/dev/null
|
|
msg -bar3
|
|
print_center -verd " AUTODELETE DE TROJAN-GO ENCENDIDO "
|
|
msg -bar3
|
|
} || {
|
|
kill -9 $(ps x | grep -v grep | grep "autodel-trojan.sh"| cut -d ' ' -f1) &>/dev/null
|
|
systemctl stop trojankill &>/dev/null
|
|
systemctl disable trojankill &>/dev/null
|
|
rm -f /etc/systemd/system/trojankill.service &>/dev/null
|
|
msg -bar3
|
|
echo -e "\033[1;31m TROJAN ID KILL fuera de linea"
|
|
msg -bar3
|
|
}
|
|
rm -f /root/server.log
|
|
#[[ $(uname -m 2> /dev/null) != x86_64 ]] && {
|
|
#echo -ne "\033[1;32mΔ RESTART FOR ARM X64 " && (screen -dmS trojanserv trojan --config /usr/local/etc/trojan/config.json &) && echo "OK " || echo -e "\033[1;32mΔ FAIL"
|
|
#} || echo -ne "\033[1;32mΔ REINICIANDO SERVICIO " && (screen -dmS trojanserv trojan /usr/local/etc/trojan/config.json -l /root/server.log &) && echo "OK " || echo -e "\033[1;32mΔ FAIL"
|
|
#echo -ne "\033[1;32mΔ INICIANDO SERVICIO " && systemctl restart trojan.service && echo "OK " || echo -e "\033[1;32mΔ FAIL"
|
|
msg -bar3
|
|
else
|
|
killall trojan &> /dev/null
|
|
systemctl stop trojankill &>/dev/null
|
|
systemctl disable trojankill &>/dev/null
|
|
rm -f /etc/systemd/system/trojankill.service &>/dev/null
|
|
systemctl stop trojan &>/dev/null
|
|
systemctl disable trojan &>/dev/null
|
|
rm -f /etc/systemd/system/trojan.service &>/dev/null
|
|
fi
|
|
clear
|
|
[[ ! -z $(ps x | grep trojan | grep -v grep) ]] && {
|
|
tittle
|
|
SNI=$(cat /usr/local/etc/trojan/config.json | jq -r .ssl.sni)
|
|
echo -e "[\033[1;31m-\033[1;33m]\033[1;31m \033[1;33m"
|
|
echo -e "\033[1;33m Trojan Server Instalado"
|
|
echo -e " Remarks :" "$trojanpass"
|
|
echo -e " IP-Address:" "$IP"
|
|
echo -e " Port :" "$trojanport"
|
|
echo -e " CLAVE :" "$new_id"
|
|
echo -e " TCP :" " OPEN"
|
|
echo -e " NetWork :" " WS/TCP"
|
|
msg -bar3
|
|
echo
|
|
[[ $(uname -m 2> /dev/null) != x86_64 ]] && {
|
|
msg -bar3
|
|
echo -e " \033[4;31mNOTA importante\033[0m"
|
|
echo -e " \033[0;31m PARA PROCESADORES ARM 64 "
|
|
echo -e " Si utilizas procesador ARM, este es solo"
|
|
echo -e " compatible con 1 SNI"
|
|
echo -e " El Host SNI/BugHost que añadiste "
|
|
echo -e " TU HOST : ${SNI}\033[0m"
|
|
msg -bar3
|
|
echo
|
|
msg -bar3
|
|
echo
|
|
}
|
|
echo -ne "$(msg -verd "") $(msg -verm2 " LINK TCP: ") "&& msg -bra "\033[1;41m trojan://$new_id@$IP:$trojanport"
|
|
echo
|
|
msg -bar3
|
|
echo
|
|
echo -ne "$(msg -verd "") $(msg -verm2 " LINK WS: ") "&& msg -bra "\033[1;41m trojan://$new_id@$IP:$trojanport?path=%2F&security=tls&type=ws&sni=$SNI"
|
|
echo
|
|
msg -bar3
|
|
echo -e "\033[1;33m Si necesitas cambiar el password edita el archivo o Ve a Menu Administrativo"
|
|
echo -e "\033[1;32m Ruta de Configuracion: /usr/local/etc/trojan/config.json"
|
|
msg -bar3
|
|
[[ $(ps x | grep trojan | grep -v grep) ]] && echo "source <(curl -sSL https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Recursos/trojango-sh/trojan-sh/mod-trojan.sh)" > /bin/troj.sh && chmod +x /bin/troj.sh
|
|
} || {
|
|
tittle
|
|
echo -e " ERROR INTERNO DE LA CONFIGURACION"
|
|
rm -rf $trojdir
|
|
}
|
|
}
|
|
|
|
certdom () {
|
|
[[ -d /etc/trojan ]] && rm -rf /etc/trojan
|
|
mkdir /etc/trojan 1> /dev/null 2> /dev/null
|
|
[[ $(uname -m 2> /dev/null) != x86_64 ]] && {
|
|
echo -e " -> BUSCANDO FILE COMPATIBLE CON ARM"
|
|
curl -LO --progress-bar https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Recursos/trojango-sh/trojan-sh/configARM.json && wget -q -O /usr/local/etc/trojan/config.json https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Recursos/trojango-sh/trojan-sh/configARM.json
|
|
} || {
|
|
echo -e " -> DESCARGANDO FILE NATIVO PROCESADORES X86_64"
|
|
curl -LO --progress-bar https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Recursos/trojango-sh/trojan-sh/config.json && wget -q --show-progress -O /usr/local/etc/trojan/config.json https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Recursos/trojango-sh/trojan-sh/config.json
|
|
[[ ${MENU_OPTION} = 2 ]] && wget https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Recursos/trojango-sh/trojan-sh/configARM.json &>/dev/null -O /usr/local/etc/trojan/config.json &>/dev/null
|
|
}
|
|
source <(curl -sSL https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Recursos/trojango-sh/trojan-sh/certUP.sh)
|
|
[[ -e /data/cert.crt && -e /data/cert.key ]] && {
|
|
cat /data/cert.key > /etc/trojan/private.key
|
|
cat /data/cert.crt > /etc/trojan/fullchain.cer
|
|
echo -e "CERTIFICADO GENERADO"
|
|
echo -ne " \033[1;31m[ ! ] CARGANDO Certificado TROJAN" # Generate CA Config
|
|
(
|
|
#sed -i '13i "cert":"/etc/trojan/fullchain.cer",' /usr/local/etc/trojan/config.json
|
|
#sed -i '14i "key":"/etc/trojan/private.key",' /usr/local/etc/trojan/config.json
|
|
newdataCERT='/etc/trojan/fullchain.cer'
|
|
newdataKEY='/etc/trojan/private.key'
|
|
dataCERT=$(cat $config | jq -r .ssl.cert)
|
|
dataKEY=$(cat $config | jq -r .ssl.key)
|
|
sed -i "s%${dataCERT}%${newdataCERT}%g" $config
|
|
sed -i "s%${dataKEY}%${newdataKEY}%g" $config
|
|
) && echo -e "\033[1;32m [OK]" || echo -e "\033[1;31m [FAIL]"
|
|
msg -bar3
|
|
echo -e "CERTIFICADO GENERADO EXITOSAMENTE"
|
|
msg -bar3
|
|
} || {
|
|
echo -e " ERROR AL CREAR CERTIFICADO "
|
|
}
|
|
}
|
|
|
|
troman(){
|
|
clear
|
|
tittle
|
|
[[ -d /etc/trojan ]] && rm -rf /etc/trojan
|
|
mkdir /etc/trojan 1> /dev/null 2> /dev/null
|
|
[[ $(uname -m 2> /dev/null) != x86_64 ]] && {
|
|
echo -e " -> BUSCANDO FILE COMPATIBLE CON ARM"
|
|
curl -LO --progress-bar https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Recursos/trojango-sh/trojan-sh/configARM.json && wget -q --show-progress -O /usr/local/etc/trojan/config.json https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Recursos/trojango-sh/trojan-sh/configARM.json
|
|
} || {
|
|
echo -e " -> DESCARGANDO FILE NATIVO PROCESADORES X86_64"
|
|
curl -LO --progress-bar https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Recursos/trojango-sh/trojan-sh/config.json && wget -q --show-progress -O /usr/local/etc/trojan/config.json https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Recursos/trojango-sh/trojan-sh/config.json
|
|
[[ ${MENU_OPTION} = 2 ]] && wget https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Recursos/trojango-sh/trojan-sh/configARM.json &>/dev/null -O /usr/local/etc/trojan/config.json &>/dev/null
|
|
}
|
|
openssl genrsa 2048 > /etc/trojan/private.key
|
|
chmod 400 /etc/trojan/private.key
|
|
openssl req -new -x509 -nodes -sha256 -days 365 -key /etc/trojan/private.key -out /etc/trojan/fullchain.cer
|
|
clear
|
|
msg -bar3
|
|
echo -ne " \033[1;31m[ ! ] GENERANDO Certificado TROJAN" # Generate CA Config
|
|
(
|
|
#sed -i '13i "cert":"/etc/trojan/fullchain.cer",' /usr/local/etc/trojan/config.json
|
|
#sed -i '14i "key":"/etc/trojan/private.key",' /usr/local/etc/trojan/config.json
|
|
newdataCERT='/etc/trojan/fullchain.cer'
|
|
newdataKEY='/etc/trojan/private.key'
|
|
dataCERT=$(cat $config | jq -r .ssl.cert)
|
|
dataKEY=$(cat $config | jq -r .ssl.key)
|
|
sed -i "s%${dataCERT}%${newdataCERT}%g" $config
|
|
sed -i "s%${dataKEY}%${newdataKEY}%g" $config
|
|
) && echo -e "\033[1;32m [OK]" || echo -e "\033[1;31m [FAIL]"
|
|
msg -bar3
|
|
echo -e " CERTIFICADO GENERADO EXITOSAMENTE"
|
|
msg -bar3
|
|
}
|
|
|
|
troauto() {
|
|
clear
|
|
tittle
|
|
msg -bar3
|
|
[[ ! -d /usr/local/etc/trojan ]] && mkdir /usr/local/etc/trojan
|
|
[[ $(uname -m 2> /dev/null) != x86_64 ]] && {
|
|
echo -ne " -> BUSCANDO FILE COMPATIBLE CON ARM - "
|
|
#curl -LO --progress-bar https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Recursos/trojango-sh/trojan-sh/configARM.json || wget -q --show-progress -O /usr/local/etc/trojan/config.json https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Recursos/trojango-sh/trojan-sh/configARM.json
|
|
if wget https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Recursos/trojango-sh/trojan-sh/configARM.json &>/dev/null -O /usr/local/etc/trojan/config.json &>/dev/null ; then
|
|
echo "[ OK ]"
|
|
else
|
|
echo "[ FAIL ]"
|
|
fi
|
|
} || {
|
|
echo -e " -> DESCARGANDO FILE NATIVO PROCESADORES X86_64 - "
|
|
#curl -LO --progress-bar https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Recursos/trojango-sh/trojan-sh/config.json || wget -q --show-progress -O /usr/local/etc/trojan/config.json https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Recursos/trojango-sh/trojan-sh/config.json
|
|
if wget https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Recursos/trojango-sh/trojan-sh/config.json &>/dev/null -O /usr/local/etc/trojan/config.json &>/dev/null ; then
|
|
[[ ${MENU_OPTION} = 2 ]] && wget https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Recursos/trojango-sh/trojan-sh/configARM.json &>/dev/null -O /usr/local/etc/trojan/config.json &>/dev/null
|
|
echo " FICHERO CONFIG DESCARGADO"
|
|
else
|
|
echo " IMPOSIBLE CONEGIR FICHERO"
|
|
fi
|
|
}
|
|
echo -ne " \033[1;31m[ ! ] GENERANDO Certificado TROJAN" # Generate CA Config
|
|
[[ -d /etc/trojan ]] && rm -rf /etc/trojan
|
|
mkdir /etc/trojan
|
|
(
|
|
openssl genrsa -out /etc/trojan/private.key 2048 > /dev/null 2>&1
|
|
chmod 400 /etc/trojan/private.key > /dev/null 2>&1
|
|
(echo "$(curl -sSL ipinfo.io | grep country | awk '{print $2}' | sed -e 's/[^a-z0-9 -]//ig')"; echo ""; echo "$(wget -qO- ifconfig.me)"; echo ""; echo ""; echo ""; echo "@ChumoGH")|openssl req -new -x509 -nodes -sha256 -days 365 -key /etc/trojan/private.key -out /etc/trojan/fullchain.cer > /dev/null 2>&1
|
|
) && echo -e "\033[1;32m [OK]" || echo -e "\033[1;31m [FAIL]"
|
|
#echo -e "\033[1;37mΔ Generando Configuracion"
|
|
#sed -i '13i "cert":"/etc/trojan/fullchain.cer",' /usr/local/etc/trojan/config.json
|
|
newdataCERT='/etc/trojan/fullchain.cer'
|
|
newdataKEY='/etc/trojan/private.key'
|
|
dataCERT=$(cat $config | jq -r .ssl.cert)
|
|
dataKEY=$(cat $config | jq -r .ssl.key)
|
|
sed -i "s%${dataCERT}%${newdataCERT}%g" $config
|
|
sed -i "s%${dataKEY}%${newdataKEY}%g" $config
|
|
cd $HOME
|
|
msg -bar3
|
|
echo -e " CERTIFICADO GENERADO EXITOSAMENTE"
|
|
msg -bar3
|
|
#fun_bar
|
|
}
|
|
|
|
|
|
[[ -e /etc/adm-lite/menu_credito ]] && nomkey="$(cat < /etc/adm-lite/menu_credito|head -1)" || nomkey="$(curl -sSL "https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Lista/menu_credito")"
|
|
IP=$(wget -qO- ifconfig.me)
|
|
fun_ip () {
|
|
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" || IP="$MEU_IP"
|
|
}
|
|
insta_tro () {
|
|
clear
|
|
tittle
|
|
killall trojan &> /dev/null
|
|
if [[ $(uname -m 2> /dev/null) != x86_64 ]]; then
|
|
msg -bar3
|
|
echo ""
|
|
echo -e " FAVOR EJECUTE EL SCRIPT EN MAQUINAS x86_64 "
|
|
echo ""
|
|
msg -bar3
|
|
echo -e " ARQUITECTURA NO COMPATIBLE CON TROJAN-GO "
|
|
echo ""
|
|
echo -e " NECESITA ACTIVAR PROXY SOCKS 80 PARA CONTINUAR"
|
|
echo ""
|
|
echo -e " INTENTAREMOS REDEFINIR UN INSTALADOR"
|
|
echo ""
|
|
msg -bar3
|
|
sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Recursos/trojango-sh/trojan-sh/trojan-ARM.sh)"
|
|
else
|
|
msg -bar3
|
|
echo ""
|
|
echo " LEE DETALLADAMENTE ANTES DE CONTINUAR"
|
|
echo ""
|
|
echo " Trojan Golang usa modulo de Golang "
|
|
echo " En este menu te damos a escojer la Opcion"
|
|
echo " TCP - Metodo SSL+TLS Compatible con cualquier SNI"
|
|
echo " TCP+WS - Metodo SSL+TLS + WS ( Admite 1 solo SNI )"
|
|
echo ""
|
|
echo " ¿Qué quieres hacer?"
|
|
echo ""
|
|
echo " 1) TROJAN-GO | TCP ( Predeterminado )"
|
|
echo " 2) TROJAN-GO | TCP + WS "
|
|
msg -bar3
|
|
echo " 0) Salir + Cancelar"
|
|
until [[ ${MENU_OPTION} =~ ^[1-2]$ ]]; do
|
|
read -t 5 -p " Selecione una opcion [1-2]: " -e -i "1" MENU_OPTION
|
|
done
|
|
case "${MENU_OPTION}" in
|
|
1)
|
|
bash -c "$(wget -O- https://raw.githubusercontent.com/trojan-gfw/trojan-quickstart/master/trojan-quickstart.sh)"
|
|
;;
|
|
2)
|
|
sudo bash -c "$(curl -fsSL https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Recursos/trojango-sh/trojan-sh/trojan-ARM.sh)"
|
|
;;
|
|
0)
|
|
exit 0
|
|
;;
|
|
esac
|
|
fi
|
|
clear
|
|
}
|
|
tittle
|
|
msg -bar3
|
|
echo -e "\033[1;37m - INSTALADOR TROJAN - ChumoGH|ADM \033[0m"
|
|
echo ""
|
|
echo -e "\033[1;37m CORREJIDO EL PROBLEMA DE PROCESADORES ARM \033[0m"
|
|
echo ""
|
|
echo -e "\033[1;33m Se instalara¡ el servidor de Trojan\033[0m"
|
|
echo -e "\033[1;33m Si ya tenias una instalacion Previa, esta se eliminara\033[0m"
|
|
#echo -e "\033[1;33m Debes tener instalado previamente GO Lang\033[0m"
|
|
#[[ ! -z $(which go) ]] && echo -e " \033[1;33m Go Lang Instalado" || echo -e "\033[1;33m Instale Go Lang en ( *\033[1;33m menu\033[1;32m *\033[1;33m opcion 7 \033[1;32m*\033[1;33m opcion 15 \033[1;32m)"
|
|
msg -bar3
|
|
echo -e "\033[1;33m En caso de Carga o Certificado con Dominio\n DEBES TENER LIBRES PUERTOS 80 / 443 \033[0m"
|
|
msg -bar3
|
|
echo -e "\033[1;33m Deseas Continuar?\033[0m"
|
|
while [[ ${yesno} != @(s|S|y|Y|n|N) ]]; do
|
|
read -p "[S/N]: " yesno
|
|
tput cuu1 && tput dl1
|
|
done
|
|
[[ ${yesno} = @(N|n) ]] && exit
|
|
if [[ ${yesno} = @(s|S|y|Y) ]]; then
|
|
echo -e " MENU DE GENERACION DE CERTIFICADOS "
|
|
menutro () {
|
|
fun_ip
|
|
echo -e " "
|
|
msg -bar3
|
|
echo -e " \033[7;49;35m ===>>►► 🐲 Menu TROJAN ChumoGH💥VPS 🐲 ◄◄<<=== \033[0m"
|
|
msg -bar3
|
|
echo -e " \033[0;35m[\033[0;36m1\033[0;35m] \033[0;34m➮\033[0;33m CERTIFICADO SSL AUTOMATICO \033[0;32m(#OFICIAL) "
|
|
echo -e " \033[0;35m[\033[0;36m2\033[0;35m] \033[0;34m➮\033[0;31m CERT SSL CON DOMINIO \033[0;33m(#EXPERIMENTAL) "
|
|
echo -e " \033[0;35m[\033[0;36m3\033[0;35m] \033[0;34m➮\033[0;33m CERTIFICADO CON CARGA ZIP \033[0;32m(#OFICIAL) "
|
|
#msg -bar3
|
|
#echo -e " \033[0;35m[\033[0;36m4\033[0;35m] \033[0;34m➮\033[0;33m MENU ADMINISTRADOR TROJAN-GO \033[0;32m(#OFICIAL) "
|
|
msg -bar3
|
|
selection=$(selection_fun 4)
|
|
case ${selection} in
|
|
1) insta_tro && troauto && troport ;;
|
|
2) insta_tro && certdom && troport;;
|
|
3) insta_tro && car_cert && troport;;
|
|
4)
|
|
[[ ! -z $(which troj.sh) ]] && troj.sh || echo -e "\033[1;33m INSTALE EL SERVICIO PRIMERO"
|
|
read -p " Enter";;
|
|
esac
|
|
}
|
|
fi
|
|
menutro && exit |