修复 gateway 端口设置缺少配置端口重复检查的问题

在 7_gateway.sh 中设置 vms_port 和 sss_port 时,只检查了端口范围
和系统占用,未检查与 mix_port/redir_port/dns_port/db_port 的冲突。
当 CrashCore 停止时可能导致保存冲突端口配置,启动时绑定失败。
This commit is contained in:
Feng Yu
2026-03-23 00:26:12 +08:00
parent b734fc6e1d
commit 96f04a2225

View File

@@ -316,8 +316,13 @@ set_vmess() {
vms_port='' vms_port=''
setconfig vms_port "" "$GT_CFG_PATH" setconfig vms_port "" "$GT_CFG_PATH"
elif check_port "$text"; then elif check_port "$text"; then
if echo "|$mix_port|$redir_port|$dns_port|$db_port|" | grep -q "|$text|"; then
msg_alert "\033[31m$CHECK_PORT_DUP_ERR\033[0m"
sleep 1
else
vms_port="$text" vms_port="$text"
setconfig vms_port "$text" "$GT_CFG_PATH" setconfig vms_port "$text" "$GT_CFG_PATH"
fi
else else
sleep 1 sleep 1
fi fi
@@ -439,8 +444,13 @@ set_shadowsocks() {
sss_port='' sss_port=''
setconfig sss_port "" "$GT_CFG_PATH" setconfig sss_port "" "$GT_CFG_PATH"
elif check_port "$text"; then elif check_port "$text"; then
if echo "|$mix_port|$redir_port|$dns_port|$db_port|" | grep -q "|$text|"; then
msg_alert "\033[31m$CHECK_PORT_DUP_ERR\033[0m"
sleep 1
else
sss_port="$text" sss_port="$text"
setconfig sss_port "$text" "$GT_CFG_PATH" setconfig sss_port "$text" "$GT_CFG_PATH"
fi
else else
sleep 1 sleep 1
fi fi
@@ -677,4 +687,3 @@ set_wireguard() {
esac esac
done done
} }