@certd/plugin-cert 1.22.5 → 1.22.7
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 +10 -0
- package/dist/access/eab-access.js +46 -46
- package/dist/dns-provider/api.js +1 -1
- package/dist/dns-provider/decorator.js +26 -26
- package/dist/dns-provider/registry.js +2 -2
- package/dist/plugin/cert-plugin/acme.js +213 -213
- package/dist/plugin/cert-plugin/base.js +260 -259
- package/dist/plugin/cert-plugin/index.js +186 -186
- package/dist/plugin/cert-plugin/lego/dns.d.ts +1 -1
- package/dist/plugin/cert-plugin/lego/dns.js +1 -1
- package/dist/plugin/cert-plugin/lego/index.js +171 -171
- package/package.json +4 -4
- package/tsconfig.tsbuildinfo +1 -1
|
@@ -1,186 +1,186 @@
|
|
|
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 { Decorator, IsTaskPlugin, pluginGroups, RunStrategy, TaskInput } from "@certd/pipeline";
|
|
11
|
-
import { AcmeService } from "./acme.js";
|
|
12
|
-
import _ from "lodash-es";
|
|
13
|
-
import { dnsProviderRegistry } from "../../dns-provider/index.js";
|
|
14
|
-
import { CertReader } from "./cert-reader.js";
|
|
15
|
-
import { CertApplyBasePlugin } from "./base.js";
|
|
16
|
-
export { CertReader };
|
|
17
|
-
let CertApplyPlugin = class CertApplyPlugin extends CertApplyBasePlugin {
|
|
18
|
-
sslProvider;
|
|
19
|
-
eabAccessId;
|
|
20
|
-
dnsProviderType;
|
|
21
|
-
dnsProviderAccess;
|
|
22
|
-
useProxy = false;
|
|
23
|
-
skipLocalVerify = false;
|
|
24
|
-
acme;
|
|
25
|
-
async onInit() {
|
|
26
|
-
let eab = null;
|
|
27
|
-
if (this.eabAccessId) {
|
|
28
|
-
eab = await this.ctx.accessService.getById(this.eabAccessId);
|
|
29
|
-
}
|
|
30
|
-
this.acme = new AcmeService({
|
|
31
|
-
userContext: this.userContext,
|
|
32
|
-
logger: this.logger,
|
|
33
|
-
sslProvider: this.sslProvider,
|
|
34
|
-
eab,
|
|
35
|
-
skipLocalVerify: this.skipLocalVerify,
|
|
36
|
-
useMappingProxy: this.useProxy,
|
|
37
|
-
});
|
|
38
|
-
}
|
|
39
|
-
async doCertApply() {
|
|
40
|
-
const email = this["email"];
|
|
41
|
-
const domains = this["domains"];
|
|
42
|
-
const dnsProviderType = this["dnsProviderType"];
|
|
43
|
-
const dnsProviderAccessId = this["dnsProviderAccess"];
|
|
44
|
-
const csrInfo = _.merge({
|
|
45
|
-
country: "CN",
|
|
46
|
-
state: "GuangDong",
|
|
47
|
-
locality: "ShengZhen",
|
|
48
|
-
organization: "CertD Org.",
|
|
49
|
-
organizationUnit: "IT Department",
|
|
50
|
-
emailAddress: email,
|
|
51
|
-
}, this.csrInfo ? JSON.parse(this.csrInfo) : {});
|
|
52
|
-
this.logger.info("开始申请证书,", email, domains);
|
|
53
|
-
const dnsProviderPlugin = dnsProviderRegistry.get(dnsProviderType);
|
|
54
|
-
const DnsProviderClass = dnsProviderPlugin.target;
|
|
55
|
-
const dnsProviderDefine = dnsProviderPlugin.define;
|
|
56
|
-
const access = await this.accessService.getById(dnsProviderAccessId);
|
|
57
|
-
// @ts-ignore
|
|
58
|
-
const dnsProvider = new DnsProviderClass();
|
|
59
|
-
const context = { access, logger: this.logger, http: this.http };
|
|
60
|
-
Decorator.inject(dnsProviderDefine.autowire, dnsProvider, context);
|
|
61
|
-
dnsProvider.setCtx(context);
|
|
62
|
-
await dnsProvider.onInstance();
|
|
63
|
-
try {
|
|
64
|
-
const cert = await this.acme.order({
|
|
65
|
-
email,
|
|
66
|
-
domains,
|
|
67
|
-
dnsProvider,
|
|
68
|
-
csrInfo,
|
|
69
|
-
isTest: false,
|
|
70
|
-
});
|
|
71
|
-
const certInfo = this.formatCerts(cert);
|
|
72
|
-
return new CertReader(certInfo);
|
|
73
|
-
}
|
|
74
|
-
catch (e) {
|
|
75
|
-
const message = e.message;
|
|
76
|
-
if (message.indexOf("redundant with a wildcard domain in the same request") >= 0) {
|
|
77
|
-
this.logger.error(e);
|
|
78
|
-
throw new Error(`通配符域名已经包含了普通域名,请删除其中一个(${message})`);
|
|
79
|
-
}
|
|
80
|
-
throw e;
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
};
|
|
84
|
-
__decorate([
|
|
85
|
-
TaskInput({
|
|
86
|
-
title: "证书提供商",
|
|
87
|
-
default: "letsencrypt",
|
|
88
|
-
component: {
|
|
89
|
-
name: "a-select",
|
|
90
|
-
vModel: "value",
|
|
91
|
-
options: [
|
|
92
|
-
{ value: "letsencrypt", label: "Let's Encrypt" },
|
|
93
|
-
// { value: "letsencrypt-proxy", label: "Let's Encrypt代理,letsencrypt.org无法访问时使用" },
|
|
94
|
-
// { value: "buypass", label: "Buypass" },
|
|
95
|
-
{ value: "zerossl", label: "ZeroSSL" },
|
|
96
|
-
],
|
|
97
|
-
},
|
|
98
|
-
required: true,
|
|
99
|
-
}),
|
|
100
|
-
__metadata("design:type", String)
|
|
101
|
-
], CertApplyPlugin.prototype, "sslProvider", void 0);
|
|
102
|
-
__decorate([
|
|
103
|
-
TaskInput({
|
|
104
|
-
title: "EAB授权",
|
|
105
|
-
component: {
|
|
106
|
-
name: "pi-access-selector",
|
|
107
|
-
type: "eab",
|
|
108
|
-
},
|
|
109
|
-
maybeNeed: true,
|
|
110
|
-
helper: "如果使用ZeroSSL证书,需要提供EAB授权, 请前往 https://app.zerossl.com/developer 生成 'EAB Credentials for ACME Clients' ",
|
|
111
|
-
}),
|
|
112
|
-
__metadata("design:type", Number)
|
|
113
|
-
], CertApplyPlugin.prototype, "eabAccessId", void 0);
|
|
114
|
-
__decorate([
|
|
115
|
-
TaskInput({
|
|
116
|
-
title: "DNS提供商",
|
|
117
|
-
component: {
|
|
118
|
-
name: "pi-dns-provider-selector",
|
|
119
|
-
},
|
|
120
|
-
required: true,
|
|
121
|
-
helper: "请选择dns解析提供商",
|
|
122
|
-
}),
|
|
123
|
-
__metadata("design:type", String)
|
|
124
|
-
], CertApplyPlugin.prototype, "dnsProviderType", void 0);
|
|
125
|
-
__decorate([
|
|
126
|
-
TaskInput({
|
|
127
|
-
title: "DNS解析授权",
|
|
128
|
-
component: {
|
|
129
|
-
name: "pi-access-selector",
|
|
130
|
-
},
|
|
131
|
-
required: true,
|
|
132
|
-
helper: "请选择dns解析提供商授权",
|
|
133
|
-
reference: [
|
|
134
|
-
{
|
|
135
|
-
src: "form.dnsProviderType",
|
|
136
|
-
dest: "component.type",
|
|
137
|
-
type: "computed",
|
|
138
|
-
},
|
|
139
|
-
],
|
|
140
|
-
}),
|
|
141
|
-
__metadata("design:type", String)
|
|
142
|
-
], CertApplyPlugin.prototype, "dnsProviderAccess", void 0);
|
|
143
|
-
__decorate([
|
|
144
|
-
TaskInput({
|
|
145
|
-
title: "使用代理",
|
|
146
|
-
default: false,
|
|
147
|
-
component: {
|
|
148
|
-
name: "a-switch",
|
|
149
|
-
vModel: "checked",
|
|
150
|
-
},
|
|
151
|
-
helper: "如果acme-v02.api.letsencrypt.org被墙无法连接访问,请尝试开启此选项",
|
|
152
|
-
}),
|
|
153
|
-
__metadata("design:type", Object)
|
|
154
|
-
], CertApplyPlugin.prototype, "useProxy", void 0);
|
|
155
|
-
__decorate([
|
|
156
|
-
TaskInput({
|
|
157
|
-
title: "跳过本地校验DNS",
|
|
158
|
-
default: false,
|
|
159
|
-
component: {
|
|
160
|
-
name: "a-switch",
|
|
161
|
-
vModel: "checked",
|
|
162
|
-
},
|
|
163
|
-
helper: "如果重试多次出现Authorization not found TXT record,导致无法申请成功,请尝试开启此选项",
|
|
164
|
-
}),
|
|
165
|
-
__metadata("design:type", Object)
|
|
166
|
-
], CertApplyPlugin.prototype, "skipLocalVerify", void 0);
|
|
167
|
-
CertApplyPlugin = __decorate([
|
|
168
|
-
IsTaskPlugin({
|
|
169
|
-
name: "CertApply",
|
|
170
|
-
title: "证书申请(JS版)",
|
|
171
|
-
group: pluginGroups.cert.key,
|
|
172
|
-
desc: "免费通配符域名证书申请,支持多个域名打到同一个证书上",
|
|
173
|
-
default: {
|
|
174
|
-
input: {
|
|
175
|
-
renewDays: 20,
|
|
176
|
-
forceUpdate: false,
|
|
177
|
-
},
|
|
178
|
-
strategy: {
|
|
179
|
-
runStrategy: RunStrategy.AlwaysRun,
|
|
180
|
-
},
|
|
181
|
-
},
|
|
182
|
-
})
|
|
183
|
-
], CertApplyPlugin);
|
|
184
|
-
export { CertApplyPlugin };
|
|
185
|
-
new CertApplyPlugin();
|
|
186
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
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 { Decorator, IsTaskPlugin, pluginGroups, RunStrategy, TaskInput } from "@certd/pipeline";
|
|
11
|
+
import { AcmeService } from "./acme.js";
|
|
12
|
+
import _ from "lodash-es";
|
|
13
|
+
import { dnsProviderRegistry } from "../../dns-provider/index.js";
|
|
14
|
+
import { CertReader } from "./cert-reader.js";
|
|
15
|
+
import { CertApplyBasePlugin } from "./base.js";
|
|
16
|
+
export { CertReader };
|
|
17
|
+
let CertApplyPlugin = class CertApplyPlugin extends CertApplyBasePlugin {
|
|
18
|
+
sslProvider;
|
|
19
|
+
eabAccessId;
|
|
20
|
+
dnsProviderType;
|
|
21
|
+
dnsProviderAccess;
|
|
22
|
+
useProxy = false;
|
|
23
|
+
skipLocalVerify = false;
|
|
24
|
+
acme;
|
|
25
|
+
async onInit() {
|
|
26
|
+
let eab = null;
|
|
27
|
+
if (this.eabAccessId) {
|
|
28
|
+
eab = await this.ctx.accessService.getById(this.eabAccessId);
|
|
29
|
+
}
|
|
30
|
+
this.acme = new AcmeService({
|
|
31
|
+
userContext: this.userContext,
|
|
32
|
+
logger: this.logger,
|
|
33
|
+
sslProvider: this.sslProvider,
|
|
34
|
+
eab,
|
|
35
|
+
skipLocalVerify: this.skipLocalVerify,
|
|
36
|
+
useMappingProxy: this.useProxy,
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
async doCertApply() {
|
|
40
|
+
const email = this["email"];
|
|
41
|
+
const domains = this["domains"];
|
|
42
|
+
const dnsProviderType = this["dnsProviderType"];
|
|
43
|
+
const dnsProviderAccessId = this["dnsProviderAccess"];
|
|
44
|
+
const csrInfo = _.merge({
|
|
45
|
+
country: "CN",
|
|
46
|
+
state: "GuangDong",
|
|
47
|
+
locality: "ShengZhen",
|
|
48
|
+
organization: "CertD Org.",
|
|
49
|
+
organizationUnit: "IT Department",
|
|
50
|
+
emailAddress: email,
|
|
51
|
+
}, this.csrInfo ? JSON.parse(this.csrInfo) : {});
|
|
52
|
+
this.logger.info("开始申请证书,", email, domains);
|
|
53
|
+
const dnsProviderPlugin = dnsProviderRegistry.get(dnsProviderType);
|
|
54
|
+
const DnsProviderClass = dnsProviderPlugin.target;
|
|
55
|
+
const dnsProviderDefine = dnsProviderPlugin.define;
|
|
56
|
+
const access = await this.accessService.getById(dnsProviderAccessId);
|
|
57
|
+
// @ts-ignore
|
|
58
|
+
const dnsProvider = new DnsProviderClass();
|
|
59
|
+
const context = { access, logger: this.logger, http: this.http };
|
|
60
|
+
Decorator.inject(dnsProviderDefine.autowire, dnsProvider, context);
|
|
61
|
+
dnsProvider.setCtx(context);
|
|
62
|
+
await dnsProvider.onInstance();
|
|
63
|
+
try {
|
|
64
|
+
const cert = await this.acme.order({
|
|
65
|
+
email,
|
|
66
|
+
domains,
|
|
67
|
+
dnsProvider,
|
|
68
|
+
csrInfo,
|
|
69
|
+
isTest: false,
|
|
70
|
+
});
|
|
71
|
+
const certInfo = this.formatCerts(cert);
|
|
72
|
+
return new CertReader(certInfo);
|
|
73
|
+
}
|
|
74
|
+
catch (e) {
|
|
75
|
+
const message = e.message;
|
|
76
|
+
if (message.indexOf("redundant with a wildcard domain in the same request") >= 0) {
|
|
77
|
+
this.logger.error(e);
|
|
78
|
+
throw new Error(`通配符域名已经包含了普通域名,请删除其中一个(${message})`);
|
|
79
|
+
}
|
|
80
|
+
throw e;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
};
|
|
84
|
+
__decorate([
|
|
85
|
+
TaskInput({
|
|
86
|
+
title: "证书提供商",
|
|
87
|
+
default: "letsencrypt",
|
|
88
|
+
component: {
|
|
89
|
+
name: "a-select",
|
|
90
|
+
vModel: "value",
|
|
91
|
+
options: [
|
|
92
|
+
{ value: "letsencrypt", label: "Let's Encrypt" },
|
|
93
|
+
// { value: "letsencrypt-proxy", label: "Let's Encrypt代理,letsencrypt.org无法访问时使用" },
|
|
94
|
+
// { value: "buypass", label: "Buypass" },
|
|
95
|
+
{ value: "zerossl", label: "ZeroSSL" },
|
|
96
|
+
],
|
|
97
|
+
},
|
|
98
|
+
required: true,
|
|
99
|
+
}),
|
|
100
|
+
__metadata("design:type", String)
|
|
101
|
+
], CertApplyPlugin.prototype, "sslProvider", void 0);
|
|
102
|
+
__decorate([
|
|
103
|
+
TaskInput({
|
|
104
|
+
title: "EAB授权",
|
|
105
|
+
component: {
|
|
106
|
+
name: "pi-access-selector",
|
|
107
|
+
type: "eab",
|
|
108
|
+
},
|
|
109
|
+
maybeNeed: true,
|
|
110
|
+
helper: "如果使用ZeroSSL证书,需要提供EAB授权, 请前往 https://app.zerossl.com/developer 生成 'EAB Credentials for ACME Clients' ",
|
|
111
|
+
}),
|
|
112
|
+
__metadata("design:type", Number)
|
|
113
|
+
], CertApplyPlugin.prototype, "eabAccessId", void 0);
|
|
114
|
+
__decorate([
|
|
115
|
+
TaskInput({
|
|
116
|
+
title: "DNS提供商",
|
|
117
|
+
component: {
|
|
118
|
+
name: "pi-dns-provider-selector",
|
|
119
|
+
},
|
|
120
|
+
required: true,
|
|
121
|
+
helper: "请选择dns解析提供商",
|
|
122
|
+
}),
|
|
123
|
+
__metadata("design:type", String)
|
|
124
|
+
], CertApplyPlugin.prototype, "dnsProviderType", void 0);
|
|
125
|
+
__decorate([
|
|
126
|
+
TaskInput({
|
|
127
|
+
title: "DNS解析授权",
|
|
128
|
+
component: {
|
|
129
|
+
name: "pi-access-selector",
|
|
130
|
+
},
|
|
131
|
+
required: true,
|
|
132
|
+
helper: "请选择dns解析提供商授权",
|
|
133
|
+
reference: [
|
|
134
|
+
{
|
|
135
|
+
src: "form.dnsProviderType",
|
|
136
|
+
dest: "component.type",
|
|
137
|
+
type: "computed",
|
|
138
|
+
},
|
|
139
|
+
],
|
|
140
|
+
}),
|
|
141
|
+
__metadata("design:type", String)
|
|
142
|
+
], CertApplyPlugin.prototype, "dnsProviderAccess", void 0);
|
|
143
|
+
__decorate([
|
|
144
|
+
TaskInput({
|
|
145
|
+
title: "使用代理",
|
|
146
|
+
default: false,
|
|
147
|
+
component: {
|
|
148
|
+
name: "a-switch",
|
|
149
|
+
vModel: "checked",
|
|
150
|
+
},
|
|
151
|
+
helper: "如果acme-v02.api.letsencrypt.org被墙无法连接访问,请尝试开启此选项",
|
|
152
|
+
}),
|
|
153
|
+
__metadata("design:type", Object)
|
|
154
|
+
], CertApplyPlugin.prototype, "useProxy", void 0);
|
|
155
|
+
__decorate([
|
|
156
|
+
TaskInput({
|
|
157
|
+
title: "跳过本地校验DNS",
|
|
158
|
+
default: false,
|
|
159
|
+
component: {
|
|
160
|
+
name: "a-switch",
|
|
161
|
+
vModel: "checked",
|
|
162
|
+
},
|
|
163
|
+
helper: "如果重试多次出现Authorization not found TXT record,导致无法申请成功,请尝试开启此选项",
|
|
164
|
+
}),
|
|
165
|
+
__metadata("design:type", Object)
|
|
166
|
+
], CertApplyPlugin.prototype, "skipLocalVerify", void 0);
|
|
167
|
+
CertApplyPlugin = __decorate([
|
|
168
|
+
IsTaskPlugin({
|
|
169
|
+
name: "CertApply",
|
|
170
|
+
title: "证书申请(JS版)",
|
|
171
|
+
group: pluginGroups.cert.key,
|
|
172
|
+
desc: "免费通配符域名证书申请,支持多个域名打到同一个证书上",
|
|
173
|
+
default: {
|
|
174
|
+
input: {
|
|
175
|
+
renewDays: 20,
|
|
176
|
+
forceUpdate: false,
|
|
177
|
+
},
|
|
178
|
+
strategy: {
|
|
179
|
+
runStrategy: RunStrategy.AlwaysRun,
|
|
180
|
+
},
|
|
181
|
+
},
|
|
182
|
+
})
|
|
183
|
+
], CertApplyPlugin);
|
|
184
|
+
export { CertApplyPlugin };
|
|
185
|
+
new CertApplyPlugin();
|
|
186
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvcGx1Z2luL2NlcnQtcGx1Z2luL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQUUsU0FBUyxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFaEcsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLFdBQVcsQ0FBQztBQUN4QyxPQUFPLENBQUMsTUFBTSxXQUFXLENBQUM7QUFDMUIsT0FBTyxFQUF5QyxtQkFBbUIsRUFBRSxNQUFNLDZCQUE2QixDQUFDO0FBQ3pHLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxrQkFBa0IsQ0FBQztBQUM5QyxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxXQUFXLENBQUM7QUFFaEQsT0FBTyxFQUFFLFVBQVUsRUFBRSxDQUFDO0FBa0JmLElBQU0sZUFBZSxHQUFyQixNQUFNLGVBQWdCLFNBQVEsbUJBQW1CO0lBZ0J0RCxXQUFXLENBQWU7SUFXMUIsV0FBVyxDQUFVO0lBVXJCLGVBQWUsQ0FBVTtJQWlCekIsaUJBQWlCLENBQVU7SUFXM0IsUUFBUSxHQUFHLEtBQUssQ0FBQztJQVdqQixlQUFlLEdBQUcsS0FBSyxDQUFDO0lBRXhCLElBQUksQ0FBZTtJQUVuQixLQUFLLENBQUMsTUFBTTtRQUNWLElBQUksR0FBRyxHQUFRLElBQUksQ0FBQztRQUNwQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUU7WUFDcEIsR0FBRyxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxhQUFhLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQztTQUM5RDtRQUNELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxXQUFXLENBQUM7WUFDMUIsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLE1BQU0sRUFBRSxJQUFJLENB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const dnsList: any[];
|
|
1
|
+
export declare const dnsList: any[];
|
|
@@ -1,2 +1,2 @@
|
|
|
1
|
-
export const dnsList = [];
|
|
1
|
+
export const dnsList = [];
|
|
2
2
|
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZG5zLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3BsdWdpbi9jZXJ0LXBsdWdpbi9sZWdvL2Rucy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxPQUFPLEdBQUcsRUFBRSxDQUFDIn0=
|