Documentation ¶
Index ¶
- Constants
- func InitSessionsCtl()
- func LoadConfigFromIoTManager() (err error)
- type HttpProxy
- type Session
- type SessionsManager
- func (sm *SessionsManager) AddHttpProxy(httpProxy *HttpProxy) error
- func (sess *SessionsManager) CheckRedisKeyExit(key string) (bool, error)
- func (sm *SessionsManager) CheckRemoteStatus(targetType, runId, remoteIp string, remotePort int) (bool, error)
- func (sm *SessionsManager) ConnectToSSH(runId, remoteIP string, remotePort int, userName, passWord string) (stream net.Conn, err error)
- func (sm *SessionsManager) ConnectToSerialPort(runId string, msgsd *models.ConnectSerialPort) (net.Conn, error)
- func (sm *SessionsManager) ConnectToTapTun(runId string) (net.Conn, error)
- func (sm *SessionsManager) ConnectToTcp(runId, remoteIp string, remotePort int) (net.Conn, error)
- func (sm *SessionsManager) ConnectToTls(runId, remoteIp string, remotePort int) (net.Conn, error)
- func (sm *SessionsManager) ConnectToUdp(runId, remoteIp string, remotePort int) (net.Conn, error)
- func (sm *SessionsManager) ConnectToWs(runId, targetUrl, protocol, origin string) (net.Conn, error)
- func (sm *SessionsManager) CreateOneHTTP(ctx context.Context, in *pb.HTTPConfig) (*pb.HTTPConfig, error)
- func (sm *SessionsManager) DelHttpProxy(domain string)
- func (sess *SessionsManager) DelRedisByKey(key string) error
- func (sess *SessionsManager) DelSession(id string)
- func (sm *SessionsManager) DeleteOneHTTP(ctx context.Context, in *pb.HTTPConfig) (*pb.ServerGoEmpty, error)
- func (sm *SessionsManager) GetAllHTTP(ctx context.Context, in *pb.Device) (*pb.HTTPList, error)
- func (sm *SessionsManager) GetAllHttpProxy() map[string]*HttpProxy
- func (sess *SessionsManager) GetAllRedisKey() ([]string, error)
- func (sess *SessionsManager) GetNewWorkConnByID(id string) (net.Conn, error)
- func (sm *SessionsManager) GetOneHTTP(ctx context.Context, in *pb.HTTPConfig) (*pb.HTTPConfig, error)
- func (sm *SessionsManager) GetOneHttpProxy(domain string) (*HttpProxy, error)
- func (sess *SessionsManager) GetRedisConn() (redis.Conn, error)
- func (sess *SessionsManager) GetRedisValueByKey(key string) (interface{}, error)
- func (sess *SessionsManager) GetRedisValueByKeyToBool(key string) (bool, error)
- func (sess *SessionsManager) GetRedisValueByKeyToBytes(key string) ([]byte, error)
- func (sess *SessionsManager) GetRedisValueByKeyToInt(key string) (int, error)
- func (sess *SessionsManager) GetRedisValueByKeyToString(key string) (string, error)
- func (sess *SessionsManager) GetSessionByID(id string) (*Session, error)
- func (sess *SessionsManager) GetStreamByID(id string) (net.Conn, error)
- func (sm *SessionsManager) ListenMulticastUDP(runId, ip string, port uint) (net.Conn, error)
- func (sess SessionsManager) RunKCP()
- func (sess SessionsManager) RunTCP()
- func (sess SessionsManager) RunTLS()
- func (sm *SessionsManager) ServeHTTP(w http.ResponseWriter, r *http.Request)
- func (sess *SessionsManager) SetRedisKeyValue(key string, value interface{}) error
- func (sess *SessionsManager) SetSession(id string, session *Session)
- func (sess SessionsManager) StartHttpListenAndServ()
- func (sm *SessionsManager) StartgRpcListenAndServ()
- func (sm *SessionsManager) UpdateAllHttpRemotePortStatus()
- func (sm *SessionsManager) UpdateHttpProxyByMap(HttpProxyMap map[string]*HttpProxy)
- func (sm *SessionsManager) UpdateOneHTTP(ctx context.Context, in *pb.HTTPConfig) (*pb.HTTPConfig, error)
Constants ¶
View Source
const IoTManagerAddr = "iot-manager.iotserv.com:8881"
Variables ¶
This section is empty.
Functions ¶
func InitSessionsCtl ¶ added in v1.1.54
func InitSessionsCtl()
func LoadConfigFromIoTManager ¶ added in v1.1.75
func LoadConfigFromIoTManager() (err error)
Types ¶
type HttpProxy ¶ added in v1.1.30
type HttpProxy struct { Domain string RunId string RemoteIP string RemotePort int UserName string Password string IfHttps bool Description string RemotePortStatus bool }
服务结构
func (*HttpProxy) UpdateRemotePortStatus ¶ added in v1.1.30
func (hp *HttpProxy) UpdateRemotePortStatus()
type Session ¶
type Session struct { Id string OS string ARCH string Version string DisableMuxer bool Conn *net.Conn GatewaySession *yamux.Session WorkConn chan net.Conn }
func (*Session) GetNewWorkConn ¶ added in v1.1.54
func (*Session) RequestNewWorkConn ¶ added in v1.1.54
type SessionsManager ¶ added in v1.1.30
type SessionsManager struct { Session map[string]*Session HttpProxyMap map[string]*HttpProxy RedisPool *redis.Pool pb.UnimplementedHttpManagerServer }
var SessionsCtl SessionsManager
func (*SessionsManager) AddHttpProxy ¶ added in v1.1.30
func (sm *SessionsManager) AddHttpProxy(httpProxy *HttpProxy) error
func (*SessionsManager) CheckRedisKeyExit ¶ added in v1.1.54
func (sess *SessionsManager) CheckRedisKeyExit(key string) (bool, error)
func (*SessionsManager) CheckRemoteStatus ¶ added in v1.1.30
func (sm *SessionsManager) CheckRemoteStatus(targetType, runId, remoteIp string, remotePort int) (bool, error)
检查远端网关口的可用性,可用true
func (*SessionsManager) ConnectToSSH ¶ added in v1.1.30
func (*SessionsManager) ConnectToSerialPort ¶ added in v1.1.30
func (sm *SessionsManager) ConnectToSerialPort(runId string, msgsd *models.ConnectSerialPort) (net.Conn, error)
Connect to Serial Port
func (*SessionsManager) ConnectToTapTun ¶ added in v1.1.30
func (sm *SessionsManager) ConnectToTapTun(runId string) (net.Conn, error)
func (*SessionsManager) ConnectToTcp ¶ added in v1.1.30
Connect to tcp
func (*SessionsManager) ConnectToTls ¶ added in v1.1.30
func (*SessionsManager) ConnectToUdp ¶ added in v1.1.30
Connect to udp
func (*SessionsManager) ConnectToWs ¶ added in v1.1.30
func (sm *SessionsManager) ConnectToWs(runId, targetUrl, protocol, origin string) (net.Conn, error)
func (*SessionsManager) CreateOneHTTP ¶ added in v1.1.30
func (sm *SessionsManager) CreateOneHTTP(ctx context.Context, in *pb.HTTPConfig) (*pb.HTTPConfig, error)
grpc
func (*SessionsManager) DelHttpProxy ¶ added in v1.1.30
func (sm *SessionsManager) DelHttpProxy(domain string)
func (*SessionsManager) DelRedisByKey ¶ added in v1.1.54
func (sess *SessionsManager) DelRedisByKey(key string) error
func (*SessionsManager) DelSession ¶ added in v1.1.30
func (sess *SessionsManager) DelSession(id string)
func (*SessionsManager) DeleteOneHTTP ¶ added in v1.1.30
func (sm *SessionsManager) DeleteOneHTTP(ctx context.Context, in *pb.HTTPConfig) (*pb.ServerGoEmpty, error)
func (*SessionsManager) GetAllHTTP ¶ added in v1.1.30
func (sm *SessionsManager) GetAllHTTP(ctx context.Context, in *pb.Device) (*pb.HTTPList, error)
func (*SessionsManager) GetAllHttpProxy ¶ added in v1.1.30
func (sm *SessionsManager) GetAllHttpProxy() map[string]*HttpProxy
func (*SessionsManager) GetAllRedisKey ¶ added in v1.1.54
func (sess *SessionsManager) GetAllRedisKey() ([]string, error)
func (*SessionsManager) GetNewWorkConnByID ¶ added in v1.1.54
func (sess *SessionsManager) GetNewWorkConnByID(id string) (net.Conn, error)
func (*SessionsManager) GetOneHTTP ¶ added in v1.1.30
func (sm *SessionsManager) GetOneHTTP(ctx context.Context, in *pb.HTTPConfig) (*pb.HTTPConfig, error)
func (*SessionsManager) GetOneHttpProxy ¶ added in v1.1.30
func (sm *SessionsManager) GetOneHttpProxy(domain string) (*HttpProxy, error)
TODO 根据配置文件确定从内存获取映射表还是redis
func (*SessionsManager) GetRedisConn ¶ added in v1.1.54
func (sess *SessionsManager) GetRedisConn() (redis.Conn, error)
Redis Method
func (*SessionsManager) GetRedisValueByKey ¶ added in v1.1.54
func (sess *SessionsManager) GetRedisValueByKey(key string) (interface{}, error)
func (*SessionsManager) GetRedisValueByKeyToBool ¶ added in v1.1.54
func (sess *SessionsManager) GetRedisValueByKeyToBool(key string) (bool, error)
func (*SessionsManager) GetRedisValueByKeyToBytes ¶ added in v1.1.54
func (sess *SessionsManager) GetRedisValueByKeyToBytes(key string) ([]byte, error)
func (*SessionsManager) GetRedisValueByKeyToInt ¶ added in v1.1.54
func (sess *SessionsManager) GetRedisValueByKeyToInt(key string) (int, error)
func (*SessionsManager) GetRedisValueByKeyToString ¶ added in v1.1.54
func (sess *SessionsManager) GetRedisValueByKeyToString(key string) (string, error)
func (*SessionsManager) GetSessionByID ¶ added in v1.1.54
func (sess *SessionsManager) GetSessionByID(id string) (*Session, error)
func (*SessionsManager) GetStreamByID ¶ added in v1.1.54
func (sess *SessionsManager) GetStreamByID(id string) (net.Conn, error)
func (*SessionsManager) ListenMulticastUDP ¶ added in v1.1.30
func (SessionsManager) RunKCP ¶ added in v1.1.30
func (sess SessionsManager) RunKCP()
func (SessionsManager) RunTCP ¶ added in v1.1.30
func (sess SessionsManager) RunTCP()
func (SessionsManager) RunTLS ¶ added in v1.1.30
func (sess SessionsManager) RunTLS()
func (*SessionsManager) ServeHTTP ¶ added in v1.1.30
func (sm *SessionsManager) ServeHTTP(w http.ResponseWriter, r *http.Request)
func (*SessionsManager) SetRedisKeyValue ¶ added in v1.1.54
func (sess *SessionsManager) SetRedisKeyValue(key string, value interface{}) error
func (*SessionsManager) SetSession ¶ added in v1.1.30
func (sess *SessionsManager) SetSession(id string, session *Session)
func (SessionsManager) StartHttpListenAndServ ¶ added in v1.1.30
func (sess SessionsManager) StartHttpListenAndServ()
http(s)代理端口监听
func (*SessionsManager) StartgRpcListenAndServ ¶ added in v1.1.30
func (sm *SessionsManager) StartgRpcListenAndServ()
func (*SessionsManager) UpdateAllHttpRemotePortStatus ¶ added in v1.1.54
func (sm *SessionsManager) UpdateAllHttpRemotePortStatus()
func (*SessionsManager) UpdateHttpProxyByMap ¶ added in v1.1.54
func (sm *SessionsManager) UpdateHttpProxyByMap(HttpProxyMap map[string]*HttpProxy)
func (*SessionsManager) UpdateOneHTTP ¶ added in v1.1.73
func (sm *SessionsManager) UpdateOneHTTP(ctx context.Context, in *pb.HTTPConfig) (*pb.HTTPConfig, error)
Click to show internal directories.
Click to hide internal directories.