VLESS practice: Use user-sent VLESS UUID's last byte as vlessRoute for routing rules

https://github.com/XTLS/Xray-core/pull/5009#issuecomment-3194262087
This commit is contained in:
RPRX
2025-08-17 13:55:18 +00:00
parent de23e51077
commit 105b306d07
15 changed files with 146 additions and 89 deletions

View File

@@ -531,6 +531,7 @@ func parseFieldRule(msg json.RawMessage) (*router.RoutingRule, error) {
Source *StringList `json:"source"`
SourcePort *PortList `json:"sourcePort"`
User *StringList `json:"user"`
VlessRoute *PortList `json:"vlessRoute"`
InboundTag *StringList `json:"inboundTag"`
Protocols *StringList `json:"protocol"`
Attributes map[string]string `json:"attrs"`
@@ -628,6 +629,10 @@ func parseFieldRule(msg json.RawMessage) (*router.RoutingRule, error) {
}
}
if rawFieldRule.VlessRoute != nil {
rule.VlessRouteList = rawFieldRule.VlessRoute.Build()
}
if rawFieldRule.InboundTag != nil {
for _, s := range *rawFieldRule.InboundTag {
rule.InboundTag = append(rule.InboundTag, s)