diff --git a/v2rayN/ProtosLib/ProtosLib.csproj b/v2rayN/ProtosLib/ProtosLib.csproj deleted file mode 100644 index 0b22dfb8..00000000 --- a/v2rayN/ProtosLib/ProtosLib.csproj +++ /dev/null @@ -1,20 +0,0 @@ - - - net8.0 - enable - - - - - - - - - - - all - runtime; build; native; contentfiles; analyzers; buildtransitive - - - - diff --git a/v2rayN/ProtosLib/Statistics.proto b/v2rayN/ProtosLib/Statistics.proto deleted file mode 100644 index db96ac02..00000000 --- a/v2rayN/ProtosLib/Statistics.proto +++ /dev/null @@ -1,53 +0,0 @@ -syntax = "proto3"; - -package v2ray.core.app.stats.command; -option csharp_namespace = "ProtosLib.Statistics"; - -message GetStatsRequest { - // Name of the stat counter. - string name = 1; - // Whether or not to reset the counter to fetching its value. - bool reset = 2; -} - -message Stat { - string name = 1; - int64 value = 2; -} - -message GetStatsResponse { - Stat stat = 1; -} - -message QueryStatsRequest { - string pattern = 1; - bool reset = 2; -} - -message QueryStatsResponse { - repeated Stat stat = 1; -} - -message SysStatsRequest { -} - -message SysStatsResponse { - uint32 NumGoroutine = 1; - uint32 NumGC = 2; - uint64 Alloc = 3; - uint64 TotalAlloc = 4; - uint64 Sys = 5; - uint64 Mallocs = 6; - uint64 Frees = 7; - uint64 LiveObjects = 8; - uint64 PauseTotalNs = 9; - uint32 Uptime = 10; -} - -service StatsService { - rpc GetStats(GetStatsRequest) returns (GetStatsResponse) {} - rpc QueryStats(QueryStatsRequest) returns (QueryStatsResponse) {} - rpc GetSysStats(SysStatsRequest) returns (SysStatsResponse) {} -} - -message Config {} diff --git a/v2rayN/ProtosLib/Tests.cs b/v2rayN/ProtosLib/Tests.cs deleted file mode 100644 index e1eb85b1..00000000 --- a/v2rayN/ProtosLib/Tests.cs +++ /dev/null @@ -1,13 +0,0 @@ -using ProtosLib.Statistics; - -namespace ProtosLib -{ - public class Tests - { - private StatsService.StatsServiceClient client_; - - public Tests() - { - } - } -} \ No newline at end of file diff --git a/v2rayN/ServiceLib/Handler/StatisticsHandler.cs b/v2rayN/ServiceLib/Handler/StatisticsHandler.cs index e9060cc3..1c307d11 100644 --- a/v2rayN/ServiceLib/Handler/StatisticsHandler.cs +++ b/v2rayN/ServiceLib/Handler/StatisticsHandler.cs @@ -10,9 +10,7 @@ private List _lstServerStat; private Action? _updateFunc; - //private StatisticsV2rayService? _statisticsV2Ray; private StatisticsXrayService? _statisticsXray; - private StatisticsSingboxService? _statisticsSingbox; public List ServerStat => _lstServerStat; @@ -28,7 +26,6 @@ await InitData(); - //_statisticsV2Ray = new StatisticsV2rayService(config, UpdateServerStatHandler); _statisticsXray = new StatisticsXrayService(config, UpdateServerStatHandler); _statisticsSingbox = new StatisticsSingboxService(config, UpdateServerStatHandler); } @@ -37,7 +34,6 @@ { try { - //_statisticsV2Ray?.Close(); _statisticsXray?.Close(); _statisticsSingbox?.Close(); } diff --git a/v2rayN/ServiceLib/ServiceLib.csproj b/v2rayN/ServiceLib/ServiceLib.csproj index 52c068df..8a8fb5c6 100644 --- a/v2rayN/ServiceLib/ServiceLib.csproj +++ b/v2rayN/ServiceLib/ServiceLib.csproj @@ -49,7 +49,6 @@ - diff --git a/v2rayN/ServiceLib/Services/Statistics/StatisticsV2rayService.cs b/v2rayN/ServiceLib/Services/Statistics/StatisticsV2rayService.cs deleted file mode 100644 index 66419576..00000000 --- a/v2rayN/ServiceLib/Services/Statistics/StatisticsV2rayService.cs +++ /dev/null @@ -1,135 +0,0 @@ -using Grpc.Core; -using Grpc.Net.Client; -using ProtosLib.Statistics; - -namespace ServiceLib.Services.Statistics -{ - public class StatisticsV2rayService - { - private Models.Config _config; - private GrpcChannel? _channel; - private StatsService.StatsServiceClient? _client; - private bool _exitFlag; - private Action? _updateFunc; - - public StatisticsV2rayService(Models.Config config, Action updateFunc) - { - _config = config; - _updateFunc = updateFunc; - _exitFlag = false; - - GrpcInit(); - - Task.Run(Run); - } - - private void GrpcInit() - { - if (_channel is null) - { - try - { - _channel = GrpcChannel.ForAddress($"{Global.HttpProtocol}{Global.Loopback}:{AppHandler.Instance.StatePort}"); - _client = new StatsService.StatsServiceClient(_channel); - } - catch (Exception ex) - { - Logging.SaveLog(ex.Message, ex); - } - } - } - - public void Close() - { - _exitFlag = true; - } - - private async void Run() - { - while (!_exitFlag) - { - await Task.Delay(1000); - try - { - if (!_config.IsRunningCore(ECoreType.Xray)) - { - continue; - } - if (_channel?.State == ConnectivityState.Ready) - { - QueryStatsResponse? res = null; - try - { - if (_client != null) - res = await _client.QueryStatsAsync(new QueryStatsRequest() { Pattern = "", Reset = true }); - } - catch - { - } - - if (res != null) - { - ParseOutput(res.Stat, out ServerSpeedItem server); - _updateFunc?.Invoke(server); - } - } - if (_channel != null) - await _channel.ConnectAsync(); - } - catch - { - } - } - } - - 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) - { - string name = stat.Name; - long value = stat.Value / 1024; //KByte - string[] nStr = name.Split(">>>".ToCharArray(), StringSplitOptions.RemoveEmptyEntries); - string type = ""; - - name = name.Trim(); - - name = nStr[1]; - type = nStr[3]; - - if (name.StartsWith(Global.ProxyTag)) - { - if (type == "uplink") - { - aggregateProxyUp += value; - } - else if (type == "downlink") - { - aggregateProxyDown += value; - } - } - else if (name == Global.DirectTag) - { - if (type == "uplink") - { - server.DirectUp = value; - } - else if (type == "downlink") - { - server.DirectDown = value; - } - } - } - server.ProxyUp = aggregateProxyUp; - server.ProxyDown = aggregateProxyDown; - } - catch - { - } - } - } -} \ No newline at end of file diff --git a/v2rayN/v2rayN.sln b/v2rayN/v2rayN.sln index f898d47e..ea0fd985 100644 --- a/v2rayN/v2rayN.sln +++ b/v2rayN/v2rayN.sln @@ -5,8 +5,6 @@ VisualStudioVersion = 17.3.32811.315 MinimumVisualStudioVersion = 10.0.40219.1 Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "v2rayN", "v2rayN\v2rayN.csproj", "{6DE127CA-1763-4236-B297-D2EF9CB2EC9B}" EndProject -Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ProtosLib", "ProtosLib\ProtosLib.csproj", "{C5F24BB0-9CC1-44DD-82FF-D545F081819B}" -EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "PacLib", "PacLib\PacLib.csproj", "{EE4E6CD8-8353-446B-8F29-A841A02AE5EC}" EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "ServiceLib", "ServiceLib\ServiceLib.csproj", "{1B6456C4-FFAA-4298-80F6-7B689A6E9243}" @@ -25,10 +23,6 @@ Global {6DE127CA-1763-4236-B297-D2EF9CB2EC9B}.Debug|Any CPU.Build.0 = Debug|Any CPU {6DE127CA-1763-4236-B297-D2EF9CB2EC9B}.Release|Any CPU.ActiveCfg = Release|Any CPU {6DE127CA-1763-4236-B297-D2EF9CB2EC9B}.Release|Any CPU.Build.0 = Release|Any CPU - {C5F24BB0-9CC1-44DD-82FF-D545F081819B}.Debug|Any CPU.ActiveCfg = Debug|Any CPU - {C5F24BB0-9CC1-44DD-82FF-D545F081819B}.Debug|Any CPU.Build.0 = Debug|Any CPU - {C5F24BB0-9CC1-44DD-82FF-D545F081819B}.Release|Any CPU.ActiveCfg = Release|Any CPU - {C5F24BB0-9CC1-44DD-82FF-D545F081819B}.Release|Any CPU.Build.0 = Release|Any CPU {EE4E6CD8-8353-446B-8F29-A841A02AE5EC}.Debug|Any CPU.ActiveCfg = Debug|Any CPU {EE4E6CD8-8353-446B-8F29-A841A02AE5EC}.Debug|Any CPU.Build.0 = Debug|Any CPU {EE4E6CD8-8353-446B-8F29-A841A02AE5EC}.Release|Any CPU.ActiveCfg = Release|Any CPU