From d6fde84dc9aa4f551ec0d005674699656b3d6d16 Mon Sep 17 00:00:00 2001
From: ChengPlay <31820853+zhengkunwang223@users.noreply.github.com>
Date: Mon, 28 Apr 2025 18:43:48 +0800
Subject: [PATCH] feat: add spaceship dns provider (#8501)
Refs https://github.com/1Panel-dev/1Panel/issues/8494
---
agent/utils/ssl/client.go | 10 ++++++++++
frontend/src/global/mimetype.ts | 4 ++++
.../website/ssl/dns-account/create/index.vue | 20 ++++++++++++-------
3 files changed, 27 insertions(+), 7 deletions(-)
diff --git a/agent/utils/ssl/client.go b/agent/utils/ssl/client.go
index fc79d0b1e..760755554 100644
--- a/agent/utils/ssl/client.go
+++ b/agent/utils/ssl/client.go
@@ -15,6 +15,7 @@ import (
"github.com/go-acme/lego/v4/providers/dns/namedotcom"
"github.com/go-acme/lego/v4/providers/dns/namesilo"
"github.com/go-acme/lego/v4/providers/dns/rainyun"
+ "github.com/go-acme/lego/v4/providers/dns/spaceship"
"github.com/go-acme/lego/v4/providers/dns/tencentcloud"
"github.com/go-acme/lego/v4/providers/dns/vercel"
"github.com/go-acme/lego/v4/providers/dns/volcengine"
@@ -99,6 +100,7 @@ const (
HuaweiCloud DnsType = "HuaweiCloud"
FreeMyIP DnsType = "FreeMyIP"
Vercel DnsType = "Vercel"
+ Spaceship DnsType = "Spaceship"
)
type DNSParam struct {
@@ -240,6 +242,14 @@ func getDNSProviderConfig(dnsType DnsType, params string) (challenge.Provider, e
vercelConfig.PropagationTimeout = propagationTimeout
vercelConfig.PollingInterval = pollingInterval
p, err = vercel.NewDNSProviderConfig(vercelConfig)
+ case Spaceship:
+ spaceshipConfig := spaceship.NewDefaultConfig()
+ spaceshipConfig.APIKey = param.APIkey
+ spaceshipConfig.APISecret = param.APISecret
+ spaceshipConfig.PropagationTimeout = propagationTimeout
+ spaceshipConfig.PollingInterval = pollingInterval
+ spaceshipConfig.TTL = ttl
+ p, err = spaceship.NewDNSProviderConfig(spaceshipConfig)
}
if err != nil {
return nil, err
diff --git a/frontend/src/global/mimetype.ts b/frontend/src/global/mimetype.ts
index 853f1266c..3627fc318 100644
--- a/frontend/src/global/mimetype.ts
+++ b/frontend/src/global/mimetype.ts
@@ -220,6 +220,10 @@ export const DNSTypes = [
label: i18n.global.t('website.rainyun'),
value: 'RainYun',
},
+ {
+ label: 'Spaceship',
+ value: 'Spaceship',
+ },
];
export const Fields = [
diff --git a/frontend/src/views/website/ssl/dns-account/create/index.vue b/frontend/src/views/website/ssl/dns-account/create/index.vue
index 0704f9383..5af15d1c3 100644
--- a/frontend/src/views/website/ssl/dns-account/create/index.vue
+++ b/frontend/src/views/website/ssl/dns-account/create/index.vue
@@ -54,11 +54,6 @@