@@ -84,7 +84,7 @@ type DNSParam struct {
84
84
SecretID string `json:"secretID"`
85
85
}
86
86
87
- func (c * AcmeClient ) UseDns (dnsType DnsType , params string , skipDNSCheck bool ) error {
87
+ func (c * AcmeClient ) UseDns (dnsType DnsType , params string , skipDNSCheck bool , nameservers [] string ) error {
88
88
var (
89
89
param DNSParam
90
90
p challenge.Provider
@@ -99,74 +99,77 @@ func (c *AcmeClient) UseDns(dnsType DnsType, params string, skipDNSCheck bool) e
99
99
case DnsPod :
100
100
dnsPodConfig := dnspod .NewDefaultConfig ()
101
101
dnsPodConfig .LoginToken = param .ID + "," + param .Token
102
- dnsPodConfig .PropagationTimeout = 60 * time .Minute
103
- dnsPodConfig .PollingInterval = 5 * time .Second
102
+ dnsPodConfig .PropagationTimeout = 15 * time .Minute
103
+ dnsPodConfig .PollingInterval = 10 * time .Second
104
104
dnsPodConfig .TTL = 3600
105
105
p , err = dnspod .NewDNSProviderConfig (dnsPodConfig )
106
106
case AliYun :
107
107
alidnsConfig := alidns .NewDefaultConfig ()
108
108
alidnsConfig .SecretKey = param .SecretKey
109
109
alidnsConfig .APIKey = param .AccessKey
110
- alidnsConfig .PropagationTimeout = 60 * time .Minute
110
+ alidnsConfig .PropagationTimeout = 15 * time .Minute
111
111
alidnsConfig .PollingInterval = 5 * time .Second
112
112
alidnsConfig .TTL = 3600
113
113
p , err = alidns .NewDNSProviderConfig (alidnsConfig )
114
114
case CloudFlare :
115
115
cloudflareConfig := cloudflare .NewDefaultConfig ()
116
116
cloudflareConfig .AuthEmail = param .Email
117
117
cloudflareConfig .AuthToken = param .APIkey
118
- cloudflareConfig .PropagationTimeout = 60 * time .Minute
119
- cloudflareConfig .PollingInterval = 5 * time .Second
118
+ cloudflareConfig .PropagationTimeout = 15 * time .Minute
119
+ cloudflareConfig .PollingInterval = 10 * time .Second
120
120
cloudflareConfig .TTL = 3600
121
121
p , err = cloudflare .NewDNSProviderConfig (cloudflareConfig )
122
122
case NameCheap :
123
123
namecheapConfig := namecheap .NewDefaultConfig ()
124
124
namecheapConfig .APIKey = param .APIkey
125
125
namecheapConfig .APIUser = param .APIUser
126
- namecheapConfig .PropagationTimeout = 60 * time .Minute
126
+ namecheapConfig .PropagationTimeout = 15 * time .Minute
127
127
namecheapConfig .PollingInterval = 5 * time .Second
128
128
namecheapConfig .TTL = 3600
129
129
p , err = namecheap .NewDNSProviderConfig (namecheapConfig )
130
130
case NameSilo :
131
131
nameSiloConfig := namesilo .NewDefaultConfig ()
132
132
nameSiloConfig .APIKey = param .APIkey
133
- nameSiloConfig .PropagationTimeout = 60 * time .Minute
134
- nameSiloConfig .PollingInterval = 5 * time .Second
133
+ nameSiloConfig .PropagationTimeout = 15 * time .Minute
134
+ nameSiloConfig .PollingInterval = 10 * time .Second
135
135
nameSiloConfig .TTL = 3600
136
136
p , err = namesilo .NewDNSProviderConfig (nameSiloConfig )
137
137
case Godaddy :
138
138
godaddyConfig := godaddy .NewDefaultConfig ()
139
139
godaddyConfig .APIKey = param .APIkey
140
140
godaddyConfig .APISecret = param .APISecret
141
- godaddyConfig .PropagationTimeout = 60 * time .Minute
142
- godaddyConfig .PollingInterval = 5 * time .Second
141
+ godaddyConfig .PropagationTimeout = 15 * time .Minute
142
+ godaddyConfig .PollingInterval = 10 * time .Second
143
143
godaddyConfig .TTL = 3600
144
144
p , err = godaddy .NewDNSProviderConfig (godaddyConfig )
145
145
case NameCom :
146
146
nameComConfig := namedotcom .NewDefaultConfig ()
147
147
nameComConfig .APIToken = param .Token
148
148
nameComConfig .Username = param .APIUser
149
- nameComConfig .PropagationTimeout = 30 * time .Minute
150
- nameComConfig .PollingInterval = 30 * time .Second
149
+ nameComConfig .PropagationTimeout = 15 * time .Minute
150
+ nameComConfig .PollingInterval = 10 * time .Second
151
151
nameComConfig .TTL = 3600
152
152
p , err = namedotcom .NewDNSProviderConfig (nameComConfig )
153
153
case TencentCloud :
154
154
tencentCloudConfig := tencentcloud .NewDefaultConfig ()
155
155
tencentCloudConfig .SecretID = param .SecretID
156
156
tencentCloudConfig .SecretKey = param .SecretKey
157
- tencentCloudConfig .PropagationTimeout = 30 * time .Minute
158
- tencentCloudConfig .PollingInterval = 30 * time .Second
157
+ tencentCloudConfig .PropagationTimeout = 15 * time .Minute
158
+ tencentCloudConfig .PollingInterval = 10 * time .Second
159
159
tencentCloudConfig .TTL = 3600
160
160
p , err = tencentcloud .NewDNSProviderConfig (tencentCloudConfig )
161
161
}
162
162
if err != nil {
163
163
return err
164
164
}
165
- if skipDNSCheck {
166
- return c .Client .Challenge .SetDNS01Provider (p , dns01 .AddDNSTimeout (10 * time .Minute ), dns01 .DisableCompletePropagationRequirement ())
167
- }
168
165
169
- return c .Client .Challenge .SetDNS01Provider (p , dns01 .AddDNSTimeout (10 * time .Minute ))
166
+ return c .Client .Challenge .SetDNS01Provider (p ,
167
+ dns01 .CondOption (len (nameservers ) > 0 ,
168
+ dns01 .AddRecursiveNameservers (nameservers )),
169
+ dns01 .CondOption (skipDNSCheck ,
170
+ dns01 .DisableCompletePropagationRequirement ()),
171
+ dns01 .AddDNSTimeout (10 * time .Minute ),
172
+ )
170
173
}
171
174
172
175
func (c * AcmeClient ) UseManualDns () error {
0 commit comments