mirror of
https://gitee.com/konyshe/goodlink.git
synced 2025-09-26 20:51:22 +08:00
支持Redis的Tls连接
This commit is contained in:
@@ -12,6 +12,7 @@ var (
|
||||
Arg_tun_local_addr string
|
||||
Arg_tun_remote_addr string
|
||||
Arg_redis_addr string
|
||||
Arg_redis_tls_addr string
|
||||
Arg_redis_pass string
|
||||
Arg_redis_id int
|
||||
Arg_tun_key string
|
||||
@@ -33,6 +34,7 @@ func Help() {
|
||||
flag.StringVar(&Arg_pprof_addr, "pprof_addr", "", "如果CPU/内存/网络异常, 可监测运行, 例如: 0.0.0.0:6060")
|
||||
|
||||
flag.StringVar(&Arg_redis_addr, "redis_addr", "", "Redis服务地址端口, 例如: 1.2.3.4:6379")
|
||||
flag.StringVar(&Arg_redis_tls_addr, "redis_tls_addr", "", "Redis服务TLS地址端口, 例如: 1.2.3.4:16378")
|
||||
flag.StringVar(&Arg_redis_pass, "redis_pass", "", "Redis服务密码, 例如: 123456")
|
||||
flag.IntVar(&Arg_redis_id, "redis_id", 15, "Redis服务可使用的表ID")
|
||||
|
||||
|
@@ -87,7 +87,7 @@ func GetConfig() ConfigInfo {
|
||||
}
|
||||
|
||||
func GetAddr() string {
|
||||
return GetConfig().Redis.Addr
|
||||
return GetConfig().Redis.TlsAddr
|
||||
}
|
||||
|
||||
func GetPasswd() string {
|
||||
|
@@ -28,7 +28,7 @@ func main2() {
|
||||
|
||||
// 第三方集成, 关注以下代码即可
|
||||
go func() {
|
||||
if err := pro.Init(config.Arg_redis_addr, config.Arg_redis_pass, config.Arg_redis_id); err != nil {
|
||||
if err := pro.Init(); err != nil {
|
||||
log.Println(err)
|
||||
return
|
||||
}
|
||||
|
39
pro/comm.go
39
pro/comm.go
@@ -1,6 +1,7 @@
|
||||
package pro
|
||||
|
||||
import (
|
||||
"crypto/tls"
|
||||
"encoding/json"
|
||||
"errors"
|
||||
"fmt"
|
||||
@@ -22,7 +23,7 @@ var (
|
||||
m_md5_tun_key string
|
||||
)
|
||||
|
||||
func Init(m_cli_redis_addr, m_cli_redis_pass string, m_cli_redis_id int) error {
|
||||
func Init() error {
|
||||
utils.Log().Debug("初始化配置中")
|
||||
for {
|
||||
if err := config.Init(); err != nil {
|
||||
@@ -34,20 +35,40 @@ func Init(m_cli_redis_addr, m_cli_redis_pass string, m_cli_redis_id int) error {
|
||||
}
|
||||
utils.Log().Debug("初始化配置完成")
|
||||
|
||||
if m_cli_redis_addr == "" {
|
||||
m_cli_redis_addr = config.GetAddr()
|
||||
m_cli_redis_pass = config.GetPasswd()
|
||||
m_cli_redis_id = config.GetID()
|
||||
var redis_addr string
|
||||
var redis_pass string
|
||||
var redis_id int
|
||||
tlsConfig := &tls.Config{
|
||||
InsecureSkipVerify: true, // 如果使用自签名证书,设置为true跳过证书验证(仅用于测试
|
||||
//Certificates: []tls.Certificate{cert},
|
||||
ClientAuth: tls.NoClientCert, // 验证模式:请求并验证客户端证书
|
||||
}
|
||||
|
||||
if config.Arg_redis_addr == "" && config.Arg_redis_tls_addr == "" {
|
||||
redis_addr = config.GetAddr()
|
||||
redis_pass = config.GetPasswd()
|
||||
redis_id = config.GetID()
|
||||
|
||||
} else if config.Arg_redis_tls_addr != "" {
|
||||
redis_addr = config.Arg_redis_tls_addr
|
||||
redis_pass = config.Arg_redis_pass
|
||||
redis_id = config.Arg_redis_id
|
||||
|
||||
} else {
|
||||
redis_addr = config.Arg_redis_addr
|
||||
redis_pass = config.Arg_redis_pass
|
||||
redis_id = config.Arg_redis_id
|
||||
tlsConfig = nil
|
||||
}
|
||||
|
||||
m_redis_db = redis.NewClient(&redis.Options{
|
||||
Addr: m_cli_redis_addr,
|
||||
Password: m_cli_redis_pass,
|
||||
DB: m_cli_redis_id,
|
||||
//MaxRetries: 99,
|
||||
Addr: redis_addr,
|
||||
Password: redis_pass,
|
||||
DB: redis_id,
|
||||
DialTimeout: 5 * time.Second,
|
||||
ReadTimeout: 5 * time.Second,
|
||||
WriteTimeout: 5 * time.Second,
|
||||
TLSConfig: tlsConfig,
|
||||
})
|
||||
if m_redis_db == nil {
|
||||
return errors.New("Redis失败, 请重启程序")
|
||||
|
@@ -91,7 +91,7 @@ func GetMainUI(myWindow *fyne.Window) *fyne.Container {
|
||||
m_button_start.Resize(fyne.NewSize(100, 40))
|
||||
m_button_start.Disable()
|
||||
go func() {
|
||||
if err := pro.Init(config.Arg_redis_addr, config.Arg_redis_pass, config.Arg_redis_id); err != nil {
|
||||
if err := pro.Init(); err != nil {
|
||||
UILogPrintF(err.Error())
|
||||
return
|
||||
}
|
||||
|
Reference in New Issue
Block a user