feat: evolve rate-filter to a more generic filter

This commit is contained in:
2026-07-28 20:40:12 +08:00
parent a3e3079af1
commit b206594eb8
15 changed files with 492 additions and 193 deletions

View File

@ -374,10 +374,15 @@ func (m *Manager) mergeSubscriptions(subs []*model.Subscription) (map[string]int
data = map[string]interface{}{}
}
proxies = append(proxies, automation.PrefixProxyNames(sub.Name, data)...)
proxyRefs, groupRefs := automation.PrefixProxyNames(sub.Name, data)
proxies = append(proxies, proxyRefs...)
if group := popFirstProxyGroup(data); group != nil {
selectionGroups = append(selectionGroups, group)
groupRefs = rewritePoppedGroupRef(groupRefs)
}
proxies = append(proxies, groupRefs...)
combined = deepMerge(combined, data)
}
@ -405,7 +410,7 @@ func dedupeMatchRule(rulesRaw interface{}) interface{} {
filtered = append(filtered, item)
}
return append(filtered, "MATCH,all proxies")
return append(filtered, "MATCH,Proxy Selection")
}
// dedupeGeoIPRule keeps only the last occurrence of each "GEOIP,<payload>"