Documentation
¶
Index ¶
- func InitSessionsCtl()
- func LoadConfigFromIoTManager() (err error)
- type HttpProxy
- type SessionsManager
- func (sm *SessionsManager) AddOrUpdateHttpProxy(httpProxy *HttpProxy) 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) DelSession(id string)
- func (sm *SessionsManager) DeleteOneHTTP(ctx context.Context, in *pb.HTTPConfig) (*emptypb.Empty, error)
- func (sm *SessionsManager) GetAllHTTP(ctx context.Context, in *pb.Device) (*pb.HTTPList, error)
- func (sm *SessionsManager) GetAllHttpProxy() map[string]*HttpProxy
- 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) GetSessionByID(id string) (*session.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) SetSession(id string, session *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 ¶
This section is empty.
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 (*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 ¶
Connect to tcp
func (*SessionsManager) ConnectToTls ¶
func (*SessionsManager) ConnectToUdp ¶
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 (*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 (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)
Click to show internal directories.
Click to hide internal directories.