This commit is contained in:
DHR60
2026-07-02 01:20:14 +00:00
committed by GitHub
parent bf376a8fac
commit 31e32f174e
2 changed files with 7 additions and 13 deletions
@@ -289,16 +289,7 @@ public class BalancersStrategySettings4Ray
{ {
public int? expected { get; set; } public int? expected { get; set; }
public string? maxRTT { get; set; } public string? maxRTT { get; set; }
public float? tolerance { get; set; } public double? tolerance { get; set; }
public List<string>? baselines { get; set; }
public List<BalancersStrategySettingsCosts4Ray>? costs { get; set; }
}
public class BalancersStrategySettingsCosts4Ray
{
public bool? regexp { get; set; }
public string? match { get; set; }
public float? value { get; set; }
} }
public class Observatory4Ray public class Observatory4Ray
@@ -89,22 +89,25 @@ public partial class CoreConfigV2rayService
EMultipleLoad.RoundRobin => "roundRobin", EMultipleLoad.RoundRobin => "roundRobin",
EMultipleLoad.LeastPing => "leastPing", EMultipleLoad.LeastPing => "leastPing",
EMultipleLoad.LeastLoad => "leastLoad", EMultipleLoad.LeastLoad => "leastLoad",
EMultipleLoad.Fallback => "leastLoad",
_ => "roundRobin", _ => "roundRobin",
}; };
var balancerTag = $"{selector}{Global.BalancerTagSuffix}"; var balancerTag = $"{selector}{Global.BalancerTagSuffix}";
var balancer = new BalancersItem4Ray var balancer = new BalancersItem4Ray
{ {
selector = [selector], selector = [selector],
strategy = new() strategy = strategyType == "leastLoad" ? new()
{ {
type = strategyType, type = strategyType,
settings = new() settings = new()
{ {
expected = 1, expected = 1,
tolerance = multipleLoad == EMultipleLoad.Fallback ? 0.2 : null,
maxRTT = multipleLoad == EMultipleLoad.Fallback ? "5000ms" : null,
}, },
}, } : null,
tag = balancerTag, tag = balancerTag,
fallbackTag = multipleLoad == EMultipleLoad.Fallback ? Global.DirectTag : null, fallbackTag = _coreConfig.outbounds?.FirstOrDefault(o => o.tag.StartsWith(selector))?.tag,
}; };
_coreConfig.routing.balancers ??= []; _coreConfig.routing.balancers ??= [];
_coreConfig.routing.balancers.Add(balancer); _coreConfig.routing.balancers.Add(balancer);