Documentation ¶
Index ¶
- Constants
- Variables
- func ApplyGlobalTransportSettings(settings []*TransportConfig) error
- func CreateTransportConfig(name string) (interface{}, error)
- func DialSystem(ctx context.Context, dest net.Destination, sockopt *SocketConfig) (net.Conn, error)
- func DialTaggedOutbound(ctx context.Context, dest net.Destination, tag string) (net.Conn, error)
- func ListenSystem(ctx context.Context, addr net.Addr, sockopt *SocketConfig) (net.Listener, error)
- func ListenSystemPacket(ctx context.Context, addr net.Addr, sockopt *SocketConfig) (net.PacketConn, error)
- func RegisterDialerController(ctl func(network, address string, fd uintptr) error) error
- func RegisterListenerController(controller func(network, address string, fd uintptr) error) error
- func RegisterProtocolConfigCreator(name string, creator ConfigCreator) error
- func RegisterTransportDialer(protocol string, dialer dialFunc) error
- func RegisterTransportListener(protocol string, listener ListenFunc) error
- func UseAlternativeSystemDialer(dialer SystemDialer)
- type AbstractPacketConn
- type AbstractPacketConnReader
- type AbstractPacketConnWriter
- type ConfigCreator
- type ConnHandler
- type Connection
- type ConnectionAuthenticator
- type DefaultListener
- type DefaultSystemDialer
- type Dialer
- type FileLocker
- type ListenFunc
- type Listener
- type MPTCPState
- type MemoryStreamConfig
- type PacketConn
- type PacketHeader
- type ProxyConfig
- func (*ProxyConfig) Descriptor() ([]byte, []int)deprecated
- func (x *ProxyConfig) GetTag() string
- func (x *ProxyConfig) GetTransportLayerProxy() bool
- func (c *ProxyConfig) HasTag() bool
- func (*ProxyConfig) ProtoMessage()
- func (x *ProxyConfig) ProtoReflect() protoreflect.Message
- func (x *ProxyConfig) Reset()
- func (x *ProxyConfig) String() string
- type SimpleSystemDialer
- type SocketConfig
- func (*SocketConfig) Descriptor() ([]byte, []int)deprecated
- func (x *SocketConfig) GetAcceptProxyProtocol() bool
- func (x *SocketConfig) GetBindAddress() []byte
- func (x *SocketConfig) GetBindPort() uint32
- func (x *SocketConfig) GetBindToDevice() string
- func (x *SocketConfig) GetForceBufSize() bool
- func (x *SocketConfig) GetMark() uint32
- func (x *SocketConfig) GetMptcp() MPTCPState
- func (x *SocketConfig) GetReceiveOriginalDestAddress() bool
- func (x *SocketConfig) GetRxBufSize() int64
- func (x *SocketConfig) GetTcpKeepAliveIdle() int32
- func (x *SocketConfig) GetTcpKeepAliveInterval() int32
- func (x *SocketConfig) GetTfo() SocketConfig_TCPFastOpenState
- func (x *SocketConfig) GetTfoQueueLength() uint32
- func (x *SocketConfig) GetTproxy() SocketConfig_TProxyMode
- func (x *SocketConfig) GetTxBufSize() int64
- func (*SocketConfig) ProtoMessage()
- func (x *SocketConfig) ProtoReflect() protoreflect.Message
- func (x *SocketConfig) Reset()
- func (x *SocketConfig) String() string
- type SocketConfig_TCPFastOpenState
- func (SocketConfig_TCPFastOpenState) Descriptor() protoreflect.EnumDescriptor
- func (x SocketConfig_TCPFastOpenState) Enum() *SocketConfig_TCPFastOpenState
- func (SocketConfig_TCPFastOpenState) EnumDescriptor() ([]byte, []int)deprecated
- func (x SocketConfig_TCPFastOpenState) Number() protoreflect.EnumNumber
- func (x SocketConfig_TCPFastOpenState) String() string
- func (SocketConfig_TCPFastOpenState) Type() protoreflect.EnumType
- type SocketConfig_TProxyMode
- func (SocketConfig_TProxyMode) Descriptor() protoreflect.EnumDescriptor
- func (x SocketConfig_TProxyMode) Enum() *SocketConfig_TProxyMode
- func (SocketConfig_TProxyMode) EnumDescriptor() ([]byte, []int)deprecated
- func (m SocketConfig_TProxyMode) IsEnabled() bool
- func (x SocketConfig_TProxyMode) Number() protoreflect.EnumNumber
- func (x SocketConfig_TProxyMode) String() string
- func (SocketConfig_TProxyMode) Type() protoreflect.EnumType
- type StatCouterConnection
- type StreamConfig
- func (*StreamConfig) Descriptor() ([]byte, []int)deprecated
- func (c *StreamConfig) GetEffectiveProtocol() string
- func (c *StreamConfig) GetEffectiveSecuritySettings() (interface{}, error)
- func (c *StreamConfig) GetEffectiveTransportSettings() (interface{}, error)
- func (x *StreamConfig) GetProtocol() TransportProtocoldeprecated
- func (x *StreamConfig) GetProtocolName() string
- func (x *StreamConfig) GetSecuritySettings() []*anypb.Any
- func (x *StreamConfig) GetSecurityType() string
- func (x *StreamConfig) GetSocketSettings() *SocketConfig
- func (x *StreamConfig) GetTransportSettings() []*TransportConfig
- func (c *StreamConfig) GetTransportSettingsFor(protocol string) (interface{}, error)
- func (c *StreamConfig) HasSecuritySettings() bool
- func (*StreamConfig) ProtoMessage()
- func (x *StreamConfig) ProtoReflect() protoreflect.Message
- func (x *StreamConfig) Reset()
- func (x *StreamConfig) String() string
- type SystemDialer
- type SystemDialerAdapter
- type SystemListener
- type TransportConfig
- func (*TransportConfig) Descriptor() ([]byte, []int)deprecated
- func (x *TransportConfig) GetProtocol() TransportProtocoldeprecated
- func (x *TransportConfig) GetProtocolName() string
- func (x *TransportConfig) GetSettings() *anypb.Any
- func (c *TransportConfig) GetTypedSettings() (interface{}, error)
- func (c *TransportConfig) GetUnifiedProtocolName() string
- func (*TransportConfig) ProtoMessage()
- func (x *TransportConfig) ProtoReflect() protoreflect.Message
- func (x *TransportConfig) Reset()
- func (x *TransportConfig) String() string
- type TransportProtocol
- func (TransportProtocol) Descriptor() protoreflect.EnumDescriptor
- func (x TransportProtocol) Enum() *TransportProtocol
- func (TransportProtocol) EnumDescriptor() ([]byte, []int)deprecated
- func (x TransportProtocol) Number() protoreflect.EnumNumber
- func (x TransportProtocol) String() string
- func (TransportProtocol) Type() protoreflect.EnumType
Constants ¶
const ( // For incoming connections. TCP_FASTOPEN = 23 // nolint: revive,stylecheck // For out-going connections. TCP_FASTOPEN_CONNECT = 30 // nolint: revive,stylecheck )
Variables ¶
var ( TransportProtocol_name = map[int32]string{ 0: "TCP", 1: "UDP", 2: "MKCP", 3: "WebSocket", 4: "HTTP", 5: "DomainSocket", } TransportProtocol_value = map[string]int32{ "TCP": 0, "UDP": 1, "MKCP": 2, "WebSocket": 3, "HTTP": 4, "DomainSocket": 5, } )
Enum value maps for TransportProtocol.
var ( MPTCPState_name = map[int32]string{ 0: "AsIs", 1: "Enable", 2: "Disable", } MPTCPState_value = map[string]int32{ "AsIs": 0, "Enable": 1, "Disable": 2, } )
Enum value maps for MPTCPState.
var ( SocketConfig_TCPFastOpenState_name = map[int32]string{ 0: "AsIs", 1: "Enable", 2: "Disable", } SocketConfig_TCPFastOpenState_value = map[string]int32{ "AsIs": 0, "Enable": 1, "Disable": 2, } )
Enum value maps for SocketConfig_TCPFastOpenState.
var ( SocketConfig_TProxyMode_name = map[int32]string{ 0: "Off", 1: "TProxy", 2: "Redirect", } SocketConfig_TProxyMode_value = map[string]int32{ "Off": 0, "TProxy": 1, "Redirect": 2, } )
Enum value maps for SocketConfig_TProxyMode.
var File_transport_internet_config_proto protoreflect.FileDescriptor
Functions ¶
func ApplyGlobalTransportSettings ¶
func ApplyGlobalTransportSettings(settings []*TransportConfig) error
func CreateTransportConfig ¶
func DialSystem ¶
func DialSystem(ctx context.Context, dest net.Destination, sockopt *SocketConfig) (net.Conn, error)
DialSystem calls system dialer to create a network connection.
func DialTaggedOutbound ¶
func ListenSystem ¶
ListenSystem listens on a local address for incoming TCP connections.
v2ray:api:beta
func ListenSystemPacket ¶
func ListenSystemPacket(ctx context.Context, addr net.Addr, sockopt *SocketConfig) (net.PacketConn, error)
ListenSystemPacket listens on a local address for incoming UDP connections.
v2ray:api:beta
func RegisterDialerController ¶
RegisterDialerController adds a controller to the effective system dialer. The controller can be used to operate on file descriptors before they are put into use. It only works when effective dialer is the default dialer.
v2ray:api:beta
func RegisterListenerController ¶
RegisterListenerController adds a controller to the effective system listener. The controller can be used to operate on file descriptors before they are put into use.
v2ray:api:beta
func RegisterProtocolConfigCreator ¶
func RegisterProtocolConfigCreator(name string, creator ConfigCreator) error
func RegisterTransportDialer ¶
RegisterTransportDialer registers a Dialer with given name.
func RegisterTransportListener ¶
func RegisterTransportListener(protocol string, listener ListenFunc) error
func UseAlternativeSystemDialer ¶
func UseAlternativeSystemDialer(dialer SystemDialer)
UseAlternativeSystemDialer replaces the current system dialer with a given one. Caller must ensure there is no race condition.
v2ray:api:stable
Types ¶
type AbstractPacketConn ¶ added in v5.0.2
type AbstractPacketConn interface { AbstractPacketConnReader AbstractPacketConnWriter common.Closable }
type AbstractPacketConnReader ¶ added in v5.0.2
type AbstractPacketConnWriter ¶ added in v5.0.2
type ConfigCreator ¶
type ConfigCreator func() interface{}
type ConnHandler ¶
type ConnHandler func(Connection)
type Connection ¶
func Dial ¶
func Dial(ctx context.Context, dest net.Destination, streamSettings *MemoryStreamConfig) (Connection, error)
Dial dials a internet connection towards the given destination.
type ConnectionAuthenticator ¶
func CreateConnectionAuthenticator ¶
func CreateConnectionAuthenticator(config interface{}) (ConnectionAuthenticator, error)
type DefaultListener ¶
type DefaultListener struct {
// contains filtered or unexported fields
}
func (*DefaultListener) Listen ¶
func (dl *DefaultListener) Listen(ctx context.Context, addr net.Addr, sockopt *SocketConfig) (net.Listener, error)
func (*DefaultListener) ListenPacket ¶
func (dl *DefaultListener) ListenPacket(ctx context.Context, addr net.Addr, sockopt *SocketConfig) (net.PacketConn, error)
type DefaultSystemDialer ¶
type DefaultSystemDialer struct {
// contains filtered or unexported fields
}
func (*DefaultSystemDialer) Dial ¶
func (d *DefaultSystemDialer) Dial(ctx context.Context, src net.Address, dest net.Destination, sockopt *SocketConfig) (net.Conn, error)
type Dialer ¶
type Dialer interface { // Dial dials a system connection to the given destination. Dial(ctx context.Context, destination net.Destination) (Connection, error) // Address returns the address used by this Dialer. Maybe nil if not known. Address() net.Address }
Dialer is the interface for dialing outbound connections.
type FileLocker ¶
type FileLocker struct {
// contains filtered or unexported fields
}
FileLocker is UDS access lock
type ListenFunc ¶
type ListenFunc func(ctx context.Context, address net.Address, port net.Port, settings *MemoryStreamConfig, handler ConnHandler) (Listener, error)
type Listener ¶
func ListenTCP ¶
func ListenTCP(ctx context.Context, address net.Address, port net.Port, settings *MemoryStreamConfig, handler ConnHandler) (Listener, error)
func ListenUnix ¶
func ListenUnix(ctx context.Context, address net.Address, settings *MemoryStreamConfig, handler ConnHandler) (Listener, error)
ListenUnix is the UDS version of ListenTCP
type MPTCPState ¶ added in v5.17.0
type MPTCPState int32
MPTCP is the state of MPTCP settings. Define it here to avoid conflict with TCPFastOpenState.
const ( // AsIs is to leave the current MPTCP state as is, unmodified. MPTCPState_AsIs MPTCPState = 0 // Enable is for enabling MPTCP explictly. MPTCPState_Enable MPTCPState = 1 // Disable is for disabling MPTCP explictly. MPTCPState_Disable MPTCPState = 2 )
func (MPTCPState) Descriptor ¶ added in v5.17.0
func (MPTCPState) Descriptor() protoreflect.EnumDescriptor
func (MPTCPState) Enum ¶ added in v5.17.0
func (x MPTCPState) Enum() *MPTCPState
func (MPTCPState) EnumDescriptor
deprecated
added in
v5.17.0
func (MPTCPState) EnumDescriptor() ([]byte, []int)
Deprecated: Use MPTCPState.Descriptor instead.
func (MPTCPState) Number ¶ added in v5.17.0
func (x MPTCPState) Number() protoreflect.EnumNumber
func (MPTCPState) String ¶ added in v5.17.0
func (x MPTCPState) String() string
func (MPTCPState) Type ¶ added in v5.17.0
func (MPTCPState) Type() protoreflect.EnumType
type MemoryStreamConfig ¶
type MemoryStreamConfig struct { ProtocolName string ProtocolSettings interface{} SecurityType string SecuritySettings interface{} SocketSettings *SocketConfig }
MemoryStreamConfig is a parsed form of StreamConfig. This is used to reduce number of Protobuf parsing.
func ToMemoryStreamConfig ¶
func ToMemoryStreamConfig(s *StreamConfig) (*MemoryStreamConfig, error)
ToMemoryStreamConfig converts a StreamConfig to MemoryStreamConfig. It returns a default non-nil MemoryStreamConfig for nil input.
type PacketConn ¶ added in v5.0.2
type PacketConn interface { AbstractPacketConn net.PacketConn }
type PacketHeader ¶
func CreatePacketHeader ¶
func CreatePacketHeader(config interface{}) (PacketHeader, error)
type ProxyConfig ¶
type ProxyConfig struct { Tag string `protobuf:"bytes,1,opt,name=tag,proto3" json:"tag,omitempty"` TransportLayerProxy bool `protobuf:"varint,2,opt,name=transportLayerProxy,proto3" json:"transportLayerProxy,omitempty"` // contains filtered or unexported fields }
func (*ProxyConfig) Descriptor
deprecated
func (*ProxyConfig) Descriptor() ([]byte, []int)
Deprecated: Use ProxyConfig.ProtoReflect.Descriptor instead.
func (*ProxyConfig) GetTag ¶
func (x *ProxyConfig) GetTag() string
func (*ProxyConfig) GetTransportLayerProxy ¶
func (x *ProxyConfig) GetTransportLayerProxy() bool
func (*ProxyConfig) HasTag ¶
func (c *ProxyConfig) HasTag() bool
func (*ProxyConfig) ProtoMessage ¶
func (*ProxyConfig) ProtoMessage()
func (*ProxyConfig) ProtoReflect ¶
func (x *ProxyConfig) ProtoReflect() protoreflect.Message
func (*ProxyConfig) Reset ¶
func (x *ProxyConfig) Reset()
func (*ProxyConfig) String ¶
func (x *ProxyConfig) String() string
type SimpleSystemDialer ¶
type SimpleSystemDialer struct {
// contains filtered or unexported fields
}
func (*SimpleSystemDialer) Dial ¶
func (v *SimpleSystemDialer) Dial(ctx context.Context, src net.Address, dest net.Destination, sockopt *SocketConfig) (net.Conn, error)
type SocketConfig ¶
type SocketConfig struct { // Mark of the connection. If non-zero, the value will be set to SO_MARK. Mark uint32 `protobuf:"varint,1,opt,name=mark,proto3" json:"mark,omitempty"` // TFO is the state of TFO settings. Tfo SocketConfig_TCPFastOpenState `protobuf:"varint,2,opt,name=tfo,proto3,enum=v2ray.core.transport.internet.SocketConfig_TCPFastOpenState" json:"tfo,omitempty"` // TProxy is for enabling TProxy socket option. Tproxy SocketConfig_TProxyMode `protobuf:"varint,3,opt,name=tproxy,proto3,enum=v2ray.core.transport.internet.SocketConfig_TProxyMode" json:"tproxy,omitempty"` // ReceiveOriginalDestAddress is for enabling IP_RECVORIGDSTADDR socket // option. This option is for UDP only. ReceiveOriginalDestAddress bool `` /* 144-byte string literal not displayed */ BindAddress []byte `protobuf:"bytes,5,opt,name=bind_address,json=bindAddress,proto3" json:"bind_address,omitempty"` BindPort uint32 `protobuf:"varint,6,opt,name=bind_port,json=bindPort,proto3" json:"bind_port,omitempty"` AcceptProxyProtocol bool `protobuf:"varint,7,opt,name=accept_proxy_protocol,json=acceptProxyProtocol,proto3" json:"accept_proxy_protocol,omitempty"` TcpKeepAliveInterval int32 `` /* 126-byte string literal not displayed */ TfoQueueLength uint32 `protobuf:"varint,9,opt,name=tfo_queue_length,json=tfoQueueLength,proto3" json:"tfo_queue_length,omitempty"` TcpKeepAliveIdle int32 `protobuf:"varint,10,opt,name=tcp_keep_alive_idle,json=tcpKeepAliveIdle,proto3" json:"tcp_keep_alive_idle,omitempty"` BindToDevice string `protobuf:"bytes,11,opt,name=bind_to_device,json=bindToDevice,proto3" json:"bind_to_device,omitempty"` RxBufSize int64 `protobuf:"varint,12,opt,name=rx_buf_size,json=rxBufSize,proto3" json:"rx_buf_size,omitempty"` TxBufSize int64 `protobuf:"varint,13,opt,name=tx_buf_size,json=txBufSize,proto3" json:"tx_buf_size,omitempty"` ForceBufSize bool `protobuf:"varint,14,opt,name=force_buf_size,json=forceBufSize,proto3" json:"force_buf_size,omitempty"` Mptcp MPTCPState `protobuf:"varint,15,opt,name=mptcp,proto3,enum=v2ray.core.transport.internet.MPTCPState" json:"mptcp,omitempty"` // contains filtered or unexported fields }
SocketConfig is options to be applied on network sockets.
func (*SocketConfig) Descriptor
deprecated
func (*SocketConfig) Descriptor() ([]byte, []int)
Deprecated: Use SocketConfig.ProtoReflect.Descriptor instead.
func (*SocketConfig) GetAcceptProxyProtocol ¶
func (x *SocketConfig) GetAcceptProxyProtocol() bool
func (*SocketConfig) GetBindAddress ¶
func (x *SocketConfig) GetBindAddress() []byte
func (*SocketConfig) GetBindPort ¶
func (x *SocketConfig) GetBindPort() uint32
func (*SocketConfig) GetBindToDevice ¶ added in v5.0.4
func (x *SocketConfig) GetBindToDevice() string
func (*SocketConfig) GetForceBufSize ¶ added in v5.0.4
func (x *SocketConfig) GetForceBufSize() bool
func (*SocketConfig) GetMark ¶
func (x *SocketConfig) GetMark() uint32
func (*SocketConfig) GetMptcp ¶ added in v5.17.0
func (x *SocketConfig) GetMptcp() MPTCPState
func (*SocketConfig) GetReceiveOriginalDestAddress ¶
func (x *SocketConfig) GetReceiveOriginalDestAddress() bool
func (*SocketConfig) GetRxBufSize ¶ added in v5.0.4
func (x *SocketConfig) GetRxBufSize() int64
func (*SocketConfig) GetTcpKeepAliveIdle ¶
func (x *SocketConfig) GetTcpKeepAliveIdle() int32
func (*SocketConfig) GetTcpKeepAliveInterval ¶
func (x *SocketConfig) GetTcpKeepAliveInterval() int32
func (*SocketConfig) GetTfo ¶
func (x *SocketConfig) GetTfo() SocketConfig_TCPFastOpenState
func (*SocketConfig) GetTfoQueueLength ¶
func (x *SocketConfig) GetTfoQueueLength() uint32
func (*SocketConfig) GetTproxy ¶
func (x *SocketConfig) GetTproxy() SocketConfig_TProxyMode
func (*SocketConfig) GetTxBufSize ¶ added in v5.0.4
func (x *SocketConfig) GetTxBufSize() int64
func (*SocketConfig) ProtoMessage ¶
func (*SocketConfig) ProtoMessage()
func (*SocketConfig) ProtoReflect ¶
func (x *SocketConfig) ProtoReflect() protoreflect.Message
func (*SocketConfig) Reset ¶
func (x *SocketConfig) Reset()
func (*SocketConfig) String ¶
func (x *SocketConfig) String() string
type SocketConfig_TCPFastOpenState ¶
type SocketConfig_TCPFastOpenState int32
const ( // AsIs is to leave the current TFO state as is, unmodified. SocketConfig_AsIs SocketConfig_TCPFastOpenState = 0 // Enable is for enabling TFO explictly. SocketConfig_Enable SocketConfig_TCPFastOpenState = 1 // Disable is for disabling TFO explictly. SocketConfig_Disable SocketConfig_TCPFastOpenState = 2 )
func (SocketConfig_TCPFastOpenState) Descriptor ¶
func (SocketConfig_TCPFastOpenState) Descriptor() protoreflect.EnumDescriptor
func (SocketConfig_TCPFastOpenState) Enum ¶
func (x SocketConfig_TCPFastOpenState) Enum() *SocketConfig_TCPFastOpenState
func (SocketConfig_TCPFastOpenState) EnumDescriptor
deprecated
func (SocketConfig_TCPFastOpenState) EnumDescriptor() ([]byte, []int)
Deprecated: Use SocketConfig_TCPFastOpenState.Descriptor instead.
func (SocketConfig_TCPFastOpenState) Number ¶
func (x SocketConfig_TCPFastOpenState) Number() protoreflect.EnumNumber
func (SocketConfig_TCPFastOpenState) String ¶
func (x SocketConfig_TCPFastOpenState) String() string
func (SocketConfig_TCPFastOpenState) Type ¶
func (SocketConfig_TCPFastOpenState) Type() protoreflect.EnumType
type SocketConfig_TProxyMode ¶
type SocketConfig_TProxyMode int32
const ( // TProxy is off. SocketConfig_Off SocketConfig_TProxyMode = 0 // TProxy mode. SocketConfig_TProxy SocketConfig_TProxyMode = 1 // Redirect mode. SocketConfig_Redirect SocketConfig_TProxyMode = 2 )
func (SocketConfig_TProxyMode) Descriptor ¶
func (SocketConfig_TProxyMode) Descriptor() protoreflect.EnumDescriptor
func (SocketConfig_TProxyMode) Enum ¶
func (x SocketConfig_TProxyMode) Enum() *SocketConfig_TProxyMode
func (SocketConfig_TProxyMode) EnumDescriptor
deprecated
func (SocketConfig_TProxyMode) EnumDescriptor() ([]byte, []int)
Deprecated: Use SocketConfig_TProxyMode.Descriptor instead.
func (SocketConfig_TProxyMode) IsEnabled ¶
func (m SocketConfig_TProxyMode) IsEnabled() bool
func (SocketConfig_TProxyMode) Number ¶
func (x SocketConfig_TProxyMode) Number() protoreflect.EnumNumber
func (SocketConfig_TProxyMode) String ¶
func (x SocketConfig_TProxyMode) String() string
func (SocketConfig_TProxyMode) Type ¶
func (SocketConfig_TProxyMode) Type() protoreflect.EnumType
type StatCouterConnection ¶
type StatCouterConnection struct { Connection ReadCounter stats.Counter WriteCounter stats.Counter }
type StreamConfig ¶
type StreamConfig struct { // Effective network. Deprecated. Use the string form below. // // Deprecated: Marked as deprecated in transport/internet/config.proto. Protocol TransportProtocol `protobuf:"varint,1,opt,name=protocol,proto3,enum=v2ray.core.transport.internet.TransportProtocol" json:"protocol,omitempty"` // Effective network. ProtocolName string `protobuf:"bytes,5,opt,name=protocol_name,json=protocolName,proto3" json:"protocol_name,omitempty"` TransportSettings []*TransportConfig `protobuf:"bytes,2,rep,name=transport_settings,json=transportSettings,proto3" json:"transport_settings,omitempty"` // Type of security. Must be a message name of the settings proto. SecurityType string `protobuf:"bytes,3,opt,name=security_type,json=securityType,proto3" json:"security_type,omitempty"` // Settings for transport security. For now the only choice is TLS. SecuritySettings []*anypb.Any `protobuf:"bytes,4,rep,name=security_settings,json=securitySettings,proto3" json:"security_settings,omitempty"` SocketSettings *SocketConfig `protobuf:"bytes,6,opt,name=socket_settings,json=socketSettings,proto3" json:"socket_settings,omitempty"` // contains filtered or unexported fields }
func (*StreamConfig) Descriptor
deprecated
func (*StreamConfig) Descriptor() ([]byte, []int)
Deprecated: Use StreamConfig.ProtoReflect.Descriptor instead.
func (*StreamConfig) GetEffectiveProtocol ¶
func (c *StreamConfig) GetEffectiveProtocol() string
func (*StreamConfig) GetEffectiveSecuritySettings ¶
func (c *StreamConfig) GetEffectiveSecuritySettings() (interface{}, error)
func (*StreamConfig) GetEffectiveTransportSettings ¶
func (c *StreamConfig) GetEffectiveTransportSettings() (interface{}, error)
func (*StreamConfig) GetProtocol
deprecated
func (x *StreamConfig) GetProtocol() TransportProtocol
Deprecated: Marked as deprecated in transport/internet/config.proto.
func (*StreamConfig) GetProtocolName ¶
func (x *StreamConfig) GetProtocolName() string
func (*StreamConfig) GetSecuritySettings ¶
func (x *StreamConfig) GetSecuritySettings() []*anypb.Any
func (*StreamConfig) GetSecurityType ¶
func (x *StreamConfig) GetSecurityType() string
func (*StreamConfig) GetSocketSettings ¶
func (x *StreamConfig) GetSocketSettings() *SocketConfig
func (*StreamConfig) GetTransportSettings ¶
func (x *StreamConfig) GetTransportSettings() []*TransportConfig
func (*StreamConfig) GetTransportSettingsFor ¶
func (c *StreamConfig) GetTransportSettingsFor(protocol string) (interface{}, error)
func (*StreamConfig) HasSecuritySettings ¶
func (c *StreamConfig) HasSecuritySettings() bool
func (*StreamConfig) ProtoMessage ¶
func (*StreamConfig) ProtoMessage()
func (*StreamConfig) ProtoReflect ¶
func (x *StreamConfig) ProtoReflect() protoreflect.Message
func (*StreamConfig) Reset ¶
func (x *StreamConfig) Reset()
func (*StreamConfig) String ¶
func (x *StreamConfig) String() string
type SystemDialer ¶
type SystemDialer interface {
Dial(ctx context.Context, source net.Address, destination net.Destination, sockopt *SocketConfig) (net.Conn, error)
}
func WithAdapter ¶
func WithAdapter(dialer SystemDialerAdapter) SystemDialer
type SystemDialerAdapter ¶
type SystemListener ¶
type TransportConfig ¶
type TransportConfig struct { // Type of network that this settings supports. // Deprecated. Use the string form below. // // Deprecated: Marked as deprecated in transport/internet/config.proto. Protocol TransportProtocol `protobuf:"varint,1,opt,name=protocol,proto3,enum=v2ray.core.transport.internet.TransportProtocol" json:"protocol,omitempty"` // Type of network that this settings supports. ProtocolName string `protobuf:"bytes,3,opt,name=protocol_name,json=protocolName,proto3" json:"protocol_name,omitempty"` // Specific settings. Must be of the transports. Settings *anypb.Any `protobuf:"bytes,2,opt,name=settings,proto3" json:"settings,omitempty"` // contains filtered or unexported fields }
func (*TransportConfig) Descriptor
deprecated
func (*TransportConfig) Descriptor() ([]byte, []int)
Deprecated: Use TransportConfig.ProtoReflect.Descriptor instead.
func (*TransportConfig) GetProtocol
deprecated
func (x *TransportConfig) GetProtocol() TransportProtocol
Deprecated: Marked as deprecated in transport/internet/config.proto.
func (*TransportConfig) GetProtocolName ¶
func (x *TransportConfig) GetProtocolName() string
func (*TransportConfig) GetSettings ¶
func (x *TransportConfig) GetSettings() *anypb.Any
func (*TransportConfig) GetTypedSettings ¶
func (c *TransportConfig) GetTypedSettings() (interface{}, error)
func (*TransportConfig) GetUnifiedProtocolName ¶
func (c *TransportConfig) GetUnifiedProtocolName() string
func (*TransportConfig) ProtoMessage ¶
func (*TransportConfig) ProtoMessage()
func (*TransportConfig) ProtoReflect ¶
func (x *TransportConfig) ProtoReflect() protoreflect.Message
func (*TransportConfig) Reset ¶
func (x *TransportConfig) Reset()
func (*TransportConfig) String ¶
func (x *TransportConfig) String() string
type TransportProtocol ¶
type TransportProtocol int32
const ( TransportProtocol_TCP TransportProtocol = 0 TransportProtocol_UDP TransportProtocol = 1 TransportProtocol_MKCP TransportProtocol = 2 TransportProtocol_WebSocket TransportProtocol = 3 TransportProtocol_HTTP TransportProtocol = 4 TransportProtocol_DomainSocket TransportProtocol = 5 )
func (TransportProtocol) Descriptor ¶
func (TransportProtocol) Descriptor() protoreflect.EnumDescriptor
func (TransportProtocol) Enum ¶
func (x TransportProtocol) Enum() *TransportProtocol
func (TransportProtocol) EnumDescriptor
deprecated
func (TransportProtocol) EnumDescriptor() ([]byte, []int)
Deprecated: Use TransportProtocol.Descriptor instead.
func (TransportProtocol) Number ¶
func (x TransportProtocol) Number() protoreflect.EnumNumber
func (TransportProtocol) String ¶
func (x TransportProtocol) String() string
func (TransportProtocol) Type ¶
func (TransportProtocol) Type() protoreflect.EnumType
Source Files ¶
Directories ¶
Path | Synopsis |
---|---|
headers
|
|
Package kcp - A Fast and Reliable ARQ Protocol
|
Package kcp - A Fast and Reliable ARQ Protocol |
Package websocket implements Websocket transport
|
Package websocket implements Websocket transport |