Files
v2ray/src/init.sh
2023-06-29 13:36:54 +08:00

143 lines
3.1 KiB
Bash

#!/bin/bash
author=233boy
# github=https://github.com/233boy/v2ray
# bash fonts colors
red='\e[31m'
yellow='\e[33m'
gray='\e[90m'
green='\e[92m'
blue='\e[94m'
magenta='\e[95m'
cyan='\e[96m'
none='\e[0m'
_red() { echo -e ${red}$@${none}; }
_blue() { echo -e ${blue}$@${none}; }
_cyan() { echo -e ${cyan}$@${none}; }
_green() { echo -e ${green}$@${none}; }
_yellow() { echo -e ${yellow}$@${none}; }
_magenta() { echo -e ${magenta}$@${none}; }
_red_bg() { echo -e "\e[41m$@${none}"; }
_rm() {
rm -rf "$@"
}
_cp() {
cp -rf "$@"
}
_sed() {
sed -i "$@"
}
_mkdir() {
mkdir -p "$@"
}
is_err=$(_red_bg 错误!)
is_warn=$(_red_bg 警告!)
err() {
echo -e "\n$is_err $@\n"
[[ $is_dont_auto_exit ]] && return
exit 1
}
warn() {
echo -e "\n$is_warn $@\n"
}
# yum or apt-get
cmd=$(type -P apt-get || type -P yum)
# x64
case $(arch) in
amd64 | x86_64)
is_core_arch="64"
caddy_arch="amd64"
;;
*aarch64* | *armv8*)
is_core_arch="arm64-v8a"
caddy_arch="arm64"
;;
*)
err "此脚本仅支持 64 位系统..."
;;
esac
is_core=v2ray
is_core_name=V2Ray
is_core_dir=/etc/$is_core
is_core_bin=$is_core_dir/bin/$is_core
is_core_repo=v2fly/$is_core-core
is_conf_dir=$is_core_dir/conf
is_log_dir=/var/log/$is_core
is_sh_bin=/usr/local/bin/$is_core
is_sh_dir=$is_core_dir/sh
is_sh_repo=$author/$is_core
is_pkg="wget unzip jq qrencode"
is_config_json=$is_core_dir/config.json
is_caddy_bin=/usr/local/bin/caddy
is_caddy_dir=/etc/caddy
is_caddy_repo=caddyserver/caddy
is_caddyfile=$is_caddy_dir/Caddyfile
is_caddy_conf=$is_caddy_dir/$author
is_caddy_service=$(systemctl list-units --full -all | grep caddy.service)
tlsport=443
# core ver
is_core_ver=$($is_core_bin version | head -n1 | cut -d " " -f1-2)
if [[ $(grep -o ^[0-9] <<<${is_core_ver#* }) -lt 5 ]]; then
# core version less than 5, e.g, v4.45.2
is_core_ver_lt_5=1
if [[ $(grep 'run -config' /lib/systemd/system/v2ray.service) ]]; then
sed -i 's/run //' /lib/systemd/system/v2ray.service
systemctl daemon-reload
fi
else
is_with_run_arg=run
if [[ ! $(grep 'run -config' /lib/systemd/system/v2ray.service) ]]; then
sed -i 's/-config/run -config/' /lib/systemd/system/v2ray.service
systemctl daemon-reload
fi
fi
if [[ $(pgrep -f $is_core_bin) ]]; then
is_core_status=$(_green running)
else
is_core_status=$(_red_bg stopped)
is_core_stop=1
fi
if [[ -f $is_caddy_bin && -d $is_caddy_dir && $is_caddy_service ]]; then
is_caddy=1
is_caddy_ver=$($is_caddy_bin version | head -n1 | cut -d " " -f1)
if [[ $(pgrep -f $is_caddy_bin) ]]; then
is_caddy_status=$(_green running)
else
is_caddy_status=$(_red_bg stopped)
is_caddy_stop=1
fi
fi
# load bash script.
load() {
. $is_sh_dir/src/$1
}
# wget add --no-check-certificate
_wget() {
# [[ $proxy ]] && export https_proxy=$proxy
wget --no-check-certificate $@
}
load core.sh
# old sh ver
is_old_dir=/etc/v2ray/233boy
is_old_conf=/etc/v2ray/233blog_v2ray_backup.conf
if [[ -f $is_old_conf && -d $is_old_dir ]]; then
load old.sh
fi
[[ ! $args ]] && args=main
main $args