1
0
mirror of https://github.com/v2fly/v2ray-core.git synced 2024-09-27 22:36:12 -04:00

Update protocol for better decription

This commit is contained in:
V2Ray 2015-09-07 23:21:47 +02:00
parent b0849dd23b
commit d785fa0156
2 changed files with 14 additions and 15 deletions

View File

@ -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

View File

@ -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 字节:随机填充内容
数据部分 数据部分