services

package
v0.0.0-...-8551186 Latest Latest
Warning

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

Go to latest
Published: May 14, 2018 License: GPL-3.0 Imports: 25 Imported by: 0

Documentation

Index

Constants

View Source
const (
	TYPE_TCP             = "tcp"
	TYPE_UDP             = "udp"
	TYPE_HTTP            = "http"
	TYPE_TLS             = "tls"
	TYPE_KCP             = "kcp"
	CONN_CLIENT_CONTROL  = uint8(1)
	CONN_CLIENT_HEARBEAT = uint8(2)
	CONN_SERVER_HEARBEAT = uint8(3)
	CONN_SERVER          = uint8(4)
	CONN_CLIENT          = uint8(5)
	CONN_SERVER_MUX      = uint8(6)
	CONN_CLIENT_MUX      = uint8(7)
)

Variables

This section is empty.

Functions

func Regist

func Regist(name string, s Service, args interface{})

func Stop

func Stop(name string)

Types

type HTTP

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

func (*HTTP) CheckArgs

func (s *HTTP) CheckArgs() (err error)

func (*HTTP) Clean

func (s *HTTP) Clean()

func (*HTTP) ConnectSSH

func (s *HTTP) ConnectSSH() (err error)

func (*HTTP) InitBasicAuth

func (s *HTTP) InitBasicAuth() (err error)

func (*HTTP) InitOutConnPool

func (s *HTTP) InitOutConnPool()

func (*HTTP) InitService

func (s *HTTP) InitService() (err error)

func (*HTTP) IsBasicAuth

func (s *HTTP) IsBasicAuth() bool

func (*HTTP) IsDeadLoop

func (s *HTTP) IsDeadLoop(inLocalAddr string, host string) bool

func (*HTTP) OutToTCP

func (s *HTTP) OutToTCP(useProxy bool, address string, inConn *net.Conn, req *utils.HTTPRequest) (err interface{})

func (*HTTP) Resolve

func (s *HTTP) Resolve(address string) string

func (*HTTP) Start

func (s *HTTP) Start(args interface{}) (err error)

func (*HTTP) StopService

func (s *HTTP) StopService()

type HTTPArgs

type HTTPArgs struct {
	Parent              *string
	CertFile            *string
	KeyFile             *string
	CaCertFile          *string
	CaCertBytes         []byte
	CertBytes           []byte
	KeyBytes            []byte
	Local               *string
	Always              *bool
	HTTPTimeout         *int
	Interval            *int
	Blocked             *string
	Direct              *string
	AuthFile            *string
	Auth                *[]string
	AuthURL             *string
	AuthURLOkCode       *int
	AuthURLTimeout      *int
	AuthURLRetry        *int
	ParentType          *string
	LocalType           *string
	Timeout             *int
	CheckParentInterval *int
	SSHKeyFile          *string
	SSHKeyFileSalt      *string
	SSHPassword         *string
	SSHUser             *string
	SSHKeyBytes         []byte
	SSHAuthMethod       ssh.AuthMethod
	KCP                 kcpcfg.KCPConfigArgs
	LocalIPS            *[]string
	DNSAddress          *string
	DNSTTL              *int
	LocalKey            *string
	ParentKey           *string
	LocalCompress       *bool
	ParentCompress      *bool
}

type MuxBridge

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

func (*MuxBridge) CheckArgs

func (s *MuxBridge) CheckArgs() (err error)

func (*MuxBridge) Clean

func (s *MuxBridge) Clean()

func (*MuxBridge) InitService

func (s *MuxBridge) InitService() (err error)

func (*MuxBridge) Start

func (s *MuxBridge) Start(args interface{}) (err error)

func (*MuxBridge) StopService

func (s *MuxBridge) StopService()

type MuxBridgeArgs

type MuxBridgeArgs struct {
	CertFile   *string
	KeyFile    *string
	CertBytes  []byte
	KeyBytes   []byte
	Local      *string
	LocalType  *string
	Timeout    *int
	IsCompress *bool
	KCP        kcpcfg.KCPConfigArgs
}

type MuxClient

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

func (*MuxClient) CheckArgs

func (s *MuxClient) CheckArgs() (err error)

func (*MuxClient) Clean

func (s *MuxClient) Clean()

func (*MuxClient) InitService

func (s *MuxClient) InitService() (err error)

func (*MuxClient) ServeConn

func (s *MuxClient) ServeConn(inConn *smux.Stream, localAddr, ID string)

func (*MuxClient) ServeUDP

