#!/bin/bash #----------------------------------------------------------------------- source msg msg -bar ADM_inst="/etc/adm-lite" && [[ ! -d ${ADM_inst} ]] && exit system=$(cat -n /etc/issue |grep 1 |cut -d ' ' -f6,7,8 |sed 's/1//' |sed 's/ //') vercion=$(echo $system|awk '{print $2}'|cut -d '.' -f1,2) echo -e "ESPERE UN MOMENTO MIENTRAS FIXEAMOS SU SISTEMA " fun_upgrade() { sync echo 3 >/proc/sys/vm/drop_caches sync && sysctl -w vm.drop_caches=3 sysctl -w vm.drop_caches=0 swapoff -a swapon -a sudo apt install software-properties-common -y &> /dev/null apt install python2 -y &> /dev/null sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1 &> /dev/null rm -rf /tmp/* > /dev/null 2>&1 killall kswapd0 > /dev/null 2>&1 killall tcpdump > /dev/null 2>&1 killall ksoftirqd > /dev/null 2>&1 echo > /etc/fixpython } function aguarde() { sleep .1 echo -e "SU VERSION DE UBUNTU ${vercion} ES SUPERIOR A 18.04 " helice() { fun_upgrade >/dev/null 2>&1 & tput civis while [ -d /proc/$! ]; do for i in / - \\ \|; do sleep .1 echo -ne "\e[1D$i" done done tput cnorm } echo -ne "\033[1;37m OPTIMIZANDO Y \033[1;32mFIXEANDO \033[1;37mPYTHON \033[1;32m.\033[1;32m.\033[1;33m.\033[1;31m. \033[1;33m" helice echo -e "\e[1DOk" } [[ "${vercion}" > "20" ]] && { echo -e "" msg -bar [[ -e /etc/fixpython ]] || aguarde } || { echo [[ -e /etc/fixpython ]] || { echo -e " SU VERSION DE UBUNTU ${vercion} ES INFERIOR O 18.04 " apt-get install python -y &>/dev/null apt-get install python3 -y &>/dev/null touch /etc/fixpython } } clear #----------------------------------------------------------------------- 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" } 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" } un_bar () { comando[0]="$1" comando[1]="$2" ( [[ -e $HOME/fim ]] && rm $HOME/fim ${comando[0]} > /dev/null 2>&1 ${comando[1]} > /dev/null 2>&1 touch $HOME/fim ) > /dev/null 2>&1 & tput civis echo -e "${col1}---------------------------------------------------${col0}" echo -ne "${col7} ESPERE..${col5}[" while true; do for((i=0; i<18; i++)); do echo -ne "${col4}#" sleep 0.2s done [[ -e $HOME/fim ]] && rm $HOME/fim && break echo -e "${col5}" sleep 1s tput cuu1 tput dl1 echo -ne "${col7} ESPERE..${col5}[" done echo -e "${col5}]${col7} -${col2} INSTALADO !${col7}" tput cnorm echo -e "${col1}---------------------------------------------------${col0}" } function fix_ssl() { helice() { inst_ssl >/dev/null 2>&1 & tput civis while [ -d /proc/$! ]; do for i in / - \\ \|; do sleep .1 echo -ne "\e[1D$i" done done tput cnorm } echo -ne "\033[1;37m INSTALANDO \033[1;32mSTUNNEL (\033[1;37mS\033[1;32mS\033[1;32mL\033[1;33m)\033[1;31m. \033[1;33m" helice echo -e "\e[1DOk" } function fix_py() { helice() { inst_py >/dev/null 2>&1 & tput civis while [ -d /proc/$! ]; do for i in / - \\ \|; do sleep .1 echo -ne "\e[1D$i" done done tput cnorm } echo -ne "\033[1;37m INSTALANDO \033[1;32m PYTHON (\033[1;37mS\033[1;32mO\033[1;32mC\033[1;33mK\033[1;31mS\033[1;33m)\033[1;32m . \033[1;33m" helice echo -e "\e[1DOk" } inst_ssl () { pkill -f stunnel4 apt purge stunnel4 -y > /dev/null 2>&1 apt install stunnel4 -y > /dev/null 2>&1 echo -e "cert = /etc/stunnel/stunnel.pem\nclient = no\nsocket = a:SO_REUSEADDR=1\nsocket = l:TCP_NODELAY=1\nsocket = r:TCP_NODELAY=1\n\n[stunnel]\naccept = 443\nconnect = 127.0.0.1:80\n" > /etc/stunnel/stunnel.conf openssl genrsa -out key.pem 2048 > /dev/null 2>&1 (echo "$(curl -sSL ipinfo.io > info && cat info | grep country | awk '{print $2}' | sed -e 's/[^a-z0-9 -]//ig')" ; echo "" ; echo "$(cat < /bin/ejecutar/IPcgh):81" ; echo "" ; echo "" ; echo "" ; echo "@cloudflare" )|openssl req -new -x509 -key key.pem -out cert.pem -days 1095 > /dev/null 2>&1 cat key.pem cert.pem >> /etc/stunnel/stunnel.pem sed -i 's/ENABLED=0/ENABLED=1/g' /etc/default/stunnel4 service stunnel4 restart > /dev/null 2>&1 rm -f info key.pem cert.pem } inst_py () { sed -i '/PDirect80.py/d' /bin/autoboot #msg -bar #msg -nama ' Descargando binario Compilado !! ' wget -O $HOME/PDirect80.py 'https://gitea.com/drowkid01/scriptdk1/raw/branch/main/Recursos/menu_inst/autoconfig-sh/PDirect.py' screen -dmS "ws80" python $HOME/PDirect80.py & > /root/proxy.log } menuintro() { clear&&clear msg -bar #echo -e "\033[1;31m———————————————————————————————————————————————————\033[1;37m" echo -e "\033[1;32m SSL + ( Payload / Directo ) | by: @drowkid01 " msg -bar #echo -e "\033[1;31m———————————————————————————————————————————————————\033[1;37m" echo -e "\033[1;36m SCRIPT REESTRUCTURA y AUTOCONFIGURACION " msg -bar #echo -e "\033[1;31m———————————————————————————————————————————————————\033[1;37m" echo -e "\033[1;37m Requiere tener el puerto libre 443 y el 80" msg -bar echo -e "\033[1;32m Visita https://t.me/drowkid01, para detalles " msg -bar while : do #col "5)" "\033[1;33mCONFIGURAR Trojan" col "1)" "\033[1;33mSSL + (Payload/Directo) - AUTO INSTALL" #msg -bar col "2)" "\033[1;33mCONFIGURAR PYTHON (RESPONSE STATUS 200)" col "3)" "\033[1;33mRemover AUTOCONFIG (Payload+SSL)" msg -bar col "0)" "SALIR \033[0;31m" msg -bar blanco "opcion" 0 read opcion case $opcion in 1) clear&&clear source /etc/adm-lite/cabecalho msg -nama ' RECONFIGURANDO STUNNEL (SSL) !! ' echo '' fix_ssl msg -nama ' RECONFIGURANDO PYTHON SOCKS 80 !! ' echo '' fix_py #------------------------------------------------------------------- print_center -verd " ${aLerT} VERIFICANDO ACTIVIDAD DE SOCK PYTHON ${aLerT} \n ${aLerT} PORVAFOR ESPERE !! ${aLerT} " autoboot &> /dev/null sleep 2s && tput cuu1 && tput dl1 sleep 1s && tput cuu1 && tput dl1 [[ $(ps x | grep "ws80 python" |grep -v grep ) ]] && { msg -bar print_center -verd " REACTIVADOR DE SOCK Python 80 ENCENDIDO " [[ $(grep -wc "ws80" /bin/autoboot) = '0' ]] && { echo -e "netstat -tlpn | grep -w 80 > /dev/null || { screen -r -S 'ws80' -X quit; screen -dmS ws80 python $HOME/PDirect80.py & >> /root/proxy.log ; }" >>/bin/autoboot } || { sed -i '/ws80/d' /bin/autoboot echo -e "netstat -tlpn | grep -w 80 > /dev/null || { screen -r -S 'ws80' -X quit; screen -dmS ws80 python $HOME/PDirect80.py & >> /root/proxy.log ; }" >>/bin/autoboot } crontab -l > /root/cron [[ -z $(cat < /root/cron | grep 'autoboot') ]] && echo "@reboot /bin/autoboot" >> /root/cron || { [[ $(grep -wc "autoboot" /root/cron) > "1" ]] && { sed -i '/autoboot/d' /root/cron echo "@reboot /bin/autoboot" >> /root/cron } } crontab /root/cron service cron restart sleep 2s && tput cuu1 && tput dl1 } || { print_center -azu " FALTA ALGUN PARAMETRO PARA INICIAR REACTIVADOR " sleep 2s && tput cuu1 && tput dl1 return } tput cuu1 && tput dl1 msg -bar [[ $(ps x | grep -w "PDirect80.py" | grep -v "grep" | awk -F "pts" '{print $1}') ]] && print_center -verd "PYTHON INICIADO CON EXITO!!!" || print_center -ama " ERROR AL INICIAR PYTHON!!!" msg -bar sleep 1 echo -e " INSTALACIÓN TERMINADA" msg -bar echo -e "Solucionado el error de conectividad mediante el puerto $porta con SNI" break ;; 2) source <(curl -sSL https://raw.githubusercontent.com/emirjorge/Script-Z/master/CHUMO/Recursos/menu_inst/autoconfig-sh/Proxy.sh) ;; 3) kill $(ps x | grep -w "PDirect80" | grep -v grep | cut -d ' ' -f1) &>/dev/null sed -i '/PDirect80/d' /bin/autoboot screen -wipe &>/dev/null autoboot &>/dev/null ;; 0) break;; *) blanco "\n selecione una opcion del 0 al 2" && sleep 1;; esac done continuar } #chekKEY &> /dev/null 2>&1 menuintro