@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.
Files changed (47) hide show
  1. package/CHANGELOG.md +8 -0
  2. package/package.json +6 -6
  3. package/dist/access/eab-access.d.ts +0 -6
  4. package/dist/access/eab-access.js +0 -62
  5. package/dist/access/google-access.d.ts +0 -8
  6. package/dist/access/google-access.js +0 -119
  7. package/dist/access/index.d.ts +0 -2
  8. package/dist/access/index.js +0 -3
  9. package/dist/dns-provider/api.d.ts +0 -76
  10. package/dist/dns-provider/api.js +0 -2
  11. package/dist/dns-provider/base.d.ts +0 -27
  12. package/dist/dns-provider/base.js +0 -49
  13. package/dist/dns-provider/decorator.d.ts +0 -3
  14. package/dist/dns-provider/decorator.js +0 -18
  15. package/dist/dns-provider/domain-parser.d.ts +0 -9
  16. package/dist/dns-provider/domain-parser.js +0 -64
  17. package/dist/dns-provider/index.d.ts +0 -5
  18. package/dist/dns-provider/index.js +0 -6
  19. package/dist/dns-provider/registry.d.ts +0 -1
  20. package/dist/dns-provider/registry.js +0 -3
  21. package/dist/libs/google.d.ts +0 -11
  22. package/dist/libs/google.js +0 -59
  23. package/dist/plugin/cert-plugin/acme.d.ts +0 -123
  24. package/dist/plugin/cert-plugin/acme.js +0 -362
  25. package/dist/plugin/cert-plugin/base-convert.d.ts +0 -25
  26. package/dist/plugin/cert-plugin/base-convert.js +0 -210
  27. package/dist/plugin/cert-plugin/base.d.ts +0 -27
  28. package/dist/plugin/cert-plugin/base.js +0 -175
  29. package/dist/plugin/cert-plugin/cert-reader.d.ts +0 -51
  30. package/dist/plugin/cert-plugin/cert-reader.js +0 -206
  31. package/dist/plugin/cert-plugin/convert.d.ts +0 -26
  32. package/dist/plugin/cert-plugin/convert.js +0 -124
  33. package/dist/plugin/cert-plugin/custom/index.d.ts +0 -24
  34. package/dist/plugin/cert-plugin/custom/index.js +0 -202
  35. package/dist/plugin/cert-plugin/getter/aliyun.d.ts +0 -19
  36. package/dist/plugin/cert-plugin/getter/aliyun.js +0 -165
  37. package/dist/plugin/cert-plugin/index.d.ts +0 -62
  38. package/dist/plugin/cert-plugin/index.js +0 -672
  39. package/dist/plugin/cert-plugin/lego/dns.d.ts +0 -1
  40. package/dist/plugin/cert-plugin/lego/dns.js +0 -2
  41. package/dist/plugin/cert-plugin/lego/index.d.ts +0 -21
  42. package/dist/plugin/cert-plugin/lego/index.js +0 -256
  43. package/dist/plugin/index.d.ts +0 -6
  44. package/dist/plugin/index.js +0 -7
  45. package/stats.html +0 -6177
  46. package/test/dist/cert-plugin.test.js +0 -14
  47. 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.2",
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.2",
22
- "@certd/basic": "^1.41.2",
23
- "@certd/pipeline": "^1.41.2",
24
- "@certd/plugin-lib": "^1.41.2",
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": "cc38ccd0e9eddbd31e0b0401516788e5d9c16d05"
44
+ "gitHead": "bc731e4fb119787930e816a7d57c808b1b5cd66a"
45
45
  }
@@ -1,6 +0,0 @@
1
- import { BaseAccess } from "@certd/pipeline";
2
- export declare class EabAccess extends BaseAccess {
3
- kid: string;
4
- hmacKey: string;
5
- email: string;
6
- }
@@ -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,8 +0,0 @@
1
- import { BaseAccess } from "@certd/pipeline";
2
- export declare class GoogleAccess extends BaseAccess {
3
- type: string;
4
- projectId: string;
5
- apiKey: string;
6
- serviceAccountSecret: string;
7
- httpsProxy: string;
8
- }
@@ -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
@@ -1,2 +0,0 @@
1
- export * from "./eab-access.js";
2
- export * from "./google-access.js";
@@ -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
- }
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBpLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL2Rucy1wcm92aWRlci9hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IiJ9
@@ -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,3 +0,0 @@
1
- import { DnsProviderDefine } from "./api.js";
2
- export declare const DNS_PROVIDER_CLASS_KEY = "pipeline:dns-provider";
3
- export declare function IsDnsProvider(define: DnsProviderDefine): ClassDecorator;
@@ -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,5 +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";
@@ -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==
@@ -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
- }
@@ -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=