manager

package
v1.2.2 Latest Latest
Warning

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

Go to latest
Published: Feb 3, 2024 License: MIT Imports: 35 Imported by: 0

Documentation

Index

Constants

View Source
const IoTManagerAddr = "iot-manager.iotserv.com:8881"

Variables

This section is empty.

Functions

func InitSessionsCtl

func InitSessionsCtl()

func LoadConfigFromIoTManager

func LoadConfigFromIoTManager() (err error)

Types

type HttpProxy

type HttpProxy struct {
	Domain           string
	RunId            string
	RemoteIP         string
	RemotePort       int
	UserName         string
	Password         string
	IfHttps          bool
	Description      string
	RemotePortStatus bool
}

服务结构

func (*HttpProxy) UpdateRemotePortStatus

func (hp *HttpProxy) UpdateRemotePortStatus()

type SessionsManager

type SessionsManager struct {
	Session map[string]*session.Session
	//TODO 设置和使用,还有用于黑白名单使用的存储
	HttpProxyRuntimeStorage runtimeStorage.RuntimeStorageIfce
	pb.UnimplementedHttpManagerServer
}
var SessionsCtl SessionsManager

func (*SessionsManager) AddOrUpdateHttpProxy

func (sm *SessionsManager) AddOrUpdateHttpProxy(httpProxy *HttpProxy) error

func (*SessionsManager) CheckRemoteStatus

func (sm *SessionsManager) CheckRemoteStatus(targetType, runId, remoteIp string, remotePort int) (bool, error)

检查远端网关口的可用性,可用true

func (*SessionsManager) ConnectToSSH

func (sm *SessionsManager) ConnectToSSH(runId, remoteIP string, remotePort int, userName, passWord string) (stream net.Conn, err error)

func (*SessionsManager) ConnectToSerialPort

func (sm *SessionsManager) ConnectToSerialPort(runId string, msgsd *models.ConnectSerialPort) (net.Conn, error)

Connect to Serial Port

func (*SessionsManager) ConnectToTapTun

func (sm *SessionsManager) ConnectToTapTun(runId string) (net.Conn, error)

func (*SessionsManager) ConnectToTcp

func (sm *SessionsManager) ConnectToTcp(runId, remoteIp string, remotePort int) (net.Conn, error)

Connect to tcp

func (*SessionsManager) ConnectToTls

func (sm *SessionsManager) ConnectToTls(runId, remoteIp string, remotePort int) (net.Conn, error)

func (*SessionsManager) ConnectToUdp

func (sm *SessionsManager) ConnectToUdp(runId, remoteIp string, remotePort int) (net.Conn, error)

Connect to udp

func (*SessionsManager) ConnectToWs

func (sm *SessionsManager) ConnectToWs(runId, targetUrl, protocol, origin string) (net.Conn, error)

func (*SessionsManager) CreateOneHTTP

func (sm *SessionsManager) CreateOneHTTP(ctx context.Context, in *pb.HTTPConfig) (*pb.HTTPConfig, error)

func (*SessionsManager) DelHttpProxy

func (sm *SessionsManager) DelHttpProxy(domain string)

func (*SessionsManager) DelSession

func (sess *SessionsManager) DelSession(id string)

func (*SessionsManager) DeleteOneHTTP

func (sm *SessionsManager) DeleteOneHTTP(ctx context.Context, in *pb.HTTPConfig) (*emptypb.Empty, error)

func (*SessionsManager) GetAllHTTP

func (sm *SessionsManager) GetAllHTTP(ctx context.Context, in *pb.Device) (*pb.HTTPList, error)

func (*SessionsManager) GetAllHttpProxy

func (sm *SessionsManager) GetAllHttpProxy() map[string]*HttpProxy

func (*SessionsManager) GetNewWorkConnByID

func (sess *SessionsManager) GetNewWorkConnByID(id string) (net.Conn, error)

func (*SessionsManager) GetOneHTTP

func (sm *SessionsManager) GetOneHTTP(ctx context.Context, in *pb.HTTPConfig) (*pb.HTTPConfig, error)

func (*SessionsManager) GetOneHttpProxy

func (sm *SessionsManager) GetOneHttpProxy(domain string) (*HttpProxy, error)

TODO 根据配置文件确定从内存获取映射表还是redis

func (*SessionsManager) GetSessionByID

func (sess *SessionsManager) GetSessionByID(id string) (*session.Session, error)

func (*SessionsManager) GetStreamByID

func (sess *SessionsManager) GetStreamByID(id string) (net.Conn, error)

func (*SessionsManager) ListenMulticastUDP

func (sm *SessionsManager) ListenMulticastUDP(runId, ip string, port uint) (net.Conn, error)

func (SessionsManager) RunKCP

func (sess SessionsManager) RunKCP()

func (SessionsManager) RunTCP

func (sess SessionsManager) RunTCP()

func (SessionsManager) RunTLS

func (sess SessionsManager) RunTLS()

func (*SessionsManager) ServeHTTP

func (sm *SessionsManager) ServeHTTP(w http.ResponseWriter, r *http.Request)

func (*SessionsManager) SetSession

func (sess *SessionsManager) SetSession(id string, session *session.Session)

func (SessionsManager) StartHttpListenAndServ

func (sess SessionsManager) StartHttpListenAndServ()

http(s)代理端口监听

func (*SessionsManager) StartgRpcListenAndServ

func (sm *SessionsManager) StartgRpcListenAndServ()

grpc

func (*SessionsManager) UpdateAllHttpRemotePortStatus

func (sm *SessionsManager) UpdateAllHttpRemotePortStatus()

func (*SessionsManager) UpdateHttpProxyByMap

func (sm *SessionsManager) UpdateHttpProxyByMap(HttpProxyMap map[string]*HttpProxy)

func (*SessionsManager) UpdateOneHTTP

func (sm *SessionsManager) UpdateOneHTTP(ctx context.Context, in *pb.HTTPConfig) (*pb.HTTPConfig, error)

Jump to

Keyboard shortcuts

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