shadowsocks

package
v2.2.1+incompatible Latest Latest
Warning

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

Go to latest
Published: Oct 3, 2016 License: MIT Imports: 27 Imported by: 0

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
ServerConfig
ClientConfig

R.I.P Shadowsocks

Index

Constants

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

Variables

View Source
var CipherType_name = map[int32]string{
	0: "UNKNOWN",
	1: "AES_128_CFB",
	2: "AES_256_CFB",
	3: "CHACHA20",
	4: "CHACHA20_IEFT",
}
View Source
var CipherType_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"`
	CipherType CipherType `` /* 130-byte string literal not displayed */
}

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) GetCipher

func (this *Account) GetCipher() (Cipher, error)

func (*Account) GetCipherKey

func (this *Account) GetCipherKey() []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

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 CipherType

type CipherType int32
const (
	CipherType_UNKNOWN       CipherType = 0
	CipherType_AES_128_CFB   CipherType = 1
	CipherType_AES_256_CFB   CipherType = 2
	CipherType_CHACHA20      CipherType = 3
	CipherType_CHACHA20_IEFT CipherType = 4
)

func (CipherType) EnumDescriptor

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

func (CipherType) String

func (x CipherType) String() string

type ClientConfig

type ClientConfig struct {
	Server []*v2ray_core_common_protocol1.ServerSpecPB `protobuf:"bytes,1,rep,name=server" json:"server,omitempty"`
}

func (*ClientConfig) Descriptor

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

func (*ClientConfig) GetServer

func (*ClientConfig) ProtoMessage

func (*ClientConfig) ProtoMessage()

func (*ClientConfig) Reset

func (m *ClientConfig) Reset()

func (*ClientConfig) String

func (m *ClientConfig) 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

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

func (*Request) Release

func (this *Request) Release()

type Server

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

func NewServer

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

func (*Server) Close

func (this *Server) Close()

func (*Server) Port

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

func (*Server) Start

func (this *Server) Start() error

type ServerConfig

type ServerConfig struct {
	UdpEnabled bool                             `protobuf:"varint,1,opt,name=udp_enabled,json=udpEnabled" json:"udp_enabled,omitempty"`
	User       *v2ray_core_common_protocol.User `protobuf:"bytes,2,opt,name=user" json:"user,omitempty"`
}

func (*ServerConfig) Descriptor

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

func (*ServerConfig) GetUser

func (*ServerConfig) ProtoMessage

func (*ServerConfig) ProtoMessage()

func (*ServerConfig) Reset

func (m *ServerConfig) Reset()

func (*ServerConfig) String

func (m *ServerConfig) String() string

type ServerFactory

type ServerFactory struct{}

func (*ServerFactory) Create

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

func (*ServerFactory) StreamCapability

func (this *ServerFactory) StreamCapability() v2net.NetworkList

Jump to

Keyboard shortcuts

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