【修复】长期持有tcp连接未关闭

【新增】支持通过webhook调用自己的服务解析dns记录
【新增】支持通过webhook推送证书和密钥
【新增】导入导出工作流、通知、证书、api授权数据
【新增】支持自定义插件目录
This commit is contained in:
v-me-50
2025-08-14 16:41:29 +08:00
parent e939724f37
commit 6d0732fc31
16 changed files with 377 additions and 42 deletions

View File

@@ -8,7 +8,6 @@ import (
"fmt"
"github.com/go-resty/resty/v2"
"net/http"
"regexp"
"strings"
"time"
)
@@ -184,7 +183,7 @@ func NotifyWebHook(params map[string]any) error {
if err != nil {
return fmt.Errorf("解析配置失败: %v", err)
}
config.Data, err = ReplaceJSONPlaceholders(config.Data, params)
config.Data, err = public.ReplaceJSONPlaceholders(config.Data, params)
if err != nil {
return fmt.Errorf("替换JSON占位符失败: %w", err)
}
@@ -197,16 +196,3 @@ func NotifyWebHook(params map[string]any) error {
}
return nil
}
func ReplaceJSONPlaceholders(jsonStr string, vars map[string]any) (string, error) {
re := regexp.MustCompile(`__([a-zA-Z0-9_]+)__`)
result := re.ReplaceAllStringFunc(jsonStr, func(match string) string {
key := re.FindStringSubmatch(match)[1]
if val, ok := vars[key]; ok {
return fmt.Sprintf("%v", val) // 将 any 类型转换为字符串
}
return match // 未匹配到变量则保留原样
})
return result, nil
}

View File

@@ -1,6 +1,7 @@
package report
import (
"ALLinSSL/backend/public"
"encoding/json"
"fmt"
"io"
@@ -75,7 +76,7 @@ func NotifyWorkWx(params map[string]any) error {
}
`
}
msg, err := ReplaceJSONPlaceholders(config["data"], params)
msg, err := public.ReplaceJSONPlaceholders(config["data"], params)
if err != nil {
return fmt.Errorf("替换JSON占位符失败: %v", err)
}