From 404d5299d0892220d3fdfd34997fd6e09dd8b012 Mon Sep 17 00:00:00 2001 From: wushuo Date: Thu, 26 Feb 2026 16:52:10 +0800 Subject: [PATCH] =?UTF-8?q?refactor:=20=E4=BC=98=E5=8C=96ip=E7=99=BD?= =?UTF-8?q?=E5=90=8D=E5=8D=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/ani/rss/auth/fun/IpWhitelist.java | 25 +++++-------------- .../java/ani/rss/config/SwaggerConfig.java | 2 -- ani-rss-ui/src/config/About.vue | 1 - ani-rss-ui/src/config/Exclude.vue | 1 - ani-rss-ui/src/config/PrioKeys.vue | 1 - ani-rss-ui/src/config/basic/BangumiMe.vue | 1 - .../notification/TelegramNotification.vue | 1 - ani-rss-ui/src/home/Add.vue | 2 +- ani-rss-ui/src/home/App.vue | 1 - ani-rss-ui/src/home/Bgm.vue | 1 - ani-rss-ui/src/home/Collection.vue | 1 - ani-rss-ui/src/home/Config.vue | 1 - ani-rss-ui/src/home/Cover.vue | 3 +-- ani-rss-ui/src/home/StandbyRss.vue | 1 - ani-rss-ui/src/home/TorrentsInfos.vue | 1 - 15 files changed, 8 insertions(+), 35 deletions(-) diff --git a/ani-rss-application/src/main/java/ani/rss/auth/fun/IpWhitelist.java b/ani-rss-application/src/main/java/ani/rss/auth/fun/IpWhitelist.java index 077de48b..7d7696a8 100644 --- a/ani-rss-application/src/main/java/ani/rss/auth/fun/IpWhitelist.java +++ b/ani-rss-application/src/main/java/ani/rss/auth/fun/IpWhitelist.java @@ -1,6 +1,5 @@ package ani.rss.auth.fun; -import ani.rss.commons.CacheUtils; import ani.rss.entity.Config; import ani.rss.util.basic.CidrRangeChecker; import ani.rss.util.other.AuthUtil; @@ -8,13 +7,10 @@ import ani.rss.util.other.ConfigUtil; import cn.hutool.core.lang.PatternPool; import cn.hutool.core.net.Ipv4Util; import cn.hutool.core.util.StrUtil; -import cn.hutool.crypto.SecureUtil; import jakarta.servlet.http.HttpServletRequest; import lombok.extern.slf4j.Slf4j; import java.util.List; -import java.util.Objects; -import java.util.concurrent.TimeUnit; import java.util.function.Function; @Slf4j @@ -34,41 +30,33 @@ public class IpWhitelist implements Function { if (StrUtil.isBlank(ip)) { return false; } - String key = "IpWhitelist:" + SecureUtil.md5(ipWhitelistStr) + ":" + ip; try { if (!PatternPool.IPV4.matcher(ip).matches() && !PatternPool.IPV6.matcher(ip).matches()) { return false; } - Boolean b = CacheUtils.get(key); - if (Objects.nonNull(b)) { - return b; - } List list = StrUtil.split(ipWhitelistStr, "\n", true, true); for (String string : list) { - // 判断是否为 ipv4 或 ipv6 - if (PatternPool.IPV4.matcher(string).matches() || PatternPool.IPV6.matcher(string).matches()) { - if (string.equals(ip)) { - CacheUtils.put(key, Boolean.TRUE, TimeUnit.MINUTES.toMillis(10)); - return true; - } + if (string.equals(ip)) { + return true; + } + // 非ipv4 + if (!PatternPool.IPV4.matcher(string).matches()) { + continue; } // 通配符,如 192.168.*.1 if (string.contains("*")) { if (Ipv4Util.matches(string, ip)) { - CacheUtils.put(key, Boolean.TRUE, TimeUnit.MINUTES.toMillis(10)); return true; } } // X.X.X.X/X if (CidrRangeChecker.CIDR_PATTERN.matcher(string).matches()) { if (CidrRangeChecker.isIpInRange(ip, string)) { - CacheUtils.put(key, Boolean.TRUE, TimeUnit.MINUTES.toMillis(10)); return true; } } // X.X.X.X-X.X.X.X if (isIpInRange(ip, string)) { - CacheUtils.put(key, Boolean.TRUE, TimeUnit.MINUTES.toMillis(10)); return true; } } @@ -76,7 +64,6 @@ public class IpWhitelist implements Function { log.error("ip白名单存在问题"); log.error(e.getMessage(), e); } - CacheUtils.put(key, Boolean.FALSE, TimeUnit.MINUTES.toMillis(10)); return false; } diff --git a/ani-rss-application/src/main/java/ani/rss/config/SwaggerConfig.java b/ani-rss-application/src/main/java/ani/rss/config/SwaggerConfig.java index 315fef72..f1e9d1e5 100644 --- a/ani-rss-application/src/main/java/ani/rss/config/SwaggerConfig.java +++ b/ani-rss-application/src/main/java/ani/rss/config/SwaggerConfig.java @@ -4,11 +4,9 @@ import ani.rss.commons.MavenUtils; import io.swagger.v3.oas.models.Components; import io.swagger.v3.oas.models.ExternalDocumentation; import io.swagger.v3.oas.models.OpenAPI; -import io.swagger.v3.oas.models.headers.Header; import io.swagger.v3.oas.models.info.Contact; import io.swagger.v3.oas.models.info.Info; import io.swagger.v3.oas.models.info.License; -import io.swagger.v3.oas.models.security.OAuthFlows; import io.swagger.v3.oas.models.security.SecurityRequirement; import io.swagger.v3.oas.models.security.SecurityScheme; import org.springframework.context.annotation.Bean; diff --git a/ani-rss-ui/src/config/About.vue b/ani-rss-ui/src/config/About.vue index 4a2e548d..a982d811 100644 --- a/ani-rss-ui/src/config/About.vue +++ b/ani-rss-ui/src/config/About.vue @@ -99,7 +99,6 @@