diff --git a/packages/plugins/plugin-cert/src/plugin/cert-plugin/index.ts b/packages/plugins/plugin-cert/src/plugin/cert-plugin/index.ts index eac310235..5c4b4b699 100644 --- a/packages/plugins/plugin-cert/src/plugin/cert-plugin/index.ts +++ b/packages/plugins/plugin-cert/src/plugin/cert-plugin/index.ts @@ -33,6 +33,7 @@ export class CertApplyPlugin extends CertApplyBasePlugin { vModel: "value", options: [ { value: "letsencrypt", label: "Let's Encrypt" }, + // { value: "letsencrypt-proxy", label: "Let's Encrypt代理,letsencrypt.org无法访问时使用" }, // { value: "buypass", label: "Buypass" }, { value: "zerossl", label: "ZeroSSL" }, ], diff --git a/packages/plugins/plugin-cert/src/plugin/cert-plugin/lego/dns.ts b/packages/plugins/plugin-cert/src/plugin/cert-plugin/lego/dns.ts index cb6702768..740904f2f 100644 --- a/packages/plugins/plugin-cert/src/plugin/cert-plugin/lego/dns.ts +++ b/packages/plugins/plugin-cert/src/plugin/cert-plugin/lego/dns.ts @@ -1,3 +1 @@ -export const dnsList = [ - -] +export const dnsList = []; diff --git a/packages/plugins/plugin-cert/src/plugin/cert-plugin/lego/index.ts b/packages/plugins/plugin-cert/src/plugin/cert-plugin/lego/index.ts index 8458224f6..ac7095562 100644 --- a/packages/plugins/plugin-cert/src/plugin/cert-plugin/lego/index.ts +++ b/packages/plugins/plugin-cert/src/plugin/cert-plugin/lego/index.ts @@ -1,9 +1,9 @@ import { IsTaskPlugin, pluginGroups, RunStrategy, sp, Step, TaskInput } from "@certd/pipeline"; -import type { CertInfo } from "../acme"; -import { CertReader } from "../cert-reader"; -import { CertApplyBasePlugin } from "../base"; +import type { CertInfo } from "../acme.js"; +import { CertReader } from "../cert-reader.js"; +import { CertApplyBasePlugin } from "../base.js"; import fs from "fs"; -import { EabAccess } from "../../../access"; +import { EabAccess } from "../../../access/index.js"; import path from "path"; export { CertReader }; @@ -25,6 +25,21 @@ export type { CertInfo }; }, }) export class CertApplyLegoPlugin extends CertApplyBasePlugin { + // @TaskInput({ + // title: "ACME服务端点", + // default: "https://acme-v02.api.letsencrypt.org/directory", + // component: { + // name: "a-select", + // vModel: "value", + // options: [ + // { value: "https://acme-v02.api.letsencrypt.org/directory", label: "Let's Encrypt" }, + // { value: "https://letsencrypt.proxy.handsfree.work/directory", label: "Let's Encrypt代理,letsencrypt.org无法访问时使用" }, + // ], + // }, + // required: true, + // }) + acmeServer!: string; + @TaskInput({ title: "DNS类型", component: { @@ -110,8 +125,14 @@ export class CertApplyLegoPlugin extends CertApplyBasePlugin { const savePathArgs = `--path "${saveDir}"`; const os_type = process.platform === "win32" ? "windows" : "linux"; const legoPath = path.resolve("./tools", os_type, "lego"); + let serverArgs = ""; + if (this.acmeServer) { + serverArgs = ` --server ${this.acmeServer}`; + } const cmds = [ - `${legoPath} -a --email "${this.email}" --dns ${this.dnsType} ${keyType} ${domainArgs} ${eabArgs} ${savePathArgs} ${this.customArgs || ""} run`, + `${legoPath} -a --email "${this.email}" --dns ${this.dnsType} ${keyType} ${domainArgs} ${serverArgs} ${eabArgs} ${savePathArgs} ${ + this.customArgs || "" + } run`, ]; await sp.spawn({