From bd35793cf859a873a82cfce9ed8a949ae335112a Mon Sep 17 00:00:00 2001 From: V2Ray Date: Tue, 22 Sep 2015 00:28:52 +0200 Subject: [PATCH] Don't random pick if there is only one vnext or user --- proxy/vmess/vmessout.go | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/proxy/vmess/vmessout.go b/proxy/vmess/vmessout.go index dbbec1a1f..f06974029 100644 --- a/proxy/vmess/vmessout.go +++ b/proxy/vmess/vmessout.go @@ -44,13 +44,20 @@ func (handler *VMessOutboundHandler) pickVNext() (v2net.Destination, user.User) if vNextLen == 0 { panic("VMessOut: Zero vNext is configured.") } - vNextIndex := mrand.Intn(vNextLen) + vNextIndex := 0 + if vNextLen > 1 { + vNextIndex = mrand.Intn(vNextLen) + } + vNext := handler.vNextList[vNextIndex] vNextUserLen := len(vNext.Users) if vNextUserLen == 0 { panic("VMessOut: Zero User account.") } - vNextUserIndex := mrand.Intn(vNextUserLen) + vNextUserIndex := 0 + if vNextUserLen > 1 { + vNextUserIndex = mrand.Intn(vNextUserLen) + } vNextUser := vNext.Users[vNextUserIndex] return vNext.Destination, vNextUser }