- 重构了 ACME 相关的代码结构,增加了 Apply、GetProvider 和 ReNew函数 - 新增了域名申请功能,包括添加域名和申请证书 - 更新了数据库模型和相关接口,以支持新的域名申请功能 - 引入了 Cloudflare 的 DNS 提供商配置
26 lines
641 B
Go
26 lines
641 B
Go
package provider_conf
|
|
|
|
import (
|
|
"encoding/json"
|
|
"github.com/go-acme/lego/v4/challenge"
|
|
"github.com/go-acme/lego/v4/providers/dns/cloudflare"
|
|
)
|
|
|
|
type Cloudflare struct {
|
|
AuthApiToken string `json:"dnsApiToken"`
|
|
ZoneApiToken string `json:"zoneApiToken"`
|
|
}
|
|
|
|
func (c Cloudflare) ToProvider(confStr string) (challenge.Provider, error) {
|
|
var conf Cloudflare
|
|
err := json.Unmarshal([]byte(confStr), &conf)
|
|
if err != nil {
|
|
panic(err)
|
|
}
|
|
dnsConf := cloudflare.NewDefaultConfig()
|
|
dnsConf.AuthToken = conf.AuthApiToken
|
|
dnsConf.ZoneToken = conf.ZoneApiToken
|
|
provider, err := cloudflare.NewDNSProviderConfig(dnsConf)
|
|
return provider, err
|
|
}
|