proxy

package
v0.69.1 Latest Latest
Warning

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

Go to latest
Published: Jun 1, 2026 License: Apache-2.0 Imports: 26 Imported by: 4

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterProxyFactory added in v0.50.0

func RegisterProxyFactory(proxyConfType reflect.Type, factory func(*BaseProxy) Proxy)

Types

type BaseProxy

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

func (*BaseProxy) Close

func (pxy *BaseProxy) Close()

func (*BaseProxy) Context added in v0.29.1

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

func (*BaseProxy) GetConfigurer added in v0.52.0

func (pxy *BaseProxy) GetConfigurer() v1.ProxyConfigurer

func (*BaseProxy) GetLimiter added in v0.50.0

func (pxy *BaseProxy) GetLimiter() *rate.Limiter

func (*BaseProxy) GetLoginMsg added in v0.48.0

func (pxy *BaseProxy) GetLoginMsg() *msg.Login

func (*BaseProxy) GetName

func (pxy *BaseProxy) GetName() string

func (*BaseProxy) GetResourceController added in v0.33.0

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

func (*BaseProxy) GetUsedPortsNum

func (pxy *BaseProxy) GetUsedPortsNum() int

func (*BaseProxy) GetUserInfo added in v0.33.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() (*WorkConn, error)

type HTTPProxy added in v0.34.0

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

func (*HTTPProxy) Close added in v0.34.0

func (pxy *HTTPProxy) Close()

func (*HTTPProxy) GetRealConn added in v0.34.0

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

func (*HTTPProxy) Run added in v0.34.0

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

type HTTPSProxy added in v0.34.0

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

func (*HTTPSProxy) Close added in v0.34.0

func (pxy *HTTPSProxy) Close()

func (*HTTPSProxy) Run added in v0.34.0

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

type Manager added in v0.34.0

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

func NewManager added in v0.34.0

func NewManager() *Manager

func (*Manager) Add added in v0.34.0

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

func (*Manager) Del added in v0.34.0

func (pm *Manager) Del(name string)

func (*Manager) Exist added in v0.50.0

func (pm *Manager) Exist(name string) bool

func (*Manager) GetByName added in v0.34.0

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

type Options added in v0.52.0

type Options struct {
	UserInfo           plugin.UserInfo
	LoginMsg           *msg.Login
	PoolCount          int
	ResourceController *controller.ResourceController
	GetWorkConnFn      GetWorkConnFn
	Configurer         v1.ProxyConfigurer
	ServerCfg          *v1.ServerConfig
	EncryptionKey      []byte
	WireProtocol       string
}

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 added in v0.50.0

func NewHTTPProxy(baseProxy *BaseProxy) Proxy

func NewHTTPSProxy added in v0.50.0

func NewHTTPSProxy(baseProxy *BaseProxy) Proxy

func NewProxy

func NewProxy(ctx context.Context, options *Options) (pxy Proxy, err error)

func NewSTCPProxy added in v0.50.0

func NewSTCPProxy(baseProxy *BaseProxy) Proxy

func NewSUDPProxy added in v0.50.0

func NewSUDPProxy(baseProxy *BaseProxy) Proxy

func NewTCPMuxProxy added in v0.50.0

func NewTCPMuxProxy(baseProxy *BaseProxy) Proxy

func NewTCPProxy added in v0.50.0

func NewTCPProxy(baseProxy *BaseProxy) Proxy

func NewUDPProxy added in v0.50.0

func NewUDPProxy(baseProxy *BaseProxy) Proxy

func NewXTCPProxy added in v0.50.0

func NewXTCPProxy(baseProxy *BaseProxy) Proxy

type STCPProxy added in v0.34.0

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

func (*STCPProxy) Close added in v0.34.0

func (pxy *STCPProxy) Close()

func (*STCPProxy) Run added in v0.34.0

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

type SUDPProxy added in v0.34.0

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

func (*SUDPProxy) Close added in v0.34.0

func (pxy *SUDPProxy) Close()

func (*SUDPProxy) Run added in v0.34.0

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

type TCPMuxProxy added in v0.34.0

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

func (*TCPMuxProxy) Close added in v0.34.0

func (pxy *TCPMuxProxy) Close()

func (*TCPMuxProxy) Run added in v0.34.0

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

type TCPProxy added in v0.34.0

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

func (*TCPProxy) Close added in v0.34.0

func (pxy *TCPProxy) Close()

func (*TCPProxy) Run added in v0.34.0

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

type UDPProxy added in v0.34.0

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

func (*UDPProxy) Close added in v0.34.0

func (pxy *UDPProxy) Close()

func (*UDPProxy) Run added in v0.34.0

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

type WorkConn added in v0.69.0

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

func NewWorkConn added in v0.69.0

func NewWorkConn(conn *msg.Conn) *WorkConn

func (*WorkConn) Close added in v0.69.0

func (c *WorkConn) Close() error

func (*WorkConn) Start added in v0.69.0

func (c *WorkConn) Start(m *msg.StartWorkConn) (net.Conn, error)

type XTCPProxy added in v0.34.0

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

func (*XTCPProxy) Close added in v0.34.0

func (pxy *XTCPProxy) Close()

func (*XTCPProxy) Run added in v0.34.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