From cb66c1a586789b694e7f77ae06ef77c0645d67d6 Mon Sep 17 00:00:00 2001 From: SadeghKalami Date: Mon, 4 May 2026 23:53:29 +0330 Subject: [PATCH] feat: override traffic statistics with shared subscription quota if available --- sub/subService.go | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/sub/subService.go b/sub/subService.go index 19ca21d9..0599ae5c 100644 --- a/sub/subService.go +++ b/sub/subService.go @@ -90,7 +90,11 @@ func (s *SubService) GetSubs(subId string, host string) ([]string, int64, xray.C } // Prepare statistics + var subTotalGB int64 = 0 for index, clientTraffic := range clientTraffics { + if clientTraffic.SubTotal > 0 { + subTotalGB = clientTraffic.SubTotal + } if index == 0 { traffic.Up = clientTraffic.Up traffic.Down = clientTraffic.Down @@ -111,6 +115,16 @@ func (s *SubService) GetSubs(subId string, host string) ([]string, int64, xray.C } } } + + // Override with shared quota if applicable + if subTotalGB > 0 { + sharedUp, sharedDown, err := s.inboundService.GetSubTraffic(subId) + if err == nil { + traffic.Up = sharedUp + traffic.Down = sharedDown + traffic.Total = subTotalGB + } + } return result, lastOnline, traffic, nil }