Compare commits

..

37 Commits

Author SHA1 Message Date
xiaojunnuo b91826c6e6 chore: 1 2026-05-13 17:29:49 +08:00
xiaojunnuo 686856d0ae build: release 2026-05-13 17:29:19 +08:00
xiaojunnuo 9b09d2578d chore: 1 2026-05-13 17:14:14 +08:00
xiaojunnuo f8f51adf88 build: publish 2026-05-13 14:22:46 +08:00
xiaojunnuo f8ce639717 build: trigger build image 2026-05-13 14:22:33 +08:00
xiaojunnuo 1c6dc169ac v1.39.16 2026-05-13 14:21:21 +08:00
xiaojunnuo 3e5366c74e build: prepare to build 2026-05-13 14:13:01 +08:00
xiaojunnuo b49ddbfef9 v1.39.15 2026-05-13 13:49:09 +08:00
xiaojunnuo b92fd73f53 build: prepare to build 2026-05-13 13:33:12 +08:00
xiaojunnuo 41b8f51a6a chore: 1 2026-05-13 13:32:01 +08:00
xiaojunnuo aad9045de5 perf(network): 新增全局公共http请求 headers设置
1. 新增公共请求头配置项,支持在系统设置中配置全局请求头
2. 实现请求头解析工具方法,支持多行KEY=VALUE格式配置
3. 在请求发起时自动附加全局公共请求头,且不会覆盖请求中已存在的同名Header
4. 添加多语言配置与前端表单组件,完善配置界面
5. 新增单元测试验证全局请求头合并逻辑
2026-05-13 12:09:01 +08:00
xiaojunnuo fdd5848df4 perf: icon选择器增加一套logo集 2026-05-13 11:20:55 +08:00
xiaojunnuo 118c15d046 perf(monitor/site): 新增站点监控页面禁用启用、检查状态两个筛选条件 2026-05-13 11:14:00 +08:00
xiaojunnuo bae4f8e320 fix: 修复第三方登录彩虹登录不上的bug 2026-05-13 11:03:10 +08:00
xiaojunnuo e0189a566e docs(donate): update privilege comparison table to add commercial edition details 2026-05-12 15:08:46 +08:00
xiaojunnuo 1cd8d73cdb Merge branch 'v2-dev' of https://github.com/certd/certd into v2-dev 2026-05-12 10:51:41 +08:00
xiaojunnuo d6e9e5987b perf: 优化申请时报错日志增加对应域名打印 2026-05-12 10:51:34 +08:00
xiaojunnuo 8c5aa37745 build: release 2026-05-12 00:51:59 +08:00
xiaojunnuo a18a871ac3 build: publish 2026-05-12 00:22:37 +08:00
xiaojunnuo 90cbff9cf9 build: trigger build image 2026-05-12 00:22:25 +08:00
xiaojunnuo bae5a04dcc v1.39.14 2026-05-12 00:21:06 +08:00
xiaojunnuo 7146570392 build: prepare to build 2026-05-12 00:06:37 +08:00
xiaojunnuo ae88f85d8e chore: 1 2026-05-12 00:06:02 +08:00
xiaojunnuo a362860137 fix: 修复阿里云订阅流水线创建对话框无法获取阿里订单列表的bug 2026-05-11 23:47:48 +08:00
xiaojunnuo c966896522 fix: 修复启动时报密钥备份不存在的问题 2026-05-11 22:31:11 +08:00
xiaojunnuo 5f88da1985 build: release 2026-05-11 10:26:12 +08:00
xiaojunnuo 043b80a298 chore: 1 2026-05-11 09:41:47 +08:00
xiaojunnuo ed0da28896 Merge branch 'v2-dev' of https://github.com/certd/certd into v2-dev 2026-05-11 09:40:22 +08:00
xiaojunnuo 61a0d69d58 chore: 打包报错, 固定pnpm@10.33.4 2026-05-11 09:39:04 +08:00
xiaojunnuo 3833a9216e chore: 1 2026-05-11 01:21:44 +08:00
xiaojunnuo e59566b5e2 chore: 1 2026-05-11 01:20:00 +08:00
xiaojunnuo e4be0ce464 chore: 1 2026-05-11 01:13:44 +08:00
xiaojunnuo 022dbf0cab chore: 1 2026-05-11 00:54:50 +08:00
xiaojunnuo 1e6b559b89 chore: 1 2026-05-11 00:48:05 +08:00
xiaojunnuo 74bae2005d build: publish 2026-05-11 00:28:04 +08:00
xiaojunnuo 1731a35d94 build: trigger build image 2026-05-11 00:27:48 +08:00
xiaojunnuo d8f132919d chore: 1 2026-05-08 15:50:28 +08:00
61 changed files with 657 additions and 278 deletions
+24
View File
@@ -3,6 +3,30 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.39.16](https://github.com/certd/certd/compare/v1.39.15...v1.39.16) (2026-05-13)
**Note:** Version bump only for package root
## [1.39.15](https://github.com/certd/certd/compare/v1.39.14...v1.39.15) (2026-05-13)
### Bug Fixes
* 修复第三方登录彩虹登录不上的bug ([bae4f8e](https://github.com/certd/certd/commit/bae4f8e3209d9f9869ecbd7c01655383bac2fe21))
### Performance Improvements
* 优化申请时报错日志增加对应域名打印 ([d6e9e59](https://github.com/certd/certd/commit/d6e9e5987bd52ea12ee18745615486eadd4c87ff))
* icon选择器增加一套logo集 ([fdd5848](https://github.com/certd/certd/commit/fdd5848df4055a6ee07dc5eabaaf6b718672882d))
* **monitor/site:** 新增站点监控页面禁用启用、检查状态两个筛选条件 ([118c15d](https://github.com/certd/certd/commit/118c15d04633a6ef06f2d9e7a7849d20f596e02c))
* **network:** 新增全局公共http请求 headers设置 ([aad9045](https://github.com/certd/certd/commit/aad9045de55e76cb2ad09cac74a7bd60a4b47124))
## [1.39.14](https://github.com/certd/certd/compare/v1.39.13...v1.39.14) (2026-05-11)
### Bug Fixes
* 修复阿里云订阅流水线创建对话框无法获取阿里订单列表的bug ([a362860](https://github.com/certd/certd/commit/a362860137bfb7072893c844fe775edc46070ee1))
* 修复启动时报密钥备份不存在的问题 ([c966896](https://github.com/certd/certd/commit/c9668965226af6b54e0e576931dcba8b3d188ef3))
## [1.39.13](https://github.com/certd/certd/compare/v1.39.12...v1.39.13) (2026-05-10)
### Bug Fixes
+16 -12
View File
@@ -179,19 +179,23 @@ https://certd.handfree.work/
[50元专业版优惠券限时领取](https://app.handfree.work/subject/#/app/certd/product)
专业版特权对比
| 功能 | 免费版 | 专业版 |
|---------|---------------------------------------|--------------------------------|
| 免费证书申请 | 免费无限制 | 免费无限制 |
| 证书域名数量 | 无限制 | 无限制 |
| 证书流水线条数 | 无限制 | 无限制 |
| 自动部署插件 | 阿里云CDN、腾讯云、七牛CDN、主机部署、宝塔、1Panel等大部分插件 | 群晖、威联通、proxmox等 |
| 通知 | 邮件通知、自定义webhook | 邮件免配置、企微、钉钉、飞书、anpush、server酱等 |
| 站点监控 | 限制1条 | 无限制 |
| 批量操作 | 无 | 流水线模版,流水线复制,批量运行,批量设置通知、定时等 |
| VIP群 | 无 | 可加,一对一技术支持,必要时可申请远程协助 |
专业版、商业版特权对比
| 功能       | 免费版 | 专业版 | 商业版 |
|---------|---------------------------------------|--------------------------------|---------------------------------|
| 证书申请 | 无限制 | 无限制 | 无限制 |
| 证书域名数量 | 无限制 | 无限制 | 无限制 |
| 证书流水线条数 | 无限制 | 无限制 | 无限制 |
| 自动部署插件 | 阿里云CDN、腾讯云、七牛CDN、主机部署、宝塔、1Panel等大部分插件 | 群晖、威联通、proxmox等 | 同专业版 |
| 通知 | 邮件通知、自定义webhook | 邮件免配置、企微、钉钉、飞书、anpush、server酱等 | 同专业版 |
| 站点监控 | 限制1条 | 无限制 | 无限制 |
| 批量操作 | 无 | 流水线模版,流水线复制,批量运行,批量设置通知、定时等 | 同专业版 |
| VIP群 | 无 | 可加,一对一技术支持,必要时可申请远程协助 | 商业版技术支持 |
| 站点个性化 | 无 | 无 | 可自定义站点名称、Logo等,移除Certd元素,首页警告等 |
| 套餐功能 | 无 | 无 | 支持配置套餐供用户购买 |
| 数据统计 | 无 | 无 | 支持站点各类统计数据 |
| 插件管理 | 无 | 无 | 支持公共EAB设置,插件选项配置 |
| 是否可商用 | 不允许 | 不允许 | 可对外运营 |
## 九、贡献代码
+44
View File
@@ -3,6 +3,50 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.39.16](https://github.com/certd/certd/compare/v1.39.15...v1.39.16) (2026-05-13)
**Note:** Version bump only for package root
## [1.39.15](https://github.com/certd/certd/compare/v1.39.14...v1.39.15) (2026-05-13)
### Bug Fixes
* 修复第三方登录彩虹登录不上的bug ([bae4f8e](https://github.com/certd/certd/commit/bae4f8e3209d9f9869ecbd7c01655383bac2fe21))
### Performance Improvements
* 优化申请时报错日志增加对应域名打印 ([d6e9e59](https://github.com/certd/certd/commit/d6e9e5987bd52ea12ee18745615486eadd4c87ff))
* icon选择器增加一套logo集 ([fdd5848](https://github.com/certd/certd/commit/fdd5848df4055a6ee07dc5eabaaf6b718672882d))
* **monitor/site:** 新增站点监控页面禁用启用、检查状态两个筛选条件 ([118c15d](https://github.com/certd/certd/commit/118c15d04633a6ef06f2d9e7a7849d20f596e02c))
* **network:** 新增全局公共http请求 headers设置 ([aad9045](https://github.com/certd/certd/commit/aad9045de55e76cb2ad09cac74a7bd60a4b47124))
## [1.39.14](https://github.com/certd/certd/compare/v1.39.13...v1.39.14) (2026-05-11)
### Bug Fixes
* 修复阿里云订阅流水线创建对话框无法获取阿里订单列表的bug ([a362860](https://github.com/certd/certd/commit/a362860137bfb7072893c844fe775edc46070ee1))
* 修复启动时报密钥备份不存在的问题 ([c966896](https://github.com/certd/certd/commit/c9668965226af6b54e0e576931dcba8b3d188ef3))
## [1.39.13](https://github.com/certd/certd/compare/v1.39.12...v1.39.13) (2026-05-10)
### Bug Fixes
* **aliyun-access:** 添加阿里云密钥校验失败的错误处理 ([b75c625](https://github.com/certd/certd/commit/b75c625ddcc0b3110699d8e6175681ef157b25df))
* cnameProvider域名支持设置子域名托管 ([7266af1](https://github.com/certd/certd/commit/7266af17491a98338022cfb18cfedfb93ca6ef8f))
* **plugin-aliyun:** 过滤非CAS证书并优化日志信息 ([c4b01da](https://github.com/certd/certd/commit/c4b01da384bc40a241a673ea8bc01ca733c04d83))
### Performance Improvements
* **设置:** 添加首页启用开关配置 ([25ad1e6](https://github.com/certd/certd/commit/25ad1e6f861e43288cc8bd90d4903628e6faec29))
* 新增agents.md ([aa176b0](https://github.com/certd/certd/commit/aa176b081a92837d2d6809d16546a8dfc2e5dd36))
* **用户资料:** 新增手机号邮箱绑定功能 ([e0eb0e2](https://github.com/certd/certd/commit/e0eb0e21f6dae24b639c944f9aba2c90496ab1c0))
* 域名注册过期时间获取再次优化 ([91a1b97](https://github.com/certd/certd/commit/91a1b9755066bf280e194dabf7c3a9f936e2643f))
* **证书流水线:** 添加批量更新证书申请参数功能 ([63be1c1](https://github.com/certd/certd/commit/63be1c1cbd9b09a3b48f26130c296b1cedcca1ac))
* 支持火山云vke ([bb46cb0](https://github.com/certd/certd/commit/bb46cb08f71f6ae921543f7e4a6c5f4e0190556e))
* 重构自动加载模块并优化EAB授权处理 ([4755216](https://github.com/certd/certd/commit/4755216505ad18555a50da9d8008c2207c48df86))
* **domain:** 添加域名过期时间同步进度显示功能 ([9d2937d](https://github.com/certd/certd/commit/9d2937dd4b14ffab73e9b096edd2aa8539811182))
* **plugin-volcengine:** 支持火山引擎VKE部署插件 ([b8a64a6](https://github.com/certd/certd/commit/b8a64a6b5bf3691a47177de42bc49b798e795feb))
## [1.39.12](https://github.com/certd/certd/compare/v1.39.11...v1.39.12) (2026-04-29)
### Bug Fixes
+16 -10
View File
@@ -16,16 +16,22 @@
****------------------****
## 专业版特权对比
| 功能       | 免费版 | 专业版 |
|---------|---------------------------------------|--------------------------------|
| 证书申请 | 无限制 | 无限制 |
| 证书域名数量 | 无限制 | 无限制 |
| 证书流水线条数 | 无限制 | 无限制 |
| 自动部署插件 | 阿里云CDN、腾讯云、七牛CDN、主机部署、宝塔、1Panel等大部分插件 | 群晖、威联通、proxmox等 |
| 通知 | 邮件通知、自定义webhook | 邮件免配置、企微、钉钉、飞书、anpush、server酱等 |
| 站点监控 | 限制1条 | 无限制 |
| 批量操作 | 无 | 流水线模版,流水线复制,批量运行,批量设置通知、定时等 |
| VIP群 | 无 | 可加,一对一技术支持,必要时可申请远程协助 |
| 功能       | 免费版 | 专业版 | 商业版 |
|---------|---------------------------------------|--------------------------------|---------------------------------|
| 证书申请 | 无限制 | 无限制 | 无限制 |
| 证书域名数量 | 无限制 | 无限制 | 无限制 |
| 证书流水线条数 | 无限制 | 无限制 | 无限制 |
| 自动部署插件 | 阿里云CDN、腾讯云、七牛CDN、主机部署、宝塔、1Panel等大部分插件 | 群晖、威联通、proxmox等 | 同专业版 |
| 通知 | 邮件通知、自定义webhook | 邮件免配置、企微、钉钉、飞书、anpush、server酱等 | 同专业版 |
| 站点监控 | 限制1条 | 无限制 | 无限制 |
| 批量操作 | 无 | 流水线模版,流水线复制,批量运行,批量设置通知、定时等 | 同专业版 |
| VIP群 | 无 | 可加,一对一技术支持,必要时可申请远程协助 | 商业版技术支持 |
| 站点个性化 | 无 | 无 | 可自定义站点名称、Logo等,移除Certd元素,首页警告等 |
| 套餐功能 | 无 | 无 | 支持配置套餐供用户购买 |
| 数据统计 | 无 | 无 | 支持站点各类统计数据 |
| 插件管理 | 无 | 无 | 支持公共EAB设置,插件选项配置 |
| 是否可商用 | 不允许 | 不允许 | 可对外运营 |
## 专业版激活方式
+1 -1
View File
@@ -9,5 +9,5 @@
}
},
"npmClient": "pnpm",
"version": "1.39.13"
"version": "1.39.16"
}
+14
View File
@@ -3,6 +3,20 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.39.16](https://github.com/publishlab/node-acme-client/compare/v1.39.15...v1.39.16) (2026-05-13)
**Note:** Version bump only for package @certd/acme-client
## [1.39.15](https://github.com/publishlab/node-acme-client/compare/v1.39.14...v1.39.15) (2026-05-13)
### Performance Improvements
* 优化申请时报错日志增加对应域名打印 ([d6e9e59](https://github.com/publishlab/node-acme-client/commit/d6e9e5987bd52ea12ee18745615486eadd4c87ff))
## [1.39.14](https://github.com/publishlab/node-acme-client/compare/v1.39.13...v1.39.14) (2026-05-11)
**Note:** Version bump only for package @certd/acme-client
## [1.39.13](https://github.com/publishlab/node-acme-client/compare/v1.39.12...v1.39.13) (2026-05-10)
### Performance Improvements
+3 -3
View File
@@ -3,7 +3,7 @@
"description": "Simple and unopinionated ACME client",
"private": false,
"author": "nmorsman",
"version": "1.39.13",
"version": "1.39.16",
"type": "module",
"module": "./dist/index.js",
"main": "./dist/index.js",
@@ -18,7 +18,7 @@
"types"
],
"dependencies": {
"@certd/basic": "^1.39.13",
"@certd/basic": "^1.39.16",
"@peculiar/x509": "^1.11.0",
"asn1js": "^3.0.5",
"axios": "^1.9.0",
@@ -76,5 +76,5 @@
"bugs": {
"url": "https://github.com/publishlab/node-acme-client/issues"
},
"gitHead": "898bc9b9f2f75df11ea0803b144862ba98b7511a"
"gitHead": "1c6dc169ac04fd09ef94404a912a15cbb17e1452"
}
+2
View File
@@ -167,6 +167,7 @@ export default async (client, userOpts) => {
await client.completeChallenge(challenge);
}catch (e) {
await deactivateAuth(e);
e.message = `[${d}] ${e.message || "completeChallenge error"}`;
throw e;
}
challengeCompleted = true;
@@ -178,6 +179,7 @@ export default async (client, userOpts) => {
} catch (e) {
log(`[auto] [${d}] challengeCreateFn threw error: ${e.message || e}`);
await deactivateAuth(e);
e.message = `[${d}] ${e.message || "challengeCreateFn error"}`;
throw e;
}
+14
View File
@@ -3,6 +3,20 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.39.16](https://github.com/certd/certd/compare/v1.39.15...v1.39.16) (2026-05-13)
**Note:** Version bump only for package @certd/basic
## [1.39.15](https://github.com/certd/certd/compare/v1.39.14...v1.39.15) (2026-05-13)
### Performance Improvements
* **network:** 新增全局公共http请求 headers设置 ([aad9045](https://github.com/certd/certd/commit/aad9045de55e76cb2ad09cac74a7bd60a4b47124))
## [1.39.14](https://github.com/certd/certd/compare/v1.39.13...v1.39.14) (2026-05-11)
**Note:** Version bump only for package @certd/basic
## [1.39.13](https://github.com/certd/certd/compare/v1.39.12...v1.39.13) (2026-05-10)
### Performance Improvements
+1 -1
View File
@@ -1 +1 @@
00:21
14:13
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@certd/basic",
"private": false,
"version": "1.39.13",
"version": "1.39.16",
"type": "module",
"main": "./dist/index.js",
"module": "./dist/index.js",
@@ -52,5 +52,5 @@
"tslib": "^2.8.1",
"typescript": "^5.4.2"
},
"gitHead": "898bc9b9f2f75df11ea0803b144862ba98b7511a"
"gitHead": "1c6dc169ac04fd09ef94404a912a15cbb17e1452"
}
@@ -0,0 +1,53 @@
import { expect } from "chai";
import { createAxiosService, HttpClient, setGlobalHeaders } from "./util.request.js";
import { ILogger } from "./util.log.js";
const testLogger = {
info() {},
error() {},
} as unknown as ILogger;
describe("util.request", () => {
afterEach(() => {
setGlobalHeaders({});
});
it("should merge global headers without overriding request headers", async () => {
setGlobalHeaders({
"X-Common": "common",
"X-Override": "global",
});
const http = createAxiosService({ logger: testLogger }) as HttpClient;
const res = await http.request({
url: "http://example.com",
method: "get",
logReq: false,
logRes: false,
headers: {
"X-Override": "request",
"X-Request": "request",
},
adapter: async config => {
const headers = config.headers;
return {
config,
data: {
common: headers.get("X-Common"),
override: headers.get("X-Override"),
request: headers.get("X-Request"),
},
headers: {},
status: 200,
statusText: "OK",
};
},
});
expect(res).to.deep.equal({
common: "common",
override: "request",
request: "request",
});
});
});
@@ -82,6 +82,7 @@ export class HttpError extends Error {
export const HttpCommonError = HttpError;
let defaultAgents = createAgent();
let defaultHeaders: Record<string, string> = {};
export function setGlobalProxy(opts: { httpProxy?: string; httpsProxy?: string }) {
logger.info("setGlobalProxy:", opts);
@@ -92,6 +93,15 @@ export function getGlobalAgents() {
return defaultAgents;
}
export function setGlobalHeaders(headers: Record<string, string> = {}) {
logger.info("setGlobalHeaders:", Object.keys(headers));
defaultHeaders = { ...headers };
}
export function getGlobalHeaders() {
return defaultHeaders;
}
/**
* @description 创建请求实例
*/
@@ -148,6 +158,12 @@ export function createAxiosService({ logger }: { logger: ILogger }) {
config.httpsAgent = agents.httpsAgent;
config.httpAgent = agents.httpAgent;
if (Object.keys(defaultHeaders).length > 0) {
const headers = AxiosHeaders.from(defaultHeaders);
headers.set(config.headers || {});
config.headers = headers;
}
// const agent = new https.Agent({
// rejectUnauthorized: false // 允许自签名证书
// });
+12
View File
@@ -3,6 +3,18 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.39.16](https://github.com/certd/certd/compare/v1.39.15...v1.39.16) (2026-05-13)
**Note:** Version bump only for package @certd/pipeline
## [1.39.15](https://github.com/certd/certd/compare/v1.39.14...v1.39.15) (2026-05-13)
**Note:** Version bump only for package @certd/pipeline
## [1.39.14](https://github.com/certd/certd/compare/v1.39.13...v1.39.14) (2026-05-11)
**Note:** Version bump only for package @certd/pipeline
## [1.39.13](https://github.com/certd/certd/compare/v1.39.12...v1.39.13) (2026-05-10)
### Bug Fixes
+4 -4
View File
@@ -1,7 +1,7 @@
{
"name": "@certd/pipeline",
"private": false,
"version": "1.39.13",
"version": "1.39.16",
"type": "module",
"main": "./dist/index.js",
"module": "./dist/index.js",
@@ -19,8 +19,8 @@
"compile": "tsc --skipLibCheck --watch"
},
"dependencies": {
"@certd/basic": "^1.39.13",
"@certd/plus-core": "^1.39.13",
"@certd/basic": "^1.39.16",
"@certd/plus-core": "^1.39.16",
"dayjs": "^1.11.7",
"lodash-es": "^4.17.21",
"reflect-metadata": "^0.1.13"
@@ -49,5 +49,5 @@
"tslib": "^2.8.1",
"typescript": "^5.4.2"
},
"gitHead": "898bc9b9f2f75df11ea0803b144862ba98b7511a"
"gitHead": "1c6dc169ac04fd09ef94404a912a15cbb17e1452"
}
+8
View File
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.39.15](https://github.com/certd/certd/compare/v1.39.14...v1.39.15) (2026-05-13)
**Note:** Version bump only for package @certd/lib-huawei
## [1.39.14](https://github.com/certd/certd/compare/v1.39.13...v1.39.14) (2026-05-11)
**Note:** Version bump only for package @certd/lib-huawei
## [1.39.13](https://github.com/certd/certd/compare/v1.39.12...v1.39.13) (2026-05-10)
### Performance Improvements
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@certd/lib-huawei",
"private": false,
"version": "1.39.13",
"version": "1.39.16",
"main": "./dist/bundle.js",
"module": "./dist/bundle.js",
"types": "./dist/d/index.d.ts",
@@ -27,5 +27,5 @@
"prettier": "^2.8.8",
"tslib": "^2.8.1"
},
"gitHead": "898bc9b9f2f75df11ea0803b144862ba98b7511a"
"gitHead": "bae5a04dcc0a679c290a9805c3ac4a6020eb6ec0"
}
+8
View File
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.39.15](https://github.com/certd/certd/compare/v1.39.14...v1.39.15) (2026-05-13)
**Note:** Version bump only for package @certd/lib-iframe
## [1.39.14](https://github.com/certd/certd/compare/v1.39.13...v1.39.14) (2026-05-11)
**Note:** Version bump only for package @certd/lib-iframe
## [1.39.13](https://github.com/certd/certd/compare/v1.39.12...v1.39.13) (2026-05-10)
### Performance Improvements
+2 -2
View File
@@ -1,7 +1,7 @@
{
"name": "@certd/lib-iframe",
"private": false,
"version": "1.39.13",
"version": "1.39.16",
"type": "module",
"main": "./dist/index.js",
"module": "./dist/index.js",
@@ -34,5 +34,5 @@
"tslib": "^2.8.1",
"typescript": "^5.4.2"
},
"gitHead": "898bc9b9f2f75df11ea0803b144862ba98b7511a"
"gitHead": "bae5a04dcc0a679c290a9805c3ac4a6020eb6ec0"
}
+8
View File
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.39.15](https://github.com/certd/certd/compare/v1.39.14...v1.39.15) (2026-05-13)
**Note:** Version bump only for package @certd/jdcloud
## [1.39.14](https://github.com/certd/certd/compare/v1.39.13...v1.39.14) (2026-05-11)
**Note:** Version bump only for package @certd/jdcloud
## [1.39.13](https://github.com/certd/certd/compare/v1.39.12...v1.39.13) (2026-05-10)
### Performance Improvements
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@certd/jdcloud",
"version": "1.39.13",
"version": "1.39.16",
"description": "jdcloud openApi sdk",
"main": "./dist/bundle.js",
"module": "./dist/bundle.js",
@@ -58,5 +58,5 @@
"fetch"
]
},
"gitHead": "898bc9b9f2f75df11ea0803b144862ba98b7511a"
"gitHead": "bae5a04dcc0a679c290a9805c3ac4a6020eb6ec0"
}
+12
View File
@@ -3,6 +3,18 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.39.16](https://github.com/certd/certd/compare/v1.39.15...v1.39.16) (2026-05-13)
**Note:** Version bump only for package @certd/lib-k8s
## [1.39.15](https://github.com/certd/certd/compare/v1.39.14...v1.39.15) (2026-05-13)
**Note:** Version bump only for package @certd/lib-k8s
## [1.39.14](https://github.com/certd/certd/compare/v1.39.13...v1.39.14) (2026-05-11)
**Note:** Version bump only for package @certd/lib-k8s
## [1.39.13](https://github.com/certd/certd/compare/v1.39.12...v1.39.13) (2026-05-10)
### Performance Improvements
+3 -3
View File
@@ -1,7 +1,7 @@
{
"name": "@certd/lib-k8s",
"private": false,
"version": "1.39.13",
"version": "1.39.16",
"type": "module",
"main": "./dist/index.js",
"module": "./dist/index.js",
@@ -19,7 +19,7 @@
"compile": "tsc --skipLibCheck --watch"
},
"dependencies": {
"@certd/basic": "^1.39.13",
"@certd/basic": "^1.39.16",
"@kubernetes/client-node": "0.21.0"
},
"devDependencies": {
@@ -36,5 +36,5 @@
"tslib": "^2.8.1",
"typescript": "^5.4.2"
},
"gitHead": "898bc9b9f2f75df11ea0803b144862ba98b7511a"
"gitHead": "1c6dc169ac04fd09ef94404a912a15cbb17e1452"
}
+16
View File
@@ -3,6 +3,22 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.39.16](https://github.com/certd/certd/compare/v1.39.15...v1.39.16) (2026-05-13)
**Note:** Version bump only for package @certd/lib-server
## [1.39.15](https://github.com/certd/certd/compare/v1.39.14...v1.39.15) (2026-05-13)
### Performance Improvements
* **network:** 新增全局公共http请求 headers设置 ([aad9045](https://github.com/certd/certd/commit/aad9045de55e76cb2ad09cac74a7bd60a4b47124))
## [1.39.14](https://github.com/certd/certd/compare/v1.39.13...v1.39.14) (2026-05-11)
### Bug Fixes
* 修复启动时报密钥备份不存在的问题 ([c966896](https://github.com/certd/certd/commit/c9668965226af6b54e0e576931dcba8b3d188ef3))
## [1.39.13](https://github.com/certd/certd/compare/v1.39.12...v1.39.13) (2026-05-10)
### Performance Improvements
+7 -7
View File
@@ -1,6 +1,6 @@
{
"name": "@certd/lib-server",
"version": "1.39.13",
"version": "1.39.16",
"description": "midway with flyway, sql upgrade way ",
"private": false,
"type": "module",
@@ -29,11 +29,11 @@
],
"license": "AGPL",
"dependencies": {
"@certd/acme-client": "^1.39.13",
"@certd/basic": "^1.39.13",
"@certd/pipeline": "^1.39.13",
"@certd/plugin-lib": "^1.39.13",
"@certd/plus-core": "^1.39.13",
"@certd/acme-client": "^1.39.16",
"@certd/basic": "^1.39.16",
"@certd/pipeline": "^1.39.16",
"@certd/plugin-lib": "^1.39.16",
"@certd/plus-core": "^1.39.16",
"@midwayjs/cache": "3.14.0",
"@midwayjs/core": "3.20.11",
"@midwayjs/i18n": "3.20.13",
@@ -69,5 +69,5 @@
"typeorm": "^0.3.11",
"typescript": "^5.4.2"
},
"gitHead": "898bc9b9f2f75df11ea0803b144862ba98b7511a"
"gitHead": "1c6dc169ac04fd09ef94404a912a15cbb17e1452"
}
@@ -80,6 +80,7 @@ export class SysPrivateSettings extends BaseSettings {
httpsProxy? = '';
httpProxy? = '';
commonHeaders?: string = '';
reverseProxies?: Record<string, string> = {};
@@ -5,7 +5,7 @@ import { SysSettingsEntity } from '../entity/sys-settings.js';
import { BaseSettings, SysInstallInfo, SysPrivateSettings, SysPublicSettings, SysSecret, SysSecretBackup } from './models.js';
import { getAllSslProviderDomains, setSslProviderReverseProxies, setWalkFromAuthoritative } from '@certd/acme-client';
import { cache, logger, mergeUtils, setGlobalProxy } from '@certd/basic';
import { cache, logger, mergeUtils, setGlobalHeaders, setGlobalProxy } from '@certd/basic';
import { isPlus } from '@certd/plus-core';
import * as dns from 'node:dns';
import { BaseService, setAdminMode } from '../../../basic/index.js';
@@ -167,6 +167,7 @@ export class SysSettingsService extends BaseService<SysSettingsEntity> {
httpsProxy: privateSetting.httpsProxy,
};
setGlobalProxy(opts);
setGlobalHeaders(this.parseKeyValueText(privateSetting.commonHeaders));
if (privateSetting.dnsResultOrder) {
dns.setDefaultResultOrder(privateSetting.dnsResultOrder as any);
@@ -185,12 +186,12 @@ export class SysSettingsService extends BaseService<SysSettingsEntity> {
}
setEnvironmentVars(vars: string) {
const envVars = {}
if (typeof vars !== 'string') {
vars = ""
parseKeyValueText(text: string) {
const values = {};
if (typeof text !== 'string') {
text = "";
}
vars.split('\n').forEach(line => {
text.split('\n').forEach(line => {
line = line.trim();
if (!line || line.startsWith('#')) {
return
@@ -204,11 +205,18 @@ export class SysSettingsService extends BaseService<SysSettingsEntity> {
return
}
const [key, value] = line.split('=');
const eqIndex = line.indexOf('=');
const key = line.substring(0, eqIndex).trim();
const value = line.substring(eqIndex + 1).trim();
if (key && value) {
envVars[key.trim()] = value.trim();
values[key] = value;
}
});
return values;
}
setEnvironmentVars(vars: string) {
const envVars = this.parseKeyValueText(vars);
//先删除旧环境变量
if (lastSaveEnvVars) {
for (const key in lastSaveEnvVars) {
@@ -1,4 +1,4 @@
import { Init, Inject, Provide, Scope, ScopeEnum } from '@midwayjs/core';
import { Inject, Provide, Scope, ScopeEnum } from '@midwayjs/core';
import { Encryptor, SysSecret, SysSettingsService } from '../../../system/index.js';
/**
@@ -12,8 +12,7 @@ export class EncryptService {
@Inject()
sysSettingService: SysSettingsService;
@Init()
async init() {
async doInit() {
const secret: SysSecret = await this.sysSettingService.getSecret();
this.encryptor = new Encryptor(secret.encryptSecret);
}
@@ -3,6 +3,14 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.39.15](https://github.com/certd/certd/compare/v1.39.14...v1.39.15) (2026-05-13)
**Note:** Version bump only for package @certd/midway-flyway-js
## [1.39.14](https://github.com/certd/certd/compare/v1.39.13...v1.39.14) (2026-05-11)
**Note:** Version bump only for package @certd/midway-flyway-js
## [1.39.13](https://github.com/certd/certd/compare/v1.39.12...v1.39.13) (2026-05-10)
### Performance Improvements
+2 -2
View File
@@ -1,6 +1,6 @@
{
"name": "@certd/midway-flyway-js",
"version": "1.39.13",
"version": "1.39.16",
"description": "midway with flyway, sql upgrade way ",
"private": false,
"type": "module",
@@ -49,5 +49,5 @@
"typeorm": "^0.3.11",
"typescript": "^5.4.2"
},
"gitHead": "898bc9b9f2f75df11ea0803b144862ba98b7511a"
"gitHead": "bae5a04dcc0a679c290a9805c3ac4a6020eb6ec0"
}
+12
View File
@@ -3,6 +3,18 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.39.16](https://github.com/certd/certd/compare/v1.39.15...v1.39.16) (2026-05-13)
**Note:** Version bump only for package @certd/plugin-cert
## [1.39.15](https://github.com/certd/certd/compare/v1.39.14...v1.39.15) (2026-05-13)
**Note:** Version bump only for package @certd/plugin-cert
## [1.39.14](https://github.com/certd/certd/compare/v1.39.13...v1.39.14) (2026-05-11)
**Note:** Version bump only for package @certd/plugin-cert
## [1.39.13](https://github.com/certd/certd/compare/v1.39.12...v1.39.13) (2026-05-10)
### Performance Improvements
+6 -6
View File
@@ -1,7 +1,7 @@
{
"name": "@certd/plugin-cert",
"private": false,
"version": "1.39.13",
"version": "1.39.16",
"type": "module",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -18,10 +18,10 @@
"compile": "tsc --skipLibCheck --watch"
},
"dependencies": {
"@certd/acme-client": "^1.39.13",
"@certd/basic": "^1.39.13",
"@certd/pipeline": "^1.39.13",
"@certd/plugin-lib": "^1.39.13",
"@certd/acme-client": "^1.39.16",
"@certd/basic": "^1.39.16",
"@certd/pipeline": "^1.39.16",
"@certd/plugin-lib": "^1.39.16",
"psl": "^1.9.0",
"punycode.js": "^2.3.1"
},
@@ -41,5 +41,5 @@
"tslib": "^2.8.1",
"typescript": "^5.4.2"
},
"gitHead": "898bc9b9f2f75df11ea0803b144862ba98b7511a"
"gitHead": "1c6dc169ac04fd09ef94404a912a15cbb17e1452"
}
+12
View File
@@ -3,6 +3,18 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.39.16](https://github.com/certd/certd/compare/v1.39.15...v1.39.16) (2026-05-13)
**Note:** Version bump only for package @certd/plugin-lib
## [1.39.15](https://github.com/certd/certd/compare/v1.39.14...v1.39.15) (2026-05-13)
**Note:** Version bump only for package @certd/plugin-lib
## [1.39.14](https://github.com/certd/certd/compare/v1.39.13...v1.39.14) (2026-05-11)
**Note:** Version bump only for package @certd/plugin-lib
## [1.39.13](https://github.com/certd/certd/compare/v1.39.12...v1.39.13) (2026-05-10)
### Performance Improvements
+6 -6
View File
@@ -1,7 +1,7 @@
{
"name": "@certd/plugin-lib",
"private": false,
"version": "1.39.13",
"version": "1.39.16",
"type": "module",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -23,10 +23,10 @@
"@alicloud/pop-core": "^1.7.10",
"@alicloud/tea-util": "^1.4.11",
"@aws-sdk/client-s3": "^3.964.0",
"@certd/acme-client": "^1.39.13",
"@certd/basic": "^1.39.13",
"@certd/pipeline": "^1.39.13",
"@certd/plus-core": "^1.39.13",
"@certd/acme-client": "^1.39.16",
"@certd/basic": "^1.39.16",
"@certd/pipeline": "^1.39.16",
"@certd/plus-core": "^1.39.16",
"@kubernetes/client-node": "0.21.0",
"ali-oss": "^6.22.0",
"basic-ftp": "^5.0.5",
@@ -61,5 +61,5 @@
"tslib": "^2.8.1",
"typescript": "^5.4.2"
},
"gitHead": "898bc9b9f2f75df11ea0803b144862ba98b7511a"
"gitHead": "1c6dc169ac04fd09ef94404a912a15cbb17e1452"
}
+10 -5
View File
@@ -1,4 +1,4 @@
FROM node:22-alpine AS builder
FROM node:22-alpine3.21 AS builder
# RUN apk add build-base
# RUN wget -O - https://github.com/jemalloc/jemalloc/releases/download/5.3.0/jemalloc-5.3.0.tar.bz2 | tar -xj && \
@@ -10,17 +10,22 @@ FROM node:22-alpine AS builder
WORKDIR /workspace/
COPY . /workspace/
# armv7 目前只能用node18 pnpm9不支持node18,所以pnpm只能用8.15.7版本
# https://github.com/nodejs/docker-node/issues/1946
RUN npm install -g pnpm
# pnpm v11打包会报错([ERR_PNPM_IGNORED_BUILDS] Ignored build scripts),暂时固定10.33.4版本
# https://pnpm.io/zh/migration
RUN npm install -g pnpm@10.33.4
#RUN cd /workspace/certd-client && pnpm install && npm run build
RUN cp /workspace/certd-client/dist/* /workspace/certd-server/public/ -rf
RUN cd /workspace/certd-server && pnpm install && npm run build-on-docker
# RUN cd /workspace/certd-server && \
# pnpm install --ignore-scripts && \
# yes | pnpm approve-builds && \
# pnpm rebuild && \
# npm run build-on-docker
FROM node:22-alpine
FROM node:22-alpine3.21
EXPOSE 7001
EXPOSE 7002
+18
View File
@@ -3,6 +3,24 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.39.16](https://github.com/certd/certd/compare/v1.39.15...v1.39.16) (2026-05-13)
**Note:** Version bump only for package @certd/ui-client
## [1.39.15](https://github.com/certd/certd/compare/v1.39.14...v1.39.15) (2026-05-13)
### Performance Improvements
* icon选择器增加一套logo集 ([fdd5848](https://github.com/certd/certd/commit/fdd5848df4055a6ee07dc5eabaaf6b718672882d))
* **monitor/site:** 新增站点监控页面禁用启用、检查状态两个筛选条件 ([118c15d](https://github.com/certd/certd/commit/118c15d04633a6ef06f2d9e7a7849d20f596e02c))
* **network:** 新增全局公共http请求 headers设置 ([aad9045](https://github.com/certd/certd/commit/aad9045de55e76cb2ad09cac74a7bd60a4b47124))
## [1.39.14](https://github.com/certd/certd/compare/v1.39.13...v1.39.14) (2026-05-11)
### Bug Fixes
* 修复阿里云订阅流水线创建对话框无法获取阿里订单列表的bug ([a362860](https://github.com/certd/certd/commit/a362860137bfb7072893c844fe775edc46070ee1))
## [1.39.13](https://github.com/certd/certd/compare/v1.39.12...v1.39.13) (2026-05-10)
### Bug Fixes
+8 -8
View File
@@ -1,6 +1,6 @@
{
"name": "@certd/ui-client",
"version": "1.39.13",
"version": "1.39.16",
"private": true,
"scripts": {
"dev": "vite --open",
@@ -34,11 +34,11 @@
"@aws-sdk/s3-request-presigner": "^3.964.0",
"@certd/vue-js-cron-light": "^4.0.14",
"@ctrl/tinycolor": "^4.1.0",
"@fast-crud/editor-code": "^1.27.8",
"@fast-crud/fast-crud": "^1.27.8",
"@fast-crud/fast-extends": "^1.27.8",
"@fast-crud/ui-antdv4": "^1.27.8",
"@fast-crud/ui-interface": "^1.27.8",
"@fast-crud/editor-code": "^1.28.1",
"@fast-crud/fast-crud": "^1.28.1",
"@fast-crud/fast-extends": "^1.28.1",
"@fast-crud/ui-antdv4": "^1.28.1",
"@fast-crud/ui-interface": "^1.28.1",
"@iconify/tailwind": "^1.2.0",
"@iconify/vue": "^4.1.1",
"@manypkg/get-packages": "^2.2.2",
@@ -106,8 +106,8 @@
"zod-defaults": "^0.1.3"
},
"devDependencies": {
"@certd/lib-iframe": "^1.39.13",
"@certd/pipeline": "^1.39.13",
"@certd/lib-iframe": "^1.39.16",
"@certd/pipeline": "^1.39.16",
"@rollup/plugin-commonjs": "^25.0.7",
"@rollup/plugin-node-resolve": "^15.2.3",
"@types/chai": "^4.3.12",
@@ -74,7 +74,6 @@ const props = defineProps<
uploadCert?: UploadCertProps;
} & ComponentPropsType
>();
debugger;
const emit = defineEmits<{
"update:value": any;
}>();
@@ -141,8 +140,7 @@ const getOptions = async () => {
}
}
}
message.value = "";
message.value = "获取中...";
hasError.value = false;
loading.value = true;
const pageNo = pagerRef.value.pageNo;
@@ -91,6 +91,8 @@ export default {
reverseProxyEmpty: "No reverse proxy list configured",
environmentVars: "Environment Variables",
environmentVarsHelper: "configure the runtime environment variables, one per line, format: KEY=VALUE",
commonHeaders: "Common Headers",
commonHeadersHelper: "Common headers automatically added to server-side HTTP requests, one per line, format: KEY=VALUE. Existing request headers with the same name are not overwritten.",
bindUrl: "Bind URL",
bindUrlHelper: "Bind URL, used as your site URL in notifications",
@@ -89,6 +89,8 @@ export default {
reverseProxyEmpty: "未配置反向代理",
environmentVars: "环境变量",
environmentVarsHelper: "配置运行时环境变量,每行一个,格式:KEY=VALUE",
commonHeaders: "公共请求头",
commonHeadersHelper: "服务端发起 HTTP 请求时自动附加的公共请求头,每行一个,格式:KEY=VALUE;请求中已设置同名 Header 时不会覆盖\n注意: 不要将token等敏感内容放在此处,仅限个人和公司内部使用,商业版不要设置",
bindUrl: "绑定URL",
bindUrlHelper: "绑定URL,在各类通知中显示你的站点URL",
},
@@ -99,6 +99,7 @@ export type SuiteSetting = {
export type SysPrivateSetting = {
httpProxy?: string;
httpsProxy?: string;
commonHeaders?: string;
reverseProxies?: any;
dnsResultOrder?: string;
commonCnameEnabled?: boolean;
@@ -11,7 +11,17 @@ export type MergeScriptContext = {
export function useReference(formItem: any) {
if (formItem.mergeScript) {
const ctx = {
compute,
compute: (opts: any) => {
const func = (context: any) => {
let form = context.form || {};
form = form.input || form.body || form.access || form;
return opts({
...context,
form,
});
};
return compute(func);
},
asyncCompute,
computed,
};
@@ -320,6 +320,9 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
title: t("monitor.siteName"),
search: {
show: true,
col: {
span: 3,
},
},
type: "text",
form: {
@@ -333,6 +336,9 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
title: t("monitor.domain"),
search: {
show: true,
col: {
span: 3,
},
},
type: "text",
form: {
@@ -411,6 +417,9 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
title: t("monitor.certDomains"),
search: {
show: true,
col: {
span: 3,
},
},
type: "text",
form: {
@@ -451,6 +460,9 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
title: t("monitor.certStatus"),
search: {
show: true,
col: {
span: 2,
},
},
type: "dict-select",
dict: dict({
@@ -472,7 +484,10 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
checkStatus: {
title: t("monitor.checkStatus"),
search: {
show: false,
show: true,
col: {
span: 2,
},
},
type: "dict-select",
dict: checkStatusDict,
@@ -578,6 +593,9 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
type: "dict-select",
search: {
show: true,
col: {
span: 3,
},
},
dict: groupDictRef,
form: {
@@ -631,7 +649,10 @@ export default function ({ crudExpose, context }: CreateCrudOptionsProps): Creat
disabled: {
title: t("monitor.disabled"),
search: {
show: false,
show: true,
col: {
span: 2,
},
},
type: "dict-switch",
dict: dict({
@@ -94,9 +94,15 @@ export function setRunnableIds(pipeline: any) {
return JSON.parse(content);
}
export function useCertPipelineCreator() {
export function useCertPipelineCreator({ formWrapperRef }: { formWrapperRef: Ref<any> }) {
const { t } = useI18n();
const { openCrudFormDialog } = useFormWrapper();
function open(opts: any) {
return new Promise((resolve, reject) => {
formWrapperRef.value.open(opts);
});
}
const { openCrudFormDialog } = useFormWrapper({ open });
const pluginStore = usePluginStore();
const settingStore = useSettingStore();
@@ -111,10 +117,10 @@ export function useCertPipelineCreator() {
// inputs[inputKey].form.show = true;
const inputDefine = cloneDeep(certPlugin.input[inputKey]);
if (inputDefine.maybeNeed) {
moreParams.push(inputKey);
moreParams.push("input." + inputKey);
}
useReference(inputDefine);
inputs[inputKey] = {
inputs["input." + inputKey] = {
title: inputDefine.title,
form: {
...inputDefine,
@@ -135,17 +141,19 @@ export function useCertPipelineCreator() {
const DEFAULT_RENEW_DAYS = settingStore.sysPublic.defaultCertRenewDays || settingStore.sysPublic.defaultWillExpireDays || 20;
merge(inputs, {
renewDays: {
"input.renewDays": {
form: {
value: DEFAULT_RENEW_DAYS,
},
},
});
const initialForm = req.initialForm || {};
initialForm.type = certPlugin.name;
return {
crudOptions: {
form: {
initialForm: req.initialForm || {},
initialForm: initialForm,
doSubmit,
wrapper: {
wrapClassName: "cert_pipeline_create_form",
@@ -164,44 +172,6 @@ export function useCertPipelineCreator() {
},
},
columns: {
// certApplyPlugin: {
// title: t("certd.plugin.selectTitle"),
// type: "dict-select",
// dict: dict({
// data: [
// { value: "CertApply", label: "JS-ACME" },
// { value: "CertApplyLego", label: "Lego-ACME" },
// { value: "CertApplyGetFormAliyun", label: "Aliyun-Order" },
// ],
// }),
// form: {
// order: 0,
// value: "CertApply",
// helper: {
// render: () => {
// return (
// <ul>
// <li>{t("certd.plugin.jsAcme")}</li>
// <li>{t("certd.plugin.legoAcme")}</li>
// <li>{t("certd.plugin.aliyunOrder")}</li>
// </ul>
// );
// },
// },
// valueChange: {
// handle: async ({ form, value }) => {
// const config = await pluginStore.getPluginConfig({
// name: value,
// type: "builtIn",
// });
// if (config.sysSetting?.input) {
// merge(form, config.sysSetting.input);
// }
// },
// immediate: true,
// },
// },
// },
...inputs,
triggerCron: {
title: t("certd.pipelineForm.triggerCronTitle"),
@@ -346,20 +316,20 @@ export function useCertPipelineCreator() {
await checkPipelineLimit();
//设置系统初始值
const initialForm: any = {};
const initialForm: any = { input: {} };
const pluginSysConfig = await pluginStore.getPluginConfig({ name: req.pluginName, type: "builtIn" });
if (pluginSysConfig.sysSetting?.input) {
for (const key in pluginSysConfig.sysSetting?.input) {
initialForm[key] = pluginSysConfig.sysSetting?.input[key];
initialForm.input[key] = pluginSysConfig.sysSetting?.input[key];
}
}
async function doSubmit({ form }: any) {
// const certDetail = readCertDetail(form.cert.crt);
// 添加certd pipeline
const pluginInput = omit(form, ["triggerCron", "notification", "notificationTarget", "notificationWhen", "certApplyPlugin", "groupId"]);
const pluginInput = form.input;
let pipeline: any = {
title: form.domains[0] + "证书自动化",
title: pluginInput.domains[0] + "证书自动化",
runnableType: "pipeline",
stages: [
{
@@ -50,6 +50,7 @@
<div>{{ t("certd.applyCertificate") }}</div>
</template>
</fs-crud>
<fs-form-wrapper ref="formWrapperRef"></fs-form-wrapper>
</fs-page>
</template>
@@ -90,10 +91,9 @@ function onActionbarMoreItemClick(req: { key: string; item: any }) {
openCertApplyDialog({ key: req.key, title: req.item?.title });
}
const certdFormRef = ref<typeof CertdForm>();
const currentPluginRef = ref();
provide("getCurrentPluginDefine", () => {
return currentPluginRef.value;
return currentPluginRef;
});
const addMorePipelineBtns = computed(() => {
@@ -104,7 +104,9 @@ const addMorePipelineBtns = computed(() => {
{ key: "BatchAddPipeline", title: t("certd.pipelinePage.batchAddPipeline"), icon: "ion:duplicate" },
];
});
const { openAddCertdPipelineDialog } = useCertPipelineCreator();
const formWrapperRef = ref<any>();
const { openAddCertdPipelineDialog } = useCertPipelineCreator({ formWrapperRef });
function openCertApplyDialog(req: { key: string; title: string }) {
if (req.key === "AddPipeline") {
crudExpose.openAdd({});
@@ -48,7 +48,7 @@ async function handleOauthToken() {
//
userStore.onLoginSuccess(res);
//
router.replace("/");
router.replace("/index");
return;
}
if (res.bindRequired) {
@@ -19,6 +19,11 @@
<div class="helper">{{ t("certd.sys.setting.environmentVarsHelper") }}</div>
</a-form-item>
<a-form-item :label="t('certd.sys.setting.commonHeaders')" :name="['private', 'commonHeaders']">
<a-textarea v-model:value="formState.private.commonHeaders" :placeholder="commonHeadersExample" rows="4" />
<div class="helper">{{ t("certd.sys.setting.commonHeadersHelper") }}</div>
</a-form-item>
<a-form-item :label="t('certd.dualStackNetwork')" :name="['private', 'dnsResultOrder']">
<a-select v-model:value="formState.private.dnsResultOrder">
<a-select-option value="verbatim">{{ t("certd.default") }}</a-select-option>
@@ -64,6 +69,10 @@ const environmentVarsExample = ref(
`ALIYUN_CLIENT_CONNECT_TIMEOUT=16000 #连接超时,单位毫秒
ALIYUN_CLIENT_READ_TIMEOUT=16000 #读取数据超时单位毫秒`
);
const commonHeadersExample = ref(
`User-Agent=certd
X-Custom-Header=value`
);
const formState = reactive<Partial<SysSettings>>({
public: {},
+20
View File
@@ -3,6 +3,26 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.39.16](https://github.com/certd/certd/compare/v1.39.15...v1.39.16) (2026-05-13)
**Note:** Version bump only for package @certd/ui-server
## [1.39.15](https://github.com/certd/certd/compare/v1.39.14...v1.39.15) (2026-05-13)
### Bug Fixes
* 修复第三方登录彩虹登录不上的bug ([bae4f8e](https://github.com/certd/certd/commit/bae4f8e3209d9f9869ecbd7c01655383bac2fe21))
### Performance Improvements
* icon选择器增加一套logo集 ([fdd5848](https://github.com/certd/certd/commit/fdd5848df4055a6ee07dc5eabaaf6b718672882d))
## [1.39.14](https://github.com/certd/certd/compare/v1.39.13...v1.39.14) (2026-05-11)
### Bug Fixes
* 修复启动时报密钥备份不存在的问题 ([c966896](https://github.com/certd/certd/commit/c9668965226af6b54e0e576931dcba8b3d188ef3))
## [1.39.13](https://github.com/certd/certd/compare/v1.39.12...v1.39.13) (2026-05-10)
### Bug Fixes
@@ -50,6 +50,18 @@ input:
component:
name: fs-icon-selector
vModel: modelValue
iconSets:
- streamline-logos
- logos
- fa-brands
- fa-solid
- fa-regular
- carbon
- ion
- ant-design
- mdi
- twemoji
- svg-spinners
required: false
appId:
title: AppId
@@ -10,6 +10,18 @@ input:
component:
name: fs-icon-selector
vModel: modelValue
iconSets:
- streamline-logos
- logos
- fa-brands
- fa-solid
- fa-regular
- carbon
- ion
- ant-design
- mdi
- twemoji
- svg-spinners
required: false
clientId:
title: ClientId
+14 -14
View File
@@ -1,6 +1,6 @@
{
"name": "@certd/ui-server",
"version": "1.39.13",
"version": "1.39.16",
"description": "fast-server base midway",
"private": true,
"type": "module",
@@ -53,20 +53,20 @@
"@aws-sdk/client-sts": "^3.990.0",
"@azure/arm-dns": "^5.1.0",
"@azure/identity": "^4.13.1",
"@certd/acme-client": "^1.39.13",
"@certd/basic": "^1.39.13",
"@certd/commercial-core": "^1.39.13",
"@certd/acme-client": "^1.39.16",
"@certd/basic": "^1.39.16",
"@certd/commercial-core": "^1.39.16",
"@certd/cv4pve-api-javascript": "^8.4.2",
"@certd/jdcloud": "^1.39.13",
"@certd/lib-huawei": "^1.39.13",
"@certd/lib-k8s": "^1.39.13",
"@certd/lib-server": "^1.39.13",
"@certd/midway-flyway-js": "^1.39.13",
"@certd/pipeline": "^1.39.13",
"@certd/plugin-cert": "^1.39.13",
"@certd/plugin-lib": "^1.39.13",
"@certd/plugin-plus": "^1.39.13",
"@certd/plus-core": "^1.39.13",
"@certd/jdcloud": "^1.39.16",
"@certd/lib-huawei": "^1.39.16",
"@certd/lib-k8s": "^1.39.16",
"@certd/lib-server": "^1.39.16",
"@certd/midway-flyway-js": "^1.39.16",
"@certd/pipeline": "^1.39.16",
"@certd/plugin-cert": "^1.39.16",
"@certd/plugin-lib": "^1.39.16",
"@certd/plugin-plus": "^1.39.16",
"@certd/plus-core": "^1.39.16",
"@google-cloud/dns": "^5.3.1",
"@google-cloud/publicca": "^1.3.0",
"@huaweicloud/huaweicloud-sdk-cdn": "^3.1.185",
@@ -112,7 +112,10 @@ export class ConnectController extends BaseController {
userInfo,
});
const state = JSON.parse(utils.hash.base64Decode(query.state));
let state = {forType:""}
if (query.state) {
state = JSON.parse(utils.hash.base64Decode(query.state));
}
const redirectUrl = `${bindUrl}#/oauth/callback/${type}?validationCode=${validationCode}&forType=${state.forType}`;
this.ctx.redirect(redirectUrl);
@@ -9,7 +9,7 @@ import { AutoPrint } from "./auto-print.js";
@Autoload()
@Scope(ScopeEnum.Request, { allowDowngrade: true })
export class AutoRegister {
export class AutoARegister { //这个A是必须,让他排在第一个 进行init,否则会被其他init模块抢先注册导致报错
@Inject()
autoInitSite: AutoInitSite;
@@ -1,5 +1,5 @@
import { logger } from '@certd/basic';
import { PlusService, SysInstallInfo, SysPrivateSettings, SysSettingsService } from '@certd/lib-server';
import { EncryptService, PlusService, SysInstallInfo, SysPrivateSettings, SysSettingsService } from '@certd/lib-server';
import { Config, Inject, Provide, Scope, ScopeEnum } from '@midwayjs/core';
import crypto from 'crypto';
import { nanoid } from 'nanoid';
@@ -22,6 +22,10 @@ export class AutoInitSite {
@Inject()
safeService: SafeService;
@Inject()
encryptService: EncryptService;
async init() {
logger.info('初始化站点开始');
await this.startOptimizeDb();
@@ -50,6 +54,8 @@ export class AutoInitSite {
//加载一次密钥
await this.sysSettingsService.getSecret();
//初始化加密服务
await this.encryptService.doInit();
// 授权许可
try {
@@ -0,0 +1,13 @@
export const IconSets = [
"streamline-logos",
"logos",
"fa-brands",
"fa-solid",
"fa-regular",
"carbon",
"ion",
"ant-design",
"mdi",
"twemoji",
"svg-spinners"
]
@@ -1,5 +1,6 @@
import { AddonInput, BaseAddon, IsAddon } from "@certd/lib-server";
import { BuildLoginUrlReq, BuildLogoutUrlReq, IOauthProvider, OnCallbackReq } from "../api.js";
import { IconSets } from "../iconsets.js";
@IsAddon({
addonType: "oauth",
@@ -47,7 +48,8 @@ export class CloginOauthProvider extends BaseAddon implements IOauthProvider {
title: "自定义图标",
component: {
name:"fs-icon-selector",
vModel:"modelValue"
vModel:"modelValue",
iconSets: IconSets,
},
required: false,
})
@@ -73,9 +75,9 @@ export class CloginOauthProvider extends BaseAddon implements IOauthProvider {
async buildLoginUrl(params: BuildLoginUrlReq) {
let redirectUri = params.redirectUri || ""
if(redirectUri.indexOf("localhost:3008")>=0){
redirectUri = redirectUri.replace("localhost:3008", "certd.handfree.work")
}
// if(redirectUri.indexOf("localhost:3008")>=0){
// redirectUri = redirectUri.replace("localhost:3008", "certd.handfree.work")
// }
const res = await this.ctx.http.request({
url: `${this.endpoint}/connect.php?act=login&appid=${this.appId}&appkey=${this.appKey}&type=${this.loginType}&redirect_uri=${redirectUri}`
})
@@ -102,7 +104,7 @@ export class CloginOauthProvider extends BaseAddon implements IOauthProvider {
const code = req.code || ""
const tokenEndpoint = `http://clogin.yfy.docmirror.cn/connect.php?act=callback&appid=${this.appId}&appkey=${this.appKey}&type=${this.loginType}&code=${code}`
const tokenEndpoint = `${this.endpoint}/connect.php?act=callback&appid=${this.appId}&appkey=${this.appKey}&type=${this.loginType}&code=${code}`
const res = await this.ctx.utils.http.request({
url: tokenEndpoint,
method: "post",
@@ -1,5 +1,6 @@
import { AddonInput, BaseAddon, IsAddon } from "@certd/lib-server";
import { BuildLoginUrlReq, BuildLogoutUrlReq, IOauthProvider, OnCallbackReq } from "../api.js";
import { IconSets } from "../iconsets.js";
@IsAddon({
addonType: "oauth",
@@ -15,7 +16,8 @@ export class OidcOauthProvider extends BaseAddon implements IOauthProvider {
title: "自定义图标",
component: {
name:"fs-icon-selector",
vModel:"modelValue"
vModel:"modelValue",
iconSets: IconSets,
},
required: false,
})
+1
View File
@@ -23,3 +23,4 @@
},
"exclude": ["*.js", "*.ts", "dist", "node_modules", "src/**/*.test.ts", "test"]
}
+97 -108
View File
@@ -52,7 +52,7 @@ importers:
packages/core/acme-client:
dependencies:
'@certd/basic':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../basic
'@peculiar/x509':
specifier: ^1.11.0
@@ -234,10 +234,10 @@ importers:
packages/core/pipeline:
dependencies:
'@certd/basic':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../basic
'@certd/plus-core':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../pro/plus-core
dayjs:
specifier: ^1.11.7
@@ -457,7 +457,7 @@ importers:
packages/libs/lib-k8s:
dependencies:
'@certd/basic':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../core/basic
'@kubernetes/client-node':
specifier: 0.21.0
@@ -503,19 +503,19 @@ importers:
packages/libs/lib-server:
dependencies:
'@certd/acme-client':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../core/acme-client
'@certd/basic':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../core/basic
'@certd/pipeline':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../core/pipeline
'@certd/plugin-lib':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../plugins/plugin-lib
'@certd/plus-core':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../pro/plus-core
'@midwayjs/cache':
specifier: 3.14.0
@@ -679,16 +679,16 @@ importers:
packages/plugins/plugin-cert:
dependencies:
'@certd/acme-client':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../core/acme-client
'@certd/basic':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../core/basic
'@certd/pipeline':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../core/pipeline
'@certd/plugin-lib':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../plugin-lib
psl:
specifier: ^1.9.0
@@ -758,16 +758,16 @@ importers:
specifier: ^3.964.0
version: 3.964.0(aws-crt@1.26.2)
'@certd/acme-client':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../core/acme-client
'@certd/basic':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../core/basic
'@certd/pipeline':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../core/pipeline
'@certd/plus-core':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../pro/plus-core
'@kubernetes/client-node':
specifier: 0.21.0
@@ -867,16 +867,16 @@ importers:
packages/pro/commercial-core:
dependencies:
'@certd/basic':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../core/basic
'@certd/lib-server':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../libs/lib-server
'@certd/pipeline':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../core/pipeline
'@certd/plus-core':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../plus-core
'@midwayjs/core':
specifier: 3.20.11
@@ -967,16 +967,16 @@ importers:
packages/pro/plugin-plus:
dependencies:
'@certd/basic':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../core/basic
'@certd/pipeline':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../core/pipeline
'@certd/plugin-lib':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../plugins/plugin-lib
'@certd/plus-core':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../plus-core
crypto-js:
specifier: ^4.2.0
@@ -1061,7 +1061,7 @@ importers:
packages/pro/plus-core:
dependencies:
'@certd/basic':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../core/basic
dayjs:
specifier: ^1.11.7
@@ -1152,20 +1152,20 @@ importers:
specifier: ^4.1.0
version: 4.1.0
'@fast-crud/editor-code':
specifier: ^1.27.8
version: 1.27.8
specifier: ^1.28.1
version: 1.28.1
'@fast-crud/fast-crud':
specifier: ^1.27.8
version: 1.27.8(vue@3.5.14(typescript@5.9.3))
specifier: ^1.28.1
version: 1.28.1(vue@3.5.14(typescript@5.9.3))
'@fast-crud/fast-extends':
specifier: ^1.27.8
version: 1.27.8(aws-crt@1.26.2)(vue@3.5.14(typescript@5.9.3))
specifier: ^1.28.1
version: 1.28.1(aws-crt@1.26.2)(vue@3.5.14(typescript@5.9.3))
'@fast-crud/ui-antdv4':
specifier: ^1.27.8
version: 1.27.8
specifier: ^1.28.1
version: 1.28.1
'@fast-crud/ui-interface':
specifier: ^1.27.8
version: 1.27.8
specifier: ^1.28.1
version: 1.28.1
'@iconify/tailwind':
specifier: ^1.2.0
version: 1.2.0
@@ -1363,10 +1363,10 @@ importers:
version: 0.1.3(zod@3.24.4)
devDependencies:
'@certd/lib-iframe':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../libs/lib-iframe
'@certd/pipeline':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../core/pipeline
'@rollup/plugin-commonjs':
specifier: ^25.0.7
@@ -1573,46 +1573,46 @@ importers:
specifier: ^4.13.1
version: 4.13.1
'@certd/acme-client':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../core/acme-client
'@certd/basic':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../core/basic
'@certd/commercial-core':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../pro/commercial-core
'@certd/cv4pve-api-javascript':
specifier: ^8.4.2
version: 8.4.2
'@certd/jdcloud':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../libs/lib-jdcloud
'@certd/lib-huawei':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../libs/lib-huawei
'@certd/lib-k8s':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../libs/lib-k8s
'@certd/lib-server':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../libs/lib-server
'@certd/midway-flyway-js':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../libs/midway-flyway-js
'@certd/pipeline':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../core/pipeline
'@certd/plugin-cert':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../plugins/plugin-cert
'@certd/plugin-lib':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../plugins/plugin-lib
'@certd/plugin-plus':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../pro/plugin-plus
'@certd/plus-core':
specifier: ^1.39.12
specifier: ^1.39.16
version: link:../../pro/plus-core
'@google-cloud/dns':
specifier: ^5.3.1
@@ -3675,20 +3675,20 @@ packages:
resolution: {integrity: sha512-Ys+3g2TaW7gADOJzPt83SJtCDhMjndcDMFVQ/Tj9iA1BfJzFKD9mAUXT3OenpuPHbI6P/myECxRJrofUsDx/5g==}
engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0}
'@fast-crud/editor-code@1.27.8':
resolution: {integrity: sha512-NOIFFMNR+ZZ3dikp6U/V2zDcWcaT+bIq6hV9953keSjLMtbbOcn9PDw/oByac7TXy8l0jCI+4Ee89OepRGqa9Q==}
'@fast-crud/editor-code@1.28.1':
resolution: {integrity: sha512-5BCN916KQ3zn1TbAQJiTdhonBN4i8NWCCYKateuBWnaOM7B7zgULC3+Jncn1JlAnCaH7L+7iYwf8r/XNC0DT7w==}
'@fast-crud/fast-crud@1.27.8':
resolution: {integrity: sha512-yv1tg9qxNwFVnvmo882l2fdL0q6tghg5QQ7S5dsjm7wRf4IxFWqLHOnBor7GUbo+fGBxJK5H8DQsK/HB2De/nA==}
'@fast-crud/fast-crud@1.28.1':
resolution: {integrity: sha512-E9XwwQsNkP77kqLTJyqy/k1i7KD7cnw6FkJt3fTMl1OsBjp09TY3a4OXEfcsJsk+q/l8/9HzQRDBDhDIcWkROA==}
'@fast-crud/fast-extends@1.27.8':
resolution: {integrity: sha512-C9Lc4n/mZp8M5xT+8031rnTh518jfpHsww9PXXnV7XJM/Nleo04rP2rDH5e+J8MVSsZRC5j93TfIjhcLDc/JYg==}
'@fast-crud/fast-extends@1.28.1':
resolution: {integrity: sha512-HK2bktH+PYKJlPeTgO9MTIofdpe9g3s2eaBodGo6A7LgXp9U9aTHbfJJsRxzh8DTM8igi71gHg45bTL3DMLYuQ==}
'@fast-crud/ui-antdv4@1.27.8':
resolution: {integrity: sha512-nig8zAq6DbJNuQ6PkrDJjpNfH2B2R0LDE9foW1krtk1bM5nzn5bIAvJ5MHcVxFYiOwqgzke/m6h7RGquPLbLjg==}
'@fast-crud/ui-antdv4@1.28.1':
resolution: {integrity: sha512-qJinotmWmbd4WdZlkaVv/eRqzbTgIWWQyQgZMK7LlOmRe/83ZpXcq45hap0+pH5UD7ZJrKA5RIIgGFp5+ihvvg==}
'@fast-crud/ui-interface@1.27.8':
resolution: {integrity: sha512-qsTHI7QBmgxlO8ZOoTBKN7zZOUhaYyCtPIUQ5/VJiaBhsWDsQMQTn/7rhPXU5WNpjtfdR2cFW7MgTemVmiDvDQ==}
'@fast-crud/ui-interface@1.28.1':
resolution: {integrity: sha512-HUUO/SObmkAYnQdSETa4Z+M1YMJvzgQWBmy453iPKApTCxf2hEv4Alj/KuajZuP2sxFNzvsMdaUyAO6vWRBaDw==}
'@fidm/asn1@1.0.4':
resolution: {integrity: sha512-esd1jyNvRb2HVaQGq2Gg8Z0kbQPXzV9Tq5Z14KNIov6KfFD6PTaRIO8UpcsYiTNzOqJpmyzWgVTrUwFV3UF4TQ==}
@@ -4471,67 +4471,56 @@ packages:
resolution: {integrity: sha512-u72Mzc6jyJwKjJbZZcIYmd9bumJu7KNmHYdue43vT1rXPm2rITwmPWF0mmPzLm9/vJWxIRbao/jrQmxTO0Sm9w==}
cpu: [arm]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-arm-musleabihf@4.50.0':
resolution: {integrity: sha512-S4UefYdV0tnynDJV1mdkNawp0E5Qm2MtSs330IyHgaccOFrwqsvgigUD29uT+B/70PDY1eQ3t40+xf6wIvXJyg==}
cpu: [arm]
os: [linux]
libc: [musl]
'@rollup/rollup-linux-arm64-gnu@4.50.0':
resolution: {integrity: sha512-1EhkSvUQXJsIhk4msxP5nNAUWoB4MFDHhtc4gAYvnqoHlaL9V3F37pNHabndawsfy/Tp7BPiy/aSa6XBYbaD1g==}
cpu: [arm64]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-arm64-musl@4.50.0':
resolution: {integrity: sha512-EtBDIZuDtVg75xIPIK1l5vCXNNCIRM0OBPUG+tbApDuJAy9mKago6QxX+tfMzbCI6tXEhMuZuN1+CU8iDW+0UQ==}
cpu: [arm64]
os: [linux]
libc: [musl]
'@rollup/rollup-linux-loongarch64-gnu@4.50.0':
resolution: {integrity: sha512-BGYSwJdMP0hT5CCmljuSNx7+k+0upweM2M4YGfFBjnFSZMHOLYR0gEEj/dxyYJ6Zc6AiSeaBY8dWOa11GF/ppQ==}
cpu: [loong64]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-ppc64-gnu@4.50.0':
resolution: {integrity: sha512-I1gSMzkVe1KzAxKAroCJL30hA4DqSi+wGc5gviD0y3IL/VkvcnAqwBf4RHXHyvH66YVHxpKO8ojrgc4SrWAnLg==}
cpu: [ppc64]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-riscv64-gnu@4.50.0':
resolution: {integrity: sha512-bSbWlY3jZo7molh4tc5dKfeSxkqnf48UsLqYbUhnkdnfgZjgufLS/NTA8PcP/dnvct5CCdNkABJ56CbclMRYCA==}
cpu: [riscv64]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-riscv64-musl@4.50.0':
resolution: {integrity: sha512-LSXSGumSURzEQLT2e4sFqFOv3LWZsEF8FK7AAv9zHZNDdMnUPYH3t8ZlaeYYZyTXnsob3htwTKeWtBIkPV27iQ==}
cpu: [riscv64]
os: [linux]
libc: [musl]
'@rollup/rollup-linux-s390x-gnu@4.50.0':
resolution: {integrity: sha512-CxRKyakfDrsLXiCyucVfVWVoaPA4oFSpPpDwlMcDFQvrv3XY6KEzMtMZrA+e/goC8xxp2WSOxHQubP8fPmmjOQ==}
cpu: [s390x]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-x64-gnu@4.50.0':
resolution: {integrity: sha512-8PrJJA7/VU8ToHVEPu14FzuSAqVKyo5gg/J8xUerMbyNkWkO9j2ExBho/68RnJsMGNJq4zH114iAttgm7BZVkA==}
cpu: [x64]
os: [linux]
libc: [glibc]
'@rollup/rollup-linux-x64-musl@4.50.0':
resolution: {integrity: sha512-SkE6YQp+CzpyOrbw7Oc4MgXFvTw2UIBElvAvLCo230pyxOLmYwRPwZ/L5lBe/VW/qT1ZgND9wJfOsdy0XptRvw==}
cpu: [x64]
os: [linux]
libc: [musl]
'@rollup/rollup-openharmony-arm64@4.50.0':
resolution: {integrity: sha512-PZkNLPfvXeIOgJWA804zjSFH7fARBBCpCXxgkGDRjjAhRLOR8o0IGS01ykh5GYfod4c2yiiREuDM8iZ+pVsT+Q==}
@@ -14015,14 +14004,14 @@ snapshots:
'@aws-sdk/core@3.810.0':
dependencies:
'@aws-sdk/types': 3.804.0
'@smithy/core': 3.20.0
'@smithy/node-config-provider': 4.3.7
'@smithy/property-provider': 4.2.7
'@smithy/protocol-http': 5.3.7
'@smithy/signature-v4': 5.3.7
'@smithy/smithy-client': 4.10.2
'@smithy/types': 4.11.0
'@smithy/util-middleware': 4.2.7
'@smithy/core': 3.23.0
'@smithy/node-config-provider': 4.3.8
'@smithy/property-provider': 4.2.8
'@smithy/protocol-http': 5.3.8
'@smithy/signature-v4': 5.3.8
'@smithy/smithy-client': 4.11.3
'@smithy/types': 4.12.0
'@smithy/util-middleware': 4.2.8
fast-xml-parser: 4.4.1
tslib: 2.8.1
@@ -14375,15 +14364,15 @@ snapshots:
'@aws-sdk/core': 3.810.0
'@aws-sdk/types': 3.804.0
'@aws-sdk/util-arn-parser': 3.804.0
'@smithy/core': 3.20.0
'@smithy/node-config-provider': 4.3.7
'@smithy/protocol-http': 5.3.7
'@smithy/signature-v4': 5.3.7
'@smithy/smithy-client': 4.10.2
'@smithy/types': 4.11.0
'@smithy/core': 3.23.0
'@smithy/node-config-provider': 4.3.8
'@smithy/protocol-http': 5.3.8
'@smithy/signature-v4': 5.3.8
'@smithy/smithy-client': 4.11.3
'@smithy/types': 4.12.0
'@smithy/util-config-provider': 4.2.0
'@smithy/util-middleware': 4.2.7
'@smithy/util-stream': 4.5.8
'@smithy/util-middleware': 4.2.8
'@smithy/util-stream': 4.5.12
'@smithy/util-utf8': 4.2.0
tslib: 2.8.1
@@ -14415,9 +14404,9 @@ snapshots:
'@aws-sdk/core': 3.810.0
'@aws-sdk/types': 3.804.0
'@aws-sdk/util-endpoints': 3.808.0
'@smithy/core': 3.20.0
'@smithy/protocol-http': 5.3.7
'@smithy/types': 4.11.0
'@smithy/core': 3.23.0
'@smithy/protocol-http': 5.3.8
'@smithy/types': 4.12.0
tslib: 2.8.1
'@aws-sdk/middleware-user-agent@3.964.0':
@@ -14558,10 +14547,10 @@ snapshots:
'@aws-sdk/crt-loader': 3.810.0
'@aws-sdk/signature-v4-multi-region': 3.810.0
'@aws-sdk/types': 3.804.0
'@smithy/querystring-parser': 4.2.7
'@smithy/signature-v4': 5.3.7
'@smithy/types': 4.11.0
'@smithy/util-middleware': 4.2.7
'@smithy/querystring-parser': 4.2.8
'@smithy/signature-v4': 5.3.8
'@smithy/types': 4.12.0
'@smithy/util-middleware': 4.2.8
tslib: 2.8.1
transitivePeerDependencies:
- bufferutil
@@ -14573,9 +14562,9 @@ snapshots:
dependencies:
'@aws-sdk/middleware-sdk-s3': 3.810.0
'@aws-sdk/types': 3.804.0
'@smithy/protocol-http': 5.3.7
'@smithy/signature-v4': 5.3.7
'@smithy/types': 4.11.0
'@smithy/protocol-http': 5.3.8
'@smithy/signature-v4': 5.3.8
'@smithy/types': 4.12.0
tslib: 2.8.1
'@aws-sdk/signature-v4-multi-region@3.964.0':
@@ -14613,7 +14602,7 @@ snapshots:
'@aws-sdk/types@3.804.0':
dependencies:
'@smithy/types': 4.11.0
'@smithy/types': 4.12.0
tslib: 2.8.1
'@aws-sdk/types@3.957.0':
@@ -14637,8 +14626,8 @@ snapshots:
'@aws-sdk/util-endpoints@3.808.0':
dependencies:
'@aws-sdk/types': 3.804.0
'@smithy/types': 4.11.0
'@smithy/util-endpoints': 3.2.7
'@smithy/types': 4.12.0
'@smithy/util-endpoints': 3.2.8
tslib: 2.8.1
'@aws-sdk/util-endpoints@3.957.0':
@@ -14686,8 +14675,8 @@ snapshots:
dependencies:
'@aws-sdk/middleware-user-agent': 3.810.0
'@aws-sdk/types': 3.804.0
'@smithy/node-config-provider': 4.3.7
'@smithy/types': 4.11.0
'@smithy/node-config-provider': 4.3.8
'@smithy/types': 4.12.0
tslib: 2.8.1
optionalDependencies:
aws-crt: 1.26.2
@@ -16092,14 +16081,14 @@ snapshots:
'@eslint/js@8.57.0': {}
'@fast-crud/editor-code@1.27.8':
'@fast-crud/editor-code@1.28.1':
dependencies:
js-yaml: 4.1.0
lodash-es: 4.17.21
monaco-editor: 0.52.2
monaco-yaml: 5.4.0(monaco-editor@0.52.2)
'@fast-crud/fast-crud@1.27.8(vue@3.5.14(typescript@5.9.3))':
'@fast-crud/fast-crud@1.28.1(vue@3.5.14(typescript@5.9.3))':
dependencies:
'@iconify/types': 2.0.0
file-saver: 2.0.5
@@ -16109,7 +16098,7 @@ snapshots:
transitivePeerDependencies:
- vue
'@fast-crud/fast-extends@1.27.8(aws-crt@1.26.2)(vue@3.5.14(typescript@5.9.3))':
'@fast-crud/fast-extends@1.28.1(aws-crt@1.26.2)(vue@3.5.14(typescript@5.9.3))':
dependencies:
'@aws-sdk/client-s3': 3.964.0(aws-crt@1.26.2)
'@aws-sdk/s3-request-presigner': 3.964.0
@@ -16139,9 +16128,9 @@ snapshots:
- utf-8-validate
- vue
'@fast-crud/ui-antdv4@1.27.8': {}
'@fast-crud/ui-antdv4@1.28.1': {}
'@fast-crud/ui-interface@1.27.8':
'@fast-crud/ui-interface@1.28.1':
dependencies:
lodash-es: 4.17.21
+1 -1
View File
@@ -1 +1 @@
23:11
14:22
+1 -1
View File
@@ -1 +1 @@
23:28
17:29