Documentation ¶
Index ¶
Constants ¶
View Source
const (
AGENT_CMD_REGISTER uint8 = 1
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AgentCmdReq ¶
type AgentCmdResp ¶
type ClientCacheInfo ¶ added in v0.0.12
type ClientCacheInfo struct { IP string `json:"ip"` // CIDR format? PublicKey string `json:"public_key"` // PSK string `json:"psk"` // ClientId string `json:"client_id"` // 可以是client-id/pop-id/connector-id Type uint8 `json:"type"` // pop/connector/client, pop service订阅消息,需要知道对端是什么类型,他没有访问数据库的权限 }
Client can be pop/connector/client 对pop而言,连接到当前pop的所有设备(包括client/pop/connector)都可以看做是pop的client 对client而言,一个client id同时只能有一个client在线,多个uid也不行, 需要UID的话,可以从db里面获取,而不是从cache里,handlerClientLogin 发生在登录的时候,可以拿到client对应的user的info
func (*ClientCacheInfo) GetClientAddCmd ¶ added in v0.0.12
func (c *ClientCacheInfo) GetClientAddCmd() (fullCmd, b64 string)
func (*ClientCacheInfo) GetClientB64 ¶ added in v0.0.12
func (c *ClientCacheInfo) GetClientB64() (raw, b64 string)
func (*ClientCacheInfo) GetClientWgPeer ¶ added in v0.0.12
func (c *ClientCacheInfo) GetClientWgPeer(toRemove bool) (peerConfig *wg_core.WgPeer, err error)
peer is client/connector/pop toRemove means peer is offline/session timeout/kickoff
type ConnectorRegisterReq ¶
type ConnectorRegisterResp ¶
type ConnectorRegisterResp struct { // pop's info Pop ConnectorRegisterRespPop `json:"pop"` // connector's info WgPublicKey string `json:"wg_public_key,omitempty"` // [optional][connector]agent's, controller 分配 WgPrivateKey string `json:"wg_private_key,omitempty"` // [optional][connector]agent's, controller 分配 WgPSK string `json:"wg_psk"` // [optional]connector's, WgIP string `json:"wg_ip"` // [required]connector's, controller 分配给 connector 的 wg IP // connector's non-wg info ConnectorId string `json:"connector_id"` // [required]connector's Access bool `json:"access,omitempty"` // Error string `json:"error,omitempty"` // }
type ConnectorRegisterRespPop ¶ added in v0.0.8
type ConnectorRegisterRespPop struct { PopId string `json:"pop_id"` // pop id PublicKey string `json:"public_key"` // pop's public_key WgIP string `json:"wg_ip"` // pop's wg IP Network string `json:"network"` // pop's network, cidr format: 10.0.0.1/24 Endpoint string `json:"endpoint"` // pop's Endpoint Port int `json:"port"` // pop's listen port AllowedIPs string `json:"allowed_ips,omitempty"` // DNS string `json:"dns,omitempty"` // }
type PopRegisterIfaceResp ¶
type PopRegisterIfaceResp struct { WgEndpoint string `json:"endpoint"` // required, public-ip:listen-port WgPort int `json:"port"` // required, pop's listen-port WgNetwork string `json:"network"` // required, wg ip pool, generate by pop-controller WgAllowedIps string `json:"allowed_ips"` // required, generate by pop-controller WgDns string `json:"dns"` // ? WgIP string `json:"wg_ip"` // required, internal wg ip for wg client to connect, should be consist with Network }
type PopRegisterReq ¶
type PopRegisterResp ¶
type PopRegisterResp struct { PopId string `json:"pop_id,omitempty"` WgPublicKey string `json:"public_key,omitempty"` // pop's, all the interfaces share the same key WgPrivateKey string `json:"private_key,omitempty"` // pop's WgInterfaces map[string]PopRegisterIfaceResp `json:"interfaces,omitempty"` // pop's Clients []ClientCacheInfo `json:"clients,omitempty"` // include client/pop/connector }
type WgClientConnReq ¶ added in v0.0.8
type WgClientConnResp ¶ added in v0.0.8
type WgClientConnResp struct { // pop's info Pop WgClientConnRespPop `json:"pop"` // client's wg info WgPublicKey string `json:"wg_public_key,omitempty"` // [optional][client]client's, controller 分配 WgPrivateKey string `json:"wg_private_key,omitempty"` // [optional][client]client's, controller 分配 WgPSK string `json:"wg_psk,omitempty"` // [optional]client's, WgIP string `json:"wg_ip"` // [required]client's, controller 分配给client的 wg IP // client's non-wg info ClientId string `json:"client_id"` // [required]client's Groups []string `json:"groups,omitempty"` // Access bool `json:"access,omitempty"` // Error string `json:"error,omitempty"` // }
type WgClientConnRespPop ¶ added in v0.0.8
type WgClientConnRespPop struct { PopId string `json:"pop_id"` // pop id PublicKey string `json:"public_key"` // pop's public_key WgIP string `json:"wg_ip"` // pop's wg IP Network string `json:"network"` // pop's network, cidr format: 10.0.0.1/24 Endpoint string `json:"endpoint"` // pop's Endpoint Port int `json:"port"` // pop's listen port AllowedIPs string `json:"allowed_ips,omitempty"` // DNS string `json:"dns,omitempty"` // }
Click to show internal directories.
Click to hide internal directories.