Documentation ¶
Overview ¶
Package proxyman defines applications for manageing inbound and outbound proxies.
Index ¶
- Variables
- func ContextWithProtocolSniffers(ctx context.Context, list []KnownProtocols) context.Context
- type AllocationStrategy
- func (*AllocationStrategy) Descriptor() ([]byte, []int)
- func (m *AllocationStrategy) GetConcurrency() *AllocationStrategy_AllocationStrategyConcurrency
- func (s *AllocationStrategy) GetConcurrencyValue() uint32
- func (m *AllocationStrategy) GetRefresh() *AllocationStrategy_AllocationStrategyRefresh
- func (s *AllocationStrategy) GetRefreshValue() uint32
- func (m *AllocationStrategy) GetType() AllocationStrategy_Type
- func (*AllocationStrategy) ProtoMessage()
- func (m *AllocationStrategy) Reset()
- func (m *AllocationStrategy) String() string
- type AllocationStrategy_AllocationStrategyConcurrency
- func (*AllocationStrategy_AllocationStrategyConcurrency) Descriptor() ([]byte, []int)
- func (m *AllocationStrategy_AllocationStrategyConcurrency) GetValue() uint32
- func (*AllocationStrategy_AllocationStrategyConcurrency) ProtoMessage()
- func (m *AllocationStrategy_AllocationStrategyConcurrency) Reset()
- func (m *AllocationStrategy_AllocationStrategyConcurrency) String() string
- type AllocationStrategy_AllocationStrategyRefresh
- func (*AllocationStrategy_AllocationStrategyRefresh) Descriptor() ([]byte, []int)
- func (m *AllocationStrategy_AllocationStrategyRefresh) GetValue() uint32
- func (*AllocationStrategy_AllocationStrategyRefresh) ProtoMessage()
- func (m *AllocationStrategy_AllocationStrategyRefresh) Reset()
- func (m *AllocationStrategy_AllocationStrategyRefresh) String() string
- type AllocationStrategy_Type
- type InboundConfig
- type InboundHandler
- type InboundHandlerConfig
- func (*InboundHandlerConfig) Descriptor() ([]byte, []int)
- func (m *InboundHandlerConfig) GetProxySettings() *v2ray_core_common_serial.TypedMessage
- func (m *InboundHandlerConfig) GetReceiverSettings() *v2ray_core_common_serial.TypedMessage
- func (m *InboundHandlerConfig) GetTag() string
- func (*InboundHandlerConfig) ProtoMessage()
- func (m *InboundHandlerConfig) Reset()
- func (m *InboundHandlerConfig) String() string
- type InboundHandlerManager
- type KnownProtocols
- type MultiplexingConfig
- type OutboundConfig
- type OutboundHandler
- type OutboundHandlerConfig
- func (*OutboundHandlerConfig) Descriptor() ([]byte, []int)
- func (m *OutboundHandlerConfig) GetComment() string
- func (m *OutboundHandlerConfig) GetExpire() int64
- func (c *OutboundHandlerConfig) GetProxyHandler(ctx context.Context) (proxy.Outbound, error)
- func (m *OutboundHandlerConfig) GetProxySettings() *v2ray_core_common_serial.TypedMessage
- func (m *OutboundHandlerConfig) GetSenderSettings() *v2ray_core_common_serial.TypedMessage
- func (m *OutboundHandlerConfig) GetTag() string
- func (*OutboundHandlerConfig) ProtoMessage()
- func (m *OutboundHandlerConfig) Reset()
- func (m *OutboundHandlerConfig) String() string
- type OutboundHandlerManager
- type ReceiverConfig
- func (*ReceiverConfig) Descriptor() ([]byte, []int)
- func (m *ReceiverConfig) GetAllocationStrategy() *AllocationStrategy
- func (m *ReceiverConfig) GetDomainOverride() []KnownProtocols
- func (m *ReceiverConfig) GetListen() *v2ray_core_common_net.IPOrDomain
- func (m *ReceiverConfig) GetPortRange() *v2ray_core_common_net3.PortRange
- func (m *ReceiverConfig) GetReceiveOriginalDestination() bool
- func (m *ReceiverConfig) GetStreamSettings() *v2ray_core_transport_internet.StreamConfig
- func (*ReceiverConfig) ProtoMessage()
- func (m *ReceiverConfig) Reset()
- func (m *ReceiverConfig) String() string
- type SenderConfig
- func (*SenderConfig) Descriptor() ([]byte, []int)
- func (m *SenderConfig) GetMultiplexSettings() *MultiplexingConfig
- func (m *SenderConfig) GetProxySettings() *v2ray_core_transport_internet.ProxyConfig
- func (m *SenderConfig) GetStreamSettings() *v2ray_core_transport_internet.StreamConfig
- func (m *SenderConfig) GetVia() *v2ray_core_common_net.IPOrDomain
- func (*SenderConfig) ProtoMessage()
- func (m *SenderConfig) Reset()
- func (m *SenderConfig) String() string
Constants ¶
This section is empty.
Variables ¶
View Source
var AllocationStrategy_Type_name = map[int32]string{
0: "Always",
1: "Random",
2: "External",
}
View Source
var AllocationStrategy_Type_value = map[string]int32{
"Always": 0,
"Random": 1,
"External": 2,
}
View Source
var KnownProtocols_name = map[int32]string{
0: "HTTP",
1: "TLS",
}
View Source
var KnownProtocols_value = map[string]int32{
"HTTP": 0,
"TLS": 1,
}
Functions ¶
func ContextWithProtocolSniffers ¶
func ContextWithProtocolSniffers(ctx context.Context, list []KnownProtocols) context.Context
Types ¶
type AllocationStrategy ¶
type AllocationStrategy struct { Type AllocationStrategy_Type `protobuf:"varint,1,opt,name=type,enum=v2ray.core.app.proxyman.AllocationStrategy_Type" json:"type,omitempty"` // Number of handlers (ports) running in parallel. // Default value is 3 if unset. Concurrency *AllocationStrategy_AllocationStrategyConcurrency `protobuf:"bytes,2,opt,name=concurrency" json:"concurrency,omitempty"` // Number of minutes before a handler is regenerated. // Default value is 5 if unset. Refresh *AllocationStrategy_AllocationStrategyRefresh `protobuf:"bytes,3,opt,name=refresh" json:"refresh,omitempty"` }
func (*AllocationStrategy) Descriptor ¶
func (*AllocationStrategy) Descriptor() ([]byte, []int)
func (*AllocationStrategy) GetConcurrency ¶
func (m *AllocationStrategy) GetConcurrency() *AllocationStrategy_AllocationStrategyConcurrency
func (*AllocationStrategy) GetConcurrencyValue ¶
func (s *AllocationStrategy) GetConcurrencyValue() uint32
func (*AllocationStrategy) GetRefresh ¶
func (m *AllocationStrategy) GetRefresh() *AllocationStrategy_AllocationStrategyRefresh
func (*AllocationStrategy) GetRefreshValue ¶
func (s *AllocationStrategy) GetRefreshValue() uint32
func (*AllocationStrategy) GetType ¶
func (m *AllocationStrategy) GetType() AllocationStrategy_Type
func (*AllocationStrategy) ProtoMessage ¶
func (*AllocationStrategy) ProtoMessage()
func (*AllocationStrategy) Reset ¶
func (m *AllocationStrategy) Reset()
func (*AllocationStrategy) String ¶
func (m *AllocationStrategy) String() string
type AllocationStrategy_AllocationStrategyConcurrency ¶
type AllocationStrategy_AllocationStrategyConcurrency struct {
Value uint32 `protobuf:"varint,1,opt,name=value" json:"value,omitempty"`
}
func (*AllocationStrategy_AllocationStrategyConcurrency) Descriptor ¶
func (*AllocationStrategy_AllocationStrategyConcurrency) Descriptor() ([]byte, []int)
func (*AllocationStrategy_AllocationStrategyConcurrency) GetValue ¶
func (m *AllocationStrategy_AllocationStrategyConcurrency) GetValue() uint32
func (*AllocationStrategy_AllocationStrategyConcurrency) ProtoMessage ¶
func (*AllocationStrategy_AllocationStrategyConcurrency) ProtoMessage()
func (*AllocationStrategy_AllocationStrategyConcurrency) Reset ¶
func (m *AllocationStrategy_AllocationStrategyConcurrency) Reset()
func (*AllocationStrategy_AllocationStrategyConcurrency) String ¶
func (m *AllocationStrategy_AllocationStrategyConcurrency) String() string
type AllocationStrategy_AllocationStrategyRefresh ¶
type AllocationStrategy_AllocationStrategyRefresh struct {
Value uint32 `protobuf:"varint,1,opt,name=value" json:"value,omitempty"`
}
func (*AllocationStrategy_AllocationStrategyRefresh) Descriptor ¶
func (*AllocationStrategy_AllocationStrategyRefresh) Descriptor() ([]byte, []int)
func (*AllocationStrategy_AllocationStrategyRefresh) GetValue ¶
func (m *AllocationStrategy_AllocationStrategyRefresh) GetValue() uint32
func (*AllocationStrategy_AllocationStrategyRefresh) ProtoMessage ¶
func (*AllocationStrategy_AllocationStrategyRefresh) ProtoMessage()
func (*AllocationStrategy_AllocationStrategyRefresh) Reset ¶
func (m *AllocationStrategy_AllocationStrategyRefresh) Reset()
func (*AllocationStrategy_AllocationStrategyRefresh) String ¶
func (m *AllocationStrategy_AllocationStrategyRefresh) String() string
type AllocationStrategy_Type ¶
type AllocationStrategy_Type int32
const ( // Always allocate all connection handlers. AllocationStrategy_Always AllocationStrategy_Type = 0 // Randomly allocate specific range of handlers. AllocationStrategy_Random AllocationStrategy_Type = 1 // External. Not supported yet. AllocationStrategy_External AllocationStrategy_Type = 2 )
func (AllocationStrategy_Type) EnumDescriptor ¶
func (AllocationStrategy_Type) EnumDescriptor() ([]byte, []int)
func (AllocationStrategy_Type) String ¶
func (x AllocationStrategy_Type) String() string
type InboundConfig ¶
type InboundConfig struct { }
func (*InboundConfig) Descriptor ¶
func (*InboundConfig) Descriptor() ([]byte, []int)
func (*InboundConfig) ProtoMessage ¶
func (*InboundConfig) ProtoMessage()
func (*InboundConfig) Reset ¶
func (m *InboundConfig) Reset()
func (*InboundConfig) String ¶
func (m *InboundConfig) String() string
type InboundHandler ¶
type InboundHandlerConfig ¶
type InboundHandlerConfig struct { Tag string `protobuf:"bytes,1,opt,name=tag" json:"tag,omitempty"` ReceiverSettings *v2ray_core_common_serial.TypedMessage `protobuf:"bytes,2,opt,name=receiver_settings,json=receiverSettings" json:"receiver_settings,omitempty"` ProxySettings *v2ray_core_common_serial.TypedMessage `protobuf:"bytes,3,opt,name=proxy_settings,json=proxySettings" json:"proxy_settings,omitempty"` }
func (*InboundHandlerConfig) Descriptor ¶
func (*InboundHandlerConfig) Descriptor() ([]byte, []int)
func (*InboundHandlerConfig) GetProxySettings ¶
func (m *InboundHandlerConfig) GetProxySettings() *v2ray_core_common_serial.TypedMessage
func (*InboundHandlerConfig) GetReceiverSettings ¶
func (m *InboundHandlerConfig) GetReceiverSettings() *v2ray_core_common_serial.TypedMessage
func (*InboundHandlerConfig) GetTag ¶
func (m *InboundHandlerConfig) GetTag() string
func (*InboundHandlerConfig) ProtoMessage ¶
func (*InboundHandlerConfig) ProtoMessage()
func (*InboundHandlerConfig) Reset ¶
func (m *InboundHandlerConfig) Reset()
func (*InboundHandlerConfig) String ¶
func (m *InboundHandlerConfig) String() string
type InboundHandlerManager ¶ added in v1.9.1
type InboundHandlerManager interface { GetHandler(ctx context.Context, tag string) (InboundHandler, error) AddHandler(ctx context.Context, config *InboundHandlerConfig) error }
func InboundHandlerManagerFromSpace ¶
func InboundHandlerManagerFromSpace(space app.Space) InboundHandlerManager
type KnownProtocols ¶
type KnownProtocols int32
const ( KnownProtocols_HTTP KnownProtocols = 0 KnownProtocols_TLS KnownProtocols = 1 )
func ProtocoSniffersFromContext ¶
func ProtocoSniffersFromContext(ctx context.Context) []KnownProtocols
func (KnownProtocols) EnumDescriptor ¶
func (KnownProtocols) EnumDescriptor() ([]byte, []int)
func (KnownProtocols) String ¶
func (x KnownProtocols) String() string
type MultiplexingConfig ¶
type MultiplexingConfig struct { // Whether or not Mux is enabled. Enabled bool `protobuf:"varint,1,opt,name=enabled" json:"enabled,omitempty"` // Max number of concurrent connections that one Mux connection can handle. Concurrency uint32 `protobuf:"varint,2,opt,name=concurrency" json:"concurrency,omitempty"` }
func (*MultiplexingConfig) Descriptor ¶
func (*MultiplexingConfig) Descriptor() ([]byte, []int)
func (*MultiplexingConfig) GetConcurrency ¶
func (m *MultiplexingConfig) GetConcurrency() uint32
func (*MultiplexingConfig) GetEnabled ¶
func (m *MultiplexingConfig) GetEnabled() bool
func (*MultiplexingConfig) ProtoMessage ¶
func (*MultiplexingConfig) ProtoMessage()
func (*MultiplexingConfig) Reset ¶
func (m *MultiplexingConfig) Reset()
func (*MultiplexingConfig) String ¶
func (m *MultiplexingConfig) String() string
type OutboundConfig ¶
type OutboundConfig struct { }
func (*OutboundConfig) Descriptor ¶
func (*OutboundConfig) Descriptor() ([]byte, []int)
func (*OutboundConfig) ProtoMessage ¶
func (*OutboundConfig) ProtoMessage()
func (*OutboundConfig) Reset ¶
func (m *OutboundConfig) Reset()
func (*OutboundConfig) String ¶
func (m *OutboundConfig) String() string
type OutboundHandler ¶
type OutboundHandler interface {
Dispatch(ctx context.Context, outboundRay ray.OutboundRay)
}
type OutboundHandlerConfig ¶
type OutboundHandlerConfig struct { Tag string `protobuf:"bytes,1,opt,name=tag" json:"tag,omitempty"` SenderSettings *v2ray_core_common_serial.TypedMessage `protobuf:"bytes,2,opt,name=sender_settings,json=senderSettings" json:"sender_settings,omitempty"` ProxySettings *v2ray_core_common_serial.TypedMessage `protobuf:"bytes,3,opt,name=proxy_settings,json=proxySettings" json:"proxy_settings,omitempty"` Expire int64 `protobuf:"varint,4,opt,name=expire" json:"expire,omitempty"` Comment string `protobuf:"bytes,5,opt,name=comment" json:"comment,omitempty"` }
func (*OutboundHandlerConfig) Descriptor ¶
func (*OutboundHandlerConfig) Descriptor() ([]byte, []int)
func (*OutboundHandlerConfig) GetComment ¶
func (m *OutboundHandlerConfig) GetComment() string
func (*OutboundHandlerConfig) GetExpire ¶
func (m *OutboundHandlerConfig) GetExpire() int64
func (*OutboundHandlerConfig) GetProxyHandler ¶
func (*OutboundHandlerConfig) GetProxySettings ¶
func (m *OutboundHandlerConfig) GetProxySettings() *v2ray_core_common_serial.TypedMessage
func (*OutboundHandlerConfig) GetSenderSettings ¶
func (m *OutboundHandlerConfig) GetSenderSettings() *v2ray_core_common_serial.TypedMessage
func (*OutboundHandlerConfig) GetTag ¶
func (m *OutboundHandlerConfig) GetTag() string
func (*OutboundHandlerConfig) ProtoMessage ¶
func (*OutboundHandlerConfig) ProtoMessage()
func (*OutboundHandlerConfig) Reset ¶
func (m *OutboundHandlerConfig) Reset()
func (*OutboundHandlerConfig) String ¶
func (m *OutboundHandlerConfig) String() string
type OutboundHandlerManager ¶ added in v1.13.1
type OutboundHandlerManager interface { GetHandler(tag string) OutboundHandler GetDefaultHandler() OutboundHandler AddHandler(ctx context.Context, config *OutboundHandlerConfig) error }
func OutboundHandlerManagerFromSpace ¶
func OutboundHandlerManagerFromSpace(space app.Space) OutboundHandlerManager
type ReceiverConfig ¶
type ReceiverConfig struct { PortRange *v2ray_core_common_net3.PortRange `protobuf:"bytes,1,opt,name=port_range,json=portRange" json:"port_range,omitempty"` Listen *v2ray_core_common_net.IPOrDomain `protobuf:"bytes,2,opt,name=listen" json:"listen,omitempty"` AllocationStrategy *AllocationStrategy `protobuf:"bytes,3,opt,name=allocation_strategy,json=allocationStrategy" json:"allocation_strategy,omitempty"` StreamSettings *v2ray_core_transport_internet.StreamConfig `protobuf:"bytes,4,opt,name=stream_settings,json=streamSettings" json:"stream_settings,omitempty"` ReceiveOriginalDestination bool `` /* 135-byte string literal not displayed */ DomainOverride []KnownProtocols `` /* 148-byte string literal not displayed */ }
func (*ReceiverConfig) Descriptor ¶
func (*ReceiverConfig) Descriptor() ([]byte, []int)
func (*ReceiverConfig) GetAllocationStrategy ¶
func (m *ReceiverConfig) GetAllocationStrategy() *AllocationStrategy
func (*ReceiverConfig) GetDomainOverride ¶
func (m *ReceiverConfig) GetDomainOverride() []KnownProtocols
func (*ReceiverConfig) GetListen ¶
func (m *ReceiverConfig) GetListen() *v2ray_core_common_net.IPOrDomain
func (*ReceiverConfig) GetPortRange ¶
func (m *ReceiverConfig) GetPortRange() *v2ray_core_common_net3.PortRange
func (*ReceiverConfig) GetReceiveOriginalDestination ¶
func (m *ReceiverConfig) GetReceiveOriginalDestination() bool
func (*ReceiverConfig) GetStreamSettings ¶
func (m *ReceiverConfig) GetStreamSettings() *v2ray_core_transport_internet.StreamConfig
func (*ReceiverConfig) ProtoMessage ¶
func (*ReceiverConfig) ProtoMessage()
func (*ReceiverConfig) Reset ¶
func (m *ReceiverConfig) Reset()
func (*ReceiverConfig) String ¶
func (m *ReceiverConfig) String() string
type SenderConfig ¶
type SenderConfig struct { // Send traffic through the given IP. Only IP is allowed. Via *v2ray_core_common_net.IPOrDomain `protobuf:"bytes,1,opt,name=via" json:"via,omitempty"` StreamSettings *v2ray_core_transport_internet.StreamConfig `protobuf:"bytes,2,opt,name=stream_settings,json=streamSettings" json:"stream_settings,omitempty"` ProxySettings *v2ray_core_transport_internet.ProxyConfig `protobuf:"bytes,3,opt,name=proxy_settings,json=proxySettings" json:"proxy_settings,omitempty"` MultiplexSettings *MultiplexingConfig `protobuf:"bytes,4,opt,name=multiplex_settings,json=multiplexSettings" json:"multiplex_settings,omitempty"` }
func (*SenderConfig) Descriptor ¶
func (*SenderConfig) Descriptor() ([]byte, []int)
func (*SenderConfig) GetMultiplexSettings ¶
func (m *SenderConfig) GetMultiplexSettings() *MultiplexingConfig
func (*SenderConfig) GetProxySettings ¶
func (m *SenderConfig) GetProxySettings() *v2ray_core_transport_internet.ProxyConfig
func (*SenderConfig) GetStreamSettings ¶
func (m *SenderConfig) GetStreamSettings() *v2ray_core_transport_internet.StreamConfig
func (*SenderConfig) GetVia ¶
func (m *SenderConfig) GetVia() *v2ray_core_common_net.IPOrDomain
func (*SenderConfig) ProtoMessage ¶
func (*SenderConfig) ProtoMessage()
func (*SenderConfig) Reset ¶
func (m *SenderConfig) Reset()
func (*SenderConfig) String ¶
func (m *SenderConfig) String() string
Click to show internal directories.
Click to hide internal directories.