client

package
v0.16.0 Latest Latest
Warning

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

Go to latest
Published: Jan 29, 2018 License: Apache-2.0 Imports: 29 Imported by: 0

Documentation

Index

Constants

View Source
const (
	ProxyStatusNew       = "new"
	ProxyStatusStartErr  = "start error"
	ProxyStatusWaitStart = "wait start"
	ProxyStatusRunning   = "running"
	ProxyStatusClosed    = "closed"
)

Variables

This section is empty.

Functions

func HandleTcpWorkConnection

func HandleTcpWorkConnection(localInfo *config.LocalSvrConf, proxyPlugin plugin.Plugin,
	baseInfo *config.BaseProxyConf, workConn frpNet.Conn, encKey []byte)

Common handler for tcp work connections.

Types

type BaseProxy

type BaseProxy struct {
	log.Logger
	// contains filtered or unexported fields
}

type BaseVisitor added in v0.14.0

type BaseVisitor struct {
	log.Logger
	// contains filtered or unexported fields
}

type ByProxyStatusResp added in v0.15.0

type ByProxyStatusResp []ProxyStatusResp

func (ByProxyStatusResp) Len added in v0.15.0

func (a ByProxyStatusResp) Len() int

func (ByProxyStatusResp) Less added in v0.15.0

func (a ByProxyStatusResp) Less(i, j int) bool

func (ByProxyStatusResp) Swap added in v0.15.0

func (a ByProxyStatusResp) Swap(i, j int)

type Control

type Control struct {
	log.Logger
	// contains filtered or unexported fields
}

func NewControl

func NewControl(svr *Service, pxyCfgs map[string]config.ProxyConf, visitorCfgs map[string]config.ProxyConf) *Control

func (*Control) Close added in v0.13.0

func (ctl *Control) Close() error

func (*Control) HandleNewProxyResp added in v0.15.0

func (ctl *Control) HandleNewProxyResp(inMsg *msg.NewProxyResp)

func (*Control) HandleReqWorkConn added in v0.15.0

func (ctl *Control) HandleReqWorkConn(inMsg *msg.ReqWorkConn)

func (*Control) Run

func (ctl *Control) Run() (err error)

type GeneralResponse added in v0.13.0

type GeneralResponse struct {
	Code int64  `json:"code"`
	Msg  string `json:"msg"`
}

type HttpProxy

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

HTTP

func (*HttpProxy) Close

func (pxy *HttpProxy) Close()

func (*HttpProxy) InWorkConn

func (pxy *HttpProxy) InWorkConn(conn frpNet.Conn)

func (*HttpProxy) Run

func (pxy *HttpProxy) Run() (err error)

type HttpsProxy

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

HTTPS

func (*HttpsProxy) Close

func (pxy *HttpsProxy) Close()

func (*HttpsProxy) InWorkConn

func (pxy *HttpsProxy) InWorkConn(conn frpNet.Conn)

func (*HttpsProxy) Run

func (pxy *HttpsProxy) Run() (err error)

type Proxy

type Proxy interface {
	Run() error

	// InWorkConn accept work connections registered to server.
	InWorkConn(conn frpNet.Conn)

	Close()
	log.Logger
}

Proxy defines how to deal with work connections for different proxy type.

func NewProxy

func NewProxy(pxyConf config.ProxyConf) (pxy Proxy)

type ProxyManager added in v0.15.0

type ProxyManager struct {
	log.Logger
	// contains filtered or unexported fields
}

func NewProxyManager added in v0.15.0

func NewProxyManager(ctl *Control, msgSendCh chan (msg.Message), logPrefix string) *ProxyManager

func (*ProxyManager) CheckAndStartProxy added in v0.15.0

func (pm *ProxyManager) CheckAndStartProxy(pxyStatus []string)

pxyStatus: check and start proxies in which status

func (*ProxyManager) CloseProxies added in v0.15.0

func (pm *ProxyManager) CloseProxies()

func (*ProxyManager) GetAllProxyStatus added in v0.15.0

func (pm *ProxyManager) GetAllProxyStatus() []*ProxyStatus

func (*ProxyManager) HandleWorkConn added in v0.15.0

func (pm *ProxyManager) HandleWorkConn(name string, workConn frpNet.Conn)

func (*ProxyManager) Reload added in v0.15.0

func (pm *ProxyManager) Reload(pxyCfgs map[string]config.ProxyConf, visitorCfgs map[string]config.ProxyConf, startNow bool) error

func (*ProxyManager) Reset added in v0.15.0

func (pm *ProxyManager) Reset(msgSendCh chan (msg.Message), logPrefix string)

func (*ProxyManager) StartProxy added in v0.15.0

func (pm *ProxyManager) StartProxy(name string, remoteAddr string, serverRespErr string) error

type ProxyStatus added in v0.15.0

type ProxyStatus struct {
	Name   string           `json:"name"`
	Type   string           `json:"type"`
	Status string           `json:"status"`
	Err    string           `json:"err"`
	Cfg    config.ProxyConf `json:"cfg"`

	// Got from server.
	RemoteAddr string `json:"remote_addr"`
}

