fix(proxy): improve proxy removal logic in build functions

This commit is contained in:
Chang lue Tsen
2025-04-29 17:02:17 +09:00
parent 94416d59a6
commit 6d13060aeb
4 changed files with 28 additions and 13 deletions
+8
View File
@@ -22,13 +22,21 @@ var shadowsocksSupportMethod = []string{"aes-128-gcm", "aes-192-gcm", "aes-256-g
func BuildSurfboard(servers proxy.Adapter, siteName string, user UserInfo) []byte {
var proxies, proxyGroup string
var removed []string
for _, node := range servers.Proxies {
if uri := buildProxy(node, user.UUID); uri != "" {
proxies += uri
} else {
removed = append(removed, node.Name)
}
}
for _, group := range servers.Group {
if len(removed) > 0 {
group.Proxies = tool.RemoveStringElement(group.Proxies, removed...)
}
if group.Type == proxy.GroupTypeSelect {
proxyGroup += fmt.Sprintf("%s = select, %s", group.Name, strings.Join(group.Proxies, ", ")) + "\r\n"
} else if group.Type == proxy.GroupTypeURLTest {