fix(middleware): remove duplicate elements from user agent list in PanDomainMiddleware

This commit is contained in:
Chang lue Tsen 2025-09-05 04:16:33 -04:00
parent 51335f4c19
commit f3c73a5224

View File

@ -8,6 +8,7 @@ import (
"github.com/perfect-panel/server/internal/logic/subscribe"
"github.com/perfect-panel/server/internal/svc"
"github.com/perfect-panel/server/internal/types"
"github.com/perfect-panel/server/pkg/tool"
)
func PanDomainMiddleware(svc *svc.ServiceContext) func(c *gin.Context) {
@ -23,9 +24,13 @@ func PanDomainMiddleware(svc *svc.ServiceContext) func(c *gin.Context) {
c.Abort()
return
}
browserKeywords := strings.Split(svc.Config.Subscribe.UserAgentList, "\n")
browserKeywords := tool.RemoveDuplicateElements(strings.Split(svc.Config.Subscribe.UserAgentList, "\n")...)
var allow = false
for _, keyword := range browserKeywords {
keyword = strings.ToLower(strings.Trim(keyword, " "))
if keyword == "" {
continue
}
if strings.Contains(strings.ToLower(ua), keyword) {
allow = true
}