dispatcher

package
v3.1.13+incompatible Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2023 License: MIT, MIT Imports: 19 Imported by: 0

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"`
	XXX_NoUnkeyedLiteral struct{}       `json:"-"`
	XXX_unrecognized     []byte         `json:"-"`
	XXX_sizecache        int32          `json:"-"`
}

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

func (*Config) XXX_DiscardUnknown

func (m *Config) XXX_DiscardUnknown()

func (*Config) XXX_Marshal

func (m *Config) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*Config) XXX_Merge

func (dst *Config) XXX_Merge(src proto.Message)

func (*Config) XXX_Size

func (m *Config) XXX_Size() int

func (*Config) XXX_Unmarshal

func (m *Config) XXX_Unmarshal(b []byte) error

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) (*core.Link, error)

Dispatch implements core.Dispatcher.

func (*DefaultDispatcher) Start

func (*DefaultDispatcher) Start() error

Start implements common.Runnable.

type SessionConfig

type SessionConfig struct {
	XXX_NoUnkeyedLiteral struct{} `json:"-"`
	XXX_unrecognized     []byte   `json:"-"`
	XXX_sizecache        int32    `json:"-"`
}

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

func (*SessionConfig) XXX_DiscardUnknown

func (m *SessionConfig) XXX_DiscardUnknown()

func (*SessionConfig) XXX_Marshal

func (m *SessionConfig) XXX_Marshal(b []byte, deterministic bool) ([]byte, error)

func (*SessionConfig) XXX_Merge

func (dst *SessionConfig) XXX_Merge(src proto.Message)

func (*SessionConfig) XXX_Size

func (m *SessionConfig) XXX_Size() int

func (*SessionConfig) XXX_Unmarshal

func (m *SessionConfig) XXX_Unmarshal(b []byte) error

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