func (s *MuxClient) ServeUDP(inConn *smux.Stream, localAddr, ID string)

func (*MuxClient) Start

func (s *MuxClient) Start(args interface{}) (err error)

func (*MuxClient) StopService

func (s *MuxClient) StopService()

type MuxClientArgs

type MuxClientArgs struct {
	Parent       *string
	ParentType   *string
	CertFile     *string
	KeyFile      *string
	CertBytes    []byte
	KeyBytes     []byte
	Key          *string
	Timeout      *int
	IsCompress   *bool
	SessionCount *int
	KCP          kcpcfg.KCPConfigArgs
}

type MuxServer

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

func (*MuxServer) CheckArgs

func (s *MuxServer) CheckArgs() (err error)

func (*MuxServer) Clean

func (s *MuxServer) Clean()

func (*MuxServer) GetConn

func (s *MuxServer) GetConn(index string) (conn net.Conn, err error)

func (*MuxServer) GetOutConn

func (s *MuxServer) GetOutConn() (outConn net.Conn, ID string, err error)

func (*MuxServer) InitService

func (s *MuxServer) InitService() (err error)

func (*MuxServer) Start

func (s *MuxServer) Start(args interface{}) (err error)

func (*MuxServer) StopService

func (s *MuxServer) StopService()

func (*MuxServer) UDPConnDeamon

func (s *MuxServer) UDPConnDeamon()

type MuxServerArgs

type MuxServerArgs struct {
	Parent       *string
	ParentType   *string
	CertFile     *string
	KeyFile      *string
	CertBytes    []byte
	KeyBytes     []byte
	Local        *string
	IsUDP        *bool
	Key          *string
	Remote       *string
	Timeout      *int
	Route        *[]string
	Mgr          *MuxServerManager
	IsCompress   *bool
	SessionCount *int
	KCP          kcpcfg.KCPConfigArgs
}

type MuxServerManager

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

func (*MuxServerManager) CheckArgs

func (s *MuxServerManager) CheckArgs() (err error)

func (*MuxServerManager) Clean

func (s *MuxServerManager) Clean()

func (*MuxServerManager) InitService

func (s *MuxServerManager) InitService() (err error)

func (*MuxServerManager) Start

func (s *MuxServerManager) Start(args interface{}) (err error)

func (*MuxServerManager) StopService

func (s *MuxServerManager) StopService()

type MuxUDPItem

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

type SPS

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

func (*SPS) CheckArgs

func (s *SPS) CheckArgs() (err error)

func (*SPS) Clean

func (s *SPS) Clean()

func (*SPS) InitBasicAuth

func (s *SPS) InitBasicAuth() (err error)

func (*SPS) InitOutConnPool

func (s *SPS) InitOutConnPool()

func (*SPS) InitService

func (s *SPS) InitService() (err error)

func (*SPS) IsBasicAuth

func (s *SPS) IsBasicAuth() bool

func (*SPS) OutToTCP

func (s *SPS) OutToTCP(inConn *net.Conn) (err error)

func (*SPS) Resolve

func (s *SPS) Resolve(address string) string

func (*SPS) Start

func (s *SPS) Start(args interface{}) (err error)

func (*SPS) StopService

func (s *SPS) StopService()

type SPSArgs

type SPSArgs struct {
	Parent            *string
	CertFile          *string
	KeyFile           *string
	CaCertFile        *string
	CaCertBytes       []byte
	CertBytes         []byte
	KeyBytes          []byte
	Local             *string
	ParentType        *string
	LocalType         *string
	Timeout           *int
	KCP               kcpcfg.KCPConfigArgs
	ParentServiceType *string
	DNSAddress        *string
	DNSTTL            *int
	AuthFile          *string
	Auth              *[]string
	AuthURL           *string
	AuthURLOkCode     *int
	AuthURLTimeout    *int
	AuthURLRetry      *int
	LocalIPS          *[]string
	ParentAuth        *string
	LocalKey          *string
	ParentKey         *string
	LocalCompress     *bool
	ParentCompress    *bool
}

func (*SPSArgs) Protocol

func (a *SPSArgs) Protocol() string

type ServerConn

type ServerConn struct {
	//ClientLocalAddr string //tcp:2.2.22:333@ID
	Conn *net.Conn
}

type Service

type Service interface {
	Start(args interface{}) (err error)
	Clean()
}

func NewHTTP

func NewHTTP() Service

func NewMuxBridge

func NewMuxBridge() Service

func NewMuxClient

func NewMuxClient() Service

func NewMuxServer

func NewMuxServer() Service

