mirror of
https://github.com/nezhahq/nezha.git
synced 2025-02-02 09:38:13 -05:00
agent 增加 SSL/TLS 选项
This commit is contained in:
parent
f63d8ba613
commit
e28e7f4375
@ -2,6 +2,7 @@ package main
|
|||||||
|
|
||||||
import (
|
import (
|
||||||
"context"
|
"context"
|
||||||
|
"crypto/tls"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
@ -18,6 +19,7 @@ import (
|
|||||||
"github.com/p14yground/go-github-selfupdate/selfupdate"
|
"github.com/p14yground/go-github-selfupdate/selfupdate"
|
||||||
flag "github.com/spf13/pflag"
|
flag "github.com/spf13/pflag"
|
||||||
"google.golang.org/grpc"
|
"google.golang.org/grpc"
|
||||||
|
"google.golang.org/grpc/credentials"
|
||||||
|
|
||||||
"github.com/naiba/nezha/cmd/agent/monitor"
|
"github.com/naiba/nezha/cmd/agent/monitor"
|
||||||
"github.com/naiba/nezha/cmd/agent/processgroup"
|
"github.com/naiba/nezha/cmd/agent/processgroup"
|
||||||
@ -38,6 +40,7 @@ type AgentConfig struct {
|
|||||||
Server string
|
Server string
|
||||||
ClientSecret string
|
ClientSecret string
|
||||||
ReportDelay int
|
ReportDelay int
|
||||||
|
TLS bool
|
||||||
}
|
}
|
||||||
|
|
||||||
var (
|
var (
|
||||||
@ -80,6 +83,7 @@ func main() {
|
|||||||
flag.BoolVar(&agentConf.DisableCommandExecute, "disable-command-execute", false, "禁止在此机器上执行命令")
|
flag.BoolVar(&agentConf.DisableCommandExecute, "disable-command-execute", false, "禁止在此机器上执行命令")
|
||||||
flag.BoolVar(&agentConf.DisableAutoUpdate, "disable-auto-update", false, "禁用自动升级")
|
flag.BoolVar(&agentConf.DisableAutoUpdate, "disable-auto-update", false, "禁用自动升级")
|
||||||
flag.BoolVar(&agentConf.DisableForceUpdate, "disable-force-update", false, "禁用强制升级")
|
flag.BoolVar(&agentConf.DisableForceUpdate, "disable-force-update", false, "禁用强制升级")
|
||||||
|
flag.BoolVar(&agentConf.TLS, "tls", false, "启用SSL/TLS加密")
|
||||||
flag.Parse()
|
flag.Parse()
|
||||||
|
|
||||||
if agentConf.ClientSecret == "" {
|
if agentConf.ClientSecret == "" {
|
||||||
@ -138,7 +142,13 @@ func run() {
|
|||||||
|
|
||||||
for {
|
for {
|
||||||
timeOutCtx, cancel := context.WithTimeout(context.Background(), networkTimeOut)
|
timeOutCtx, cancel := context.WithTimeout(context.Background(), networkTimeOut)
|
||||||
conn, err = grpc.DialContext(timeOutCtx, agentConf.Server, grpc.WithInsecure(), grpc.WithPerRPCCredentials(&auth))
|
var securityOption grpc.DialOption
|
||||||
|
if agentConf.TLS {
|
||||||
|
securityOption = grpc.WithTransportCredentials(credentials.NewTLS(&tls.Config{}))
|
||||||
|
} else {
|
||||||
|
securityOption = grpc.WithInsecure()
|
||||||
|
}
|
||||||
|
conn, err = grpc.DialContext(timeOutCtx, agentConf.Server, securityOption, grpc.WithPerRPCCredentials(&auth))
|
||||||
if err != nil {
|
if err != nil {
|
||||||
println("与面板建立连接失败:", err)
|
println("与面板建立连接失败:", err)
|
||||||
cancel()
|
cancel()
|
||||||
|
Loading…
Reference in New Issue
Block a user