fix: resolve merge conflict in services/acme.go (debug logging + TrimSpace)

This commit is contained in:
2026-07-25 00:39:35 +08:00
17 changed files with 340 additions and 19 deletions
+16 -8
View File
@@ -52,6 +52,8 @@ type DNSConfig struct {
// Cloudflare
CFAPIToken string `json:"cf_api_token,omitempty"`
CFEmail string `json:"cf_email,omitempty"`
CFAPIKey string `json:"cf_api_key,omitempty"`
// DNSPod
DNSPodID string `json:"dnspod_id,omitempty"`
@@ -84,8 +86,8 @@ func GetACMECertificate(cert *config.Certificate, cfg *config.Config) error {
// Use custom DNS timeout for better reliability
if err := client.Challenge.SetDNS01Provider(provider,
dns01.AddRecursiveNameservers(dns01.ParseNameservers([]string{"8.8.8.8:53", "1.1.1.1:53"})),
dns01.AddDNSTimeout(15*time.Second),
dns01.AddRecursiveNameservers(dns01.ParseNameservers([]string{"223.5.5.5:53", "119.29.29.29:53", "8.8.8.8:53"})),
dns01.AddDNSTimeout(120*time.Second),
); err != nil {
return fmt.Errorf("failed to set DNS-01 provider: %v", err)
}
@@ -155,8 +157,8 @@ func RenewCertificate(cert *config.Certificate, cfg *config.Config) error {
// Use custom DNS timeout for better reliability
if err := client.Challenge.SetDNS01Provider(provider,
dns01.AddRecursiveNameservers(dns01.ParseNameservers([]string{"8.8.8.8:53", "1.1.1.1:53"})),
dns01.AddDNSTimeout(15*time.Second),
dns01.AddRecursiveNameservers(dns01.ParseNameservers([]string{"223.5.5.5:53", "119.29.29.29:53", "8.8.8.8:53"})),
dns01.AddDNSTimeout(120*time.Second),
); err != nil {
return fmt.Errorf("failed to set DNS-01 provider: %v", err)
}
@@ -327,13 +329,19 @@ func getDNSProvider(cert *config.Certificate) (challenge.Provider, error) {
case "cloudflare":
cfg := cloudflareprov.NewDefaultConfig()
if dnsCfg.CFAPIToken != "" {
prefix := dnsCfg.CFAPIToken
token := strings.TrimSpace(dnsCfg.CFAPIToken)
if token != "" {
prefix := token
if len(prefix) > 8 {
prefix = prefix[:8]
}
log.Printf("Cloudflare token length: %d, prefix: %s, has_****: %v", len(dnsCfg.CFAPIToken), prefix, strings.Contains(dnsCfg.CFAPIToken, "****"))
cfg.AuthToken = dnsCfg.CFAPIToken
log.Printf("Cloudflare token length: %d, prefix: %s, has_****: %v", len(token), prefix, strings.Contains(token, "****"))
cfg.AuthToken = token
}
// Also support email + Global API Key auth
if dnsCfg.CFEmail != "" && dnsCfg.CFAPIKey != "" {
cfg.AuthEmail = strings.TrimSpace(dnsCfg.CFEmail)
cfg.AuthKey = strings.TrimSpace(dnsCfg.CFAPIKey)
}
provider, err := cloudflareprov.NewDNSProviderConfig(cfg)
if err != nil {