func NewMuxServerManager

func NewMuxServerManager() Service

func NewSPS

func NewSPS() Service

func NewSocks

func NewSocks() Service

func NewTCP

func NewTCP() Service

func NewTunnelBridge

func NewTunnelBridge() Service

func NewTunnelClient

func NewTunnelClient() Service

func NewTunnelServer

func NewTunnelServer() Service

func NewTunnelServerManager

func NewTunnelServerManager() Service

func NewUDP

func NewUDP() Service

type ServiceItem

type ServiceItem struct {
	S    Service
	Args interface{}
	Name string
}

func GetService

func GetService(name string) *ServiceItem

func Run

func Run(name string, args ...interface{}) (service *ServiceItem, err error)

type Socks

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

func (*Socks) CheckArgs

func (s *Socks) CheckArgs() (err error)

func (*Socks) Clean

func (s *Socks) Clean()

func (*Socks) ConnectSSH

func (s *Socks) ConnectSSH() (err error)

func (*Socks) InitBasicAuth

func (s *Socks) InitBasicAuth() (err error)

func (*Socks) InitService

func (s *Socks) InitService() (err error)

func (*Socks) IsBasicAuth

func (s *Socks) IsBasicAuth() bool

func (*Socks) IsDeadLoop

func (s *Socks) IsDeadLoop(inLocalAddr string, host string) bool

func (*Socks) Resolve

func (s *Socks) Resolve(address string) string

func (*Socks) Start

func (s *Socks) Start(args interface{}) (err error)

func (*Socks) StopService

func (s *Socks) StopService()

func (*Socks) UDPKey

func (s *Socks) UDPKey() []byte

type SocksArgs

type SocksArgs struct {
	Parent         *string
	ParentType     *string
	Local          *string
	LocalType      *string
	CertFile       *string
	KeyFile        *string
	CaCertFile     *string
	CaCertBytes    []byte
	CertBytes      []byte
	KeyBytes       []byte
	SSHKeyFile     *string
	SSHKeyFileSalt *string
	SSHPassword    *string
	SSHUser        *string
	SSHKeyBytes    []byte
	SSHAuthMethod  ssh.AuthMethod
	Timeout        *int
	Always         *bool
	Interval       *int
	Blocked        *string
	Direct         *string
	AuthFile       *string
	Auth           *[]string
	AuthURL        *string
	AuthURLOkCode  *int
	AuthURLTimeout *int
	AuthURLRetry   *int
	KCP            kcpcfg.KCPConfigArgs
	UDPParent      *string
	UDPLocal       *string
	LocalIPS       *[]string
	DNSAddress     *string
	DNSTTL         *int
	LocalKey       *string
	ParentKey      *string
	LocalCompress  *bool
	ParentCompress *bool
}

type TCP

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

func (*TCP) CheckArgs

func (s *TCP) CheckArgs() (err error)

func (*TCP) Clean

func (s *TCP) Clean()

func (*TCP) InitOutConnPool

func (s *TCP) InitOutConnPool()

func (*TCP) InitService

func (s *TCP) InitService() (err error)

func (*TCP) OutToTCP

func (s *TCP) OutToTCP(inConn *net.Conn) (err error)

func (*TCP) OutToUDP

func (s *TCP) OutToUDP(inConn *net.Conn) (err error)

func (*TCP) Start

func (s *TCP) Start(args interface{}) (err error)

func (*TCP) StopService

func (s *TCP) StopService()

type TCPArgs

type TCPArgs struct {
	Parent              *string
	CertFile            *string
	KeyFile             *string
	CertBytes           []byte
	KeyBytes            []byte
	Local               *string
	ParentType          *string
	LocalType           *string
	Timeout             *int
	CheckParentInterval *int
	KCP                 kcpcfg.KCPConfigArgs
}

func (*TCPArgs) Protocol

func (a *TCPArgs) Protocol() string

type TunnelBridge

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

func (*TunnelBridge) CheckArgs

func (s *TunnelBridge) CheckArgs() (err error)

func (*TunnelBridge) Clean

func (s *TunnelBridge) Clean()

func (*TunnelBridge) InitService

func (s *TunnelBridge) InitService() (err error)

func (*TunnelBridge) Start

func (s *TunnelBridge) Start(args interface{}) (err error)

func (*TunnelBridge) StopService

func (s *TunnelBridge) StopService()

type TunnelBridgeArgs

type TunnelBridgeArgs struct {
	Parent    *string
	CertFile  *string
	KeyFile   *string
	CertBytes []byte
	KeyBytes  []byte
	Local     *string
	Timeout   *int
	Mux       *bool
}

