mirror of
https://github.com/XTLS/Xray-core.git
synced 2024-11-22 05:06:07 +03:00
Add pre-checking conversion for VLESS & VMess UUID
https://github.com/XTLS/Xray-core/issues/158
This commit is contained in:
parent
40271c09a0
commit
157918859f
@ -11,6 +11,7 @@ import (
|
|||||||
"github.com/xtls/xray-core/common/net"
|
"github.com/xtls/xray-core/common/net"
|
||||||
"github.com/xtls/xray-core/common/protocol"
|
"github.com/xtls/xray-core/common/protocol"
|
||||||
"github.com/xtls/xray-core/common/serial"
|
"github.com/xtls/xray-core/common/serial"
|
||||||
|
"github.com/xtls/xray-core/common/uuid"
|
||||||
"github.com/xtls/xray-core/proxy/vless"
|
"github.com/xtls/xray-core/proxy/vless"
|
||||||
"github.com/xtls/xray-core/proxy/vless/inbound"
|
"github.com/xtls/xray-core/proxy/vless/inbound"
|
||||||
"github.com/xtls/xray-core/proxy/vless/outbound"
|
"github.com/xtls/xray-core/proxy/vless/outbound"
|
||||||
@ -45,6 +46,12 @@ func (c *VLessInboundConfig) Build() (proto.Message, error) {
|
|||||||
return nil, newError(`VLESS clients: invalid user`).Base(err)
|
return nil, newError(`VLESS clients: invalid user`).Base(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u, err := uuid.ParseString(account.Id)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
account.Id = u.String()
|
||||||
|
|
||||||
switch account.Flow {
|
switch account.Flow {
|
||||||
case "", "xtls-rprx-origin", "xtls-rprx-direct":
|
case "", "xtls-rprx-origin", "xtls-rprx-direct":
|
||||||
case "xtls-rprx-splice":
|
case "xtls-rprx-splice":
|
||||||
@ -167,6 +174,12 @@ func (c *VLessOutboundConfig) Build() (proto.Message, error) {
|
|||||||
return nil, newError(`VLESS users: invalid user`).Base(err)
|
return nil, newError(`VLESS users: invalid user`).Base(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u, err := uuid.ParseString(account.Id)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
account.Id = u.String()
|
||||||
|
|
||||||
switch account.Flow {
|
switch account.Flow {
|
||||||
case "", "xtls-rprx-origin", "xtls-rprx-origin-udp443", "xtls-rprx-direct", "xtls-rprx-direct-udp443":
|
case "", "xtls-rprx-origin", "xtls-rprx-origin-udp443", "xtls-rprx-direct", "xtls-rprx-direct-udp443":
|
||||||
case "xtls-rprx-splice", "xtls-rprx-splice-udp443":
|
case "xtls-rprx-splice", "xtls-rprx-splice-udp443":
|
||||||
|
@ -8,6 +8,7 @@ import (
|
|||||||
|
|
||||||
"github.com/xtls/xray-core/common/protocol"
|
"github.com/xtls/xray-core/common/protocol"
|
||||||
"github.com/xtls/xray-core/common/serial"
|
"github.com/xtls/xray-core/common/serial"
|
||||||
|
"github.com/xtls/xray-core/common/uuid"
|
||||||
"github.com/xtls/xray-core/proxy/vmess"
|
"github.com/xtls/xray-core/proxy/vmess"
|
||||||
"github.com/xtls/xray-core/proxy/vmess/inbound"
|
"github.com/xtls/xray-core/proxy/vmess/inbound"
|
||||||
"github.com/xtls/xray-core/proxy/vmess/outbound"
|
"github.com/xtls/xray-core/proxy/vmess/outbound"
|
||||||
@ -105,6 +106,13 @@ func (c *VMessInboundConfig) Build() (proto.Message, error) {
|
|||||||
if err := json.Unmarshal(rawData, account); err != nil {
|
if err := json.Unmarshal(rawData, account); err != nil {
|
||||||
return nil, newError("invalid VMess user").Base(err)
|
return nil, newError("invalid VMess user").Base(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u, err := uuid.ParseString(account.ID)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
account.ID = u.String()
|
||||||
|
|
||||||
user.Account = serial.ToTypedMessage(account.Build())
|
user.Account = serial.ToTypedMessage(account.Build())
|
||||||
config.User[idx] = user
|
config.User[idx] = user
|
||||||
}
|
}
|
||||||
@ -149,6 +157,13 @@ func (c *VMessOutboundConfig) Build() (proto.Message, error) {
|
|||||||
if err := json.Unmarshal(rawUser, account); err != nil {
|
if err := json.Unmarshal(rawUser, account); err != nil {
|
||||||
return nil, newError("invalid VMess user").Base(err)
|
return nil, newError("invalid VMess user").Base(err)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
u, err := uuid.ParseString(account.ID)
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
account.ID = u.String()
|
||||||
|
|
||||||
user.Account = serial.ToTypedMessage(account.Build())
|
user.Account = serial.ToTypedMessage(account.Build())
|
||||||
spec.User = append(spec.User, user)
|
spec.User = append(spec.User, user)
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user