diff --git a/src/core.sh b/src/core.sh index 05c1ff3..53337e1 100644 --- a/src/core.sh +++ b/src/core.sh @@ -806,6 +806,7 @@ manage() { [[ $is_test_run && ! $is_new_install ]] && { sleep 2 if [[ ! $(pgrep -f $is_run_bin) ]]; then + is_run_fail=${is_do_name_msg,,} [[ ! $is_no_manage_msg ]] && { msg warn "($is_do_msg) $is_do_name_msg 失败" @@ -813,7 +814,6 @@ manage() { get test-run _yellow "测试结束, 请按 Enter 退出." } - is_run_fail=${is_do_name_msg,,} fi } } @@ -1398,7 +1398,7 @@ get() { manage start &>/dev/null if [[ $is_run_fail == $is_core ]]; then _red "$is_core_name 运行失败信息:" - $is_core_bin run -c $is_config_json -confdir $is_conf_dir + $is_core_bin $is_with_run_arg -c $is_config_json -confdir $is_conf_dir else _green "\n测试通过, 已启动 $is_core_name ..\n" fi @@ -1575,17 +1575,20 @@ update() { is_update_name=core is_show_name=$is_core_name is_run_ver=v${is_core_ver##* } + is_update_repo=$is_core_repo ;; 2 | sh) is_update_name=sh is_show_name="$is_core_name 脚本" is_run_ver=$is_sh_ver + is_update_repo=$is_sh_repo ;; 3 | caddy) [[ ! $is_caddy ]] && err "不支持更新 Caddy." is_update_name=caddy is_show_name="Caddy" is_run_ver=$is_caddy_ver + is_update_repo=$is_caddy_repo ;; *) err "无法识别 ($1), 请使用: $is_core update [core | sh | caddy] [ver]" @@ -1610,8 +1613,9 @@ update() { fi download $is_update_name $is_new_ver msg "更新成功, 当前 $is_show_name 版本: $(_green $is_new_ver)\n" - msg "$(_green 请查看更新说明: https://github.com/$is_sh_repo/releases/tag/$is_new_ver)\n" - manage restart $is_update_name & + msg "$(_green 请查看更新说明: https://github.com/$is_update_repo/releases/tag/$is_new_ver)\n" + [[ $is_update_name == 'core' ]] && $is_core restart + [[ $is_update_name == 'caddy' ]] && manage restart $is_update_name & } # main menu; if no prefer args. diff --git a/src/download.sh b/src/download.sh index ffbbfd9..e0f6eac 100644 --- a/src/download.sh +++ b/src/download.sh @@ -10,7 +10,7 @@ get_latest_version() { ;; caddy) name="Caddy" - url="https://api.github.com/repos/caddyserver/caddy/releases/latest?v=$RANDOM" + url="https://api.github.com/repos/$is_caddy_repo/releases/latest?v=$RANDOM" ;; esac latest_ver=$(_wget -qO- $url | grep tag_name | egrep -o 'v([0-9.]+)') @@ -49,7 +49,7 @@ download() { name="Caddy" tmpfile=$tmpdir/caddy.tar.gz # https://github.com/caddyserver/caddy/releases/download/v2.6.4/caddy_2.6.4_linux_amd64.tar.gz - link="https://github.com/caddyserver/caddy/releases/download/${latest_ver}/caddy_${latest_ver:1}_linux_${caddy_arch}.tar.gz" + link="https://github.com/${is_caddy_repo}/releases/download/${latest_ver}/caddy_${latest_ver:1}_linux_${caddy_arch}.tar.gz" download_file tar zxf $tmpfile -C $tmpdir cp -f $tmpdir/caddy $is_caddy_bin diff --git a/src/init.sh b/src/init.sh index c3a17c1..136beff 100644 --- a/src/init.sh +++ b/src/init.sh @@ -79,6 +79,7 @@ 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) @@ -89,6 +90,16 @@ 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 diff --git a/v2ray.sh b/v2ray.sh index f65b31e..7efbee3 100644 --- a/v2ray.sh +++ b/v2ray.sh @@ -1,6 +1,6 @@ #!/bin/bash args=$@ -is_sh_ver=v4.03 +is_sh_ver=v4.04 . /etc/v2ray/sh/src/init.sh