mirror of
https://github.com/certd/certd.git
synced 2026-04-29 16:57:25 +08:00
Compare commits
6 Commits
v1.37.8
...
d4653678b2
| Author | SHA1 | Date | |
|---|---|---|---|
| d4653678b2 | |||
| a4ce752e58 | |||
| f6649398ef | |||
| 02859cc270 | |||
| 4ed30e082f | |||
| d3985dd129 |
@@ -3,6 +3,17 @@
|
||||
All notable changes to this project will be documented in this file.
|
||||
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
|
||||
|
||||
## [1.37.8](https://github.com/certd/certd/compare/v1.37.7...v1.37.8) (2025-11-17)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
* **plugins/woai-cdn:** 修正默认接口域名与帮助链接中的路径 ([#576](https://github.com/certd/certd/issues/576)) @LjyLab ([d20046c](https://github.com/certd/certd/commit/d20046c86681ea177ece434423b7c81a76b437fb))
|
||||
|
||||
### Performance Improvements
|
||||
|
||||
* 修复西数解析记录添加失败的bug,支持部署证书到西数虚拟主机 ([1102952](https://github.com/certd/certd/commit/1102952b4703e8c0bbc17b0700c0ed3ef6f866d3))
|
||||
* 支持回车键触发登录 ([eb5c88f](https://github.com/certd/certd/commit/eb5c88fbb2901f1a9669429a7cd8dc76f6806d01))
|
||||
|
||||
## [1.37.7](https://github.com/certd/certd/compare/v1.37.6...v1.37.7) (2025-11-12)
|
||||
|
||||
### Bug Fixes
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
# 任务插件
|
||||
共 `102` 款任务插件
|
||||
共 `103` 款任务插件
|
||||
## 1. 证书申请
|
||||
|
||||
| 序号 | 名称 | 说明 |
|
||||
@@ -29,18 +29,19 @@
|
||||
| 6.| **白山云-更新证书** | |
|
||||
| 7.| **天翼云-部署证书到CDN** | 部署证书到天翼云CDN和全站加速 |
|
||||
| 8.| **括彩云-部署到括彩云CDN** | 括彩云CDN,每月免费30G,[注册即领](https://kuocaicdn.com/register?code=8mn536rrzfbf8) |
|
||||
| 9.| **多吉云-部署到多吉云CDN** | |
|
||||
| 10.| **我爱云-部署证书到我爱云CDN** | 部署证书到我爱云CDN |
|
||||
| 11.| **CacheFly-部署证书到CacheFly** | 部署证书到 CacheFly |
|
||||
| 12.| **Gcore-部署证书到Gcore** | 仅上传 并不会部署到cdn |
|
||||
| 13.| **Gcore-刷新Gcore证书** | 刷新现有的证书 |
|
||||
| 14.| **又拍云-部署证书到CDN/USS** | 支持又拍云CDN,又拍云云存储USS |
|
||||
| 15.| **FlexCDN-更新证书** | |
|
||||
| 16.| **farcdn-更新证书** | www.farcdn.net |
|
||||
| 17.| **雨云-更新证书** | app.rainyun.com |
|
||||
| 18.| **网宿-更新证书** | 网宿证书自动更新 |
|
||||
| 19.| **金山云-更新CDN证书** | 金山云自动更新CDN证书 |
|
||||
| 20.| **APISIX-更新证书** | 自动更新APISIX证书 |
|
||||
| 9.| **西数-部署到虚拟主机** | 西部数码部署证书到虚拟主机 |
|
||||
| 10.| **多吉云-部署到多吉云CDN** | |
|
||||
| 11.| **我爱云-部署证书到我爱云CDN** | 部署证书到我爱云CDN |
|
||||
| 12.| **CacheFly-部署证书到CacheFly** | 部署证书到 CacheFly |
|
||||
| 13.| **Gcore-部署证书到Gcore** | 仅上传 并不会部署到cdn |
|
||||
| 14.| **Gcore-刷新Gcore证书** | 刷新现有的证书 |
|
||||
| 15.| **又拍云-部署证书到CDN/USS** | 支持又拍云CDN,又拍云云存储USS |
|
||||
| 16.| **FlexCDN-更新证书** | |
|
||||
| 17.| **farcdn-更新证书** | www.farcdn.net |
|
||||
| 18.| **雨云-更新证书** | app.rainyun.com |
|
||||
| 19.| **网宿-更新证书** | 网宿证书自动更新 |
|
||||
| 20.| **金山云-更新CDN证书** | 金山云自动更新CDN证书 |
|
||||
| 21.| **APISIX-更新证书** | 自动更新APISIX证书 |
|
||||
## 4. 面板
|
||||
|
||||
| 序号 | 名称 | 说明 |
|
||||
|
||||
@@ -70,5 +70,5 @@
|
||||
"bugs": {
|
||||
"url": "https://github.com/publishlab/node-acme-client/issues"
|
||||
},
|
||||
"gitHead": "55d2a1f09b617bc73bd81a65796446c4602ed1b2"
|
||||
"gitHead": "ac70821fea8fb283709870a3eb08f1cd92c94aeb"
|
||||
}
|
||||
|
||||
@@ -46,5 +46,5 @@
|
||||
"tslib": "^2.8.1",
|
||||
"typescript": "^5.4.2"
|
||||
},
|
||||
"gitHead": "55d2a1f09b617bc73bd81a65796446c4602ed1b2"
|
||||
"gitHead": "ac70821fea8fb283709870a3eb08f1cd92c94aeb"
|
||||
}
|
||||
|
||||
@@ -45,5 +45,5 @@
|
||||
"tslib": "^2.8.1",
|
||||
"typescript": "^5.4.2"
|
||||
},
|
||||
"gitHead": "55d2a1f09b617bc73bd81a65796446c4602ed1b2"
|
||||
"gitHead": "ac70821fea8fb283709870a3eb08f1cd92c94aeb"
|
||||
}
|
||||
|
||||
@@ -24,5 +24,5 @@
|
||||
"prettier": "^2.8.8",
|
||||
"tslib": "^2.8.1"
|
||||
},
|
||||
"gitHead": "55d2a1f09b617bc73bd81a65796446c4602ed1b2"
|
||||
"gitHead": "ac70821fea8fb283709870a3eb08f1cd92c94aeb"
|
||||
}
|
||||
|
||||
@@ -31,5 +31,5 @@
|
||||
"tslib": "^2.8.1",
|
||||
"typescript": "^5.4.2"
|
||||
},
|
||||
"gitHead": "55d2a1f09b617bc73bd81a65796446c4602ed1b2"
|
||||
"gitHead": "ac70821fea8fb283709870a3eb08f1cd92c94aeb"
|
||||
}
|
||||
|
||||
@@ -61,5 +61,5 @@
|
||||
"fetch"
|
||||
]
|
||||
},
|
||||
"gitHead": "55d2a1f09b617bc73bd81a65796446c4602ed1b2"
|
||||
"gitHead": "ac70821fea8fb283709870a3eb08f1cd92c94aeb"
|
||||
}
|
||||
|
||||
@@ -32,5 +32,5 @@
|
||||
"tslib": "^2.8.1",
|
||||
"typescript": "^5.4.2"
|
||||
},
|
||||
"gitHead": "55d2a1f09b617bc73bd81a65796446c4602ed1b2"
|
||||
"gitHead": "ac70821fea8fb283709870a3eb08f1cd92c94aeb"
|
||||
}
|
||||
|
||||
@@ -64,5 +64,5 @@
|
||||
"typeorm": "^0.3.11",
|
||||
"typescript": "^5.4.2"
|
||||
},
|
||||
"gitHead": "55d2a1f09b617bc73bd81a65796446c4602ed1b2"
|
||||
"gitHead": "ac70821fea8fb283709870a3eb08f1cd92c94aeb"
|
||||
}
|
||||
|
||||
@@ -46,5 +46,5 @@
|
||||
"typeorm": "^0.3.11",
|
||||
"typescript": "^5.4.2"
|
||||
},
|
||||
"gitHead": "55d2a1f09b617bc73bd81a65796446c4602ed1b2"
|
||||
"gitHead": "ac70821fea8fb283709870a3eb08f1cd92c94aeb"
|
||||
}
|
||||
|
||||
@@ -43,5 +43,5 @@
|
||||
"tslib": "^2.8.1",
|
||||
"typescript": "^5.4.2"
|
||||
},
|
||||
"gitHead": "55d2a1f09b617bc73bd81a65796446c4602ed1b2"
|
||||
"gitHead": "ac70821fea8fb283709870a3eb08f1cd92c94aeb"
|
||||
}
|
||||
|
||||
@@ -53,5 +53,5 @@
|
||||
"tslib": "^2.8.1",
|
||||
"typescript": "^5.4.2"
|
||||
},
|
||||
"gitHead": "55d2a1f09b617bc73bd81a65796446c4602ed1b2"
|
||||
"gitHead": "ac70821fea8fb283709870a3eb08f1cd92c94aeb"
|
||||
}
|
||||
|
||||
@@ -155,10 +155,14 @@ export class AliyunDeployCertToALB extends AbstractTaskPlugin {
|
||||
const client = await this.getLBClient(access, this.regionId);
|
||||
await this.deployDefaultCert(certId, client);
|
||||
}
|
||||
|
||||
await this.ctx.utils.sleep(10000)
|
||||
this.logger.info(`准备开始清理过期证书`);
|
||||
await this.ctx.utils.sleep(20000)
|
||||
for (const listener of this.listeners) {
|
||||
await this.clearInvalidCert(albClientV2, listener);
|
||||
try{
|
||||
await this.clearInvalidCert(albClientV2, listener);
|
||||
}catch(e){
|
||||
this.logger.error(`清理监听器${listener}的过期证书失败`, e);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -236,6 +240,7 @@ export class AliyunDeployCertToALB extends AbstractTaskPlugin {
|
||||
|
||||
const certIds = [];
|
||||
for (const item of list) {
|
||||
this.logger.info(`监听器${listener}绑定的证书${item.CertificateId},status:${item.Status},IsDefault:${item.IsDefault}`);
|
||||
if (item.Status !== "Associated") {
|
||||
continue;
|
||||
}
|
||||
@@ -244,10 +249,12 @@ export class AliyunDeployCertToALB extends AbstractTaskPlugin {
|
||||
}
|
||||
certIds.push( parseInt(item.CertificateId));
|
||||
}
|
||||
this.logger.info(`监听器${listener}绑定的证书${certIds}`);
|
||||
//检查是否过期,过期则删除
|
||||
const invalidCertIds = [];
|
||||
for (const certId of certIds) {
|
||||
const res = await sslClient.getCertInfo(certId);
|
||||
this.logger.info(`证书${certId}过期时间:${res.notAfter}`);
|
||||
if (res.notAfter < new Date().getTime()) {
|
||||
invalidCertIds.push(certId);
|
||||
}
|
||||
@@ -256,7 +263,7 @@ export class AliyunDeployCertToALB extends AbstractTaskPlugin {
|
||||
this.logger.info(`监听器${listener}没有过期的证书`);
|
||||
return
|
||||
}
|
||||
this.logger.info(`开始解绑过期的证书:${invalidCertIds}`);
|
||||
this.logger.info(`开始解绑过期的证书:${invalidCertIds},listener:${listener}`);
|
||||
await client.doRequest({
|
||||
// 接口名称
|
||||
action: "DissociateAdditionalCertificatesFromListener",
|
||||
|
||||
@@ -152,9 +152,14 @@ export class AliyunDeployCertToNLB extends AbstractTaskPlugin {
|
||||
await this.deployDefaultCert(certId, client);
|
||||
}
|
||||
|
||||
await this.ctx.utils.sleep(10000)
|
||||
this.logger.info(`准备开始清理过期证书`);
|
||||
await this.ctx.utils.sleep(20000)
|
||||
for (const listener of this.listeners) {
|
||||
await this.clearInvalidCert(nlbClientV2, listener);
|
||||
try{
|
||||
await this.clearInvalidCert(nlbClientV2, listener);
|
||||
}catch(e){
|
||||
this.logger.error(`清理监听器${listener}的过期证书失败`, e);
|
||||
}
|
||||
}
|
||||
|
||||
this.logger.info('执行完成');
|
||||
@@ -232,6 +237,7 @@ export class AliyunDeployCertToNLB extends AbstractTaskPlugin {
|
||||
|
||||
const certIds = [];
|
||||
for (const item of list) {
|
||||
this.logger.info(`监听器${listener}绑定的证书${item.CertificateId},status:${item.Status},IsDefault:${item.IsDefault}`);
|
||||
if (item.Status !== "Associated") {
|
||||
continue;
|
||||
}
|
||||
@@ -240,10 +246,12 @@ export class AliyunDeployCertToNLB extends AbstractTaskPlugin {
|
||||
}
|
||||
certIds.push( parseInt(item.CertificateId));
|
||||
}
|
||||
this.logger.info(`监听器${listener}绑定的证书${certIds}`);
|
||||
//检查是否过期,过期则删除
|
||||
const invalidCertIds = [];
|
||||
for (const certId of certIds) {
|
||||
const res = await sslClient.getCertInfo(certId);
|
||||
this.logger.info(`证书${certId}过期时间:${res.notAfter}`);
|
||||
if (res.notAfter < new Date().getTime()) {
|
||||
invalidCertIds.push(certId);
|
||||
}
|
||||
@@ -252,7 +260,7 @@ export class AliyunDeployCertToNLB extends AbstractTaskPlugin {
|
||||
this.logger.info(`监听器${listener}没有过期的证书`);
|
||||
return
|
||||
}
|
||||
this.logger.info(`开始解绑过期的证书:${invalidCertIds}`);
|
||||
this.logger.info(`开始解绑过期的证书:${invalidCertIds},listener:${listener}`);
|
||||
|
||||
const ids:any = {}
|
||||
let i = 0
|
||||
|
||||
@@ -1 +1 @@
|
||||
01:16
|
||||
01:18
|
||||
|
||||
@@ -1 +1 @@
|
||||
01:31
|
||||
01:28
|
||||
|
||||
Reference in New Issue
Block a user