mirror of
https://github.com/usual2970/certimate.git
synced 2025-06-29 23:59:55 +00:00
add powerdns,http request apply.
This commit is contained in:
parent
4382474449
commit
d6d296b546
@ -82,6 +82,8 @@ go run main.go serve
|
|||||||
| CloudFlare | √ | | 可签发在 CloudFlare 注册的域名;CloudFlare 服务自带 SSL 证书 |
|
| CloudFlare | √ | | 可签发在 CloudFlare 注册的域名;CloudFlare 服务自带 SSL 证书 |
|
||||||
| GoDaddy | √ | | 可签发在 GoDaddy 注册的域名 |
|
| GoDaddy | √ | | 可签发在 GoDaddy 注册的域名 |
|
||||||
| Namesilo | √ | | 可签发在 Namesilo 注册的域名 |
|
| Namesilo | √ | | 可签发在 Namesilo 注册的域名 |
|
||||||
|
| PowerDNS | √ | | 可签发通过PowerDNS管理的域名 |
|
||||||
|
| HTTP request | √ | | 可签发通过HTTP Request修改dns的域名 |
|
||||||
| 本地部署 | | √ | 可部署到本地服务器 |
|
| 本地部署 | | √ | 可部署到本地服务器 |
|
||||||
| SSH | | √ | 可部署到 SSH 服务器 |
|
| SSH | | √ | 可部署到 SSH 服务器 |
|
||||||
| Webhook | | √ | 可部署时回调到 Webhook |
|
| Webhook | | √ | 可部署时回调到 Webhook |
|
||||||
|
@ -81,6 +81,9 @@ password:1234567890
|
|||||||
| CloudFlare | √ | | Supports domains registered on CloudFlare; CloudFlare services come with SSL certificates |
|
| CloudFlare | √ | | Supports domains registered on CloudFlare; CloudFlare services come with SSL certificates |
|
||||||
| GoDaddy | √ | | Supports domains registered on GoDaddy |
|
| GoDaddy | √ | | Supports domains registered on GoDaddy |
|
||||||
| Namesilo | √ | | Supports domains registered on Namesilo |
|
| Namesilo | √ | | Supports domains registered on Namesilo |
|
||||||
|
| PowerDNS | √ | | Supports domains managed by PowerDNS |
|
||||||
|
| HTTP request | √ | | Supports domains dns managed by HTTP Request |
|
||||||
|
|
||||||
| Local Deploy | | √ | Supports deployment to local servers |
|
| Local Deploy | | √ | Supports deployment to local servers |
|
||||||
| SSH | | √ | Supports deployment to SSH servers |
|
| SSH | | √ | Supports deployment to SSH servers |
|
||||||
| Webhook | | √ | Supports callback to Webhook |
|
| Webhook | | √ | Supports callback to Webhook |
|
||||||
|
@ -28,6 +28,8 @@ const (
|
|||||||
configTypeCloudflare = "cloudflare"
|
configTypeCloudflare = "cloudflare"
|
||||||
configTypeNamesilo = "namesilo"
|
configTypeNamesilo = "namesilo"
|
||||||
configTypeGodaddy = "godaddy"
|
configTypeGodaddy = "godaddy"
|
||||||
|
configTypePdns = "pdns"
|
||||||
|
configTypeHttpreq = "httpreq"
|
||||||
)
|
)
|
||||||
|
|
||||||
const defaultSSLProvider = "letsencrypt"
|
const defaultSSLProvider = "letsencrypt"
|
||||||
@ -135,6 +137,10 @@ func Get(record *models.Record) (Applicant, error) {
|
|||||||
return NewNamesilo(option), nil
|
return NewNamesilo(option), nil
|
||||||
case configTypeGodaddy:
|
case configTypeGodaddy:
|
||||||
return NewGodaddy(option), nil
|
return NewGodaddy(option), nil
|
||||||
|
case configTypePdns:
|
||||||
|
return NewPdns(option), nil
|
||||||
|
case configTypeHttpreq:
|
||||||
|
return NewHttpreq(option), nil
|
||||||
default:
|
default:
|
||||||
return nil, errors.New("unknown config type")
|
return nil, errors.New("unknown config type")
|
||||||
}
|
}
|
||||||
|
@ -40,3 +40,15 @@ type GodaddyAccess struct {
|
|||||||
ApiKey string `json:"apiKey"`
|
ApiKey string `json:"apiKey"`
|
||||||
ApiSecret string `json:"apiSecret"`
|
ApiSecret string `json:"apiSecret"`
|
||||||
}
|
}
|
||||||
|
|
||||||
|
type PdnsAccess struct {
|
||||||
|
ApiUrl string `json:"apiUrl"`
|
||||||
|
ApiKey string `json:"apiKey"`
|
||||||
|
}
|
||||||
|
|
||||||
|
type HttpreqAccess struct {
|
||||||
|
Endpoint string `json:"endpoint"`
|
||||||
|
Mode string `json:"mode"`
|
||||||
|
Username string `json:"username"`
|
||||||
|
Password string `json:"password"`
|
||||||
|
}
|
||||||
|
329
ui/dist/assets/index-C9KsIpHj.js
vendored
329
ui/dist/assets/index-C9KsIpHj.js
vendored
File diff suppressed because one or more lines are too long
2
ui/dist/index.html
vendored
2
ui/dist/index.html
vendored
@ -5,7 +5,7 @@
|
|||||||
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
<link rel="icon" type="image/svg+xml" href="/vite.svg" />
|
||||||
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
||||||
<title>Certimate - Your Trusted SSL Automation Partner</title>
|
<title>Certimate - Your Trusted SSL Automation Partner</title>
|
||||||
<script type="module" crossorigin src="/assets/index-C9KsIpHj.js"></script>
|
<script type="module" crossorigin src="/assets/index-CHc3Jfu7.js"></script>
|
||||||
<link rel="stylesheet" crossorigin href="/assets/index-YqBWA4KK.css">
|
<link rel="stylesheet" crossorigin href="/assets/index-YqBWA4KK.css">
|
||||||
</head>
|
</head>
|
||||||
<body class="bg-background">
|
<body class="bg-background">
|
||||||
|
@ -14,6 +14,8 @@ import AccessAwsForm from "./AccessAwsForm";
|
|||||||
import AccessCloudflareForm from "./AccessCloudflareForm";
|
import AccessCloudflareForm from "./AccessCloudflareForm";
|
||||||
import AccessNamesiloForm from "./AccessNamesiloForm";
|
import AccessNamesiloForm from "./AccessNamesiloForm";
|
||||||
import AccessGodaddyForm from "./AccessGodaddyForm";
|
import AccessGodaddyForm from "./AccessGodaddyForm";
|
||||||
|
import AccessPdnsForm from "./AccessPdnsForm";
|
||||||
|
import AccessHttpreqForm from "./AccessHttpreqForm";
|
||||||
import AccessLocalForm from "./AccessLocalForm";
|
import AccessLocalForm from "./AccessLocalForm";
|
||||||
import AccessSSHForm from "./AccessSSHForm";
|
import AccessSSHForm from "./AccessSSHForm";
|
||||||
import AccessWebhookForm from "./AccessWebhookForm";
|
import AccessWebhookForm from "./AccessWebhookForm";
|
||||||
@ -125,6 +127,28 @@ const AccessEdit = ({ trigger, op, data, className }: AccessEditProps) => {
|
|||||||
/>
|
/>
|
||||||
);
|
);
|
||||||
break;
|
break;
|
||||||
|
case "pdns":
|
||||||
|
form = (
|
||||||
|
<AccessPdnsForm
|
||||||
|
data={data}
|
||||||
|
op={op}
|
||||||
|
onAfterReq={() => {
|
||||||
|
setOpen(false);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
break;
|
||||||
|
case "httpreq":
|
||||||
|
form = (
|
||||||
|
<AccessHttpreqForm
|
||||||
|
data={data}
|
||||||
|
op={op}
|
||||||
|
onAfterReq={() => {
|
||||||
|
setOpen(false);
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
);
|
||||||
|
break;
|
||||||
case "local":
|
case "local":
|
||||||
form = (
|
form = (
|
||||||
<AccessLocalForm
|
<AccessLocalForm
|
||||||
|
@ -9,6 +9,8 @@ export const accessTypeMap: Map<string, [string, string]> = new Map([
|
|||||||
["cloudflare", ["common.provider.cloudflare", "/imgs/providers/cloudflare.svg"]],
|
["cloudflare", ["common.provider.cloudflare", "/imgs/providers/cloudflare.svg"]],
|
||||||
["namesilo", ["common.provider.namesilo", "/imgs/providers/namesilo.svg"]],
|
["namesilo", ["common.provider.namesilo", "/imgs/providers/namesilo.svg"]],
|
||||||
["godaddy", ["common.provider.godaddy", "/imgs/providers/godaddy.svg"]],
|
["godaddy", ["common.provider.godaddy", "/imgs/providers/godaddy.svg"]],
|
||||||
|
["pdns", ["common.provider.pdns", "/imgs/providers/pdns.svg"]],
|
||||||
|
["httpreq", ["common.provider.httpreq", "/imgs/providers/httpreq.svg"]],
|
||||||
["local", ["common.provider.local", "/imgs/providers/local.svg"]],
|
["local", ["common.provider.local", "/imgs/providers/local.svg"]],
|
||||||
["ssh", ["common.provider.ssh", "/imgs/providers/ssh.svg"]],
|
["ssh", ["common.provider.ssh", "/imgs/providers/ssh.svg"]],
|
||||||
["webhook", ["common.provider.webhook", "/imgs/providers/webhook.svg"]],
|
["webhook", ["common.provider.webhook", "/imgs/providers/webhook.svg"]],
|
||||||
@ -29,6 +31,8 @@ export const accessFormType = z.union(
|
|||||||
z.literal("cloudflare"),
|
z.literal("cloudflare"),
|
||||||
z.literal("namesilo"),
|
z.literal("namesilo"),
|
||||||
z.literal("godaddy"),
|
z.literal("godaddy"),
|
||||||
|
z.literal("pdns"),
|
||||||
|
z.literal("httpreq"),
|
||||||
z.literal("local"),
|
z.literal("local"),
|
||||||
z.literal("ssh"),
|
z.literal("ssh"),
|
||||||
z.literal("webhook"),
|
z.literal("webhook"),
|
||||||
@ -54,6 +58,8 @@ export type Access = {
|
|||||||
| CloudflareConfig
|
| CloudflareConfig
|
||||||
| NamesiloConfig
|
| NamesiloConfig
|
||||||
| GodaddyConfig
|
| GodaddyConfig
|
||||||
|
| PdnsConfig
|
||||||
|
| HttpreqConfig
|
||||||
| LocalConfig
|
| LocalConfig
|
||||||
| SSHConfig
|
| SSHConfig
|
||||||
| WebhookConfig
|
| WebhookConfig
|
||||||
@ -104,6 +110,18 @@ export type GodaddyConfig = {
|
|||||||
apiSecret: string;
|
apiSecret: string;
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export type PdnsConfig = {
|
||||||
|
apiUrl: string;
|
||||||
|
apiKey: string;
|
||||||
|
};
|
||||||
|
|
||||||
|
export type HttpreqConfig = {
|
||||||
|
endpoint: string;
|
||||||
|
mode: string;
|
||||||
|
username: string;
|
||||||
|
password: string;
|
||||||
|
};
|
||||||
|
|
||||||
export type LocalConfig = Record<string, string>;
|
export type LocalConfig = Record<string, string>;
|
||||||
|
|
||||||
export type SSHConfig = {
|
export type SSHConfig = {
|
||||||
@ -142,6 +160,8 @@ export const getUsageByConfigType = (configType: string): AccessUsage => {
|
|||||||
case "cloudflare":
|
case "cloudflare":
|
||||||
case "namesilo":
|
case "namesilo":
|
||||||
case "godaddy":
|
case "godaddy":
|
||||||
|
case "pdns":
|
||||||
|
case "httpreq":
|
||||||
return "apply";
|
return "apply";
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
@ -38,6 +38,14 @@
|
|||||||
"access.authorization.form.godaddy_api_key.placeholder": "Please enter GO_DADDY_API_KEY",
|
"access.authorization.form.godaddy_api_key.placeholder": "Please enter GO_DADDY_API_KEY",
|
||||||
"access.authorization.form.godaddy_api_secret.label": "GO_DADDY_API_SECRET",
|
"access.authorization.form.godaddy_api_secret.label": "GO_DADDY_API_SECRET",
|
||||||
"access.authorization.form.godaddy_api_secret.placeholder": "Please enter GO_DADDY_API_SECRET",
|
"access.authorization.form.godaddy_api_secret.placeholder": "Please enter GO_DADDY_API_SECRET",
|
||||||
|
"access.authorization.form.pdns_api_url.label": "PDNS_API_URL",
|
||||||
|
"access.authorization.form.pdns_api_url.placeholder": "Please enter PDNS_API_URL",
|
||||||
|
"access.authorization.form.pdns_api_key.label": "PDNS_API_KEY",
|
||||||
|
"access.authorization.form.pdns_api_key.placeholder": "Please enter PDNS_API_KEY",
|
||||||
|
"access.authorization.form.httpreq_endpoint.label": "HTTPREQ_ENDPOINT",
|
||||||
|
"access.authorization.form.httpreq_endpoint.placeholder": "Please enter HTTPREQ_ENDPOINT",
|
||||||
|
"access.authorization.form.httpreq_mode.label": "HTTPREQ_MODE",
|
||||||
|
"access.authorization.form.httpreq_mode.placeholder": "Please enter HTTPREQ_MODE(RAW or '')",
|
||||||
"access.authorization.form.namesilo_api_key.label": "NAMESILO_API_KEY",
|
"access.authorization.form.namesilo_api_key.label": "NAMESILO_API_KEY",
|
||||||
"access.authorization.form.namesilo_api_key.placeholder": "Please enter NAMESILO_API_KEY",
|
"access.authorization.form.namesilo_api_key.placeholder": "Please enter NAMESILO_API_KEY",
|
||||||
"access.authorization.form.username.label": "Username",
|
"access.authorization.form.username.label": "Username",
|
||||||
|
@ -65,6 +65,8 @@
|
|||||||
"common.provider.cloudflare": "Cloudflare",
|
"common.provider.cloudflare": "Cloudflare",
|
||||||
"common.provider.namesilo": "Namesilo",
|
"common.provider.namesilo": "Namesilo",
|
||||||
"common.provider.godaddy": "GoDaddy",
|
"common.provider.godaddy": "GoDaddy",
|
||||||
|
"common.provider.pdns": "PowerDNS",
|
||||||
|
"common.provider.httpreq": "Http Request",
|
||||||
"common.provider.local": "Local Deployment",
|
"common.provider.local": "Local Deployment",
|
||||||
"common.provider.ssh": "SSH Deployment",
|
"common.provider.ssh": "SSH Deployment",
|
||||||
"common.provider.webhook": "Webhook",
|
"common.provider.webhook": "Webhook",
|
||||||
|
@ -39,6 +39,14 @@
|
|||||||
"access.authorization.form.godaddy_api_secret.label": "GO_DADDY_API_SECRET",
|
"access.authorization.form.godaddy_api_secret.label": "GO_DADDY_API_SECRET",
|
||||||
"access.authorization.form.godaddy_api_secret.placeholder": "请输入 GO_DADDY_API_SECRET",
|
"access.authorization.form.godaddy_api_secret.placeholder": "请输入 GO_DADDY_API_SECRET",
|
||||||
"access.authorization.form.namesilo_api_key.label": "NAMESILO_API_KEY",
|
"access.authorization.form.namesilo_api_key.label": "NAMESILO_API_KEY",
|
||||||
|
"access.authorization.form.pdns_api_url.label": "PDNS_API_URL",
|
||||||
|
"access.authorization.form.pdns_api_url.placeholder": "请输入 PDNS_API_URL",
|
||||||
|
"access.authorization.form.pdns_api_key.label": "PDNS_API_KEY",
|
||||||
|
"access.authorization.form.pdns_api_key.placeholder": "请输入 PDNS_API_KEY",
|
||||||
|
"access.authorization.form.httpreq_endpoint.label": "HTTP 请求端点",
|
||||||
|
"access.authorization.form.httpreq_endpoint.placeholder": "请输入 请求端点",
|
||||||
|
"access.authorization.form.httpreq_mode.label": "模式",
|
||||||
|
"access.authorization.form.httpreq_mode.placeholder": "请输入模式( RAW or '')",
|
||||||
"access.authorization.form.namesilo_api_key.placeholder": "请输入 NAMESILO_API_KEY",
|
"access.authorization.form.namesilo_api_key.placeholder": "请输入 NAMESILO_API_KEY",
|
||||||
"access.authorization.form.username.label": "用户名",
|
"access.authorization.form.username.label": "用户名",
|
||||||
"access.authorization.form.username.placeholder": "请输入用户名",
|
"access.authorization.form.username.placeholder": "请输入用户名",
|
||||||
|
@ -65,6 +65,8 @@
|
|||||||
"common.provider.cloudflare": "Cloudflare",
|
"common.provider.cloudflare": "Cloudflare",
|
||||||
"common.provider.namesilo": "Namesilo",
|
"common.provider.namesilo": "Namesilo",
|
||||||
"common.provider.godaddy": "GoDaddy",
|
"common.provider.godaddy": "GoDaddy",
|
||||||
|
"common.provider.pdns": "PowerDNS",
|
||||||
|
"common.provider.httpreq": "HTTP 请求",
|
||||||
"common.provider.local": "本地部署",
|
"common.provider.local": "本地部署",
|
||||||
"common.provider.ssh": "SSH 部署",
|
"common.provider.ssh": "SSH 部署",
|
||||||
"common.provider.webhook": "Webhook",
|
"common.provider.webhook": "Webhook",
|
||||||
|
Loading…
x
Reference in New Issue
Block a user