From 407577548349318b91f685b61b655da31bf357f4 Mon Sep 17 00:00:00 2001 From: zyp Date: Sun, 31 Aug 2025 19:32:38 +0800 Subject: [PATCH] =?UTF-8?q?feat:=201.=20=E6=94=AF=E6=8C=81=E9=85=8D?= =?UTF-8?q?=E7=BD=AE=E7=9B=91=E5=90=AC=E5=9C=B0=E5=9D=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- start.sh | 13 +++++++++++-- temp/templete_config.yaml | 3 +++ 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/start.sh b/start.sh index f1067c1..24709d1 100644 --- a/start.sh +++ b/start.sh @@ -108,8 +108,16 @@ unset NO_PROXY echo -e '\n正在检测订阅地址...' Text1="Clash订阅地址可访问!" Text2="Clash订阅地址不可访问!" -#curl -o /dev/null -s -m 10 --connect-timeout 10 -w %{http_code} $URL | grep '[23][0-9][0-9]' &>/dev/null -curl -o /dev/null -L -k -sS --retry 5 -m 10 --connect-timeout 10 -w "%{http_code}" $URL | grep -E '^[23][0-9]{2}$' &>/dev/null + +# 构建检测 curl 命令,添加自定义请求头 +CHECK_CMD="curl -o /dev/null -L -k -sS --retry 5 -m 10 --connect-timeout 10 -w \"%{http_code}\"" +if [ -n "$CLASH_HEADERS" ]; then + CHECK_CMD="$CHECK_CMD -H '$CLASH_HEADERS'" +fi +CHECK_CMD="$CHECK_CMD $URL" + +# 检查订阅地址 +eval $CHECK_CMD | grep -E '^[23][0-9]{2}$' &>/dev/null ReturnStatus=$? if_success $Text1 $Text2 $ReturnStatus @@ -174,6 +182,7 @@ cat $Temp_Dir/proxy.txt >> $Temp_Dir/config.yaml sed -i "s/CLASH_HTTP_PORT_PLACEHOLDER/${CLASH_HTTP_PORT}/g" $Temp_Dir/config.yaml sed -i "s/CLASH_SOCKS_PORT_PLACEHOLDER/${CLASH_SOCKS_PORT}/g" $Temp_Dir/config.yaml sed -i "s/CLASH_REDIR_PORT_PLACEHOLDER/${CLASH_REDIR_PORT}/g" $Temp_Dir/config.yaml +sed -i "s/CLASH_LISTEN_IP_PLACEHOLDER/${CLASH_LISTEN_IP}/g" $Temp_Dir/config.yaml sed -i "s/CLASH_ALLOW_LAN_PLACEHOLDER/${CLASH_ALLOW_LAN}/g" $Temp_Dir/config.yaml # 配置 external-controller diff --git a/temp/templete_config.yaml b/temp/templete_config.yaml index e582315..0b57ae4 100644 --- a/temp/templete_config.yaml +++ b/temp/templete_config.yaml @@ -7,6 +7,9 @@ socks-port: CLASH_SOCKS_PORT_PLACEHOLDER # Linux 和 macOS 的 redir 代理端口 redir-port: CLASH_REDIR_PORT_PLACEHOLDER +# 监听IP地址 +bind-address: CLASH_LISTEN_IP_PLACEHOLDER + # 允许局域网的连接 allow-lan: CLASH_ALLOW_LAN_PLACEHOLDER