add global config struct

This commit is contained in:
wjqserver 2025-06-25 20:02:53 +08:00
parent cc429c44f9
commit cd1e1a42f3
9 changed files with 251 additions and 214 deletions

View file

@ -1,29 +1,5 @@
package gen
/*
type CaddyReverseProxyConfig struct {
Domain string // 域名; 例如 example.com
ReverseProxy string // 反向代理目标; 例如 127.0.0.1:8080 (这里简化为单个目标)
Headers []string // 自定义响应Header
HeadersUp []string // 自定义请求头列表; 例如 ["XXX0 XX", "XXX1 XXX"]
EnableLog bool // 是否导入 log 指令
LogDomain string // log 指令的域名参数
EnableErrorPage bool // 是否导入 error_page 指令
EnableEncode bool // 是否导入 encode 指令
}
type CaddyFileServerConfig struct {
Domain string // 域名; 例如 example.com
FileDirPath string // 文件目录
EnableBrowser bool // 是否导入 browse 指令
Headers []string //
EnableLog bool // 是否导入 log 指令
LogDomain string // log 指令的域名参数
EnableErrorPage bool // 是否导入 error_page 指令
EnableEncode bool // 是否导入 encode 指令
}
*/
func HeadersMapToHeadersUp(headers map[string][]string) []string {
var headersUp []string
for key, values := range headers {
@ -77,3 +53,46 @@ type CaddyUniErrorPageConfig struct {
type CaddyUniEncodeConfig struct {
EnableEncode bool `json:"enable_encode"`
}
type CaddyGlobalConfig struct {
Debug bool `json:"debug"`
PortsConfig CaddyGlobalPortsConfig `json:"ports_config"`
Metrics bool `json:"metrics"`
LogConfig CaddyGlobalLogConfig `json:"log_config"`
TLSConfig CaddyGlobalTLSConfig `json:"tls_config"`
}
type CaddyGlobalPortsConfig struct {
AdminPort string `json:"admin_port"`
HTTPPort uint16 `json:"http_port"`
HTTPSPort uint16 `json:"https_port"`
}
type CaddyGlobalLogConfig struct {
Level string `json:"level"`
// 日志滚动配置
RotateSize string `json:"rotate_size"`
RotateKeep string `json:"rotate_keep"`
RotateKeepForTime string `json:"rotate_keep_for_time"`
}
// 维护一个日志等级列表
// Possible levels: DEBUG, INFO, WARN, ERROR, PANIC, and FATAL
var LogLevelList = map[string]struct{}{
"DEBUG": {},
"INFO": {},
"WARN": {},
"ERROR": {},
"PANIC": {},
"FATAL": {},
}
type CaddyGlobalTLSConfig struct {
Provider string `json:"provider"`
Token string `json:"token"`
}
// 维护一个提供商列表
var ProviderList = map[string]struct{}{
"cloudflare": {},
}