diff --git a/docs/configuration/outbound/vless.md b/docs/configuration/outbound/vless.md index 25ed1d0f..d3258dde 100644 --- a/docs/configuration/outbound/vless.md +++ b/docs/configuration/outbound/vless.md @@ -60,6 +60,8 @@ TLS configuration, see [TLS](/configuration/shared/tls/#outbound). #### packet_encoding +UDP packet encoding, xudp is used by default. + | Encoding | Description | |------------|-----------------------| | (none) | Disabled | diff --git a/docs/configuration/outbound/vless.zh.md b/docs/configuration/outbound/vless.zh.md index 5892f76d..75713bf5 100644 --- a/docs/configuration/outbound/vless.zh.md +++ b/docs/configuration/outbound/vless.zh.md @@ -60,6 +60,8 @@ TLS 配置, 参阅 [TLS](/zh/configuration/shared/tls/#outbound)。 #### packet_encoding +UDP 包编码,默认使用 xudp。 + | 编码 | 描述 | |------------|---------------| | (空) | 禁用 | diff --git a/docs/configuration/outbound/vmess.md b/docs/configuration/outbound/vmess.md index 23b5eb44..bf6f96ec 100644 --- a/docs/configuration/outbound/vmess.md +++ b/docs/configuration/outbound/vmess.md @@ -86,6 +86,8 @@ TLS configuration, see [TLS](/configuration/shared/tls/#outbound). #### packet_encoding +UDP packet encoding. + | Encoding | Description | |------------|-----------------------| | (none) | Disabled | diff --git a/docs/configuration/outbound/vmess.zh.md b/docs/configuration/outbound/vmess.zh.md index d8e503b9..9bb9de53 100644 --- a/docs/configuration/outbound/vmess.zh.md +++ b/docs/configuration/outbound/vmess.zh.md @@ -86,6 +86,8 @@ TLS 配置, 参阅 [TLS](/zh/configuration/shared/tls/#outbound)。 #### packet_encoding +UDP 包编码。 + | 编码 | 描述 | |------------|---------------| | (空) | 禁用 | diff --git a/option/vless.go b/option/vless.go index 175c7eaf..9b48d993 100644 --- a/option/vless.go +++ b/option/vless.go @@ -20,5 +20,5 @@ type VLESSOutboundOptions struct { Network NetworkList `json:"network,omitempty"` TLS *OutboundTLSOptions `json:"tls,omitempty"` Transport *V2RayTransportOptions `json:"transport,omitempty"` - PacketEncoding string `json:"packet_encoding,omitempty"` + PacketEncoding *string `json:"packet_encoding,omitempty"` } diff --git a/outbound/vless.go b/outbound/vless.go index 996c8759..1b86bb47 100644 --- a/outbound/vless.go +++ b/outbound/vless.go @@ -58,14 +58,18 @@ func NewVLESS(ctx context.Context, router adapter.Router, logger log.ContextLogg return nil, E.Cause(err, "create client transport: ", options.Transport.Type) } } - switch options.PacketEncoding { - case "": - case "packetaddr": - outbound.packetAddr = true - case "xudp": + if options.PacketEncoding == nil { outbound.xudp = true - default: - return nil, E.New("unknown packet encoding: ", options.PacketEncoding) + } else { + switch *options.PacketEncoding { + case "": + case "packetaddr": + outbound.packetAddr = true + case "xudp": + outbound.xudp = true + default: + return nil, E.New("unknown packet encoding: ", options.PacketEncoding) + } } outbound.client, err = vless.NewClient(options.UUID, options.Flow, logger) if err != nil {