Documentation ¶
Overview ¶
Package vmess contains the implementation of VMess protocol and transportation.
VMess contains both inbound and outbound connections. VMess inbound is usually used on servers together with 'freedom' to talk to final destination, while VMess outbound is usually used on clients with 'socks' for proxying.
Index ¶
- type Account
- func (a *Account) AsAccount() (protocol.Account, error)
- func (*Account) Descriptor() ([]byte, []int)
- func (m *Account) GetAlterId() uint32
- func (m *Account) GetId() string
- func (m *Account) GetSecuritySettings() *protocol.SecurityConfig
- func (*Account) ProtoMessage()
- func (m *Account) Reset()
- func (m *Account) String() string
- func (m *Account) XXX_DiscardUnknown()
- func (m *Account) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)
- func (m *Account) XXX_Merge(src proto.Message)
- func (m *Account) XXX_Size() int
- func (m *Account) XXX_Unmarshal(b []byte) error
- type MemoryAccount
- type TimedUserValidator
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Account ¶
type Account struct { // 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,proto3" json:"id,omitempty"` // Number of alternative IDs. Client and server must share the same number. AlterId uint32 `protobuf:"varint,2,opt,name=alter_id,json=alterId,proto3" json:"alter_id,omitempty"` // Security settings. Only applies to client side. SecuritySettings *protocol.SecurityConfig `protobuf:"bytes,3,opt,name=security_settings,json=securitySettings,proto3" json:"security_settings,omitempty"` XXX_NoUnkeyedLiteral struct{} `json:"-"` XXX_unrecognized []byte `json:"-"` XXX_sizecache int32 `json:"-"` }
func (*Account) Descriptor ¶
func (*Account) GetAlterId ¶
func (*Account) GetSecuritySettings ¶
func (m *Account) GetSecuritySettings() *protocol.SecurityConfig
func (*Account) ProtoMessage ¶
func (*Account) ProtoMessage()
func (*Account) XXX_DiscardUnknown ¶
func (m *Account) XXX_DiscardUnknown()
func (*Account) XXX_Marshal ¶
func (*Account) XXX_Unmarshal ¶
type MemoryAccount ¶
type MemoryAccount struct { // ID is the main ID of the account. ID *protocol.ID // AlterIDs are the alternative IDs of the account. AlterIDs []*protocol.ID // Security type of the account. Used for client connections. Security protocol.SecurityType }
MemoryAccount is an in-memory from of VMess account.
func (*MemoryAccount) AnyValidID ¶
func (a *MemoryAccount) AnyValidID() *protocol.ID
AnyValidID returns an ID that is either the main ID or one of the alternative IDs if any.
type TimedUserValidator ¶
TimedUserValidator is a user Validator based on time.
func NewTimedUserValidator ¶
func NewTimedUserValidator(hasher protocol.IDHash) *TimedUserValidator
NewTimedUserValidator creates a new TimedUserValidator.
func (*TimedUserValidator) Add ¶
func (v *TimedUserValidator) Add(u *protocol.MemoryUser) error
func (*TimedUserValidator) Close ¶
func (v *TimedUserValidator) Close() error
Close implements common.Closable.
func (*TimedUserValidator) Get ¶
func (v *TimedUserValidator) Get(userHash []byte) (*protocol.MemoryUser, protocol.Timestamp, bool)
func (*TimedUserValidator) Remove ¶
func (v *TimedUserValidator) Remove(email string) bool
Source Files ¶
Click to show internal directories.
Click to hide internal directories.