dispatcher

package
v3.17.2+incompatible Latest Latest
Warning

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

Go to latest
Published: Apr 13, 2018 License: MIT Imports: 17 Imported by: 43

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrMoreData    = newError("need more data")
	ErrInvalidData = newError("invalid data")
)

Functions

func ContainsValidHTTPMethod

func ContainsValidHTTPMethod(b []byte) bool

func IsValidTLSVersion

func IsValidTLSVersion(major, minor byte) bool

func ReadClientHello

func ReadClientHello(data []byte) (string, error)

ReadClientHello returns server name (if any) from TLS client hello message. https://github.com/golang/go/blob/master/src/crypto/tls/handshake_messages.go#L300

func SniffHTTP

func SniffHTTP(b []byte) (string, error)

func SniffTLS

func SniffTLS(b []byte) (string, error)

Types

type Config

type Config struct {
	Settings *SessionConfig `protobuf:"bytes,1,opt,name=settings" json:"settings,omitempty"`
}

func (*Config) Descriptor

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

func (*Config) GetSettings

func (m *Config) GetSettings() *SessionConfig

func (*Config) ProtoMessage

func (*Config) ProtoMessage()

func (*Config) Reset

func (m *Config) Reset()

func (*Config) String

func (m *Config) String() string

type DefaultDispatcher

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

DefaultDispatcher is a default implementation of Dispatcher.

func NewDefaultDispatcher

func NewDefaultDispatcher(ctx context.Context, config *Config) (*DefaultDispatcher, error)

NewDefaultDispatcher create a new DefaultDispatcher.

func (*DefaultDispatcher) Close

func (*DefaultDispatcher) Close() error

Close implements common.Closable.

func (*DefaultDispatcher) Dispatch

func (d *DefaultDispatcher) Dispatch(ctx context.Context, destination net.Destination) (ray.InboundRay, error)

Dispatch implements core.Dispatcher.

func (*DefaultDispatcher) Start

func (*DefaultDispatcher) Start() error

Start implements common.Runnable.

type SessionConfig

type SessionConfig struct {
}

func (*SessionConfig) Descriptor

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

func (*SessionConfig) ProtoMessage

func (*SessionConfig) ProtoMessage()

func (*SessionConfig) Reset

func (m *SessionConfig) Reset()

func (*SessionConfig) String

func (m *SessionConfig) String() string

type Sniffer

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

func NewSniffer

func NewSniffer(snifferList []proxyman.KnownProtocols) *Sniffer

func (*Sniffer) Sniff

func (s *Sniffer) Sniff(payload []byte) (string, error)

Jump to

Keyboard shortcuts

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