109 lines
3.3 KiB
Go
109 lines
3.3 KiB
Go
package gen
|
|
|
|
func HeadersMapToHeadersUp(headers map[string][]string) []string {
|
|
var headersUp []string
|
|
for key, values := range headers {
|
|
for _, value := range values {
|
|
headersUp = append(headersUp, key+" "+value)
|
|
}
|
|
}
|
|
return headersUp
|
|
}
|
|
|
|
type CaddyUniConfig struct {
|
|
DomainConfig CaddyUniDomainConfig `json:"domain_config"`
|
|
Mode string `json:"mode"`
|
|
Upstream CaddyUniUpstreamConfig `json:"upstream_config"`
|
|
FileServer CaddyUniFileServerConfig `json:"file_server_config"`
|
|
Headers map[string][]string `json:"headers"`
|
|
Log CaddyUniLogConfig `json:"log_config"`
|
|
ErrorPage CaddyUniErrorPageConfig `json:"error_page_config"`
|
|
Encode CaddyUniEncodeConfig `json:"encode_config"`
|
|
}
|
|
|
|
type CaddyUniDomainConfig struct {
|
|
Domain string `json:"domain"`
|
|
MutiDomains bool `json:"muti_domains"`
|
|
Domains []string `json:"domains"`
|
|
}
|
|
|
|
type CaddyUniUpstreamConfig struct {
|
|
EnableUpStream bool `json:"enable_upstream"`
|
|
UpStream string `json:"upstream"`
|
|
MutiUpStreams bool `json:"muti_upstream"`
|
|
UpStreams []string `json:"upstream_servers"`
|
|
UpStreamHeaders map[string][]string `json:"upstream_headers"`
|
|
}
|
|
|
|
type CaddyUniFileServerConfig struct {
|
|
EnableFileServer bool `json:"enable_file_server"`
|
|
FileDirPath string `json:"file_dir_path"`
|
|
EnableBrowser bool `json:"enable_browser"`
|
|
}
|
|
|
|
type CaddyUniLogConfig struct {
|
|
EnableLog bool `json:"enable_log"`
|
|
LogDomain string `json:"log_domain"`
|
|
}
|
|
|
|
type CaddyUniErrorPageConfig struct {
|
|
EnableErrorPage bool `json:"enable_error_page"`
|
|
}
|
|
|
|
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"`
|
|
TLSSnippetConfig CaddyGlobalSnippetTLSConfig `json:"tls_snippet_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 {
|
|
EnableDNSChallenge bool `json:"enable_dns_challenge"`
|
|
Provider string `json:"provider"`
|
|
Token string `json:"token"`
|
|
ECHOuterSNI string `json:"echouter_sni"`
|
|
Email string `json:"email"`
|
|
}
|
|
|
|
type CaddyGlobalSnippetTLSConfig struct {
|
|
EnableSiteTLSSnippet bool `json:"enable_site_tls_snippet"`
|
|
Email string `json:"email"`
|
|
Provider string `json:"provider"`
|
|
Token string `json:"token"`
|
|
}
|
|
|
|
// 维护一个提供商列表
|
|
var ProviderList = map[string]struct{}{
|
|
"cloudflare": {},
|
|
}
|