Browse Source

Update protocol for better decription

pull/298/head
V2Ray 9 years ago
parent
commit
d785fa0156
  1. 25
      io/vmess/vmess.go
  2. 4
      spec/vmess.md

25
io/vmess/vmess.go

@ -2,7 +2,7 @@
package vmess
import (
"fmt"
"fmt"
"io"
)
@ -21,18 +21,17 @@ type VMessInput struct {
}
func Read(reader io.Reader) (input *VMessInput, err error) {
buffer := make([]byte, 17 /* version + user hash */)
nBytes, err := reader.Read(buffer)
if err != nil {
return
}
if nBytes != len(buffer) {
err = fmt.Errorf("Unexpected length of header %d", nBytes)
return
}
return
buffer := make([]byte, 17 /* version + user hash */)
nBytes, err := reader.Read(buffer)
if err != nil {
return
}
if nBytes != len(buffer) {
err = fmt.Errorf("Unexpected length of header %d", nBytes)
return
}
return
}
type VMessOutput [4]byte

4
spec/vmess.md

@ -10,7 +10,7 @@
* 16 字节:md5(用户 VID + 'ASK')
指令部分:
* 1 字节:随机填充长度 M (M <= 32)
* 1 字节:随机填充长度 M (0 < M <= 32)
* M 字节:随机填充内容
* 1 字节:保留,总是 0x00
* 16 字节:请求数据 IV
@ -29,7 +29,7 @@
* 4 字节:IPv4
* 1 字节长度 + 域名
* 16 字节:IPv6
* 1 字节:随机填充长度 M2 (M2 <= 32)
* 1 字节:随机填充长度 M2 (0 < M2 <= 32)使得指令部分长度为 16 的倍数字节
* M2 字节:随机填充内容
数据部分

Loading…
Cancel
Save