feat: override traffic statistics with shared subscription quota if available

This commit is contained in:
SadeghKalami 2026-05-04 23:53:29 +03:30
parent a52c3fd768
commit cb66c1a586

View file

@ -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
}