type ProxyStatusResp added in v0.15.0

type ProxyStatusResp struct {
	Name       string `json:"name"`
	Type       string `json:"type"`
	Status     string `json:"status"`
	Err        string `json:"err"`
	LocalAddr  string `json:"local_addr"`
	Plugin     string `json:"plugin"`
	RemoteAddr string `json:"remote_addr"`
}

func NewProxyStatusResp added in v0.15.0

func NewProxyStatusResp(status *ProxyStatus) ProxyStatusResp

type ProxyWrapper added in v0.15.0

type ProxyWrapper struct {
	Name   string
	Type   string
	Status string
	Err    string
	Cfg    config.ProxyConf

	RemoteAddr string
	// contains filtered or unexported fields
}

func NewProxyWrapper added in v0.15.0

func NewProxyWrapper(cfg config.ProxyConf) *ProxyWrapper

func (*ProxyWrapper) Close added in v0.15.0

func (pw *ProxyWrapper) Close()

func (*ProxyWrapper) GetStatus added in v0.15.0

func (pw *ProxyWrapper) GetStatus() *ProxyStatus

func (*ProxyWrapper) GetStatusStr added in v0.16.0

func (pw *ProxyWrapper) GetStatusStr() string

func (*ProxyWrapper) InWorkConn added in v0.15.0

func (pw *ProxyWrapper) InWorkConn(workConn frpNet.Conn)

func (*ProxyWrapper) Start added in v0.15.0

func (pw *ProxyWrapper) Start(remoteAddr string, serverRespErr string) error

func (*ProxyWrapper) WaitStart added in v0.16.0

func (pw *ProxyWrapper) WaitStart()

type ReloadResp added in v0.13.0

type ReloadResp struct {
	GeneralResponse
}

api/reload

type Service

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

func NewService

func NewService(pxyCfgs map[string]config.ProxyConf, visitorCfgs map[string]config.ProxyConf) (svr *Service)

func (*Service) Close added in v0.13.0

func (svr *Service) Close()

func (*Service) Run

func (svr *Service) Run() error

func (*Service) RunAdminServer added in v0.13.0

func (svr *Service) RunAdminServer(addr string, port int) (err error)

type StatusResp added in v0.15.0

type StatusResp struct {
	Tcp   []ProxyStatusResp `json:"tcp"`
	Udp   []ProxyStatusResp `json:"udp"`
	Http  []ProxyStatusResp `json:"http"`
	Https []ProxyStatusResp `json:"https"`
	Stcp  []ProxyStatusResp `json:"stcp"`
	Xtcp  []ProxyStatusResp `json:"xtcp"`
}

type StcpProxy added in v0.13.0

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

STCP

func (*StcpProxy) Close added in v0.13.0

func (pxy *StcpProxy) Close()

func (*StcpProxy) InWorkConn added in v0.13.0

func (pxy *StcpProxy) InWorkConn(conn frpNet.Conn)

func (*StcpProxy) Run added in v0.13.0

func (pxy *StcpProxy) Run() (err error)

type StcpVisitor added in v0.14.0

type StcpVisitor struct {
	BaseVisitor
	// contains filtered or unexported fields
}

func (*StcpVisitor) Close added in v0.14.0

func (sv *StcpVisitor) Close()

func (*StcpVisitor) Run added in v0.14.0

func (sv *StcpVisitor) Run() (err error)

type TcpProxy

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

TCP

func (*TcpProxy) Close

func (pxy *TcpProxy) Close()

func (*TcpProxy) InWorkConn

func (pxy *TcpProxy) InWorkConn(conn frpNet.Conn)

func (*TcpProxy) Run

func (pxy *TcpProxy) Run() (err error)

type UdpProxy

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

UDP

func (*UdpProxy) Close

func (pxy *UdpProxy) Close()

func (*UdpProxy) InWorkConn

func (pxy *UdpProxy) InWorkConn(conn frpNet.Conn)

func (*UdpProxy) Run

func (pxy *UdpProxy) Run() (err error)

type Visitor added in v0.14.0

type Visitor interface {
	Run() error
	Close()
	log.Logger
}

Visitor is used for forward traffics from local port tot remote service.

func NewVisitor added in v0.14.0

func NewVisitor(ctl *Control, pxyConf config.ProxyConf) (visitor Visitor)

type XtcpProxy added in v0.14.0

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

XTCP

func (*XtcpProxy) Close added in v0.14.0

func (pxy *XtcpProxy) Close()

func (*XtcpProxy) InWorkConn added in v0.14.0

func (pxy *XtcpProxy) InWorkConn(conn frpNet.Conn)

func (*XtcpProxy) Run added in v0.14.0

func (pxy *XtcpProxy) Run() (err error)

type XtcpVisitor added in v0.14.0

type XtcpVisitor struct {
	BaseVisitor
	// contains filtered or unexported fields
}

func (*XtcpVisitor) Close added in v0.14.0

func (sv *XtcpVisitor) Close()

func (*XtcpVisitor) Run added in v0.14.0

func (sv *XtcpVisitor) Run() (err error)

Jump to

Keyboard shortcuts

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