vless

package
v1.4.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 10, 2021 License: MPL-2.0 Imports: 9 Imported by: 0

Documentation

Overview

Package vless contains the implementation of VLess protocol and transportation.

VLess contains both inbound and outbound connections. VLess inbound is usually used on servers together with 'freedom' to talk to final destination, while VLess outbound is usually used on clients with 'socks' for proxying.

Index

Constants

View Source
const (
	XRO = "xtls-rprx-origin"
	XRD = "xtls-rprx-direct"
	XRS = "xtls-rprx-splice"
)

Variables

View Source
var File_proxy_vless_account_proto protoreflect.FileDescriptor

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"`
	// Flow settings. May be "xtls-rprx-direct".
	Flow string `protobuf:"bytes,2,opt,name=flow,proto3" json:"flow,omitempty"`
	// Encryption settings. Only applies to client side, and only accepts "none" for now.
	Encryption string `protobuf:"bytes,3,opt,name=encryption,proto3" json:"encryption,omitempty"`
	// contains filtered or unexported fields
}

func (*Account) AsAccount

func (a *Account) AsAccount() (protocol.Account, error)

AsAccount implements protocol.Account.AsAccount().

func (*Account) Descriptor deprecated

func (*Account) Descriptor() ([]byte, []int)

Deprecated: Use Account.ProtoReflect.Descriptor instead.

func (*Account) GetEncryption

func (x *Account) GetEncryption() string

func (*Account) GetFlow

func (x *Account) GetFlow() string

func (*Account) GetId

func (x *Account) GetId() string

func (*Account) ProtoMessage

func (*Account) ProtoMessage()

func (*Account) ProtoReflect

func (x *Account) ProtoReflect() protoreflect.Message

func (*Account) Reset

func (x *Account) Reset()

func (*Account) String

func (x *Account) String() string

type MemoryAccount

type MemoryAccount struct {
	// ID of the account.
	ID *protocol.ID
	// Flow of the account. May be "xtls-rprx-direct".
	Flow string
	// Encryption of the account. Used for client connections, and only accepts "none" for now.
	Encryption string
}

MemoryAccount is an in-memory form of VLess account.

func (*MemoryAccount) Equals

func (a *MemoryAccount) Equals(account protocol.Account) bool

Equals implements protocol.Account.Equals().

type Validator

type Validator struct {
	// contains filtered or unexported fields
}

Validator stores valid VLESS users.

func (*Validator) Add

func (v *Validator) Add(u *protocol.MemoryUser) error

Add a VLESS user, Email must be empty or unique.

func (*Validator) Del

func (v *Validator) Del(e string) error

Del a VLESS user with a non-empty Email.

func (*Validator) Get

func (v *Validator) Get(id uuid.UUID) *protocol.MemoryUser

Get a VLESS user with UUID, nil if user doesn't exist.

Directories

Path Synopsis

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL