feat: add baidu and rynu dns provider for ssl (#9167)

Refs https://github.com/1Panel-dev/1Panel/issues/9160
This commit is contained in:
CityFun 2025-06-18 15:20:57 +08:00 committed by GitHub
parent 80e217e839
commit 0778e3e81d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
13 changed files with 170 additions and 125 deletions

View file

@ -64,6 +64,7 @@ require (
github.com/alex-ant/gomath v0.0.0-20160516115720-89013a210a82 // indirect github.com/alex-ant/gomath v0.0.0-20160516115720-89013a210a82 // indirect
github.com/aliyun/alibaba-cloud-sdk-go v1.63.100 // indirect github.com/aliyun/alibaba-cloud-sdk-go v1.63.100 // indirect
github.com/andybalholm/brotli v1.0.4 // indirect github.com/andybalholm/brotli v1.0.4 // indirect
github.com/baidubce/bce-sdk-go v0.9.223 // indirect
github.com/bodgit/plumbing v1.2.0 // indirect github.com/bodgit/plumbing v1.2.0 // indirect
github.com/bodgit/sevenzip v1.3.0 // indirect github.com/bodgit/sevenzip v1.3.0 // indirect
github.com/bodgit/windows v1.0.0 // indirect github.com/bodgit/windows v1.0.0 // indirect

View file

@ -90,6 +90,8 @@ github.com/aws/aws-sdk-go v1.55.0/go.mod h1:eRwEWoyTWFMVYVQzKMNHWP5/RV4xIUGMQfXQ
github.com/aws/aws-sdk-go-v2 v1.9.1/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= github.com/aws/aws-sdk-go-v2 v1.9.1/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4=
github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.8.1/go.mod h1:CM+19rL1+4dFWnOQKwDc7H1KwXTz+h61oUSHyhV0b3o= github.com/aws/aws-sdk-go-v2/service/cloudwatch v1.8.1/go.mod h1:CM+19rL1+4dFWnOQKwDc7H1KwXTz+h61oUSHyhV0b3o=
github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E=
github.com/baidubce/bce-sdk-go v0.9.223 h1:vvDeIemf7ePPP59nLHCntQ/vS++ok2HKbRPgmz1VZKU=
github.com/baidubce/bce-sdk-go v0.9.223/go.mod h1:zbYJMQwE4IZuyrJiFO8tO8NbtYiKTFTbwh4eIsqjVdg=
github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA= github.com/benbjohnson/clock v1.1.0/go.mod h1:J11/hYXuz8f4ySSvYwY0FKfm+ezbsZBKZxNJlLklBHA=
github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q=
github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8= github.com/beorn7/perks v1.0.0/go.mod h1:KWe93zE9D1o94FZ5RNwFwVgaQK1VOXiVxmqh+CedLV8=

View file

@ -4,10 +4,12 @@ import (
"encoding/json" "encoding/json"
"github.com/go-acme/lego/v4/challenge" "github.com/go-acme/lego/v4/challenge"
"github.com/go-acme/lego/v4/providers/dns/alidns" "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/clouddns" "github.com/go-acme/lego/v4/providers/dns/clouddns"
"github.com/go-acme/lego/v4/providers/dns/cloudflare" "github.com/go-acme/lego/v4/providers/dns/cloudflare"
"github.com/go-acme/lego/v4/providers/dns/cloudns" "github.com/go-acme/lego/v4/providers/dns/cloudns"
"github.com/go-acme/lego/v4/providers/dns/dnspod" "github.com/go-acme/lego/v4/providers/dns/dnspod"
"github.com/go-acme/lego/v4/providers/dns/dynu"
"github.com/go-acme/lego/v4/providers/dns/freemyip" "github.com/go-acme/lego/v4/providers/dns/freemyip"
"github.com/go-acme/lego/v4/providers/dns/godaddy" "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/huaweicloud"
@ -45,6 +47,8 @@ const (
WestCN DnsType = "WestCN" WestCN DnsType = "WestCN"
ClouDNS DnsType = "ClouDNS" ClouDNS DnsType = "ClouDNS"
RegRu DnsType = "RegRu" RegRu DnsType = "RegRu"
Dynu DnsType = "Dynu"
BaiduCloud DnsType = "BaiduCloud"
) )
type DNSParam struct { type DNSParam struct {
@ -85,146 +89,163 @@ func getDNSProviderConfig(dnsType DnsType, params string) (challenge.Provider, e
} }
switch dnsType { switch dnsType {
case DnsPod: case DnsPod:
dnsPodConfig := dnspod.NewDefaultConfig() config := dnspod.NewDefaultConfig()
dnsPodConfig.LoginToken = param.ID + "," + param.Token config.LoginToken = param.ID + "," + param.Token
dnsPodConfig.PropagationTimeout = propagationTimeout config.PropagationTimeout = propagationTimeout
dnsPodConfig.PollingInterval = pollingInterval config.PollingInterval = pollingInterval
dnsPodConfig.TTL = ttl config.TTL = ttl
p, err = dnspod.NewDNSProviderConfig(dnsPodConfig) p, err = dnspod.NewDNSProviderConfig(config)
case AliYun: case AliYun:
alidnsConfig := alidns.NewDefaultConfig() config := alidns.NewDefaultConfig()
alidnsConfig.SecretKey = param.SecretKey config.SecretKey = param.SecretKey
alidnsConfig.APIKey = param.AccessKey config.APIKey = param.AccessKey
alidnsConfig.PropagationTimeout = propagationTimeout config.PropagationTimeout = propagationTimeout
alidnsConfig.PollingInterval = pollingInterval config.PollingInterval = pollingInterval
alidnsConfig.TTL = ttl config.TTL = ttl
p, err = alidns.NewDNSProviderConfig(alidnsConfig) p, err = alidns.NewDNSProviderConfig(config)
case CloudFlare: case CloudFlare:
cloudflareConfig := cloudflare.NewDefaultConfig() config := cloudflare.NewDefaultConfig()
cloudflareConfig.AuthEmail = param.Email config.AuthEmail = param.Email
cloudflareConfig.AuthToken = param.APIkey config.AuthToken = param.APIkey
cloudflareConfig.PropagationTimeout = propagationTimeout config.PropagationTimeout = propagationTimeout
cloudflareConfig.PollingInterval = pollingInterval config.PollingInterval = pollingInterval
cloudflareConfig.TTL = ttl config.TTL = ttl
p, err = cloudflare.NewDNSProviderConfig(cloudflareConfig) p, err = cloudflare.NewDNSProviderConfig(config)
case CloudDns: case CloudDns:
clouddnsConfig := clouddns.NewDefaultConfig() config := clouddns.NewDefaultConfig()
clouddnsConfig.ClientID = param.ClientID config.ClientID = param.ClientID
clouddnsConfig.Email = param.Email config.Email = param.Email
clouddnsConfig.Password = param.Password config.Password = param.Password
clouddnsConfig.PropagationTimeout = propagationTimeout config.PropagationTimeout = propagationTimeout
clouddnsConfig.PollingInterval = pollingInterval config.PollingInterval = pollingInterval
clouddnsConfig.TTL = ttl config.TTL = ttl
p, err = clouddns.NewDNSProviderConfig(clouddnsConfig) p, err = clouddns.NewDNSProviderConfig(config)
case NameCheap: case NameCheap:
namecheapConfig := namecheap.NewDefaultConfig() config := namecheap.NewDefaultConfig()
namecheapConfig.APIKey = param.APIkey config.APIKey = param.APIkey
namecheapConfig.APIUser = param.APIUser config.APIUser = param.APIUser
namecheapConfig.PropagationTimeout = propagationTimeout config.PropagationTimeout = propagationTimeout
namecheapConfig.PollingInterval = pollingInterval config.PollingInterval = pollingInterval
namecheapConfig.TTL = ttl config.TTL = ttl
p, err = namecheap.NewDNSProviderConfig(namecheapConfig) p, err = namecheap.NewDNSProviderConfig(config)
case NameSilo: case NameSilo:
nameSiloConfig := namesilo.NewDefaultConfig() config := namesilo.NewDefaultConfig()
nameSiloConfig.APIKey = param.APIkey config.APIKey = param.APIkey
nameSiloConfig.PropagationTimeout = propagationTimeout config.PropagationTimeout = propagationTimeout
nameSiloConfig.PollingInterval = pollingInterval config.PollingInterval = pollingInterval
nameSiloConfig.TTL = ttl config.TTL = ttl
p, err = namesilo.NewDNSProviderConfig(nameSiloConfig) p, err = namesilo.NewDNSProviderConfig(config)
case Godaddy: case Godaddy:
godaddyConfig := godaddy.NewDefaultConfig() config := godaddy.NewDefaultConfig()
godaddyConfig.APIKey = param.APIkey config.APIKey = param.APIkey
godaddyConfig.APISecret = param.APISecret config.APISecret = param.APISecret
godaddyConfig.PropagationTimeout = propagationTimeout config.PropagationTimeout = propagationTimeout
godaddyConfig.PollingInterval = pollingInterval config.PollingInterval = pollingInterval
godaddyConfig.TTL = ttl config.TTL = ttl
p, err = godaddy.NewDNSProviderConfig(godaddyConfig) p, err = godaddy.NewDNSProviderConfig(config)
case NameCom: case NameCom:
nameComConfig := namedotcom.NewDefaultConfig() config := namedotcom.NewDefaultConfig()
nameComConfig.APIToken = param.Token config.APIToken = param.Token
nameComConfig.Username = param.APIUser config.Username = param.APIUser
nameComConfig.PropagationTimeout = propagationTimeout config.PropagationTimeout = propagationTimeout
nameComConfig.PollingInterval = pollingInterval config.PollingInterval = pollingInterval
nameComConfig.TTL = ttl config.TTL = ttl
p, err = namedotcom.NewDNSProviderConfig(nameComConfig) p, err = namedotcom.NewDNSProviderConfig(config)
case TencentCloud: case TencentCloud:
tencentCloudConfig := tencentcloud.NewDefaultConfig() config := tencentcloud.NewDefaultConfig()
tencentCloudConfig.SecretID = param.SecretID config.SecretID = param.SecretID
tencentCloudConfig.SecretKey = param.SecretKey config.SecretKey = param.SecretKey
tencentCloudConfig.PropagationTimeout = propagationTimeout config.PropagationTimeout = propagationTimeout
tencentCloudConfig.PollingInterval = pollingInterval config.PollingInterval = pollingInterval
tencentCloudConfig.TTL = ttl config.TTL = ttl
p, err = tencentcloud.NewDNSProviderConfig(tencentCloudConfig) p, err = tencentcloud.NewDNSProviderConfig(config)
case RainYun: case RainYun:
rainyunConfig := rainyun.NewDefaultConfig() config := rainyun.NewDefaultConfig()
rainyunConfig.APIKey = param.APIkey config.APIKey = param.APIkey
rainyunConfig.PropagationTimeout = propagationTimeout config.PropagationTimeout = propagationTimeout
rainyunConfig.PollingInterval = pollingInterval config.PollingInterval = pollingInterval
rainyunConfig.TTL = ttl config.TTL = ttl
p, err = rainyun.NewDNSProviderConfig(rainyunConfig) p, err = rainyun.NewDNSProviderConfig(config)
case Volcengine: case Volcengine:
volcConfig := volcengine.NewDefaultConfig() config := volcengine.NewDefaultConfig()
volcConfig.SecretKey = param.SecretKey config.SecretKey = param.SecretKey
volcConfig.AccessKey = param.AccessKey config.AccessKey = param.AccessKey
volcConfig.PropagationTimeout = propagationTimeout config.PropagationTimeout = propagationTimeout
volcConfig.PollingInterval = pollingInterval config.PollingInterval = pollingInterval
volcConfig.TTL = ttl config.TTL = ttl
p, err = volcengine.NewDNSProviderConfig(volcConfig) p, err = volcengine.NewDNSProviderConfig(config)
case HuaweiCloud: case HuaweiCloud:
huaweiCloudConfig := huaweicloud.NewDefaultConfig() config := huaweicloud.NewDefaultConfig()
huaweiCloudConfig.AccessKeyID = param.AccessKey config.AccessKeyID = param.AccessKey
huaweiCloudConfig.SecretAccessKey = param.SecretKey config.SecretAccessKey = param.SecretKey
huaweiCloudConfig.Region = param.Region config.Region = param.Region
huaweiCloudConfig.PropagationTimeout = propagationTimeout if config.Region == "" {
huaweiCloudConfig.PollingInterval = pollingInterval config.Region = "cn-north-1"
huaweiCloudConfig.TTL = int32(ttl) }
p, err = huaweicloud.NewDNSProviderConfig(huaweiCloudConfig) config.PropagationTimeout = propagationTimeout
config.PollingInterval = pollingInterval
config.TTL = int32(ttl)
p, err = huaweicloud.NewDNSProviderConfig(config)
case FreeMyIP: case FreeMyIP:
freeMyIpConfig := freemyip.NewDefaultConfig() config := freemyip.NewDefaultConfig()
freeMyIpConfig.Token = param.Token config.Token = param.Token
freeMyIpConfig.PropagationTimeout = propagationTimeout config.PropagationTimeout = propagationTimeout
freeMyIpConfig.PollingInterval = pollingInterval config.PollingInterval = pollingInterval
p, err = freemyip.NewDNSProviderConfig(freeMyIpConfig) p, err = freemyip.NewDNSProviderConfig(config)
case Vercel: case Vercel:
vercelConfig := vercel.NewDefaultConfig() config := vercel.NewDefaultConfig()
vercelConfig.AuthToken = param.Token config.AuthToken = param.Token
vercelConfig.PropagationTimeout = propagationTimeout config.PropagationTimeout = propagationTimeout
vercelConfig.PollingInterval = pollingInterval config.PollingInterval = pollingInterval
p, err = vercel.NewDNSProviderConfig(vercelConfig) p, err = vercel.NewDNSProviderConfig(config)
case Spaceship: case Spaceship:
spaceshipConfig := spaceship.NewDefaultConfig() config := spaceship.NewDefaultConfig()
spaceshipConfig.APIKey = param.APIkey config.APIKey = param.APIkey
spaceshipConfig.APISecret = param.APISecret config.APISecret = param.APISecret
spaceshipConfig.PropagationTimeout = propagationTimeout config.PropagationTimeout = propagationTimeout
spaceshipConfig.PollingInterval = pollingInterval config.PollingInterval = pollingInterval
spaceshipConfig.TTL = ttl config.TTL = ttl
p, err = spaceship.NewDNSProviderConfig(spaceshipConfig) p, err = spaceship.NewDNSProviderConfig(config)
case WestCN: case WestCN:
westcnConfig := westcn.NewDefaultConfig() config := westcn.NewDefaultConfig()
westcnConfig.Username = param.Username config.Username = param.Username
westcnConfig.Password = param.Password config.Password = param.Password
westcnConfig.PropagationTimeout = propagationTimeout config.PropagationTimeout = propagationTimeout
westcnConfig.PollingInterval = pollingInterval config.PollingInterval = pollingInterval
westcnConfig.TTL = ttl config.TTL = ttl
p, err = westcn.NewDNSProviderConfig(westcnConfig) p, err = westcn.NewDNSProviderConfig(config)
case ClouDNS: case ClouDNS:
cloudnsConfig := cloudns.NewDefaultConfig() config := cloudns.NewDefaultConfig()
cloudnsConfig.AuthID = param.AuthID config.AuthID = param.AuthID
cloudnsConfig.SubAuthID = param.SubAuthID config.SubAuthID = param.SubAuthID
cloudnsConfig.AuthPassword = param.AuthPassword config.AuthPassword = param.AuthPassword
cloudnsConfig.PropagationTimeout = propagationTimeout config.PropagationTimeout = propagationTimeout
cloudnsConfig.PollingInterval = pollingInterval config.PollingInterval = pollingInterval
cloudnsConfig.TTL = ttl config.TTL = ttl
p, err = cloudns.NewDNSProviderConfig(cloudnsConfig) p, err = cloudns.NewDNSProviderConfig(config)
case RegRu: case RegRu:
regRuConfig := regru.NewDefaultConfig() config := regru.NewDefaultConfig()
regRuConfig.Username = param.Username config.Username = param.Username
regRuConfig.Password = param.Password config.Password = param.Password
regRuConfig.PropagationTimeout = propagationTimeout config.PropagationTimeout = propagationTimeout
regRuConfig.PollingInterval = pollingInterval config.PollingInterval = pollingInterval
regRuConfig.TTL = ttl config.TTL = ttl
p, err = regru.NewDNSProviderConfig(regRuConfig) p, err = regru.NewDNSProviderConfig(config)
case Dynu:
config := dynu.NewDefaultConfig()
config.APIKey = param.APIkey
config.PropagationTimeout = propagationTimeout
config.PollingInterval = pollingInterval
config.TTL = ttl
p, err = dynu.NewDNSProviderConfig(config)
case BaiduCloud:
config := baiducloud.NewDefaultConfig()
config.AccessKeyID = param.AccessKey
config.SecretAccessKey = param.SecretKey
config.PropagationTimeout = propagationTimeout
config.PollingInterval = pollingInterval
config.TTL = ttl
p, err = baiducloud.NewDNSProviderConfig(config)
} }
if err != nil { if err != nil {

View file

@ -211,6 +211,10 @@ export const DNSTypes = [
label: 'Name.com', label: 'Name.com',
value: 'NameCom', value: 'NameCom',
}, },
{
label: 'Dynu',
value: 'Dynu',
},
{ {
label: 'reg.ru', label: 'reg.ru',
value: 'RegRu', value: 'RegRu',
@ -219,6 +223,10 @@ export const DNSTypes = [
label: 'FreeMyIP', label: 'FreeMyIP',
value: 'FreeMyIP', value: 'FreeMyIP',
}, },
{
label: i18n.global.t('website.baiduCloud'),
value: 'BaiduCloud',
},
{ {
label: i18n.global.t('website.rainyun'), label: i18n.global.t('website.rainyun'),
value: 'RainYun', value: 'RainYun',

View file

@ -2616,6 +2616,7 @@ const message = {
'The default execution directory of the script is the 1Panel installation directory. If a certificate is pushed into local directory, the execution directory will be the certificate push directory. The default execution timeout is 30 minutes.', 'The default execution directory of the script is the 1Panel installation directory. If a certificate is pushed into local directory, the execution directory will be the certificate push directory. The default execution timeout is 30 minutes.',
customAcme: 'Custom ACME Service', customAcme: 'Custom ACME Service',
customAcmeURL: 'ACME Service URL', customAcmeURL: 'ACME Service URL',
baiduCloud: 'Baidu Cloud',
}, },
firewall: { firewall: {
create: 'Create rule', create: 'Create rule',

View file

@ -2513,6 +2513,7 @@ const message = {
'スクリプトのデフォルトの実行ディレクトリは1Panelインストールディレクトリです証明書がローカルディレクトリにプッシュされた場合実行ディレクトリは証明書プッシュディレクトリになりますデフォルトの実行タイムアウトは30分です', 'スクリプトのデフォルトの実行ディレクトリは1Panelインストールディレクトリです証明書がローカルディレクトリにプッシュされた場合実行ディレクトリは証明書プッシュディレクトリになりますデフォルトの実行タイムアウトは30分です',
customAcme: 'カスタム ACME サービス', customAcme: 'カスタム ACME サービス',
customAcmeURL: 'ACME サービス URL', customAcmeURL: 'ACME サービス URL',
baiduCloud: '百度クラウド',
}, },
firewall: { firewall: {
create: 'ルールを作成します', create: 'ルールを作成します',

View file

@ -2470,6 +2470,7 @@ const message = {
'스크립트의 기본 실행 디렉토리는 1Panel 설치 디렉토리입니다. 인증서가 로컬 디렉토리에 푸시되는 경우 실행 디렉토리는 인증서 푸시 디렉토리가 됩니다. 기본 실행 제한 시간은 30분입니다.', '스크립트의 기본 실행 디렉토리는 1Panel 설치 디렉토리입니다. 인증서가 로컬 디렉토리에 푸시되는 경우 실행 디렉토리는 인증서 푸시 디렉토리가 됩니다. 기본 실행 제한 시간은 30분입니다.',
customAcme: '사용자 정의 ACME 서비스', customAcme: '사용자 정의 ACME 서비스',
customAcmeURL: 'ACME 서비스 URL', customAcmeURL: 'ACME 서비스 URL',
baiduCloud: '바이두 클라우드',
}, },
firewall: { firewall: {
create: '규칙 만들기', create: '규칙 만들기',

View file

@ -2570,6 +2570,7 @@ const message = {
'Direktori pelaksanaan lalai skrip adalah direktori pemasangan 1Panel. Jika sijil ditolak ke direktori tempatan, direktori pelaksanaan akan menjadi direktori tolak sijil. Tamat masa pelaksanaan lalai ialah 30 minit.', 'Direktori pelaksanaan lalai skrip adalah direktori pemasangan 1Panel. Jika sijil ditolak ke direktori tempatan, direktori pelaksanaan akan menjadi direktori tolak sijil. Tamat masa pelaksanaan lalai ialah 30 minit.',
customAcme: 'Perkhidmatan ACME Tersuai', customAcme: 'Perkhidmatan ACME Tersuai',
customAcmeURL: 'URL Perkhidmatan ACME', customAcmeURL: 'URL Perkhidmatan ACME',
baiduCloud: 'Baidu Cloud',
}, },
firewall: { firewall: {
create: 'Buat peraturan', create: 'Buat peraturan',

View file

@ -2568,6 +2568,7 @@ const message = {
'O diretório padrão de execução do script é o diretório de instalação do 1Panel. Se um certificado for enviado para o diretório local, o diretório de execução será o diretório de envio do certificado. O tempo limite padrão de execução é de 30 minutos.', 'O diretório padrão de execução do script é o diretório de instalação do 1Panel. Se um certificado for enviado para o diretório local, o diretório de execução será o diretório de envio do certificado. O tempo limite padrão de execução é de 30 minutos.',
customAcme: 'Serviço ACME Personalizado', customAcme: 'Serviço ACME Personalizado',
customAcmeURL: 'URL do Serviço ACME', customAcmeURL: 'URL do Serviço ACME',
baiduCloud: 'Baidu Cloud',
}, },
firewall: { firewall: {
create: 'Criar regra', create: 'Criar regra',

View file

@ -2565,6 +2565,7 @@ const message = {
'Директория выполнения скрипта по умолчанию - директория установки 1Panel. Если сертификат отправляется в локальную директорию, директорией выполнения будет директория отправки сертификата. Тайм-аут выполнения по умолчанию - 30 минут.', 'Директория выполнения скрипта по умолчанию - директория установки 1Panel. Если сертификат отправляется в локальную директорию, директорией выполнения будет директория отправки сертификата. Тайм-аут выполнения по умолчанию - 30 минут.',
customAcme: 'Пользовательская служба ACME', customAcme: 'Пользовательская служба ACME',
customAcmeURL: 'URL службы ACME', customAcmeURL: 'URL службы ACME',
baiduCloud: 'Baidu Cloud',
}, },
firewall: { firewall: {
create: 'Создать правило', create: 'Создать правило',

View file

@ -2440,6 +2440,7 @@ const message = {
'腳本預設執行目錄為 1Panel 安裝目錄如果有推送證書那麼執行目錄為證書推送目錄預設超時時間 30 分鐘', '腳本預設執行目錄為 1Panel 安裝目錄如果有推送證書那麼執行目錄為證書推送目錄預設超時時間 30 分鐘',
customAcme: '自訂 ACME 服務', customAcme: '自訂 ACME 服務',
customAcmeURL: 'ACME 服務 URL', customAcmeURL: 'ACME 服務 URL',
baiduCloud: '百度雲',
}, },
firewall: { firewall: {
create: '創建規則', create: '創建規則',

View file

@ -2428,6 +2428,7 @@ const message = {
'脚本默认执行目录为 1Panel 安装目录如果有推送证书那么执行目录为证书推送目录默认超时时间 30 分钟', '脚本默认执行目录为 1Panel 安装目录如果有推送证书那么执行目录为证书推送目录默认超时时间 30 分钟',
customAcme: '自定义 ACME 服务', customAcme: '自定义 ACME 服务',
customAcmeURL: 'ACME 服务 URL', customAcmeURL: 'ACME 服务 URL',
baiduCloud: '百度云',
}, },
firewall: { firewall: {
create: '创建规则', create: '创建规则',

View file

@ -19,7 +19,11 @@
{{ $t('ssl.deprecatedHelper') }} {{ $t('ssl.deprecatedHelper') }}
</span> </span>
</el-form-item> </el-form-item>
<div v-if="account.type === 'AliYun' || account.type === 'HuaweiCloud'"> <div
v-if="
account.type === 'AliYun' || account.type === 'HuaweiCloud' || account.type === 'BaiduCloud'
"
>
<el-form-item label="Access key" prop="authorization.accessKey"> <el-form-item label="Access key" prop="authorization.accessKey">
<el-input v-model.trim="account.authorization['accessKey']"></el-input> <el-input v-model.trim="account.authorization['accessKey']"></el-input>
</el-form-item> </el-form-item>
@ -84,7 +88,8 @@
account.type === 'NameSilo' || account.type === 'NameSilo' ||
account.type === 'Godaddy' || account.type === 'Godaddy' ||
account.type === 'RainYun' || account.type === 'RainYun' ||
account.type === 'Spaceship' account.type === 'Spaceship' ||
account.type === 'Dynu'
" "
> >
<el-input v-model.trim="account.authorization['apiKey']"></el-input> <el-input v-model.trim="account.authorization['apiKey']"></el-input>