* Fix

* Fix

* Use HashSet instead of List

* Use HashSet instead of List for sing-box
This commit is contained in:
DHR60
2026-08-26 11:41:52 +00:00
committed by GitHub
parent af0eb9ed14
commit e50c0a9170
2 changed files with 27 additions and 28 deletions
@@ -306,8 +306,8 @@ public partial class CoreConfigSingboxService
}
var rules = JsonUtils.Deserialize<List<RulesItem>>(routing.RuleSet) ?? [];
var expectedIPCidr = new List<string>();
var expectedIPsRegions = new List<string>();
var expectedIPCidr = new HashSet<string>();
var expectedIPsRegions = new HashSet<string>();
var regionName = string.Empty;
if (!string.IsNullOrEmpty(simpleDnsItem?.DirectExpectedIPs))
@@ -316,7 +316,7 @@ public partial class CoreConfigSingboxService
.Split(new[] { ',', ';' }, StringSplitOptions.RemoveEmptyEntries)
.Select(s => s.Trim())
.Where(s => !string.IsNullOrEmpty(s))
.ToList();
.ToHashSet();
foreach (var ip in ipItems)
{
@@ -374,11 +374,11 @@ public partial class CoreConfigSingboxService
rule4ExpectedIPs.geosite = regionGeosite;
if (expectedIPsRegions.Count > 0)
{
rule4ExpectedIPs.geoip = expectedIPsRegions;
rule4ExpectedIPs.geoip = expectedIPsRegions.ToList();
}
if (expectedIPCidr.Count > 0)
{
rule4ExpectedIPs.ip_cidr = expectedIPCidr;
rule4ExpectedIPs.ip_cidr = expectedIPCidr.ToList();
}
_coreConfig.dns.rules.Add(rule4ExpectedIPs);
}