@certd/plugin-cert 1.21.2 → 1.22.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (43) hide show
  1. package/CHANGELOG.md +13 -0
  2. package/dist/access/eab-access.d.ts +4 -0
  3. package/dist/access/eab-access.js +46 -0
  4. package/dist/access/index.d.ts +1 -0
  5. package/dist/access/index.js +2 -0
  6. package/dist/bundle.js +1 -1
  7. package/dist/d/plugin/cert-plugin/acme.d.ts +0 -2
  8. package/dist/d/plugin/cert-plugin/index.d.ts +0 -1
  9. package/dist/dns-provider/api.d.ts +27 -0
  10. package/dist/dns-provider/api.js +2 -0
  11. package/dist/dns-provider/base.d.ts +8 -0
  12. package/dist/dns-provider/base.js +7 -0
  13. package/dist/dns-provider/decorator.d.ts +3 -0
  14. package/dist/dns-provider/decorator.js +26 -0
  15. package/dist/dns-provider/index.d.ts +4 -0
  16. package/dist/dns-provider/index.js +5 -0
  17. package/dist/dns-provider/registry.d.ts +2 -0
  18. package/dist/dns-provider/registry.js +3 -0
  19. package/dist/index.d.ts +3 -0
  20. package/dist/index.js +4 -0
  21. package/dist/plugin/cert-plugin/acme.d.ts +54 -0
  22. package/dist/plugin/cert-plugin/acme.js +203 -0
  23. package/dist/plugin/cert-plugin/base.d.ts +49 -0
  24. package/dist/plugin/cert-plugin/base.js +259 -0
  25. package/dist/plugin/cert-plugin/cert-reader.d.ts +16 -0
  26. package/dist/plugin/cert-plugin/cert-reader.js +45 -0
  27. package/dist/plugin/cert-plugin/index.d.ts +16 -0
  28. package/dist/plugin/cert-plugin/index.js +171 -0
  29. package/dist/plugin/cert-plugin/lego.d.ts +16 -0
  30. package/dist/plugin/cert-plugin/lego.js +153 -0
  31. package/dist/plugin/index.d.ts +2 -0
  32. package/dist/plugin/index.js +3 -0
  33. package/dist/plugin-cert.mjs +11786 -0
  34. package/dist/plugin-cert.umd.js +28 -0
  35. package/fix-esm-import-paths.js +96 -0
  36. package/package.json +10 -10
  37. package/rollup.config.js +1 -1
  38. package/stats.html +6177 -0
  39. package/test/user.secret.js +7 -0
  40. package/test/user.secret.ts +4 -0
  41. package/tsconfig.json +33 -10
  42. package/tsconfig.tsbuildinfo +1 -0
  43. package/vite.config.ts +1 -1
