fix: reuse existing Caddy binary and preserve Caddyfile on install
Main / build (push) Waiting to run

This commit is contained in:
2026-07-07 23:47:56 +08:00
parent 906ee96282
commit a3e048b949
3 changed files with 18 additions and 6 deletions
+6
View File
@@ -3,6 +3,11 @@ caddy_config() {
case $1 in case $1 in
new) new)
mkdir -p $is_caddy_dir $is_caddy_dir/sites $is_caddy_conf mkdir -p $is_caddy_dir $is_caddy_dir/sites $is_caddy_conf
if [[ -f $is_caddyfile ]]; then
[[ ! $(grep -F "$is_caddy_conf/*.conf" $is_caddyfile) ]] && {
echo -e "\nimport $is_caddy_conf/*.conf" >>$is_caddyfile
}
else
cat >$is_caddyfile <<-EOF cat >$is_caddyfile <<-EOF
# caddy configuration # # caddy configuration #
{ {
@@ -13,6 +18,7 @@ caddy_config() {
import $is_caddy_conf/*.conf import $is_caddy_conf/*.conf
import $is_caddy_dir/sites/*.conf import $is_caddy_dir/sites/*.conf
EOF EOF
fi
;; ;;
*ws* | *http*) *ws* | *http*)
cat >${is_caddy_site_file} <<<" cat >${is_caddy_site_file} <<<"
+6 -1
View File
@@ -1293,13 +1293,18 @@ get() {
is_host_dns=$(_wget -qO- --header="accept: application/dns-json" "https://one.one.one.one/dns-query?name=$host&type=$is_dns_type") is_host_dns=$(_wget -qO- --header="accept: application/dns-json" "https://one.one.one.one/dns-query?name=$host&type=$is_dns_type")
;; ;;
install-caddy) install-caddy)
if [[ -f $is_caddy_bin || $(type -P caddy) ]]; then
[[ ! -f $is_caddy_bin ]] && is_caddy_bin=$(type -P caddy)
_green "\n检测到系统已安装 Caddy (${is_caddy_bin}),将直接使用现有版本。\n"
else
_green "\n安装 Caddy 实现自动配置 TLS.\n" _green "\n安装 Caddy 实现自动配置 TLS.\n"
load download.sh load download.sh
download caddy download caddy
fi
load systemd.sh load systemd.sh
install_service caddy &>/dev/null install_service caddy &>/dev/null
is_caddy=1 is_caddy=1
_green "安装 Caddy 成功.\n" _green "Caddy 配置成功.\n"
;; ;;
reinstall) reinstall)
is_install_sh=$(cat $is_sh_dir/install.sh) is_install_sh=$(cat $is_sh_dir/install.sh)
+2 -1
View File
@@ -85,7 +85,8 @@ is_sh_dir=$is_core_dir/sh
is_sh_repo=$author/$is_core is_sh_repo=$author/$is_core
is_pkg="wget unzip tar qrencode bash" is_pkg="wget unzip tar qrencode bash"
is_config_json=$is_core_dir/config.json is_config_json=$is_core_dir/config.json
is_caddy_bin=/usr/local/bin/caddy is_caddy_bin=$(type -P caddy)
[[ ! $is_caddy_bin ]] && is_caddy_bin=/usr/local/bin/caddy
is_caddy_dir=/etc/caddy is_caddy_dir=/etc/caddy
is_caddy_repo=caddyserver/caddy is_caddy_repo=caddyserver/caddy
is_caddyfile=$is_caddy_dir/Caddyfile is_caddyfile=$is_caddy_dir/Caddyfile