type TunnelClient

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

func (*TunnelClient) CheckArgs

func (s *TunnelClient) CheckArgs() (err error)

func (*TunnelClient) Clean

func (s *TunnelClient) Clean()

func (*TunnelClient) GetConn

func (s *TunnelClient) GetConn() (conn net.Conn, err error)

func (*TunnelClient) GetInConn

func (s *TunnelClient) GetInConn(typ uint8, data ...string) (outConn net.Conn, err error)

func (*TunnelClient) InitService

func (s *TunnelClient) InitService() (err error)

func (*TunnelClient) ServeConn

func (s *TunnelClient) ServeConn(localAddr, ID, serverID string)

func (*TunnelClient) ServeUDP

func (s *TunnelClient) ServeUDP(localAddr, ID, serverID string)

func (*TunnelClient) Start

func (s *TunnelClient) Start(args interface{}) (err error)

func (*TunnelClient) StopService

func (s *TunnelClient) StopService()

type TunnelClientArgs

type TunnelClientArgs struct {
	Parent    *string
	CertFile  *string
	KeyFile   *string
	CertBytes []byte
	KeyBytes  []byte
	Key       *string
	Timeout   *int
	Mux       *bool
}

type TunnelServer

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

func (*TunnelServer) CheckArgs

func (s *TunnelServer) CheckArgs() (err error)

func (*TunnelServer) Clean

func (s *TunnelServer) Clean()

func (*TunnelServer) GetConn

func (s *TunnelServer) GetConn() (conn net.Conn, err error)

func (*TunnelServer) GetOutConn

func (s *TunnelServer) GetOutConn(typ uint8) (outConn net.Conn, ID string, err error)

func (*TunnelServer) InitService

func (s *TunnelServer) InitService() (err error)

func (*TunnelServer) Start

func (s *TunnelServer) Start(args interface{}) (err error)

func (*TunnelServer) StopService

func (s *TunnelServer) StopService()

func (*TunnelServer) UDPConnDeamon

func (s *TunnelServer) UDPConnDeamon()

type TunnelServerArgs

type TunnelServerArgs struct {
	Parent    *string
	CertFile  *string
	KeyFile   *string
	CertBytes []byte
	KeyBytes  []byte
	Local     *string
	IsUDP     *bool
	Key       *string
	Remote    *string
	Timeout   *int
	Route     *[]string
	Mgr       *TunnelServerManager
	Mux       *bool
}

type TunnelServerManager

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

func (*TunnelServerManager) CheckArgs

func (s *TunnelServerManager) CheckArgs() (err error)

func (*TunnelServerManager) Clean

func (s *TunnelServerManager) Clean()

func (*TunnelServerManager) GetConn

func (s *TunnelServerManager) GetConn() (conn net.Conn, err error)

func (*TunnelServerManager) GetOutConn

func (s *TunnelServerManager) GetOutConn(typ uint8) (outConn net.Conn, ID string, err error)

func (*TunnelServerManager) InitService

func (s *TunnelServerManager) InitService() (err error)

func (*TunnelServerManager) Start

func (s *TunnelServerManager) Start(args interface{}) (err error)

func (*TunnelServerManager) StopService

func (s *TunnelServerManager) StopService()

type UDP

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

func (*UDP) CheckArgs

func (s *UDP) CheckArgs() (err error)

func (*UDP) Clean

func (s *UDP) Clean()

func (*UDP) GetConn

func (s *UDP) GetConn(connKey string) (conn net.Conn, isNew bool, err error)

func (*UDP) InitOutConnPool

func (s *UDP) InitOutConnPool()

func (*UDP) InitService

func (s *UDP) InitService() (err error)

func (*UDP) OutToTCP

func (s *UDP) OutToTCP(packet []byte, localAddr, srcAddr *net.UDPAddr) (err error)

func (*UDP) OutToUDP

func (s *UDP) OutToUDP(packet []byte, localAddr, srcAddr *net.UDPAddr) (err error)

func (*UDP) Start

func (s *UDP) Start(args interface{}) (err error)

func (*UDP) StopService

func (s *UDP) StopService()

type UDPArgs

type UDPArgs struct {
	Parent              *string
	CertFile            *string
	KeyFile             *string
	CertBytes           []byte
	KeyBytes            []byte
	Local               *string
	ParentType          *string
	Timeout             *int
	CheckParentInterval *int
}

type UDPItem

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

Directories

Path Synopsis

Jump to

Keyboard shortcuts

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