diff --git a/springboot-backend/src/main/java/com/admin/common/utils/GostUtil.java b/springboot-backend/src/main/java/com/admin/common/utils/GostUtil.java index 5a1ff7f..e681359 100644 --- a/springboot-backend/src/main/java/com/admin/common/utils/GostUtil.java +++ b/springboot-backend/src/main/java/com/admin/common/utils/GostUtil.java @@ -333,10 +333,16 @@ public class GostUtil { } private static boolean supportsV4(Node node) { + // New dual-stack fields take precedence over legacy serverIp. + // If user explicitly provided only v6, treat as v6-only. if (StrUtil.isNotBlank(node.getServerIpV4())) { return true; } + if (StrUtil.isNotBlank(node.getServerIpV6())) { + return false; + } + String legacy = node.getServerIp(); if (StrUtil.isBlank(legacy)) { return false; @@ -355,10 +361,16 @@ public class GostUtil { } private static boolean supportsV6(Node node) { + // New dual-stack fields take precedence over legacy serverIp. + // If user explicitly provided only v4, treat as v4-only. if (StrUtil.isNotBlank(node.getServerIpV6())) { return true; } + if (StrUtil.isNotBlank(node.getServerIpV4())) { + return false; + } + String legacy = node.getServerIp(); if (StrUtil.isBlank(legacy)) { return false;