shadowsocks

package
v2.1.1+incompatible Latest Latest
Warning

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

Go to latest
Published: Sep 19, 2016 License: MIT Imports: 26 Imported by: 13

Documentation

Overview

Package shadowsocks is a generated protocol buffer package.

It is generated from these files:

v2ray.com/core/proxy/shadowsocks/config.proto

It has these top-level messages:

Account
Config

R.I.P Shadowsocks

Index

Constants

View Source
const (
	AddrTypeIPv4   = 1
	AddrTypeIPv6   = 4
	AddrTypeDomain = 3
)
View Source
const (
	AuthSize = 10
)

Variables

View Source
var Config_Cipher_name = map[int32]string{
	0: "UNKNOWN",
	1: "AES_128_CFB",
	2: "AES_256_CFB",
	3: "CHACHA20",
	4: "CHACHA20_IEFT",
}
View Source
var Config_Cipher_value = map[string]int32{
	"UNKNOWN":       0,
	"AES_128_CFB":   1,
	"AES_256_CFB":   2,
	"CHACHA20":      3,
	"CHACHA20_IEFT": 4,
}

Functions

func ChunkKeyGenerator

func ChunkKeyGenerator(iv []byte) func() []byte

func HeaderKeyGenerator

func HeaderKeyGenerator(key []byte, iv []byte) func() []byte

func PasswordToCipherKey

func PasswordToCipherKey(password string, keySize int) []byte

Types

type Account

type Account struct {
	Password string `protobuf:"bytes,1,opt,name=password" json:"password,omitempty"`
}

func (*Account) AsAccount

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

func (*Account) Descriptor

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

func (*Account) Equals

func (this *Account) Equals(another protocol.Account) bool

func (*Account) GetCipherKey

func (this *Account) GetCipherKey(size int) []byte

func (*Account) ProtoMessage

func (*Account) ProtoMessage()

func (*Account) Reset

func (m *Account) Reset()

func (*Account) String

func (m *Account) String() string

type AesCfb

type AesCfb struct {
	KeyBytes int
}

func (*AesCfb) IVSize

func (this *AesCfb) IVSize() int

func (*AesCfb) KeySize

func (this *AesCfb) KeySize() int

func (*AesCfb) NewDecodingStream

func (this *AesCfb) NewDecodingStream(key []byte, iv []byte) (cipher.Stream, error)

func (*AesCfb) NewEncodingStream

func (this *AesCfb) NewEncodingStream(key []byte, iv []byte) (cipher.Stream, error)

type Authenticator

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

func NewAuthenticator

func NewAuthenticator(keygen KeyGenerator) *Authenticator

func (*Authenticator) Authenticate

func (this *Authenticator) Authenticate(auth []byte, data []byte) []byte

type ChaCha20

type ChaCha20 struct {
	IVBytes int
}

func (*ChaCha20) IVSize

func (this *ChaCha20) IVSize() int

func (*ChaCha20) KeySize

func (this *ChaCha20) KeySize() int

func (*ChaCha20) NewDecodingStream

func (this *ChaCha20) NewDecodingStream(key []byte, iv []byte) (cipher.Stream, error)

func (*ChaCha20) NewEncodingStream

func (this *ChaCha20) NewEncodingStream(key []byte, iv []byte) (cipher.Stream, error)

type ChunkReader

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

func NewChunkReader

func NewChunkReader(reader io.Reader, auth *Authenticator) *ChunkReader

func (*ChunkReader) Read

func (this *ChunkReader) Read() (*alloc.Buffer, error)

func (*ChunkReader) Release added in v1.11.1

func (this *ChunkReader) Release()

type Cipher

type Cipher interface {
	KeySize() int
	IVSize() int
	NewEncodingStream(key []byte, iv []byte) (cipher.Stream, error)
	NewDecodingStream(key []byte, iv []byte) (cipher.Stream, error)
}

type Config

type Config struct {
	Cipher     Config_Cipher                        `protobuf:"varint,1,opt,name=cipher,enum=com.v2ray.core.proxy.shadowsocks.Config_Cipher" json:"cipher,omitempty"`
	UdpEnabled bool                                 `protobuf:"varint,2,opt,name=udp_enabled,json=udpEnabled" json:"udp_enabled,omitempty"`
	User       *com_v2ray_core_common_protocol.User `protobuf:"bytes,3,opt,name=user" json:"user,omitempty"`
}

func (*Config) Descriptor

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

func (*Config) GetCipher

func (this *Config) GetCipher() Cipher

func (*Config) GetUser

func (*Config) ProtoMessage

func (*Config) ProtoMessage()

func (*Config) Reset

func (m *Config) Reset()

func (*Config) String

func (m *Config) String() string

type Config_Cipher

type Config_Cipher int32
const (
	Config_UNKNOWN       Config_Cipher = 0
	Config_AES_128_CFB   Config_Cipher = 1
	Config_AES_256_CFB   Config_Cipher = 2
	Config_CHACHA20      Config_Cipher = 3
	Config_CHACHA20_IEFT Config_Cipher = 4
)

func (Config_Cipher) EnumDescriptor

func (Config_Cipher) EnumDescriptor() ([]byte, []int)

func (Config_Cipher) String

func (x Config_Cipher) String() string

type KeyGenerator

type KeyGenerator func() []byte

type Request

type Request struct {
	Address    v2net.Address
	Port       v2net.Port
	OTA        bool
	UDPPayload *alloc.Buffer
}

func ReadRequest

func ReadRequest(reader io.Reader, auth *Authenticator, udp bool) (*Request, error)

func (*Request) DetachUDPPayload added in v1.12.1

func (this *Request) DetachUDPPayload() *alloc.Buffer

func (*Request) Release added in v1.12.1

func (this *Request) Release()

type Server added in v1.12.9

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

func NewServer added in v1.12.9

func NewServer(config *Config, space app.Space, meta *proxy.InboundHandlerMeta) (*Server, error)

func (*Server) Close added in v1.12.9

func (this *Server) Close()

func (*Server) Port added in v1.12.9

func (this *Server) Port() v2net.Port

func (*Server) Start added in v1.17.1

func (this *Server) Start() error

type ServerFactory added in v1.17.1

type ServerFactory struct{}

func (*ServerFactory) Create added in v1.17.1

func (this *ServerFactory) Create(space app.Space, rawConfig interface{}, meta *proxy.InboundHandlerMeta) (proxy.InboundHandler, error)

func (*ServerFactory) StreamCapability added in v1.17.1

func (this *ServerFactory) StreamCapability() internet.StreamConnectionType

Jump to

Keyboard shortcuts

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