client

package
v0.8.698 Latest Latest
Warning

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

Go to latest
Published: Aug 29, 2017 License: Apache-2.0 Imports: 20 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func GetFtpPasvPort

func GetFtpPasvPort(msg string) (port int)

func GetRunIdByInterfaceName

func GetRunIdByInterfaceName() (runId string)

func HandleFtpControlConnection

func HandleFtpControlConnection(localInfo *config.LocalSvrConf, bp *BaseProxy, cfg *config.FtpProxyConf, workConn frpNet.Conn)

func HandleTcpWorkConnection

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

Common handler for tcp work connections.

func IsIpv4

func IsIpv4(host string) bool

func JoinFtpControl

func JoinFtpControl(fc io.ReadWriteCloser, fs io.ReadWriteCloser, bp *BaseProxy,
	cfg *config.FtpProxyConf, localInfo *config.LocalSvrConf) (inCount int64, outCount int64)

handler for ftp work connection

func NewFtpPasv

func NewFtpPasv(port int) (newMsg string)

func SetFtpDataProxyLocalServer

func SetFtpDataProxyLocalServer(bp *BaseProxy, cfg *config.FtpProxyConf, localInfo *config.LocalSvrConf, port int) (err error)

todo

Types

type BaseProxy

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

type Control

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

func NewControl

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

func (*Control) NewWorkConn

func (ctl *Control) NewWorkConn()

func (*Control) Run

func (ctl *Control) Run() error

1. login 2. start reader() writer() manager() 3. connection closed 4. In reader(): close closedCh and exit, controler() get it 5. In controler(): close readCh and sendCh, manager() and writer() will exit 6. In controler(): ini readCh, sendCh, closedCh 7. In controler(): start new reader(), writer(), manager() controler() will keep running

type FtpProxy

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

ftp

func (*FtpProxy) Close

func (pxy *FtpProxy) Close()

func (*FtpProxy) InWorkConn

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

func (*FtpProxy) Run

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

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 work for different proxy type.

func NewProxy

func NewProxy(ctl *Control, pxyConf config.ProxyConf) (pxy Proxy)

type Service

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

func NewService

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

func (*Service) Run

func (svr *Service) Run() 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)

Jump to

Keyboard shortcuts

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