diff --git a/core/server/server.go b/core/server/server.go index 8a83158..28dc35f 100644 --- a/core/server/server.go +++ b/core/server/server.go @@ -186,14 +186,24 @@ func (s *server) QueryStats(ctx context.Context, _ *gen.EmptyReq) (*gen.QuerySta } outbounds := service.FromContext[adapter.OutboundManager](boxInstance.Context()) if outbounds == nil { - log.Println("Failed to assert outbound manager") - return nil, E.New("invalid outbound manager type") + log.Println("Failed to get outbound manager") + return nil, E.New("nil outbound manager") + } + endpoints := service.FromContext[adapter.EndpointManager](boxInstance.Context()) + if endpoints == nil { + log.Println("Failed to get endpoint manager") + return nil, E.New("nil endpoint manager") } for _, out := range outbounds.Outbounds() { u, d := cApi.TrafficManager().TotalOutbound(out.Tag()) resp.Ups[out.Tag()] = u resp.Downs[out.Tag()] = d } + for _, ep := range endpoints.Endpoints() { + u, d := cApi.TrafficManager().TotalOutbound(ep.Tag()) + resp.Ups[ep.Tag()] = u + resp.Downs[ep.Tag()] = d + } } } diff --git a/src/configs/ConfigBuilder.cpp b/src/configs/ConfigBuilder.cpp index 7af5ce2..2592779 100644 --- a/src/configs/ConfigBuilder.cpp +++ b/src/configs/ConfigBuilder.cpp @@ -311,8 +311,7 @@ namespace NekoGui { // Bypass Lookup for the first profile auto serverAddress = ent->bean->serverAddress; - auto customBean = dynamic_cast(ent->bean.get()); - if (customBean != nullptr && customBean->core == "internal") { + if (auto customBean = dynamic_cast(ent->bean.get()); customBean != nullptr && customBean->core == "internal") { auto server = QString2QJsonObject(customBean->config_simple)["server"].toString(); if (!server.isEmpty()) serverAddress = server; }