proxy

package
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Apr 9, 2022 License: Apache-2.0 Imports: 21 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func HandleUserTCPConnection added in v1.0.0

func HandleUserTCPConnection(pxy Proxy, userConn net.Conn, serverCfg config.ServerCommonConf)

HandleUserTCPConnection is used for incoming user TCP connections. It can be used for tcp, http, https type.

Types

type BaseProxy

type BaseProxy struct {
	// contains filtered or unexported fields
}

func (*BaseProxy) Close

func (pxy *BaseProxy) Close()

func (*BaseProxy) Context added in v1.0.0

func (pxy *BaseProxy) Context() context.Context

func (*BaseProxy) GetName

func (pxy *BaseProxy) GetName() string

func (*BaseProxy) GetResourceController added in v1.0.0

func (pxy *BaseProxy) GetResourceController() *controller.ResourceController

func (*BaseProxy) GetUsedPortsNum

func (pxy *BaseProxy) GetUsedPortsNum() int

func (*BaseProxy) GetUserInfo added in v1.0.0

func (pxy *BaseProxy) GetUserInfo() plugin.UserInfo

func (*BaseProxy) GetWorkConnFromPool

func (pxy *BaseProxy) GetWorkConnFromPool(src, dst net.Addr) (workConn net.Conn, err error)

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 GetWorkConnFn func() (net.Conn, error)

type HTTPProxy added in v1.0.0

type HTTPProxy struct {
	*BaseProxy
	// contains filtered or unexported fields
}

func (*HTTPProxy) Close added in v1.0.0

func (pxy *HTTPProxy) Close()

func (*HTTPProxy) GetConf added in v1.0.0

func (pxy *HTTPProxy) GetConf() config.ProxyConf

func (*HTTPProxy) GetRealConn added in v1.0.0

func (pxy *HTTPProxy) GetRealConn(remoteAddr string) (workConn net.Conn, err error)

func (*HTTPProxy) Run added in v1.0.0

func (pxy *HTTPProxy) Run() (remoteAddr string, err error)

type HTTPSProxy added in v1.0.0

type HTTPSProxy struct {
	*BaseProxy
	// contains filtered or unexported fields
}

func (*HTTPSProxy) Close added in v1.0.0

func (pxy *HTTPSProxy) Close()

func (*HTTPSProxy) GetConf added in v1.0.0

func (pxy *HTTPSProxy) GetConf() config.ProxyConf

func (*HTTPSProxy) Run added in v1.0.0

func (pxy *HTTPSProxy) Run() (remoteAddr string, err error)

type Manager added in v1.0.0

type Manager struct {
	// contains filtered or unexported fields
}

func NewManager added in v1.0.0

func NewManager() *Manager

func (*Manager) Add added in v1.0.0

func (pm *Manager) Add(name string, pxy Proxy) error

func (*Manager) Del added in v1.0.0

func (pm *Manager) Del(name string)

func (*Manager) GetByName added in v1.0.0

func (pm *Manager) GetByName(name string) (pxy Proxy, ok bool)

type Proxy

type Proxy interface {
	Context() context.Context
	Run() (remoteAddr string, err error)
	GetName() string
	GetConf() config.ProxyConf
	GetWorkConnFromPool(src, dst net.Addr) (workConn net.Conn, err error)
	GetUsedPortsNum() int
	GetResourceController() *controller.ResourceController
	GetUserInfo() plugin.UserInfo
	Close()
}

func NewProxy

func NewProxy(ctx context.Context, userInfo plugin.UserInfo, rc *controller.ResourceController, poolCount int,
	getWorkConnFn GetWorkConnFn, pxyConf config.ProxyConf, serverCfg config.ServerCommonConf) (pxy Proxy, err error)

type STCPProxy added in v1.0.0

type STCPProxy struct {
	*BaseProxy
	// contains filtered or unexported fields
}

func (*STCPProxy) Close added in v1.0.0

func (pxy *STCPProxy) Close()

func (*STCPProxy) GetConf added in v1.0.0

func (pxy *STCPProxy) GetConf() config.ProxyConf

func (*STCPProxy) Run added in v1.0.0

func (pxy *STCPProxy) Run() (remoteAddr string, err error)

type SUDPProxy added in v1.0.0

type SUDPProxy struct {
	*BaseProxy
	// contains filtered or unexported fields
}

func (*SUDPProxy) Close added in v1.0.0

func (pxy *SUDPProxy) Close()

func (*SUDPProxy) GetConf added in v1.0.0

func (pxy *SUDPProxy) GetConf() config.ProxyConf

func (*SUDPProxy) Run added in v1.0.0

func (pxy *SUDPProxy) Run() (remoteAddr string, err error)

type TCPMuxProxy added in v1.0.0

type TCPMuxProxy struct {
	*BaseProxy
	// contains filtered or unexported fields
}

func (*TCPMuxProxy) Close added in v1.0.0

func (pxy *TCPMuxProxy) Close()

func (*TCPMuxProxy) GetConf added in v1.0.0

func (pxy *TCPMuxProxy) GetConf() config.ProxyConf

func (*TCPMuxProxy) Run added in v1.0.0

func (pxy *TCPMuxProxy) Run() (remoteAddr string, err error)

type TCPProxy added in v1.0.0

type TCPProxy struct {
	*BaseProxy
	// contains filtered or unexported fields
}

func (*TCPProxy) Close added in v1.0.0

func (pxy *TCPProxy) Close()

func (*TCPProxy) GetConf added in v1.0.0

func (pxy *TCPProxy) GetConf() config.ProxyConf

func (*TCPProxy) Run added in v1.0.0

func (pxy *TCPProxy) Run() (remoteAddr string, err error)

type UDPProxy added in v1.0.0

type UDPProxy struct {
	*BaseProxy
	// contains filtered or unexported fields
}

func (*UDPProxy) Close added in v1.0.0

func (pxy *UDPProxy) Close()

func (*UDPProxy) GetConf added in v1.0.0

func (pxy *UDPProxy) GetConf() config.ProxyConf

func (*UDPProxy) Run added in v1.0.0

func (pxy *UDPProxy) Run() (remoteAddr string, err error)

type XTCPProxy added in v1.0.0

type XTCPProxy struct {
	*BaseProxy
	// contains filtered or unexported fields
}

func (*XTCPProxy) Close added in v1.0.0

func (pxy *XTCPProxy) Close()

func (*XTCPProxy) GetConf added in v1.0.0

func (pxy *XTCPProxy) GetConf() config.ProxyConf

func (*XTCPProxy) Run added in v1.0.0

func (pxy *XTCPProxy) Run() (remoteAddr string, err error)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL