scriptdk1/Recursos/rf/v2ray-new.sh

212 lines
6.5 KiB
Bash
Raw Permalink Normal View History

2025-05-26 15:48:09 -06:00
#!/bin/bash
source msg
BEIJING_UPDATE_TIME=3
BEGIN_PATH=$(pwd)
BASE_SOURCE_PATH="https://multi.netlify.app"
UTIL_PATH="/etc/v2ray_util/util.cfg"
UTIL_CFG="$BASE_SOURCE_PATH/v2ray_util/util_core/util.cfg"
BASH_COMPLETION_SHELL="$BASE_SOURCE_PATH/v2ray"
CLEAN_IPTABLES_SHELL="$BASE_SOURCE_PATH/v2ray_util/global_setting/clean_iptables.sh"
[[ -f /etc/redhat-release && -z $(echo $SHELL|grep zsh) ]] && unalias -a
[[ -z $(echo $SHELL|grep zsh) ]] && ENV_FILE=".bashrc" || ENV_FILE=".zshrc"
dependencias(){
soft="socat cron bash-completion ntpdate gawk jq uuid-runtime python3 python3-pip"
for install in $soft; do
leng="${#install}"
puntos=$(( 21 - $leng))
pts="."
for (( a = 0; a < $puntos; a++ )); do
pts+="."
done
msg -azu " instalando $install $(msg -ama "$pts")"
if apt install $install -y &>/dev/null ; then
msg -verd "INSTALL"
else
msg -verm2 "FAIL"
sleep 2
del 1
if [[ $install = "python" ]]; then
pts=$(echo ${pts:1})
msg -azu " instalando python2 $(msg -ama "$pts")"
if apt install python2 -y &>/dev/null ; then
[[ ! -e /usr/bin/python ]] && ln -s /usr/bin/python2 /usr/bin/python
msg -verd "INSTALL"
else
msg -verm2 "FAIL"
fi
continue
fi
echo -e "aplicando fix a $install"
dpkg --configure -a &>/dev/null
sleep 2
del 1
msg -azu " instalando $install $(msg -ama "$pts")"
if apt install $install -y &>/dev/null ; then
msg -verd "INSTALL"
else
msg -verm2 "FAIL"
fi
fi
done
if [[ ! -e '/usr/bin/pip' ]]; then
_pip=$(type -p pip)
ln -s "$_pip" /usr/bin/pip
fi
if [[ ! -e '/usr/bin/pip3' ]]; then
_pip3=$(type -p pip3)
ln -s "$_pip3" /usr/bin/pip3
fi
msg -bar
}
closeSELinux(){
if [ -s /etc/selinux/config ] && grep 'SELINUX=enforcing' /etc/selinux/config; then
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
setenforce 0
fi
}
timeSync(){
echo -e "Sincronización de tiempo ..."
if [[ `command -v ntpdate` ]];then
ntpdate pool.ntp.org
elif [[ `command -v chronyc` ]];then
chronyc -a makestep
fi
if [[ $? -eq 0 ]];then
echo -e "\033[1;32m Éxito de sincronización de tiempo"
echo -e "\033[1;32m Actual : `date -R`"
fi
msg -bar
}
fun_limpram() {
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
v2ray new 1> /dev/null 2> /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
rm -f /var/log/syslog*
sleep 2
}
function aguarde() {
sleep 1
helice() {
dependencias >/dev/null 2>&1 &
fun_limpram >/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;37mINSTALANDO Y FIXEANDO \033[1;32mV2RAY \033[1;37my \033[1;32mXRAY\033[1;32m.\033[1;33m.\033[1;31m. \033[1;33m"
helice
echo -e "\e[1DOk"
}
updateProject(){
if [[ ! $(type pip 2>/dev/null) ]]; then
echo -e 'Falta en la dependencia pip\nNo se puede continuar con la instalacion'
read -p " ENTER PARA CONTINUAR"
#install python3 & pip
source <(curl -sL https://python3.netlify.app/install.sh)
read -p " PRESIONA 0 PARA REGRESAR O ENTER PARA REINTENTAR!! " reint
[[ -z $reint ]] && updateProject
[[ $reint = 0 ]] && return 1
fi
pip install -U v2ray_util
if [[ -e $UTIL_PATH ]];then
[[ -z $(cat $UTIL_PATH|grep lang) ]] && echo "lang=en" >> $UTIL_PATH
else
mkdir -p /etc/v2ray_util
curl $UTIL_CFG > $UTIL_PATH
fi
rm -f /usr/local/bin/v2ray >/dev/null 2>&1
ln -s $(which v2ray-util) /usr/local/bin/v2ray
rm -f /usr/local/bin/xray >/dev/null 2>&1
ln -s $(which v2ray-util) /usr/local/bin/xray
[[ -e /etc/bash_completion.d/v2ray.bash ]] && rm -f /etc/bash_completion.d/v2ray.bash
[[ -e /usr/share/bash-completion/completions/v2ray.bash ]] && rm -f /usr/share/bash-completion/completions/v2ray.bash
curl $BASH_COMPLETION_SHELL > /usr/share/bash-completion/completions/v2ray
curl $BASH_COMPLETION_SHELL > /usr/share/bash-completion/completions/xray
if [[ -z $(echo $SHELL|grep zsh) ]];then
source /usr/share/bash-completion/completions/v2ray
source /usr/share/bash-completion/completions/xray
fi
# bash <(curl -L -s https://multi.netlify.app/go.sh)
bash <(curl -L -s https://raw.githubusercontent.com/rudi9999/ADMRufu/main/Utils/v2ray/go.sh) --version v4.45.2
}
profileInit(){
[[ $(grep v2ray ~/$ENV_FILE) ]] && sed -i '/v2ray/d' ~/$ENV_FILE && source ~/$ENV_FILE
[[ -z $(grep PYTHONIOENCODING=utf-8 ~/$ENV_FILE) ]] && echo "export PYTHONIOENCODING=utf-8" >> ~/$ENV_FILE && source ~/$ENV_FILE
v2ray new &>/dev/null
}
installFinish(){
cd ${BEGIN_PATH}
config='/etc/v2ray/config.json'
tmp='/etc/v2ray/temp.json'
[[ -e "$config" ]] && jq 'del(.inbounds[].streamSettings.kcpSettings[])' < /etc/v2ray/config.json >> /etc/v2ray/tmp.json
rm -rf /etc/v2ray/config.json
[[ -e "$config" ]] && jq '.inbounds[].streamSettings += {"network":"ws","wsSettings":{"path": "/ADMcgh/","headers": {"Host": "ejemplo.com"}}}' < /etc/v2ray/tmp.json >> /etc/v2ray/config.json
[[ -e "$config" ]] && chmod 777 /etc/v2ray/config.json
msg -bar
if [[ $(v2ray restart|grep success) ]]; then
[[ $(which v2ray) ]] && v2ray info
msg -bar
echo -e "\033[1;32m[✓] V2RAY INSTALADO CORRECTAMENTE [✓]"
else
[[ $(which v2ray) ]] && v2ray info
msg -bar
print_center -verm2 "INSTALACION FINALIZADA"
echo -e "\033[1;31m " 'Pero fallo el reinicio del servicio v2ray'
echo -e " LEA DETALLADAMENTE LOS MENSAJES "
echo -e ""
read -p " presiona enter"
clear&&clear
[[ -e "$config" ]] && v2ray new || bash <(curl -L -s https://multi.netlify.app/go.sh)
clear&&clear
fi
echo -e "Por favor verifique el log"
read -p " presiona enter"
}
main(){
cat <<< '╻┏┓╻┏━┓╺┳╸┏━┓╻ ┏━┓┏┓╻╺┳┓┏━┓ ╻ ╻┏━┓┏━┓┏━┓╻ ╻
┃┃┗┫┗━┓ ┃ ┣━┫┃ ┣━┫┃┗┫ ┃┃┃ ┃ ┃┏┛┏━┛┣┳┛┣━┫┗┳┛
╹╹ ╹┗━┛ ╹ ╹ ╹┗━╸╹ ╹╹ ╹╺┻┛┗━┛ ┗┛ ┗━╸╹┗╸╹ ╹ ╹ '
msg -bar
echo -e " $(printext 'INSTALADO DEPENDENCIAS V2RAY'"
aguarde
closeSELinux
timeSync
updateProject
profileInit
installFinish
}
main
[[ -z $(v2ray -v | grep "4.45.2") ]] && main
[[ -e "$UTIL_PATH" ]] && sed -i "s/lang=zh/lang=en/g" $UTIL_PATH