Documentation
¶
Index ¶
- func RegisterProxyFactory(proxyConfType reflect.Type, factory func(*BaseProxy) Proxy)
- type BaseProxy
- func (pxy *BaseProxy) Close()
- func (pxy *BaseProxy) Context() context.Context
- func (pxy *BaseProxy) GetConfigurer() v1.ProxyConfigurer
- func (pxy *BaseProxy) GetLimiter() *rate.Limiter
- func (pxy *BaseProxy) GetLoginMsg() *msg.Login
- func (pxy *BaseProxy) GetName() string
- func (pxy *BaseProxy) GetResourceController() *controller.ResourceController
- func (pxy *BaseProxy) GetUsedPortsNum() int
- func (pxy *BaseProxy) GetUserInfo() plugin.UserInfo
- func (pxy *BaseProxy) GetWorkConnFromPool(src, dst net.Addr) (workConn net.Conn, err error)
- type GetWorkConnFn
- type HTTPProxy
- type HTTPSProxy
- type Manager
- type Options
- type Proxy
- func NewHTTPProxy(baseProxy *BaseProxy) Proxy
- func NewHTTPSProxy(baseProxy *BaseProxy) Proxy
- func NewProxy(ctx context.Context, options *Options) (pxy Proxy, err error)
- func NewSTCPProxy(baseProxy *BaseProxy) Proxy
- func NewSUDPProxy(baseProxy *BaseProxy) Proxy
- func NewTCPMuxProxy(baseProxy *BaseProxy) Proxy
- func NewTCPProxy(baseProxy *BaseProxy) Proxy
- func NewUDPProxy(baseProxy *BaseProxy) Proxy
- func NewXTCPProxy(baseProxy *BaseProxy) Proxy
- type STCPProxy
- type SUDPProxy
- type TCPMuxProxy
- type TCPProxy
- type UDPProxy
- type XTCPProxy
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
Types ¶
type BaseProxy ¶
type BaseProxy struct {
// contains filtered or unexported fields
}
func (*BaseProxy) GetConfigurer ¶
func (pxy *BaseProxy) GetConfigurer() v1.ProxyConfigurer
func (*BaseProxy) GetLimiter ¶
func (*BaseProxy) GetLoginMsg ¶
func (*BaseProxy) GetResourceController ¶
func (pxy *BaseProxy) GetResourceController() *controller.ResourceController
func (*BaseProxy) GetUsedPortsNum ¶
func (*BaseProxy) GetUserInfo ¶
func (*BaseProxy) GetWorkConnFromPool ¶
GetWorkConnFromPool try to get a new work connections from pool for quickly response, we immediately send the StartWorkConn message to frpc after take out one from pool
type GetWorkConnFn ¶
type HTTPProxy ¶
type HTTPProxy struct {
*BaseProxy
// contains filtered or unexported fields
}
func (*HTTPProxy) GetRealConn ¶
type HTTPSProxy ¶
type HTTPSProxy struct {
*BaseProxy
// contains filtered or unexported fields
}
func (*HTTPSProxy) Close ¶
func (pxy *HTTPSProxy) Close()
func (*HTTPSProxy) Run ¶
func (pxy *HTTPSProxy) Run() (remoteAddr string, err error)
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
func NewManager ¶
func NewManager() *Manager
type Options ¶
type Options struct {
UserInfo plugin.UserInfo
LoginMsg *msg.Login
PoolCount int
ResourceController *controller.ResourceController
GetWorkConnFn GetWorkConnFn
Configurer v1.ProxyConfigurer
ServerCfg *v1.ServerConfig
}
type Proxy ¶
type Proxy interface {
Context() context.Context
Run() (remoteAddr string, err error)
GetName() string
GetConfigurer() v1.ProxyConfigurer
GetWorkConnFromPool(src, dst net.Addr) (workConn net.Conn, err error)
GetUsedPortsNum() int
GetResourceController() *controller.ResourceController
GetUserInfo() plugin.UserInfo
GetLimiter() *rate.Limiter
GetLoginMsg() *msg.Login
Close()
}
func NewHTTPProxy ¶
func NewHTTPSProxy ¶
func NewSTCPProxy ¶
func NewSUDPProxy ¶
func NewTCPMuxProxy ¶
func NewTCPProxy ¶
func NewUDPProxy ¶
func NewXTCPProxy ¶
type TCPMuxProxy ¶
type TCPMuxProxy struct {
*BaseProxy
// contains filtered or unexported fields
}
func (*TCPMuxProxy) Close ¶
func (pxy *TCPMuxProxy) Close()
func (*TCPMuxProxy) Run ¶
func (pxy *TCPMuxProxy) Run() (remoteAddr string, err error)
Click to show internal directories.
Click to hide internal directories.