@@ -0,0 +1,153 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { IsTaskPlugin, pluginGroups, RunStrategy, sp, TaskInput } from "@certd/pipeline";
11
+ import { CertReader } from "./cert-reader.js";
12
+ import { CertApplyBasePlugin } from "./base.js";
13
+ import fs from "fs";
14
+ import path from "path";
15
+ export { CertReader };
16
+ let CertApplyLegoPlugin = class CertApplyLegoPlugin extends CertApplyBasePlugin {
17
+ dnsType;
18
+ environment;
19
+ legoEabAccessId;
20
+ customArgs = "";
21
+ eab;
22
+ async onInstance() {
23
+ this.accessService = this.ctx.accessService;
24
+ this.logger = this.ctx.logger;
25
+ this.userContext = this.ctx.userContext;
26
+ this.http = this.ctx.http;
27
+ this.lastStatus = this.ctx.lastStatus;
28
+ if (this.legoEabAccessId) {
29
+ this.eab = await this.ctx.accessService.getById(this.legoEabAccessId);
30
+ }
31
+ }
32
+ async onInit() { }
33
+ async doCertApply() {
34
+ const env = {};
35
+ const env_lines = this.environment.split("\n");
36
+ for (const line of env_lines) {
37
+ const [key, value] = line.trim().split("=");
38
+ env[key] = value.trim();
39
+ }
40
+ let domainArgs = "";
41
+ for (const domain of this.domains) {
42
+ domainArgs += ` -d "${domain}"`;
43
+ }
44
+ this.logger.info(`环境变量:${JSON.stringify(env)}`);
45
+ let eabArgs = "";
46
+ if (this.eab) {
47
+ eabArgs = ` --eab "${this.eab.kid}" --kid "${this.eab.kid}" --hmac "${this.eab.hmacKey}"`;
48
+ }
49
+ const keyType = "-k rsa2048";
50
+ const saveDir = `./data/.lego/pipeline_${this.pipeline.id}/`;
51
+ const savePathArgs = `--path "${saveDir}"`;
52
+ const os_type = process.platform === "win32" ? "windows" : "linux";
53
+ const legoPath = path.resolve("./tools", os_type, "lego");
54
+ const cmds = [
55
+ `${legoPath} -a --email "${this.email}" --dns ${this.dnsType} ${keyType} ${domainArgs} ${eabArgs} ${savePathArgs} ${this.customArgs || ""} run`,
56
+ ];
57
+ await sp.spawn({
58
+ cmd: cmds,
59
+ logger: this.logger,
60
+ env,
61
+ });
62
+ //读取证书文件
63
+ // example.com.crt
64
+ // example.com.issuer.crt
65
+ // example.com.json
66
+ // example.com.key
67
+ let domain1 = this.domains[0];
68
+ domain1 = domain1.replaceAll("*", "_");
69
+ const crtPath = path.resolve(saveDir, "certificates", `${domain1}.crt`);
70
+ if (fs.existsSync(crtPath) === false) {
71
+ throw new Error(`证书文件不存在,证书申请失败:${crtPath}`);
72
+ }
73
+ const crt = fs.readFileSync(crtPath, "utf8");
74
+ const keyPath = path.resolve(saveDir, "certificates", `${domain1}.key`);
75
+ const key = fs.readFileSync(keyPath, "utf8");
76
+ const csr = "";
77
+ const cert = { crt, key, csr };
78
+ const certInfo = this.formatCerts(cert);
79
+ return new CertReader(certInfo);
80
+ }
81
+ };
82
+ __decorate([
83
+ TaskInput({
84
+ title: "DNS类型",
85
+ component: {
86
+ name: "a-input",
87
+ vModel: "value",
88
+ placeholder: "alidns",
89
+ },
90
+ helper: "你的域名是通过哪家提供商进行解析的,具体应该配置什么请参考lego文档:https://go-acme.github.io/lego/dns/",
91
+ required: true,
92
+ }),
93
+ __metadata("design:type", String)
94
+ ], CertApplyLegoPlugin.prototype, "dnsType", void 0);
95
+ __decorate([
96
+ TaskInput({
97
+ title: "环境变量",
98
+ component: {
99
+ name: "a-textarea",
100
+ vModel: "value",
101
+ rows: 4,
102
+ placeholder: "ALICLOUD_ACCESS_KEY=abcdefghijklmnopqrstuvwx\nALICLOUD_SECRET_KEY=your-secret-key",
103
+ },
104
+ required: true,
105
+ helper: "一行一条,例如 appKeyId=xxxxx,具体配置请参考lego文档:https://go-acme.github.io/lego/dns/",
106
+ }),
107
+ __metadata("design:type", String)
108
+ ], CertApplyLegoPlugin.prototype, "environment", void 0);
109
+ __decorate([
110
+ TaskInput({
111
+ title: "EAB授权",
112
+ component: {
113
+ name: "pi-access-selector",
114
+ type: "eab",
115
+ },
116
+ maybeNeed: true,
117
+ helper: "如果需要提供EAB授权",
118
+ }),
119
+ __metadata("design:type", Number)
120
+ ], CertApplyLegoPlugin.prototype, "legoEabAccessId", void 0);
121
+ __decorate([
122
+ TaskInput({
123
+ title: "自定义LEGO参数",
124
+ component: {
125
+ name: "a-input",
126
+ vModel: "value",
127
+ placeholder: "--dns-timeout 30",
128
+ },
129
+ helper: "额外的lego命令行参数,参考文档:https://go-acme.github.io/lego/usage/cli/options/",
130
+ maybeNeed: true,
131
+ }),
132
+ __metadata("design:type", Object)
133
+ ], CertApplyLegoPlugin.prototype, "customArgs", void 0);
134
+ CertApplyLegoPlugin = __decorate([
135
+ IsTaskPlugin({
136
+ name: "CertApplyLego",
137
+ title: "证书申请(Lego)",
138
+ group: pluginGroups.cert.key,
139
+ desc: "支持海量DNS解析提供商,推荐使用,一样的免费通配符域名证书申请,支持多个域名打到同一个证书上",
140
+ default: {
141
+ input: {
142
+ renewDays: 20,
143
+ forceUpdate: false,
144
+ },
145
+ strategy: {
146
+ runStrategy: RunStrategy.AlwaysRun,
147
+ },
148
+ },
149
+ })
150
+ ], CertApplyLegoPlugin);
151
+ export { CertApplyLegoPlugin };
152
+ new CertApplyLegoPlugin();
153
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGVnby5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wbHVnaW4vY2VydC1wbHVnaW4vbGVnby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsRUFBRSxFQUFRLFNBQVMsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9GLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFDaEQsT0FBTyxFQUFFLE1BQU0sSUFBSSxDQUFDO0FBRXBCLE9BQU8sSUFBSSxNQUFNLE1BQU0sQ0FBQztBQUV4QixPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUM7QUFrQmYsSUFBTSxtQkFBbUIsR0FBekIsTUFBTSxtQkFBb0IsU0FBUSxtQkFBbUI7SUFXMUQsT0FBTyxDQUFVO0lBYWpCLFdBQVcsQ0FBVTtJQVdyQixlQUFlLENBQVU7SUFZekIsVUFBVSxHQUFHLEVBQUUsQ0FBQztJQUVoQixHQUFHLENBQWE7SUFFaEIsS0FBSyxDQUFDLFVBQVU7UUFDZCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsYUFBYSxDQUFDO1FBQzVDLElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUM7UUFDOUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQztRQUN4QyxJQUFJLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDO1FBQzFCLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxVQUFrQixDQUFDO1FBQzlDLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMsR0FBRyxHQUFHLE1BQU0sSUFBSSxD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
@@ -0,0 +1,2 @@
1
+ export * from "./cert-plugin/index.js";
2
+ export * from "./cert-plugin/lego.js";
@@ -0,0 +1,3 @@
1
+ export * from "./cert-plugin/index.js";
2
+ export * from "./cert-plugin/lego.js";
3
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvcGx1Z2luL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsd0JBQXdCLENBQUM7QUFDdkMsY0FBYyx1QkFBdUIsQ0FBQyJ9