mirror of
https://github.com/v2fly/v2ray-core.git
synced 2024-12-21 09:36:34 -05:00
Update protocol for better decription
This commit is contained in:
parent
b0849dd23b
commit
d785fa0156
@ -2,7 +2,7 @@
|
|||||||
package vmess
|
package vmess
|
||||||
|
|
||||||
import (
|
import (
|
||||||
"fmt"
|
"fmt"
|
||||||
"io"
|
"io"
|
||||||
)
|
)
|
||||||
|
|
||||||
@ -21,18 +21,17 @@ type VMessInput struct {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func Read(reader io.Reader) (input *VMessInput, err error) {
|
func Read(reader io.Reader) (input *VMessInput, err error) {
|
||||||
buffer := make([]byte, 17 /* version + user hash */)
|
buffer := make([]byte, 17 /* version + user hash */)
|
||||||
nBytes, err := reader.Read(buffer)
|
nBytes, err := reader.Read(buffer)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
if nBytes != len(buffer) {
|
if nBytes != len(buffer) {
|
||||||
err = fmt.Errorf("Unexpected length of header %d", nBytes)
|
err = fmt.Errorf("Unexpected length of header %d", nBytes)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
type VMessOutput [4]byte
|
type VMessOutput [4]byte
|
||||||
|
|
||||||
|
@ -10,7 +10,7 @@
|
|||||||
* 16 字节:md5(用户 VID + 'ASK')
|
* 16 字节:md5(用户 VID + 'ASK')
|
||||||
|
|
||||||
指令部分:
|
指令部分:
|
||||||
* 1 字节:随机填充长度 M (M <= 32)
|
* 1 字节:随机填充长度 M (0 < M <= 32)
|
||||||
* M 字节:随机填充内容
|
* M 字节:随机填充内容
|
||||||
* 1 字节:保留,总是 0x00
|
* 1 字节:保留,总是 0x00
|
||||||
* 16 字节:请求数据 IV
|
* 16 字节:请求数据 IV
|
||||||
@ -29,7 +29,7 @@
|
|||||||
* 4 字节:IPv4
|
* 4 字节:IPv4
|
||||||
* 1 字节长度 + 域名
|
* 1 字节长度 + 域名
|
||||||
* 16 字节:IPv6
|
* 16 字节:IPv6
|
||||||
* 1 字节:随机填充长度 M2 (M2 <= 32)
|
* 1 字节:随机填充长度 M2 (0 < M2 <= 32),使得指令部分长度为 16 的倍数字节
|
||||||
* M2 字节:随机填充内容
|
* M2 字节:随机填充内容
|
||||||
|
|
||||||
数据部分
|
数据部分
|
||||||
|
Loading…
Reference in New Issue
Block a user