Skip to content
Discussion options

You must be logged in to vote

This looks intentional. Those two bytes are not part of the effective VLESS user identity in Xray; they are reserved for vlessRoute.

The flow is:

  • MemoryValidator.Add() stores users under ProcessUUID(userID).
  • MemoryValidator.Get() also looks up ProcessUUID(id).
  • After the request is accepted, the inbound handler keeps the original bytes and sets inbound.VlessRoute = net.PortFromBytes(userSentID[6:8]).
  • The router has a vlessRoute rule field and matches it through ctx.GetVlessRoute().

So yes, UUIDs that differ only in bytes 6 and 7 are treated as the same VLESS user. Those bytes become a 16-bit route value (7th<<8 | 8th) that the client can send per request without breaking user lookup.

Ope…

Replies: 1 comment

Comment options

You must be logged in to vote
0 replies
Answer selected by kumahooks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Category
Q&A
Labels
None yet
2 participants