From 725eccdea8015bdab2d1264b79c89e4e33e2d39c Mon Sep 17 00:00:00 2001 From: Sergei Maklagin Date: Sun, 2 Nov 2025 17:55:18 +0300 Subject: [PATCH] Fix Range --- common/xray/json/badoption/range.go | 25 +++++++++++++++---------- 1 file changed, 15 insertions(+), 10 deletions(-) diff --git a/common/xray/json/badoption/range.go b/common/xray/json/badoption/range.go index 645fda82..cef20315 100644 --- a/common/xray/json/badoption/range.go +++ b/common/xray/json/badoption/range.go @@ -33,17 +33,22 @@ func (c *Range) UnmarshalJSON(content []byte) error { if err == nil { parts := strings.Split(stringValue, "-") if len(parts) != 2 { - return E.New("invalid length of range parts") + from, err := strconv.ParseInt(parts[0], 10, 32) + if err != nil { + return err + } + rangeValue.From, rangeValue.To = int32(from), int32(from) + } else { + from, err := strconv.ParseInt(parts[0], 10, 32) + if err != nil { + return err + } + to, err := strconv.ParseInt(parts[1], 10, 32) + if err != nil { + return err + } + rangeValue.From, rangeValue.To = int32(from), int32(to) } - from, err := strconv.ParseInt(parts[0], 10, 32) - if err != nil { - return err - } - to, err := strconv.ParseInt(parts[1], 10, 32) - if err != nil { - return err - } - rangeValue.From, rangeValue.To = int32(from), int32(to) } else { err := json.Unmarshal(content, &rangeValue) if err != nil {