add optional config setting to use nats standard tcp instead of websockets

This commit is contained in:
wh1te909 2022-07-01 19:12:34 +00:00
parent 38907f6bc2
commit 92dd7c110f
4 changed files with 44 additions and 34 deletions

View File

@ -151,7 +151,13 @@ func New(logger *logrus.Logger, version string) *Agent {
natsProxyPort = "443" natsProxyPort = "443"
} }
natsServer := fmt.Sprintf("wss://%s:%s", ac.APIURL, natsProxyPort) // check if using nats standard tcp, otherwise use nats websockets by default
var natsServer string
if ac.NatsStandardPort != "" {
natsServer = fmt.Sprintf("tls://%s:%s", ac.APIURL, ac.NatsStandardPort)
} else {
natsServer = fmt.Sprintf("wss://%s:%s", ac.APIURL, natsProxyPort)
}
return &Agent{ return &Agent{
Hostname: info.Hostname, Hostname: info.Hostname,

View File

@ -146,17 +146,18 @@ func NewAgentConfig() *rmm.AgentConfig {
pk, _ := strconv.Atoi(agentpk) pk, _ := strconv.Atoi(agentpk)
ret := &rmm.AgentConfig{ ret := &rmm.AgentConfig{
BaseURL: viper.GetString("baseurl"), BaseURL: viper.GetString("baseurl"),
AgentID: viper.GetString("agentid"), AgentID: viper.GetString("agentid"),
APIURL: viper.GetString("apiurl"), APIURL: viper.GetString("apiurl"),
Token: viper.GetString("token"), Token: viper.GetString("token"),
AgentPK: agentpk, AgentPK: agentpk,
PK: pk, PK: pk,
Cert: viper.GetString("cert"), Cert: viper.GetString("cert"),
Proxy: viper.GetString("proxy"), Proxy: viper.GetString("proxy"),
CustomMeshDir: viper.GetString("meshdir"), CustomMeshDir: viper.GetString("meshdir"),
NatsProxyPath: viper.GetString("natsproxypath"), NatsProxyPath: viper.GetString("natsproxypath"),
NatsProxyPort: viper.GetString("natsproxyport"), NatsProxyPort: viper.GetString("natsproxyport"),
NatsStandardPort: viper.GetString("natsstandardport"),
} }
return ret return ret
} }

View File

@ -63,19 +63,21 @@ func NewAgentConfig() *rmm.AgentConfig {
customMeshDir, _, _ := k.GetStringValue("MeshDir") customMeshDir, _, _ := k.GetStringValue("MeshDir")
natsProxyPath, _, _ := k.GetStringValue("NatsProxyPath") natsProxyPath, _, _ := k.GetStringValue("NatsProxyPath")
natsProxyPort, _, _ := k.GetStringValue("NatsProxyPort") natsProxyPort, _, _ := k.GetStringValue("NatsProxyPort")
natsStandardPort, _, _ := k.GetStringValue("NatsStandardPort")
return &rmm.AgentConfig{ return &rmm.AgentConfig{
BaseURL: baseurl, BaseURL: baseurl,
AgentID: agentid, AgentID: agentid,
APIURL: apiurl, APIURL: apiurl,
Token: token, Token: token,
AgentPK: agentpk, AgentPK: agentpk,
PK: pk, PK: pk,
Cert: cert, Cert: cert,
Proxy: proxy, Proxy: proxy,
CustomMeshDir: customMeshDir, CustomMeshDir: customMeshDir,
NatsProxyPath: natsProxyPath, NatsProxyPath: natsProxyPath,
NatsProxyPort: natsProxyPort, NatsProxyPort: natsProxyPort,
NatsStandardPort: natsStandardPort,
} }
} }

View File

@ -33,17 +33,18 @@ type ProcessMsg struct {
} }
type AgentConfig struct { type AgentConfig struct {
BaseURL string BaseURL string
AgentID string AgentID string
APIURL string APIURL string
Token string Token string
AgentPK string AgentPK string
PK int PK int
Cert string Cert string
Proxy string Proxy string
CustomMeshDir string CustomMeshDir string
NatsProxyPath string NatsProxyPath string
NatsProxyPort string NatsProxyPort string
NatsStandardPort string
} }
type RunScriptResp struct { type RunScriptResp struct {