This commit is contained in:
wuxiangzhou2010 2018-04-02 15:52:16 +08:00
parent a58063e7ac
commit 5a08411ee2
12 changed files with 16 additions and 16 deletions

4
common/crypto/chunk.go Normal file → Executable file
View File

@ -8,13 +8,13 @@ import (
"v2ray.com/core/common/serial" "v2ray.com/core/common/serial"
) )
// ChunkSizeDecoder is an utility class to decode size value from bytes. // ChunkSizeDecoder is a utility class to decode size value from bytes.
type ChunkSizeDecoder interface { type ChunkSizeDecoder interface {
SizeBytes() int SizeBytes() int
Decode([]byte) (uint16, error) Decode([]byte) (uint16, error)
} }
// ChunkSizeEncoder is an utility class to encode size value into bytes. // ChunkSizeEncoder is a utility class to encode size value into bytes.
type ChunkSizeEncoder interface { type ChunkSizeEncoder interface {
SizeBytes() int SizeBytes() int
Encode(uint16, []byte) []byte Encode(uint16, []byte) []byte

2
common/protocol/id.go Normal file → Executable file
View File

@ -19,7 +19,7 @@ func DefaultIDHash(key []byte) hash.Hash {
return hmac.New(md5.New, key) return hmac.New(md5.New, key)
} }
// The ID of en entity, in the form of an UUID. // The ID of en entity, in the form of a UUID.
type ID struct { type ID struct {
uuid uuid.UUID uuid uuid.UUID
cmdKey [IDBytesLen]byte cmdKey [IDBytesLen]byte

4
common/serial/bytes.go Normal file → Executable file
View File

@ -7,12 +7,12 @@ func ByteToHexString(value byte) string {
return hex.EncodeToString([]byte{value}) return hex.EncodeToString([]byte{value})
} }
// BytesToUint16 deserializes a byte array to an uint16 in big endian order. The byte array must have at least 2 elements. // BytesToUint16 deserializes a byte array to a uint16 in big endian order. The byte array must have at least 2 elements.
func BytesToUint16(value []byte) uint16 { func BytesToUint16(value []byte) uint16 {
return uint16(value[0])<<8 | uint16(value[1]) return uint16(value[0])<<8 | uint16(value[1])
} }
// BytesToUint32 deserializes a byte array to an uint32 in big endian order. The byte array must have at least 4 elements. // BytesToUint32 deserializes a byte array to a uint32 in big endian order. The byte array must have at least 4 elements.
func BytesToUint32(value []byte) uint32 { func BytesToUint32(value []byte) uint32 {
return uint32(value[0])<<24 | return uint32(value[0])<<24 |
uint32(value[1])<<16 | uint32(value[1])<<16 |

2
common/serial/numbers.go Normal file → Executable file
View File

@ -3,7 +3,7 @@ package serial
import "strconv" import "strconv"
import "io" import "io"
// Uint16ToBytes serializes an uint16 into bytes in big endian order. // Uint16ToBytes serializes a uint16 into bytes in big endian order.
func Uint16ToBytes(value uint16, b []byte) []byte { func Uint16ToBytes(value uint16, b []byte) []byte {
return append(b, byte(value>>8), byte(value)) return append(b, byte(value>>8), byte(value))
} }

2
common/signal/done.go Normal file → Executable file
View File

@ -4,7 +4,7 @@ import (
"sync" "sync"
) )
// Done is an utility for notifications of something being done. // Done is a utility for notifications of something being done.
type Done struct { type Done struct {
access sync.Mutex access sync.Mutex
c chan struct{} c chan struct{}

2
common/signal/notifier.go Normal file → Executable file
View File

@ -1,6 +1,6 @@
package signal package signal
// Notifier is an utility for notifying changes. The change producer may notify changes multiple time, and the consumer may get notified asynchronously. // Notifier is a utility for notifying changes. The change producer may notify changes multiple time, and the consumer may get notified asynchronously.
type Notifier struct { type Notifier struct {
c chan struct{} c chan struct{}
} }

6
common/uuid/uuid.go Normal file → Executable file
View File

@ -61,14 +61,14 @@ func (u *UUID) Next() UUID {
} }
} }
// New creates an UUID with random value. // New creates a UUID with random value.
func New() UUID { func New() UUID {
var uuid UUID var uuid UUID
common.Must2(rand.Read(uuid.Bytes())) common.Must2(rand.Read(uuid.Bytes()))
return uuid return uuid
} }
// ParseBytes converts an UUID in byte form to object. // ParseBytes converts a UUID in byte form to object.
func ParseBytes(b []byte) (UUID, error) { func ParseBytes(b []byte) (UUID, error) {
var uuid UUID var uuid UUID
if len(b) != 16 { if len(b) != 16 {
@ -78,7 +78,7 @@ func ParseBytes(b []byte) (UUID, error) {
return uuid, nil return uuid, nil
} }
// ParseString converts an UUID in string form to object. // ParseString converts a UUID in string form to object.
func ParseString(str string) (UUID, error) { func ParseString(str string) (UUID, error) {
var uuid UUID var uuid UUID

2
config.go Normal file → Executable file
View File

@ -16,7 +16,7 @@ type ConfigFormat struct {
Loader ConfigLoader Loader ConfigLoader
} }
// ConfigLoader is an utility to load V2Ray config from external source. // ConfigLoader is a utility to load V2Ray config from external source.
type ConfigLoader func(input io.Reader) (*Config, error) type ConfigLoader func(input io.Reader) (*Config, error)
var ( var (

2
proxy/vmess/account.pb.go Normal file → Executable file
View File

@ -17,7 +17,7 @@ var _ = math.Inf
const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package const _ = proto.ProtoPackageIsVersion2 // please upgrade the proto package
type Account struct { type Account struct {
// ID of the account, in the form of an UUID, e.g., "66ad4540-b58c-4ad2-9926-ea63445a9b57". // ID of the account, in the form of a UUID, e.g., "66ad4540-b58c-4ad2-9926-ea63445a9b57".
Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"` Id string `protobuf:"bytes,1,opt,name=id" json:"id,omitempty"`
// Number of alternative IDs. Client and server must share the same number. // Number of alternative IDs. Client and server must share the same number.
AlterId uint32 `protobuf:"varint,2,opt,name=alter_id,json=alterId" json:"alter_id,omitempty"` AlterId uint32 `protobuf:"varint,2,opt,name=alter_id,json=alterId" json:"alter_id,omitempty"`

2
proxy/vmess/account.proto Normal file → Executable file
View File

@ -9,7 +9,7 @@ option java_multiple_files = true;
import "v2ray.com/core/common/protocol/headers.proto"; import "v2ray.com/core/common/protocol/headers.proto";
message Account { message Account {
// ID of the account, in the form of an UUID, e.g., "66ad4540-b58c-4ad2-9926-ea63445a9b57". // ID of the account, in the form of a UUID, e.g., "66ad4540-b58c-4ad2-9926-ea63445a9b57".
string id = 1; string id = 1;
// Number of alternative IDs. Client and server must share the same number. // Number of alternative IDs. Client and server must share the same number.
uint32 alter_id = 2; uint32 alter_id = 2;

2
transport/internet/kcp/segment.go Normal file → Executable file
View File

@ -9,7 +9,7 @@ import (
type Command byte type Command byte
const ( const (
// CommandACK indicates a AckSegment. // CommandACK indicates an AckSegment.
CommandACK Command = 0 CommandACK Command = 0
// CommandData indicates a DataSegment. // CommandData indicates a DataSegment.
CommandData Command = 1 CommandData Command = 1

View File

@ -94,7 +94,7 @@ func (s *Instance) CreateObject(config interface{}) (interface{}, error) {
return common.CreateObject(ctx, config) return common.CreateObject(ctx, config)
} }
// ID returns an unique ID for this V2Ray instance. // ID returns a unique ID for this V2Ray instance.
func (s *Instance) ID() uuid.UUID { func (s *Instance) ID() uuid.UUID {
return s.id return s.id
} }