Documentation
¶
Overview ¶
Package websocket implements Websocket transport
Websocket transport implements an HTTP(S) compliable, surveillance proof transport method with plausible deniability.
Index ¶
- Variables
- func Dial(ctx context.Context, dest net.Destination, config *WebsocketConfig, ...) (net.Conn, error)
- func NewWebsocketDialer(config *WebsocketConfig, engine security.Engine, socketConfig i.Dialer) *websocketDialer
- type DelayedDialer
- type DelayedDialerForwarded
- type Header
- type Listener
- type WebsocketConfig
- func (*WebsocketConfig) Descriptor() ([]byte, []int)deprecated
- func (x *WebsocketConfig) GetEarlyDataHeaderName() string
- func (x *WebsocketConfig) GetHeader() []*Header
- func (x *WebsocketConfig) GetHost() string
- func (x *WebsocketConfig) GetMaxEarlyData() int32
- func (c *WebsocketConfig) GetNormalizedPath() string
- func (x *WebsocketConfig) GetPath() string
- func (c *WebsocketConfig) GetRequestHeader() http.Header
- func (x *WebsocketConfig) GetUseBrowserForwarding() bool
- func (*WebsocketConfig) ProtoMessage()
- func (x *WebsocketConfig) ProtoReflect() protoreflect.Message
- func (x *WebsocketConfig) Reset()
- func (x *WebsocketConfig) String() string
Constants ¶
This section is empty.
Variables ¶
View Source
var File_transport_protocols_websocket_config_proto protoreflect.FileDescriptor
Functions ¶
func Dial ¶
func Dial(ctx context.Context, dest net.Destination, config *WebsocketConfig, securityConfig security.Engine, so i.Dialer) (net.Conn, error)
Dial dials a WebSocket connection to the given destination.
func NewWebsocketDialer ¶
func NewWebsocketDialer(config *WebsocketConfig, engine security.Engine, socketConfig i.Dialer) *websocketDialer
Types ¶
type DelayedDialer ¶
type DelayedDialerForwarded ¶
type DelayedDialerForwarded interface {
Dial(earlyData []byte) (io.ReadWriteCloser, error)
}
type Header ¶
type Header struct {
Key string `protobuf:"bytes,1,opt,name=key,proto3" json:"key,omitempty"`
Value string `protobuf:"bytes,2,opt,name=value,proto3" json:"value,omitempty"`
// contains filtered or unexported fields
}
func (*Header) Descriptor
deprecated
func (*Header) ProtoMessage ¶
func (*Header) ProtoMessage()
func (*Header) ProtoReflect ¶
func (x *Header) ProtoReflect() protoreflect.Message
type WebsocketConfig ¶
type WebsocketConfig struct {
Host string `protobuf:"bytes,1,opt,name=host,proto3" json:"host,omitempty"`
// URL path to the WebSocket service. Empty value means root(/).
Path string `protobuf:"bytes,2,opt,name=path,proto3" json:"path,omitempty"`
Header []*Header `protobuf:"bytes,3,rep,name=header,proto3" json:"header,omitempty"`
MaxEarlyData int32 `protobuf:"varint,5,opt,name=max_early_data,json=maxEarlyData,proto3" json:"max_early_data,omitempty"`
UseBrowserForwarding bool `protobuf:"varint,6,opt,name=use_browser_forwarding,json=useBrowserForwarding,proto3" json:"use_browser_forwarding,omitempty"`
EarlyDataHeaderName string `protobuf:"bytes,7,opt,name=early_data_header_name,json=earlyDataHeaderName,proto3" json:"early_data_header_name,omitempty"`
// contains filtered or unexported fields
}
func (*WebsocketConfig) Descriptor
deprecated
func (*WebsocketConfig) Descriptor() ([]byte, []int)
Deprecated: Use WebsocketConfig.ProtoReflect.Descriptor instead.
func (*WebsocketConfig) GetEarlyDataHeaderName ¶
func (x *WebsocketConfig) GetEarlyDataHeaderName() string
func (*WebsocketConfig) GetHeader ¶
func (x *WebsocketConfig) GetHeader() []*Header
func (*WebsocketConfig) GetHost ¶
func (x *WebsocketConfig) GetHost() string
func (*WebsocketConfig) GetMaxEarlyData ¶
func (x *WebsocketConfig) GetMaxEarlyData() int32
func (*WebsocketConfig) GetNormalizedPath ¶
func (c *WebsocketConfig) GetNormalizedPath() string
func (*WebsocketConfig) GetPath ¶
func (x *WebsocketConfig) GetPath() string
func (*WebsocketConfig) GetRequestHeader ¶
func (c *WebsocketConfig) GetRequestHeader() http.Header
func (*WebsocketConfig) GetUseBrowserForwarding ¶
func (x *WebsocketConfig) GetUseBrowserForwarding() bool
func (*WebsocketConfig) ProtoMessage ¶
func (*WebsocketConfig) ProtoMessage()
func (*WebsocketConfig) ProtoReflect ¶
func (x *WebsocketConfig) ProtoReflect() protoreflect.Message
func (*WebsocketConfig) Reset ¶
func (x *WebsocketConfig) Reset()
func (*WebsocketConfig) String ¶
func (x *WebsocketConfig) String() string
Click to show internal directories.
Click to hide internal directories.