@certd/plugin-cert 1.41.2 → 1.41.4
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.
- package/CHANGELOG.md +8 -0
- package/package.json +6 -6
- package/dist/access/eab-access.d.ts +0 -6
- package/dist/access/eab-access.js +0 -62
- package/dist/access/google-access.d.ts +0 -8
- package/dist/access/google-access.js +0 -119
- package/dist/access/index.d.ts +0 -2
- package/dist/access/index.js +0 -3
- package/dist/dns-provider/api.d.ts +0 -76
- package/dist/dns-provider/api.js +0 -2
- package/dist/dns-provider/base.d.ts +0 -27
- package/dist/dns-provider/base.js +0 -49
- package/dist/dns-provider/decorator.d.ts +0 -3
- package/dist/dns-provider/decorator.js +0 -18
- package/dist/dns-provider/domain-parser.d.ts +0 -9
- package/dist/dns-provider/domain-parser.js +0 -64
- package/dist/dns-provider/index.d.ts +0 -5
- package/dist/dns-provider/index.js +0 -6
- package/dist/dns-provider/registry.d.ts +0 -1
- package/dist/dns-provider/registry.js +0 -3
- package/dist/libs/google.d.ts +0 -11
- package/dist/libs/google.js +0 -59
- package/dist/plugin/cert-plugin/acme.d.ts +0 -123
- package/dist/plugin/cert-plugin/acme.js +0 -362
- package/dist/plugin/cert-plugin/base-convert.d.ts +0 -25
- package/dist/plugin/cert-plugin/base-convert.js +0 -210
- package/dist/plugin/cert-plugin/base.d.ts +0 -27
- package/dist/plugin/cert-plugin/base.js +0 -175
- package/dist/plugin/cert-plugin/cert-reader.d.ts +0 -51
- package/dist/plugin/cert-plugin/cert-reader.js +0 -206
- package/dist/plugin/cert-plugin/convert.d.ts +0 -26
- package/dist/plugin/cert-plugin/convert.js +0 -124
- package/dist/plugin/cert-plugin/custom/index.d.ts +0 -24
- package/dist/plugin/cert-plugin/custom/index.js +0 -202
- package/dist/plugin/cert-plugin/getter/aliyun.d.ts +0 -19
- package/dist/plugin/cert-plugin/getter/aliyun.js +0 -165
- package/dist/plugin/cert-plugin/index.d.ts +0 -62
- package/dist/plugin/cert-plugin/index.js +0 -672
- package/dist/plugin/cert-plugin/lego/dns.d.ts +0 -1
- package/dist/plugin/cert-plugin/lego/dns.js +0 -2
- package/dist/plugin/cert-plugin/lego/index.d.ts +0 -21
- package/dist/plugin/cert-plugin/lego/index.js +0 -256
- package/dist/plugin/index.d.ts +0 -6
- package/dist/plugin/index.js +0 -7
- package/stats.html +0 -6177
- package/test/dist/cert-plugin.test.js +0 -14
- package/test/dist/test/cert-plugin.test.js +0 -15
package/CHANGELOG.md
CHANGED
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
All notable changes to this project will be documented in this file.
|
|
4
4
|
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
|
5
5
|
|
|
6
|
+
## [1.41.4](https://github.com/certd/certd/compare/v1.41.3...v1.41.4) (2026-06-14)
|
|
7
|
+
|
|
8
|
+
**Note:** Version bump only for package @certd/plugin-cert
|
|
9
|
+
|
|
10
|
+
## [1.41.3](https://github.com/certd/certd/compare/v1.41.2...v1.41.3) (2026-06-11)
|
|
11
|
+
|
|
12
|
+
**Note:** Version bump only for package @certd/plugin-cert
|
|
13
|
+
|
|
6
14
|
## [1.41.2](https://github.com/certd/certd/compare/v1.41.1...v1.41.2) (2026-06-10)
|
|
7
15
|
|
|
8
16
|
**Note:** Version bump only for package @certd/plugin-cert
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@certd/plugin-cert",
|
|
3
3
|
"private": false,
|
|
4
|
-
"version": "1.41.
|
|
4
|
+
"version": "1.41.4",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "./dist/index.js",
|
|
7
7
|
"types": "./dist/index.d.ts",
|
|
@@ -18,10 +18,10 @@
|
|
|
18
18
|
"compile": "tsc --skipLibCheck --watch"
|
|
19
19
|
},
|
|
20
20
|
"dependencies": {
|
|
21
|
-
"@certd/acme-client": "^1.41.
|
|
22
|
-
"@certd/basic": "^1.41.
|
|
23
|
-
"@certd/pipeline": "^1.41.
|
|
24
|
-
"@certd/plugin-lib": "^1.41.
|
|
21
|
+
"@certd/acme-client": "^1.41.4",
|
|
22
|
+
"@certd/basic": "^1.41.4",
|
|
23
|
+
"@certd/pipeline": "^1.41.4",
|
|
24
|
+
"@certd/plugin-lib": "^1.41.4",
|
|
25
25
|
"psl": "^1.9.0",
|
|
26
26
|
"punycode.js": "^2.3.1"
|
|
27
27
|
},
|
|
@@ -41,5 +41,5 @@
|
|
|
41
41
|
"tslib": "^2.8.1",
|
|
42
42
|
"typescript": "^5.4.2"
|
|
43
43
|
},
|
|
44
|
-
"gitHead": "
|
|
44
|
+
"gitHead": "bc731e4fb119787930e816a7d57c808b1b5cd66a"
|
|
45
45
|
}
|
|
@@ -1,62 +0,0 @@
|
|
|
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 { IsAccess, AccessInput, BaseAccess } from "@certd/pipeline";
|
|
11
|
-
let EabAccess = class EabAccess extends BaseAccess {
|
|
12
|
-
kid = "";
|
|
13
|
-
hmacKey = "";
|
|
14
|
-
email = "";
|
|
15
|
-
};
|
|
16
|
-
__decorate([
|
|
17
|
-
AccessInput({
|
|
18
|
-
title: "KID",
|
|
19
|
-
component: {
|
|
20
|
-
placeholder: "kid / keyId",
|
|
21
|
-
},
|
|
22
|
-
helper: "EAB KID, google的叫 keyId,ssl.com的叫Account/ACME Key",
|
|
23
|
-
required: true,
|
|
24
|
-
encrypt: true,
|
|
25
|
-
}),
|
|
26
|
-
__metadata("design:type", Object)
|
|
27
|
-
], EabAccess.prototype, "kid", void 0);
|
|
28
|
-
__decorate([
|
|
29
|
-
AccessInput({
|
|
30
|
-
title: "HMACKey",
|
|
31
|
-
component: {
|
|
32
|
-
placeholder: "HMAC Key / b64MacKey",
|
|
33
|
-
},
|
|
34
|
-
helper: "EAB HMAC Key ,google的叫b64MacKey",
|
|
35
|
-
required: true,
|
|
36
|
-
encrypt: true,
|
|
37
|
-
}),
|
|
38
|
-
__metadata("design:type", Object)
|
|
39
|
-
], EabAccess.prototype, "hmacKey", void 0);
|
|
40
|
-
__decorate([
|
|
41
|
-
AccessInput({
|
|
42
|
-
title: "email",
|
|
43
|
-
component: {
|
|
44
|
-
placeholder: "绑定一个邮箱",
|
|
45
|
-
},
|
|
46
|
-
rules: [{ type: "email", message: "请输入正确的邮箱" }],
|
|
47
|
-
helper: "Google的EAB申请证书,更换邮箱会导致EAB失效,可以在此处绑定一个邮箱避免此问题",
|
|
48
|
-
required: true,
|
|
49
|
-
}),
|
|
50
|
-
__metadata("design:type", Object)
|
|
51
|
-
], EabAccess.prototype, "email", void 0);
|
|
52
|
-
EabAccess = __decorate([
|
|
53
|
-
IsAccess({
|
|
54
|
-
name: "eab",
|
|
55
|
-
title: "EAB授权",
|
|
56
|
-
desc: "ZeroSSL证书申请需要EAB授权",
|
|
57
|
-
icon: "ic:outline-lock",
|
|
58
|
-
})
|
|
59
|
-
], EabAccess);
|
|
60
|
-
export { EabAccess };
|
|
61
|
-
new EabAccess();
|
|
62
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWFiLWFjY2Vzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hY2Nlc3MvZWFiLWFjY2Vzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVE3RCxJQUFNLFNBQVMsR0FBZixNQUFNLFNBQVUsU0FBUSxVQUFVO0lBVXZDLEdBQUcsR0FBRyxFQUFFLENBQUM7SUFVVCxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBV2IsS0FBSyxHQUFHLEVBQUUsQ0FBQztDQUNaLENBQUE7QUF0QkM7SUFUQyxXQUFXLENBQUM7UUFDWCxLQUFLLEVBQUUsS0FBSztRQUNaLFNBQVMsRUFBRTtZQUNULFdBQVcsRUFBRSxhQUFhO1NBQzNCO1FBQ0QsTUFBTSxFQUFFLG1EQUFtRDtRQUMzRCxRQUFRLEVBQUUsSUFBSTtRQUNkLE9BQU8sRUFBRSxJQUFJO0tBQ2QsQ0FBQzs7c0NBQ087QUFVVDtJQVRDLFdBQVcsQ0FBQztRQUNYLEtBQUssRUFBRSxTQUFTO1FBQ2hCLFNBQVMsRUFBRTtZQUNULFdBQVcsRUFBRSxzQkFBc0I7U0FDcEM7UUFDRCxNQUFNLEVBQUUsaUNBQWlDO1FBQ3pDLFFBQVEsRUFBRSxJQUFJO1FBQ2QsT0FBTyxFQUFFLElBQUk7S0FDZCxDQUFDOzswQ0FDVztBQVdiO0lBVEMsV0FBVyxDQUFDO1FBQ1gsS0FBSyxFQUFFLE9BQU87UUFDZCxTQUFTLEVBQUU7WUFDVCxXQUFXLEVBQUUsUUFBUTtTQUN0QjtRQUNELEtBQUssRUFBRSxDQUFDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxPQUFPLEVBQUUsVUFBVSxFQUFFLENBQUM7UUFDL0MsTUFBTSxFQUFFLDhDQUE4QztRQUN0RCxRQUFRLEVBQUUsSUFBSTtLQUNmLENBQUM7O3dDQUNTO0FBL0JBLFNBQVM7SUFOckIsUUFBUSxDQUFDO1FBQ1IsSUFBSSxFQUFFLEtBQUs7UUFDWCxLQUFLLEVBQUUsT0FBTztRQUNkLElBQUksRUFBRSxvQkFBb0I7UUFDMUIsSUFBSSxFQUFFLGlCQUFpQjtLQUN4QixDQUFDO0dBQ1csU0FBUyxDQWdDckI7O0FBRUQsSUFBSSxTQUFTLEVBQUUsQ0FBQyJ9
|
|
@@ -1,119 +0,0 @@
|
|
|
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 { IsAccess, AccessInput, BaseAccess } from "@certd/pipeline";
|
|
11
|
-
let GoogleAccess = class GoogleAccess extends BaseAccess {
|
|
12
|
-
type = "";
|
|
13
|
-
projectId = "";
|
|
14
|
-
apiKey = "";
|
|
15
|
-
serviceAccountSecret = "";
|
|
16
|
-
httpsProxy = "";
|
|
17
|
-
};
|
|
18
|
-
__decorate([
|
|
19
|
-
AccessInput({
|
|
20
|
-
title: "密钥类型",
|
|
21
|
-
value: "serviceAccount",
|
|
22
|
-
component: {
|
|
23
|
-
placeholder: "密钥类型",
|
|
24
|
-
name: "a-select",
|
|
25
|
-
vModel: "value",
|
|
26
|
-
options: [
|
|
27
|
-
{ value: "serviceAccount", label: "服务账号密钥" },
|
|
28
|
-
{ value: "apiKey", label: "ApiKey,暂不可用", disabled: true },
|
|
29
|
-
],
|
|
30
|
-
},
|
|
31
|
-
helper: "密钥类型",
|
|
32
|
-
required: true,
|
|
33
|
-
encrypt: false,
|
|
34
|
-
}),
|
|
35
|
-
__metadata("design:type", Object)
|
|
36
|
-
], GoogleAccess.prototype, "type", void 0);
|
|
37
|
-
__decorate([
|
|
38
|
-
AccessInput({
|
|
39
|
-
title: "项目ID",
|
|
40
|
-
component: {
|
|
41
|
-
placeholder: "ProjectId",
|
|
42
|
-
},
|
|
43
|
-
helper: "ProjectId",
|
|
44
|
-
required: true,
|
|
45
|
-
encrypt: false,
|
|
46
|
-
mergeScript: `
|
|
47
|
-
return {
|
|
48
|
-
show:ctx.compute(({form})=>{
|
|
49
|
-
return form.access.type === 'apiKey'
|
|
50
|
-
})
|
|
51
|
-
}
|
|
52
|
-
`,
|
|
53
|
-
}),
|
|
54
|
-
__metadata("design:type", Object)
|
|
55
|
-
], GoogleAccess.prototype, "projectId", void 0);
|
|
56
|
-
__decorate([
|
|
57
|
-
AccessInput({
|
|
58
|
-
title: "ApiKey",
|
|
59
|
-
component: {
|
|
60
|
-
placeholder: "ApiKey",
|
|
61
|
-
},
|
|
62
|
-
helper: "不要选,目前没有用",
|
|
63
|
-
required: true,
|
|
64
|
-
encrypt: true,
|
|
65
|
-
mergeScript: `
|
|
66
|
-
return {
|
|
67
|
-
show:ctx.compute(({form})=>{
|
|
68
|
-
return form.access.type === 'apiKey'
|
|
69
|
-
})
|
|
70
|
-
}
|
|
71
|
-
`,
|
|
72
|
-
}),
|
|
73
|
-
__metadata("design:type", Object)
|
|
74
|
-
], GoogleAccess.prototype, "apiKey", void 0);
|
|
75
|
-
__decorate([
|
|
76
|
-
AccessInput({
|
|
77
|
-
title: "服务账号密钥",
|
|
78
|
-
component: {
|
|
79
|
-
placeholder: "serviceAccountSecret",
|
|
80
|
-
name: "a-textarea",
|
|
81
|
-
vModel: "value",
|
|
82
|
-
rows: 4,
|
|
83
|
-
},
|
|
84
|
-
helper: "[如何创建服务账号](https://cloud.google.com/iam/docs/service-accounts-create?hl=zh-CN) \n[获取密钥](https://console.cloud.google.com/iam-admin/serviceaccounts?hl=zh-cn),点击详情,点击创建密钥,将下载json文件,把内容填在此处",
|
|
85
|
-
required: true,
|
|
86
|
-
encrypt: true,
|
|
87
|
-
mergeScript: `
|
|
88
|
-
return {
|
|
89
|
-
show:ctx.compute(({form})=>{
|
|
90
|
-
return form.access.type === 'serviceAccount'
|
|
91
|
-
})
|
|
92
|
-
}
|
|
93
|
-
`,
|
|
94
|
-
}),
|
|
95
|
-
__metadata("design:type", Object)
|
|
96
|
-
], GoogleAccess.prototype, "serviceAccountSecret", void 0);
|
|
97
|
-
__decorate([
|
|
98
|
-
AccessInput({
|
|
99
|
-
title: "https代理",
|
|
100
|
-
component: {
|
|
101
|
-
placeholder: "http://127.0.0.1:10811",
|
|
102
|
-
},
|
|
103
|
-
helper: "Google的请求需要走代理,如果不配置,则会使用环境变量中的全局HTTPS_PROXY配置\n或者服务器本身在海外,则不需要配置",
|
|
104
|
-
required: false,
|
|
105
|
-
encrypt: false,
|
|
106
|
-
}),
|
|
107
|
-
__metadata("design:type", Object)
|
|
108
|
-
], GoogleAccess.prototype, "httpsProxy", void 0);
|
|
109
|
-
GoogleAccess = __decorate([
|
|
110
|
-
IsAccess({
|
|
111
|
-
name: "google",
|
|
112
|
-
title: "google cloud",
|
|
113
|
-
desc: "谷歌云授权",
|
|
114
|
-
icon: "flat-color-icons:google",
|
|
115
|
-
})
|
|
116
|
-
], GoogleAccess);
|
|
117
|
-
export { GoogleAccess };
|
|
118
|
-
new GoogleAccess();
|
|
119
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLWFjY2Vzcy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9hY2Nlc3MvZ29vZ2xlLWFjY2Vzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLFdBQVcsRUFBRSxVQUFVLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQVE3RCxJQUFNLFlBQVksR0FBbEIsTUFBTSxZQUFhLFNBQVEsVUFBVTtJQWlCMUMsSUFBSSxHQUFHLEVBQUUsQ0FBQztJQWtCVixTQUFTLEdBQUcsRUFBRSxDQUFDO0lBa0JmLE1BQU0sR0FBRyxFQUFFLENBQUM7SUFzQlosb0JBQW9CLEdBQUcsRUFBRSxDQUFDO0lBVzFCLFVBQVUsR0FBRyxFQUFFLENBQUM7Q0FDakIsQ0FBQTtBQXRFQztJQWhCQyxXQUFXLENBQUM7UUFDWCxLQUFLLEVBQUUsTUFBTTtRQUNiLEtBQUssRUFBRSxnQkFBZ0I7UUFDdkIsU0FBUyxFQUFFO1lBQ1QsV0FBVyxFQUFFLE1BQU07WUFDbkIsSUFBSSxFQUFFLFVBQVU7WUFDaEIsTUFBTSxFQUFFLE9BQU87WUFDZixPQUFPLEVBQUU7Z0JBQ1AsRUFBRSxLQUFLLEVBQUUsZ0JBQWdCLEVBQUUsS0FBSyxFQUFFLFFBQVEsRUFBRTtnQkFDNUMsRUFBRSxLQUFLLEVBQUUsUUFBUSxFQUFFLEtBQUssRUFBRSxhQUFhLEVBQUUsUUFBUSxFQUFFLElBQUksRUFBRTthQUMxRDtTQUNGO1FBQ0QsTUFBTSxFQUFFLE1BQU07UUFDZCxRQUFRLEVBQUUsSUFBSTtRQUNkLE9BQU8sRUFBRSxLQUFLO0tBQ2YsQ0FBQzs7MENBQ1E7QUFrQlY7SUFoQkMsV0FBVyxDQUFDO1FBQ1gsS0FBSyxFQUFFLE1BQU07UUFDYixTQUFTLEVBQUU7WUFDVCxXQUFXLEVBQUUsV0FBVztTQUN6QjtRQUNELE1BQU0sRUFBRSxXQUFXO1FBQ25CLFFBQVEsRUFBRSxJQUFJO1FBQ2QsT0FBTyxFQUFFLEtBQUs7UUFDZCxXQUFXLEVBQUU7Ozs7OztLQU1aO0tBQ0YsQ0FBQzs7K0NBQ2E7QUFrQmY7SUFoQkMsV0FBVyxDQUFDO1FBQ1gsS0FBSyxFQUFFLFFBQVE7UUFDZixTQUFTLEVBQUU7WUFDVCxXQUFXLEVBQUUsUUFBUTtTQUN0QjtRQUNELE1BQU0sRUFBRSxXQUFXO1FBQ25CLFFBQVEsRUFBRSxJQUFJO1FBQ2QsT0FBTyxFQUFFLElBQUk7UUFDYixXQUFXLEVBQUU7Ozs7OztLQU1aO0tBQ0YsQ0FBQzs7NENBQ1U7QUFzQlo7SUFwQkMsV0FBVyxDQUFDO1FBQ1gsS0FBSyxFQUFFLFFBQVE7UUFDZixTQUFTLEVBQUU7WUFDVCxXQUFXLEVBQUUsc0JBQXNCO1lBQ25DLElBQUksRUFBRSxZQUFZO1lBQ2xCLE1BQU0sRUFBRSxPQUFPO1lBQ2YsSUFBSSxFQUFFLENBQUM7U0FDUjtRQUNELE1BQU0sRUFDSiw0TEFBNEw7UUFDOUwsUUFBUSxFQUFFLElBQUk7UUFDZCxPQUFPLEVBQUUsSUFBSTtRQUNiLFdBQVcsRUFBRTs7Ozs7O0tBTVo7S0FDRixDQUFDOzswREFDd0I7QUFXMUI7SUFUQyxXQUFXLENBQUM7UUFDWCxLQUFLLEVBQUUsU0FBUztRQUNoQixTQUFTLEVBQUU7WUFDVCxXQUFXLEVBQUUsd0JBQXdCO1NBQ3RDO1FBQ0QsTUFBTSxFQUFFLG1FQUFtRTtRQUMzRSxRQUFRLEVBQUUsS0FBSztRQUNmLE9BQU8sRUFBRSxLQUFLO0tBQ2YsQ0FBQzs7Z0RBQ2M7QUF0RkwsWUFBWTtJQU54QixRQUFRLENBQUM7UUFDUixJQUFJLEVBQUUsUUFBUTtRQUNkLEtBQUssRUFBRSxjQUFjO1FBQ3JCLElBQUksRUFBRSxPQUFPO1FBQ2IsSUFBSSxFQUFFLHlCQUF5QjtLQUNoQyxDQUFDO0dBQ1csWUFBWSxDQXVGeEI7O0FBRUQsSUFBSSxZQUFZLEVBQUUsQ0FBQyJ9
|
package/dist/access/index.d.ts
DELETED
package/dist/access/index.js
DELETED
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
export * from "./eab-access.js";
|
|
2
|
-
export * from "./google-access.js";
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvYWNjZXNzL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsY0FBYyxvQkFBb0IsQ0FBQyJ9
|
|
@@ -1,76 +0,0 @@
|
|
|
1
|
-
import { HttpClient, ILogger, utils } from "@certd/basic";
|
|
2
|
-
import { IAccess, IServiceGetter, Registrable } from "@certd/pipeline";
|
|
3
|
-
export type DnsProviderDefine = Registrable & {
|
|
4
|
-
accessType: string;
|
|
5
|
-
icon?: string;
|
|
6
|
-
};
|
|
7
|
-
export type CreateRecordOptions = {
|
|
8
|
-
domain: string;
|
|
9
|
-
fullRecord: string;
|
|
10
|
-
hostRecord: string;
|
|
11
|
-
type: string;
|
|
12
|
-
value: any;
|
|
13
|
-
};
|
|
14
|
-
export type RemoveRecordOptions<T> = {
|
|
15
|
-
recordReq: CreateRecordOptions;
|
|
16
|
-
recordRes: T;
|
|
17
|
-
};
|
|
18
|
-
export type DnsProviderContext = {
|
|
19
|
-
access: IAccess;
|
|
20
|
-
logger: ILogger;
|
|
21
|
-
http: HttpClient;
|
|
22
|
-
utils: typeof utils;
|
|
23
|
-
domainParser: IDomainParser;
|
|
24
|
-
serviceGetter: IServiceGetter;
|
|
25
|
-
};
|
|
26
|
-
export interface IDnsProvider<T = any> {
|
|
27
|
-
onInstance(): Promise<void>;
|
|
28
|
-
/**
|
|
29
|
-
* 中文转英文
|
|
30
|
-
* @param domain
|
|
31
|
-
*/
|
|
32
|
-
punyCodeEncode(domain: string): string;
|
|
33
|
-
/**
|
|
34
|
-
* 转中文域名
|
|
35
|
-
* @param domain
|
|
36
|
-
*/
|
|
37
|
-
punyCodeDecode(domain: string): string;
|
|
38
|
-
createRecord(options: CreateRecordOptions): Promise<T>;
|
|
39
|
-
removeRecord(options: RemoveRecordOptions<T>): Promise<void>;
|
|
40
|
-
setCtx(ctx: DnsProviderContext): void;
|
|
41
|
-
usePunyCode(): boolean;
|
|
42
|
-
}
|
|
43
|
-
export interface ISubDomainsGetter {
|
|
44
|
-
getSubDomains(): Promise<string[]>;
|
|
45
|
-
}
|
|
46
|
-
export interface IDomainParser {
|
|
47
|
-
parse(fullDomain: string): Promise<string>;
|
|
48
|
-
}
|
|
49
|
-
export type DnsVerifier = {
|
|
50
|
-
dnsProviderType?: string;
|
|
51
|
-
dnsProviderAccessId?: number;
|
|
52
|
-
};
|
|
53
|
-
export type CnameVerifier = {
|
|
54
|
-
hostRecord: string;
|
|
55
|
-
domain: string;
|
|
56
|
-
recordValue: string;
|
|
57
|
-
};
|
|
58
|
-
export type HttpVerifier = {
|
|
59
|
-
httpUploaderType: string;
|
|
60
|
-
httpUploaderAccess: number;
|
|
61
|
-
httpUploadRootDir: string;
|
|
62
|
-
};
|
|
63
|
-
export type DomainVerifier = {
|
|
64
|
-
domain: string;
|
|
65
|
-
mainDomain: string;
|
|
66
|
-
type: string;
|
|
67
|
-
dns?: DnsVerifier;
|
|
68
|
-
cname?: CnameVerifier;
|
|
69
|
-
http?: HttpVerifier;
|
|
70
|
-
};
|
|
71
|
-
export type DomainVerifiers = {
|
|
72
|
-
[key: string]: DomainVerifier;
|
|
73
|
-
};
|
|
74
|
-
export interface IDomainVerifierGetter {
|
|
75
|
-
getVerifiers(domains: string[]): Promise<DomainVerifiers>;
|
|
76
|
-
}
|
package/dist/dns-provider/api.js
DELETED
|
@@ -1,27 +0,0 @@
|
|
|
1
|
-
import { CreateRecordOptions, DnsProviderContext, IDnsProvider, RemoveRecordOptions } from "./api.js";
|
|
2
|
-
import { HttpClient, ILogger } from "@certd/basic";
|
|
3
|
-
export declare abstract class AbstractDnsProvider<T = any> implements IDnsProvider<T> {
|
|
4
|
-
ctx: DnsProviderContext;
|
|
5
|
-
http: HttpClient;
|
|
6
|
-
logger: ILogger;
|
|
7
|
-
usePunyCode(): boolean;
|
|
8
|
-
/**
|
|
9
|
-
* 中文转英文
|
|
10
|
-
* @param domain
|
|
11
|
-
*/
|
|
12
|
-
punyCodeEncode(domain: string): any;
|
|
13
|
-
/**
|
|
14
|
-
* 转中文域名
|
|
15
|
-
* @param domain
|
|
16
|
-
*/
|
|
17
|
-
punyCodeDecode(domain: string): any;
|
|
18
|
-
setCtx(ctx: DnsProviderContext): void;
|
|
19
|
-
parseDomain(fullDomain: string): Promise<string>;
|
|
20
|
-
abstract createRecord(options: CreateRecordOptions): Promise<T>;
|
|
21
|
-
abstract onInstance(): Promise<void>;
|
|
22
|
-
abstract removeRecord(options: RemoveRecordOptions<T>): Promise<void>;
|
|
23
|
-
}
|
|
24
|
-
export declare function createDnsProvider(opts: {
|
|
25
|
-
dnsProviderType: string;
|
|
26
|
-
context: DnsProviderContext;
|
|
27
|
-
}): Promise<IDnsProvider>;
|
|
@@ -1,49 +0,0 @@
|
|
|
1
|
-
import { dnsProviderRegistry } from "./registry.js";
|
|
2
|
-
import punycode from "punycode.js";
|
|
3
|
-
export class AbstractDnsProvider {
|
|
4
|
-
ctx;
|
|
5
|
-
http;
|
|
6
|
-
logger;
|
|
7
|
-
usePunyCode() {
|
|
8
|
-
//是否使用punycode来添加解析记录
|
|
9
|
-
//默认都使用原始中文域名来添加
|
|
10
|
-
return false;
|
|
11
|
-
}
|
|
12
|
-
/**
|
|
13
|
-
* 中文转英文
|
|
14
|
-
* @param domain
|
|
15
|
-
*/
|
|
16
|
-
punyCodeEncode(domain) {
|
|
17
|
-
return punycode.toASCII(domain);
|
|
18
|
-
}
|
|
19
|
-
/**
|
|
20
|
-
* 转中文域名
|
|
21
|
-
* @param domain
|
|
22
|
-
*/
|
|
23
|
-
punyCodeDecode(domain) {
|
|
24
|
-
return punycode.toUnicode(domain);
|
|
25
|
-
}
|
|
26
|
-
setCtx(ctx) {
|
|
27
|
-
this.ctx = ctx;
|
|
28
|
-
this.logger = ctx.logger;
|
|
29
|
-
this.http = ctx.http;
|
|
30
|
-
}
|
|
31
|
-
async parseDomain(fullDomain) {
|
|
32
|
-
return await this.ctx.domainParser.parse(fullDomain);
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
export async function createDnsProvider(opts) {
|
|
36
|
-
const { dnsProviderType, context } = opts;
|
|
37
|
-
const dnsProviderPlugin = dnsProviderRegistry.get(dnsProviderType);
|
|
38
|
-
const DnsProviderClass = await dnsProviderPlugin.target();
|
|
39
|
-
const dnsProviderDefine = dnsProviderPlugin.define;
|
|
40
|
-
if (dnsProviderDefine.deprecated) {
|
|
41
|
-
context.logger.warn(dnsProviderDefine.deprecated);
|
|
42
|
-
}
|
|
43
|
-
// @ts-ignore
|
|
44
|
-
const dnsProvider = new DnsProviderClass();
|
|
45
|
-
dnsProvider.setCtx(context);
|
|
46
|
-
await dnsProvider.onInstance();
|
|
47
|
-
return dnsProvider;
|
|
48
|
-
}
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFzZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kbnMtcHJvdmlkZXIvYmFzZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFcEQsT0FBTyxRQUFRLE1BQU0sYUFBYSxDQUFDO0FBQ25DLE1BQU0sT0FBZ0IsbUJBQW1CO0lBQ3ZDLEdBQUcsQ0FBc0I7SUFDekIsSUFBSSxDQUFjO0lBQ2xCLE1BQU0sQ0FBVztJQUVqQixXQUFXO1FBQ1QscUJBQXFCO1FBQ3JCLGdCQUFnQjtRQUNoQixPQUFPLEtBQUssQ0FBQztJQUNmLENBQUM7SUFFRDs7O09BR0c7SUFDSCxjQUFjLENBQUMsTUFBYztRQUMzQixPQUFPLFFBQVEsQ0FBQyxPQUFPLENBQUMsTUFBTSxDQUFDLENBQUM7SUFDbEMsQ0FBQztJQUVEOzs7T0FHRztJQUNILGNBQWMsQ0FBQyxNQUFjO1FBQzNCLE9BQU8sUUFBUSxDQUFDLFNBQVMsQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUNwQyxDQUFDO0lBRUQsTUFBTSxDQUFDLEdBQXVCO1FBQzVCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFDO1FBQ2YsSUFBSSxDQUFDLE1BQU0sR0FBRyxHQUFHLENBQUMsTUFBTSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxJQUFJLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztJQUN2QixDQUFDO0lBRUQsS0FBSyxDQUFDLFdBQVcsQ0FBQyxVQUFrQjtRQUNsQyxPQUFPLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3ZELENBQUM7Q0FPRjtBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsaUJBQWlCLENBQUMsSUFBOEQ7SUFDcEcsTUFBTSxFQUFFLGVBQWUsRUFBRSxPQUFPLEVBQUUsR0FBRyxJQUFJLENBQUM7SUFDMUMsTUFBTSxpQkFBaUIsR0FBRyxtQkFBbUIsQ0FBQyxHQUFHLENBQUMsZUFBZSxDQUFDLENBQUM7SUFDbkUsTUFBTSxnQkFBZ0IsR0FBRyxNQUFNLGlCQUFpQixDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQzFELE1BQU0saUJBQWlCLEdBQUcsaUJBQWlCLENBQUMsTUFBMkIsQ0FBQztJQUN4RSxJQUFJLGlCQUFpQixDQUFDLFVBQVUsRUFBRSxDQUFDO1FBQ2pDLE9BQU8sQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFVBQVUsQ0FBQyxDQUFDO0lBQ3BELENBQUM7SUFDRCxhQUFhO0lBQ2IsTUFBTSxXQUFXLEdBQWlCLElBQUksZ0JBQWdCLEVBQUUsQ0FBQztJQUN6RCxXQUFXLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxDQUFDO0lBQzVCLE1BQU0sV0FBVyxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQy9CLE9BQU8sV0FBVyxDQUFDO0FBQ3JCLENBQUMifQ==
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { dnsProviderRegistry } from "./registry.js";
|
|
2
|
-
import { Decorator } from "@certd/pipeline";
|
|
3
|
-
// 提供一个唯一 key
|
|
4
|
-
export const DNS_PROVIDER_CLASS_KEY = "pipeline:dns-provider";
|
|
5
|
-
export function IsDnsProvider(define) {
|
|
6
|
-
return (target) => {
|
|
7
|
-
target = Decorator.target(target);
|
|
8
|
-
Reflect.defineMetadata(DNS_PROVIDER_CLASS_KEY, define, target);
|
|
9
|
-
target.define = define;
|
|
10
|
-
dnsProviderRegistry.register(define.name, {
|
|
11
|
-
define,
|
|
12
|
-
target: async () => {
|
|
13
|
-
return target;
|
|
14
|
-
},
|
|
15
|
-
});
|
|
16
|
-
};
|
|
17
|
-
}
|
|
18
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGVjb3JhdG9yLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Rucy1wcm92aWRlci9kZWNvcmF0b3IudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXBELE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUc1QyxhQUFhO0FBQ2IsTUFBTSxDQUFDLE1BQU0sc0JBQXNCLEdBQUcsdUJBQXVCLENBQUM7QUFFOUQsTUFBTSxVQUFVLGFBQWEsQ0FBQyxNQUF5QjtJQUNyRCxPQUFPLENBQUMsTUFBVyxFQUFFLEVBQUU7UUFDckIsTUFBTSxHQUFHLFNBQVMsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUM7UUFFbEMsT0FBTyxDQUFDLGNBQWMsQ0FBQyxzQkFBc0IsRUFBRSxNQUFNLEVBQUUsTUFBTSxDQUFDLENBQUM7UUFFL0QsTUFBTSxDQUFDLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDdkIsbUJBQW1CLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEVBQUU7WUFDeEMsTUFBTTtZQUNOLE1BQU0sRUFBRSxLQUFLLElBQUksRUFBRTtnQkFDakIsT0FBTyxNQUFNLENBQUM7WUFDaEIsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNMLENBQUMsQ0FBQztBQUNKLENBQUMifQ==
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import { IDomainParser, ISubDomainsGetter } from "./api";
|
|
2
|
-
import { ILogger } from "@certd/basic";
|
|
3
|
-
export declare class DomainParser implements IDomainParser {
|
|
4
|
-
subDomainsGetter: ISubDomainsGetter;
|
|
5
|
-
logger: ILogger;
|
|
6
|
-
constructor(subDomainsGetter: ISubDomainsGetter, logger?: ILogger);
|
|
7
|
-
parseDomainByPsl(fullDomain: string): string;
|
|
8
|
-
parse(fullDomain: string): Promise<any>;
|
|
9
|
-
}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
//@ts-ignore
|
|
2
|
-
import psl from "psl";
|
|
3
|
-
import { utils, logger as globalLogger } from "@certd/basic";
|
|
4
|
-
import { resolveDomainBySoaRecord } from "@certd/acme-client";
|
|
5
|
-
export class DomainParser {
|
|
6
|
-
subDomainsGetter;
|
|
7
|
-
logger;
|
|
8
|
-
constructor(subDomainsGetter, logger) {
|
|
9
|
-
this.subDomainsGetter = subDomainsGetter;
|
|
10
|
-
this.logger = logger || globalLogger;
|
|
11
|
-
}
|
|
12
|
-
parseDomainByPsl(fullDomain) {
|
|
13
|
-
const parsed = psl.parse(fullDomain);
|
|
14
|
-
if (parsed.error) {
|
|
15
|
-
throw new Error(`解析${fullDomain}域名失败:` + JSON.stringify(parsed.error));
|
|
16
|
-
}
|
|
17
|
-
return parsed.domain;
|
|
18
|
-
}
|
|
19
|
-
async parse(fullDomain) {
|
|
20
|
-
//如果是ip
|
|
21
|
-
if (utils.domain.isIp(fullDomain)) {
|
|
22
|
-
return fullDomain;
|
|
23
|
-
}
|
|
24
|
-
this.logger.info(`查找主域名:${fullDomain}`);
|
|
25
|
-
const cacheKey = `domain_parse:${fullDomain}`;
|
|
26
|
-
const value = utils.cache.get(cacheKey);
|
|
27
|
-
if (value) {
|
|
28
|
-
this.logger.info(`从缓存获取到主域名:${fullDomain}->${value}`);
|
|
29
|
-
return value;
|
|
30
|
-
}
|
|
31
|
-
const subDomains = await this.subDomainsGetter.getSubDomains();
|
|
32
|
-
if (subDomains && subDomains.length > 0) {
|
|
33
|
-
const fullDomainDot = "." + fullDomain;
|
|
34
|
-
for (const subDomain of subDomains) {
|
|
35
|
-
if (fullDomainDot.endsWith("." + subDomain)) {
|
|
36
|
-
//找到子域名托管
|
|
37
|
-
utils.cache.set(cacheKey, subDomain, {
|
|
38
|
-
ttl: 60 * 1000,
|
|
39
|
-
});
|
|
40
|
-
this.logger.info(`获取到子域名托管域名:${fullDomain}->${subDomain}`);
|
|
41
|
-
return subDomain;
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
}
|
|
45
|
-
const res = this.parseDomainByPsl(fullDomain);
|
|
46
|
-
this.logger.info(`从psl获取主域名:${fullDomain}->${res}`);
|
|
47
|
-
let soaManDomain = null;
|
|
48
|
-
try {
|
|
49
|
-
const mainDomain = await resolveDomainBySoaRecord(fullDomain);
|
|
50
|
-
if (mainDomain) {
|
|
51
|
-
this.logger.info(`从SOA获取到主域名:${fullDomain}->${mainDomain}`);
|
|
52
|
-
soaManDomain = mainDomain;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
catch (e) {
|
|
56
|
-
this.logger.error("从SOA获取主域名失败", e.message);
|
|
57
|
-
}
|
|
58
|
-
if (soaManDomain && soaManDomain !== res) {
|
|
59
|
-
this.logger.warn(`SOA获取的主域名(${soaManDomain})和psl获取的主域名(${res})不一致,请确认是否有设置子域名托管`);
|
|
60
|
-
}
|
|
61
|
-
return res;
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG9tYWluLXBhcnNlci5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9kbnMtcHJvdmlkZXIvZG9tYWluLXBhcnNlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxZQUFZO0FBQ1osT0FBTyxHQUFHLE1BQU0sS0FBSyxDQUFDO0FBQ3RCLE9BQU8sRUFBVyxLQUFLLEVBQUUsTUFBTSxJQUFJLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN0RSxPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUU5RCxNQUFNLE9BQU8sWUFBWTtJQUN2QixnQkFBZ0IsQ0FBb0I7SUFDcEMsTUFBTSxDQUFVO0lBQ2hCLFlBQVksZ0JBQW1DLEVBQUUsTUFBZ0I7UUFDL0QsSUFBSSxDQUFDLGdCQUFnQixHQUFHLGdCQUFnQixDQUFDO1FBQ3pDLElBQUksQ0FBQyxNQUFNLEdBQUcsTUFBTSxJQUFJLFlBQVksQ0FBQztJQUN2QyxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsVUFBa0I7UUFDakMsTUFBTSxNQUFNLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQyxVQUFVLENBQXFCLENBQUM7UUFDekQsSUFBSSxNQUFNLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDakIsTUFBTSxJQUFJLEtBQUssQ0FBQyxLQUFLLFVBQVUsT0FBTyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUM7UUFDekUsQ0FBQztRQUNELE9BQU8sTUFBTSxDQUFDLE1BQWdCLENBQUM7SUFDakMsQ0FBQztJQUVELEtBQUssQ0FBQyxLQUFLLENBQUMsVUFBa0I7UUFDNUIsT0FBTztRQUNQLElBQUksS0FBSyxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsQ0FBQztZQUNsQyxPQUFPLFVBQVUsQ0FBQztRQUNwQixDQUFDO1FBRUQsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsU0FBUyxVQUFVLEVBQUUsQ0FBQyxDQUFDO1FBQ3hDLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixVQUFVLEVBQUUsQ0FBQztRQUM5QyxNQUFNLEtBQUssR0FBRyxLQUFLLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxRQUFRLENBQUMsQ0FBQztRQUN4QyxJQUFJLEtBQUssRUFBRSxDQUFDO1lBQ1YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxVQUFVLEtBQUssS0FBSyxFQUFFLENBQUMsQ0FBQztZQUN0RCxPQUFPLEtBQUssQ0FBQztRQUNmLENBQUM7UUFFRCxNQUFNLFVBQVUsR0FBRyxNQUFNLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxhQUFhLEVBQUUsQ0FBQztRQUMvRCxJQUFJLFVBQVUsSUFBSSxVQUFVLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3hDLE1BQU0sYUFBYSxHQUFHLEdBQUcsR0FBRyxVQUFVLENBQUM7WUFDdkMsS0FBSyxNQUFNLFNBQVMsSUFBSSxVQUFVLEVBQUUsQ0FBQztnQkFDbkMsSUFBSSxhQUFhLENBQUMsUUFBUSxDQUFDLEdBQUcsR0FBRyxTQUFTLENBQUMsRUFBRSxDQUFDO29CQUM1QyxTQUFTO29CQUNULEtBQUssQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUU7d0JBQ25DLEdBQUcsRUFBRSxFQUFFLEdBQUcsSUFBSTtxQkFDZixDQUFDLENBQUM7b0JBQ0gsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxVQUFVLEtBQUssU0FBUyxFQUFFLENBQUMsQ0FBQztvQkFDM0QsT0FBTyxTQUFTLENBQUM7Z0JBQ25CLENBQUM7WUFDSCxDQUFDO1FBQ0gsQ0FBQztRQUVELE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUM5QyxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxhQUFhLFVBQVUsS0FBSyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1FBRXBELElBQUksWUFBWSxHQUFHLElBQUksQ0FBQztRQUN4QixJQUFJLENBQUM7WUFDSCxNQUFNLFVBQVUsR0FBRyxNQUFNLHdCQUF3QixDQUFDLFVBQVUsQ0FBQyxDQUFDO1lBQzlELElBQUksVUFBVSxFQUFFLENBQUM7Z0JBQ2YsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsY0FBYyxVQUFVLEtBQUssVUFBVSxFQUFFLENBQUMsQ0FBQztnQkFDNUQsWUFBWSxHQUFHLFVBQVUsQ0FBQztZQUM1QixDQUFDO1FBQ0gsQ0FBQztRQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7WUFDWCxJQUFJLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxhQUFhLEVBQUUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDO1FBQzlDLENBQUM7UUFDRCxJQUFJLFlBQVksSUFBSSxZQUFZLEtBQUssR0FBRyxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsYUFBYSxZQUFZLGVBQWUsR0FBRyxvQkFBb0IsQ0FBQyxDQUFDO1FBQ3BGLENBQUM7UUFFRCxPQUFPLEdBQUcsQ0FBQztJQUNiLENBQUM7Q0FDRiJ9
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
export * from "./api.js";
|
|
2
|
-
export * from "./registry.js";
|
|
3
|
-
export * from "./decorator.js";
|
|
4
|
-
export * from "./base.js";
|
|
5
|
-
export * from "./domain-parser.js";
|
|
6
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG5zLXByb3ZpZGVyL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLGNBQWMsVUFBVSxDQUFDO0FBQ3pCLGNBQWMsZUFBZSxDQUFDO0FBQzlCLGNBQWMsZ0JBQWdCLENBQUM7QUFDL0IsY0FBYyxXQUFXLENBQUM7QUFDMUIsY0FBYyxvQkFBb0IsQ0FBQyJ9
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const dnsProviderRegistry: import("@certd/pipeline").Registry<unknown>;
|
|
@@ -1,3 +0,0 @@
|
|
|
1
|
-
import { createRegistry } from "@certd/pipeline";
|
|
2
|
-
export const dnsProviderRegistry = createRegistry("dnsProvider");
|
|
3
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVnaXN0cnkuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvZG5zLXByb3ZpZGVyL3JlZ2lzdHJ5LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUVqRCxNQUFNLENBQUMsTUFBTSxtQkFBbUIsR0FBRyxjQUFjLENBQUMsYUFBYSxDQUFDLENBQUMifQ==
|
package/dist/libs/google.d.ts
DELETED
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { EabAccess, GoogleAccess } from "../access/index.js";
|
|
2
|
-
import { ILogger } from "@certd/basic";
|
|
3
|
-
export declare class GoogleClient {
|
|
4
|
-
access: GoogleAccess;
|
|
5
|
-
logger: ILogger;
|
|
6
|
-
constructor(opts: {
|
|
7
|
-
logger: ILogger;
|
|
8
|
-
access: GoogleAccess;
|
|
9
|
-
});
|
|
10
|
-
getEab(): Promise<EabAccess>;
|
|
11
|
-
}
|
package/dist/libs/google.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { EabAccess } from "../access/index.js";
|
|
2
|
-
export class GoogleClient {
|
|
3
|
-
access;
|
|
4
|
-
logger;
|
|
5
|
-
constructor(opts) {
|
|
6
|
-
this.access = opts.access;
|
|
7
|
-
this.logger = opts.logger;
|
|
8
|
-
}
|
|
9
|
-
async getEab() {
|
|
10
|
-
// https://cloud.google.com/docs/authentication/api-keys-use#using-with-client-libs
|
|
11
|
-
const { v1 } = await import("@google-cloud/publicca");
|
|
12
|
-
// process.env.HTTPS_PROXY = "http://127.0.0.1:10811";
|
|
13
|
-
const access = this.access;
|
|
14
|
-
if (!access.serviceAccountSecret) {
|
|
15
|
-
throw new Error("服务账号密钥 不能为空");
|
|
16
|
-
}
|
|
17
|
-
const credentials = JSON.parse(access.serviceAccountSecret);
|
|
18
|
-
const client = new v1.PublicCertificateAuthorityServiceClient({ credentials });
|
|
19
|
-
const parent = `projects/${credentials.project_id}/locations/global`;
|
|
20
|
-
const externalAccountKey = {};
|
|
21
|
-
const request = {
|
|
22
|
-
parent,
|
|
23
|
-
externalAccountKey,
|
|
24
|
-
};
|
|
25
|
-
let envHttpsProxy = "";
|
|
26
|
-
try {
|
|
27
|
-
if (this.access.httpsProxy) {
|
|
28
|
-
//设置临时使用代理
|
|
29
|
-
envHttpsProxy = process.env.HTTPS_PROXY;
|
|
30
|
-
process.env.HTTPS_PROXY = this.access.httpsProxy;
|
|
31
|
-
}
|
|
32
|
-
this.logger.info("开始获取google eab授权");
|
|
33
|
-
const response = await client.createExternalAccountKey(request);
|
|
34
|
-
const { keyId, b64MacKey } = response[0];
|
|
35
|
-
const eabAccess = new EabAccess();
|
|
36
|
-
eabAccess.kid = keyId;
|
|
37
|
-
eabAccess.hmacKey = b64MacKey.toString();
|
|
38
|
-
this.logger.info(`google eab授权获取成功,kid: ${eabAccess.kid}`);
|
|
39
|
-
return eabAccess;
|
|
40
|
-
}
|
|
41
|
-
finally {
|
|
42
|
-
if (envHttpsProxy) {
|
|
43
|
-
process.env.HTTPS_PROXY = envHttpsProxy;
|
|
44
|
-
}
|
|
45
|
-
}
|
|
46
|
-
}
|
|
47
|
-
}
|
|
48
|
-
// const access = new GoogleAccess();
|
|
49
|
-
// access.projectId = "hip-light-432411-d4";
|
|
50
|
-
// access.serviceAccountSecret = `
|
|
51
|
-
//
|
|
52
|
-
//
|
|
53
|
-
// `;
|
|
54
|
-
// // process.env.HTTPS_PROXY = "http://127.0.0.1:10811";
|
|
55
|
-
// const client = new GoogleClient(access);
|
|
56
|
-
// client.getEab().catch((e) => {
|
|
57
|
-
// console.error(e);
|
|
58
|
-
// });
|
|
59
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ29vZ2xlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2xpYnMvZ29vZ2xlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQWdCLE1BQU0sb0JBQW9CLENBQUM7QUFHN0QsTUFBTSxPQUFPLFlBQVk7SUFDdkIsTUFBTSxDQUFlO0lBQ3JCLE1BQU0sQ0FBVTtJQUNoQixZQUFZLElBQStDO1FBQ3pELElBQUksQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQztRQUMxQixJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDNUIsQ0FBQztJQUNELEtBQUssQ0FBQyxNQUFNO1FBQ1YsbUZBQW1GO1FBQ25GLE1BQU0sRUFBRSxFQUFFLEVBQUUsR0FBRyxNQUFNLE1BQU0sQ0FBQyx3QkFBd0IsQ0FBQyxDQUFDO1FBQ3RELHNEQUFzRDtRQUN0RCxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsTUFBTSxDQUFDO1FBQzNCLElBQUksQ0FBQyxNQUFNLENBQUMsb0JBQW9CLEVBQUUsQ0FBQztZQUNqQyxNQUFNLElBQUksS0FBSyxDQUFDLGFBQWEsQ0FBQyxDQUFDO1FBQ2pDLENBQUM7UUFDRCxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxvQkFBb0IsQ0FBQyxDQUFDO1FBRTVELE1BQU0sTUFBTSxHQUFHLElBQUksRUFBRSxDQUFDLHVDQUF1QyxDQUFDLEVBQUUsV0FBVyxFQUFFLENBQUMsQ0FBQztRQUMvRSxNQUFNLE1BQU0sR0FBRyxZQUFZLFdBQVcsQ0FBQyxVQUFVLG1CQUFtQixDQUFDO1FBQ3JFLE1BQU0sa0JBQWtCLEdBQUcsRUFBRSxDQUFDO1FBQzlCLE1BQU0sT0FBTyxHQUFHO1lBQ2QsTUFBTTtZQUNOLGtCQUFrQjtTQUNuQixDQUFDO1FBRUYsSUFBSSxhQUFhLEdBQUcsRUFBRSxDQUFDO1FBQ3ZCLElBQUksQ0FBQztZQUNILElBQUksSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUUsQ0FBQztnQkFDM0IsVUFBVTtnQkFDVixhQUFhLEdBQUcsT0FBTyxDQUFDLEdBQUcsQ0FBQyxXQUFXLENBQUM7Z0JBQ3hDLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDO1lBQ25ELENBQUM7WUFDRCxJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1lBQ3JDLE1BQU0sUUFBUSxHQUFHLE1BQU0sTUFBTSxDQUFDLHdCQUF3QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hFLE1BQU0sRUFBRSxLQUFLLEVBQUUsU0FBUyxFQUFFLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxDQUFDO1lBQ3pDLE1BQU0sU0FBUyxHQUFHLElBQUksU0FBUyxFQUFFLENBQUM7WUFDbEMsU0FBUyxDQUFDLEdBQUcsR0FBRyxLQUFLLENBQUM7WUFDdEIsU0FBUyxDQUFDLE9BQU8sR0FBRyxTQUFTLENBQUMsUUFBUSxFQUFFLENBQUM7WUFDekMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMseUJBQXlCLFNBQVMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQzNELE9BQU8sU0FBUyxDQUFDO1FBQ25CLENBQUM7Z0JBQVMsQ0FBQztZQUNULElBQUksYUFBYSxFQUFFLENBQUM7Z0JBQ2xCLE9BQU8sQ0FBQyxHQUFHLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQztZQUMxQyxDQUFDO1FBQ0gsQ0FBQztJQUNILENBQUM7Q0FDRjtBQUVELHFDQUFxQztBQUNyQyw0Q0FBNEM7QUFDNUMsa0NBQWtDO0FBQ2xDLEVBQUU7QUFDRixFQUFFO0FBQ0YsS0FBSztBQUNMLHlEQUF5RDtBQUN6RCwyQ0FBMkM7QUFDM0MsaUNBQWlDO0FBQ2pDLHNCQUFzQjtBQUN0QixNQUFNIn0=
|