From a42119217d30ecdc4f553342d6d40c088d30d4e5 Mon Sep 17 00:00:00 2001 From: zhangchenhao Date: Mon, 12 May 2025 11:22:02 +0800 Subject: [PATCH] =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- backend/internal/cert/apply/apply.go | 27 +++++++++++++++++++++++---- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/backend/internal/cert/apply/apply.go b/backend/internal/cert/apply/apply.go index 60b7f68..f151743 100644 --- a/backend/internal/cert/apply/apply.go +++ b/backend/internal/cert/apply/apply.go @@ -15,6 +15,10 @@ import ( "github.com/go-acme/lego/v4/challenge/dns01" "github.com/go-acme/lego/v4/lego" "github.com/go-acme/lego/v4/providers/dns/alidns" + "github.com/go-acme/lego/v4/providers/dns/baiducloud" + "github.com/go-acme/lego/v4/providers/dns/cloudflare" + "github.com/go-acme/lego/v4/providers/dns/godaddy" + "github.com/go-acme/lego/v4/providers/dns/huaweicloud" "github.com/go-acme/lego/v4/providers/dns/tencentcloud" "github.com/go-acme/lego/v4/registration" "strconv" @@ -40,16 +44,31 @@ func GetDNSProvider(providerName string, creds map[string]string) (challenge.Pro config.SecretKey = creds["secret_key"] return tencentcloud.NewDNSProviderConfig(config) - // case "cloudflare": - // config := cloudflare.NewDefaultConfig() - // config.AuthToken = creds["CLOUDFLARE_API_TOKEN"] - // return cloudflare.NewDNSProviderConfig(config) + case "cloudflare": + config := cloudflare.NewDefaultConfig() + config.AuthToken = creds["CLOUDFLARE_API_TOKEN"] + return cloudflare.NewDNSProviderConfig(config) case "aliyun": config := alidns.NewDefaultConfig() config.APIKey = creds["access_key"] config.SecretKey = creds["access_secret"] return alidns.NewDNSProviderConfig(config) + case "huaweicloud": + config := huaweicloud.NewDefaultConfig() + config.AccessKeyID = creds["access_key"] + config.SecretAccessKey = creds["secret_key"] + return huaweicloud.NewDNSProviderConfig(config) + case "baiducloud": + config := baiducloud.NewDefaultConfig() + config.AccessKeyID = creds["access_key"] + config.SecretAccessKey = creds["secret_key"] + return baiducloud.NewDNSProviderConfig(config) + case "godaddy": + config := godaddy.NewDefaultConfig() + config.APIKey = creds["api_key"] + config.APISecret = creds["api_secret"] + return godaddy.NewDNSProviderConfig(config) default: return nil, fmt.Errorf("δΈζ”―ζŒηš„ DNS Provider: %s", providerName)