Documentation
¶
Index ¶
- Constants
- Variables
- func NewKeyMap() *keymap
- type App
- func (a *App) AddClient(clientID string) error
- func (a *App) AddClientTunnel(clientID string, tunnel config.Listener) error
- func (a *App) Config() *config.ServerConfig
- func (a *App) GetClient(clientID string) (*config.Client, error)
- func (a *App) GetClientTunnel(clientID string, tunnelID string) (*config.Listener, error)
- func (a *App) GetClientTunnels(clientID string) ([]*config.Listener, error)
- func (a *App) GetKey(clientID string) (string, error)
- func (a *App) GetOnline(clientID string) (bool, error)
- func (a *App) RemoveClient(clientID string) error
- func (a *App) RemoveClientTunnel(clientID string, tunnelID string) error
- func (a *App) SaveConfig() error
- func (a *App) Start() error
- type Gateway
- type IOdata
- type Listener
- type ListenerMgr
- func (lm *ListenerMgr) AddClient(clientID string) error
- func (lm *ListenerMgr) AddListener(clientID string, listenerConfig *config.Listener) error
- func (lm *ListenerMgr) CheckExist(clientID string) bool
- func (lm *ListenerMgr) RemoveClient(clientID string) error
- func (lm *ListenerMgr) RemoveListener(clientID string, tunnelID string) error
- type Session
- type SessionManager
- type UDPSessionManage
- type UDPsession
Constants ¶
View Source
const ( TCP = "tcp" UDP = "udp" )
Variables ¶
View Source
var ( ErrNotConnected = errors.New("not connected") ErrClientIsOnline = errors.New("client is online") )
Functions ¶
Types ¶
type App ¶ added in v1.2.0
type App struct {
// contains filtered or unexported fields
}
func (*App) AddClientTunnel ¶ added in v1.2.0
func (*App) Config ¶ added in v1.2.0
func (a *App) Config() *config.ServerConfig
func (*App) GetClientTunnel ¶ added in v1.2.0
func (*App) GetClientTunnels ¶ added in v1.2.0
func (*App) RemoveClient ¶ added in v1.2.0
func (*App) RemoveClientTunnel ¶ added in v1.2.0
func (*App) SaveConfig ¶ added in v1.2.0
type Gateway ¶
type Gateway struct {
// contains filtered or unexported fields
}
func NewGateway ¶
func NewGateway(conf config.Gateway, listenerMgr *ListenerMgr, sessionMgr *SessionManager) *Gateway
type Listener ¶
type Listener struct { Uuid string Encrypt bool Key []byte // contains filtered or unexported fields }
func NewListener ¶
func NewListener(listenerConfig *config.Listener, key []byte, sessionMgr *SessionManager, udpSessionMgr *UDPSessionManage) *Listener
func (*Listener) ListenAndServe ¶
type ListenerMgr ¶ added in v1.2.0
type ListenerMgr struct {
// contains filtered or unexported fields
}
func NewListenerMgr ¶ added in v1.2.0
func NewListenerMgr(sessionMgr *SessionManager, udpSessionMgr *UDPSessionManage, keymap *keymap) *ListenerMgr
func (*ListenerMgr) AddClient ¶ added in v1.2.0
func (lm *ListenerMgr) AddClient(clientID string) error
func (*ListenerMgr) AddListener ¶ added in v1.2.0
func (lm *ListenerMgr) AddListener(clientID string, listenerConfig *config.Listener) error
func (*ListenerMgr) CheckExist ¶ added in v1.2.0
func (lm *ListenerMgr) CheckExist(clientID string) bool
func (*ListenerMgr) RemoveClient ¶ added in v1.2.0
func (lm *ListenerMgr) RemoveClient(clientID string) error
func (*ListenerMgr) RemoveListener ¶ added in v1.2.0
func (lm *ListenerMgr) RemoveListener(clientID string, tunnelID string) error
type SessionManager ¶
type SessionManager struct {
// contains filtered or unexported fields
}
func NewSessionManager ¶
func NewSessionManager() *SessionManager
func (*SessionManager) AddSession ¶
func (*SessionManager) CheckAlive ¶
func (sm *SessionManager) CheckAlive(clientID string)
检测到客户端离线后删除session
func (*SessionManager) GetSessionConnByID ¶
func (sm *SessionManager) GetSessionConnByID(clientID string) (common.VeilConn, error)
type UDPSessionManage ¶
type UDPSessionManage struct {
// contains filtered or unexported fields
}
管理UDP连接
func NewUDPSessionManage ¶
func NewUDPSessionManage() *UDPSessionManage
func (*UDPSessionManage) Add ¶
func (usm *UDPSessionManage) Add(key string, session *UDPsession)
func (*UDPSessionManage) CleanCache ¶
func (usm *UDPSessionManage) CleanCache(key string)
func (*UDPSessionManage) Get ¶
func (usm *UDPSessionManage) Get(key string) (*UDPsession, error)
type UDPsession ¶
Click to show internal directories.
Click to hide internal directories.