From 1ff88d29be2cee777db60c0fe41ffa17625ebac7 Mon Sep 17 00:00:00 2001 From: OnceUponATimeInAmerica <114700833+OnceUponATimeInAmerica@users.noreply.github.com> Date: Thu, 20 Jun 2024 11:02:10 +0330 Subject: [PATCH] Extend stats reporting to support custom configs with several load-balanced outbounds in them, with tags starting with "proxy" e.g. proxy1, proxy2 (fully compatible with existing configs) (#5225) --- v2rayN/v2rayN/Handler/StatisticsV2ray.cs | 10 +++++++--- 1 file changed, 7 insertions(+), 3 deletions(-) diff --git a/v2rayN/v2rayN/Handler/StatisticsV2ray.cs b/v2rayN/v2rayN/Handler/StatisticsV2ray.cs index 67385453..0be8a617 100644 --- a/v2rayN/v2rayN/Handler/StatisticsV2ray.cs +++ b/v2rayN/v2rayN/Handler/StatisticsV2ray.cs @@ -87,6 +87,8 @@ namespace v2rayN.Handler private void ParseOutput(Google.Protobuf.Collections.RepeatedField source, out ServerSpeedItem server) { server = new(); + long aggregateProxyUp = 0; + long aggregateProxyDown = 0; try { foreach (Stat stat in source) @@ -101,15 +103,15 @@ namespace v2rayN.Handler name = nStr[1]; type = nStr[3]; - if (name == Global.ProxyTag) + if (name.StartsWith(Global.ProxyTag)) { if (type == "uplink") { - server.proxyUp = value; + aggregateProxyUp += value; } else if (type == "downlink") { - server.proxyDown = value; + aggregateProxyDown += value; } } else if (name == Global.DirectTag) @@ -124,6 +126,8 @@ namespace v2rayN.Handler } } } + server.proxyUp = aggregateProxyUp; + server.proxyDown = aggregateProxyDown; } catch {