mirror of https://github.com/2dust/v2rayN
Improves geoip rule handling in singbox
parent
c15fa64bad
commit
0fc5ce16bf
|
@ -1375,24 +1375,28 @@ public class CoreConfigSingboxService
|
||||||
{
|
{
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
else if (address.StartsWith("geoip:!"))
|
|
||||||
{
|
|
||||||
return false;
|
|
||||||
}
|
|
||||||
else if (address.Equals("geoip:private"))
|
else if (address.Equals("geoip:private"))
|
||||||
{
|
{
|
||||||
rule.ip_is_private = true;
|
rule.ip_is_private = true;
|
||||||
}
|
}
|
||||||
else if (address.StartsWith("geoip:"))
|
else if (address.StartsWith("geoip:"))
|
||||||
{
|
{
|
||||||
if (rule.geoip is null)
|
rule.geoip ??= new();
|
||||||
{ rule.geoip = new(); }
|
|
||||||
rule.geoip?.Add(address.Substring(6));
|
rule.geoip?.Add(address.Substring(6));
|
||||||
}
|
}
|
||||||
|
else if (address.Equals("geoip:!private"))
|
||||||
|
{
|
||||||
|
rule.ip_is_private = false;
|
||||||
|
}
|
||||||
|
else if (address.StartsWith("geoip:!"))
|
||||||
|
{
|
||||||
|
rule.geoip ??= new();
|
||||||
|
rule.geoip?.Add(address.Substring(6));
|
||||||
|
rule.invert = true;
|
||||||
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
if (rule.ip_cidr is null)
|
rule.ip_cidr ??= new();
|
||||||
{ rule.ip_cidr = new(); }
|
|
||||||
rule.ip_cidr?.Add(address);
|
rule.ip_cidr?.Add(address);
|
||||||
}
|
}
|
||||||
return true;
|
return true;
|
||||||
|
|
Loading…
Reference in New Issue