mirror of
https://gitee.com/konyshe/goodlink.git
synced 2025-10-05 08:46:58 +08:00
支持Redis的Tls连接
This commit is contained in:
@@ -12,6 +12,7 @@ var (
|
|||||||
Arg_tun_local_addr string
|
Arg_tun_local_addr string
|
||||||
Arg_tun_remote_addr string
|
Arg_tun_remote_addr string
|
||||||
Arg_redis_addr string
|
Arg_redis_addr string
|
||||||
|
Arg_redis_tls_addr string
|
||||||
Arg_redis_pass string
|
Arg_redis_pass string
|
||||||
Arg_redis_id int
|
Arg_redis_id int
|
||||||
Arg_tun_key string
|
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_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_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.StringVar(&Arg_redis_pass, "redis_pass", "", "Redis服务密码, 例如: 123456")
|
||||||
flag.IntVar(&Arg_redis_id, "redis_id", 15, "Redis服务可使用的表ID")
|
flag.IntVar(&Arg_redis_id, "redis_id", 15, "Redis服务可使用的表ID")
|
||||||
|
|
||||||
|
@@ -87,7 +87,7 @@ func GetConfig() ConfigInfo {
|
|||||||
}
|
}
|
||||||
|
|
||||||
func GetAddr() string {
|
func GetAddr() string {
|
||||||
return GetConfig().Redis.Addr
|
return GetConfig().Redis.TlsAddr
|
||||||
}
|
}
|
||||||
|
|
||||||
func GetPasswd() string {
|
func GetPasswd() string {
|
||||||
|
@@ -28,7 +28,7 @@ func main2() {
|
|||||||
|
|
||||||
// 第三方集成, 关注以下代码即可
|
// 第三方集成, 关注以下代码即可
|
||||||
go func() {
|
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)
|
log.Println(err)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
39
pro/comm.go
39
pro/comm.go
@@ -1,6 +1,7 @@
|
|||||||
package pro
|
package pro
|
||||||
|
|
||||||
import (
|
import (
|
||||||
|
"crypto/tls"
|
||||||
"encoding/json"
|
"encoding/json"
|
||||||
"errors"
|
"errors"
|
||||||
"fmt"
|
"fmt"
|
||||||
@@ -22,7 +23,7 @@ var (
|
|||||||
m_md5_tun_key string
|
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("初始化配置中")
|
utils.Log().Debug("初始化配置中")
|
||||||
for {
|
for {
|
||||||
if err := config.Init(); err != nil {
|
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("初始化配置完成")
|
utils.Log().Debug("初始化配置完成")
|
||||||
|
|
||||||
if m_cli_redis_addr == "" {
|
var redis_addr string
|
||||||
m_cli_redis_addr = config.GetAddr()
|
var redis_pass string
|
||||||
m_cli_redis_pass = config.GetPasswd()
|
var redis_id int
|
||||||
m_cli_redis_id = config.GetID()
|
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{
|
m_redis_db = redis.NewClient(&redis.Options{
|
||||||
Addr: m_cli_redis_addr,
|
Addr: redis_addr,
|
||||||
Password: m_cli_redis_pass,
|
Password: redis_pass,
|
||||||
DB: m_cli_redis_id,
|
DB: redis_id,
|
||||||
//MaxRetries: 99,
|
|
||||||
DialTimeout: 5 * time.Second,
|
DialTimeout: 5 * time.Second,
|
||||||
ReadTimeout: 5 * time.Second,
|
ReadTimeout: 5 * time.Second,
|
||||||
WriteTimeout: 5 * time.Second,
|
WriteTimeout: 5 * time.Second,
|
||||||
|
TLSConfig: tlsConfig,
|
||||||
})
|
})
|
||||||
if m_redis_db == nil {
|
if m_redis_db == nil {
|
||||||
return errors.New("Redis失败, 请重启程序")
|
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.Resize(fyne.NewSize(100, 40))
|
||||||
m_button_start.Disable()
|
m_button_start.Disable()
|
||||||
go func() {
|
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())
|
UILogPrintF(err.Error())
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user