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_net1.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 ¶
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_net1.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_net1.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.