Compare commits

..

45 Commits

Author SHA1 Message Date
xiaojunnuo
49457505cd v1.38.12 2026-02-18 23:20:43 +08:00
xiaojunnuo
bfc948a9b4 build: prepare to build 2026-02-18 23:18:39 +08:00
xiaojunnuo
c407206627 chore: 1 2026-02-18 23:16:13 +08:00
xiaojunnuo
39d3bf97d1 fix: 修复获取群辉deviceid报错的bug 2026-02-18 10:13:37 +08:00
xiaojunnuo
c8e193e70d chore: docs https 2026-02-17 00:14:31 +08:00
xiaojunnuo
35859ffc3f build: release 2026-02-17 00:09:50 +08:00
xiaojunnuo
0d81ada5a8 build: publish 2026-02-16 23:52:22 +08:00
xiaojunnuo
b68cf0fb45 build: trigger build image 2026-02-16 23:52:11 +08:00
xiaojunnuo
9ed2078e92 chore: publish 2026-02-16 23:51:46 +08:00
xiaojunnuo
1f002159e2 v1.38.11 2026-02-16 23:44:19 +08:00
xiaojunnuo
5bc690fcd9 build: prepare to build 2026-02-16 23:40:03 +08:00
xiaojunnuo
bab9adce24 perf: 支持自定义发件人名称,格式:名称<邮箱> 2026-02-16 23:38:08 +08:00
xiaojunnuo
e47eddaa85 perf: 优化登陆页面的黑暗模式 2026-02-16 23:18:55 +08:00
xiaojunnuo
8ef1f2e395 fix: 修复1panel2.1.0新版本测试失败的问题 2026-02-16 17:28:46 +08:00
xiaojunnuo
7626eecbf6 build: release 2026-02-16 00:46:21 +08:00
xiaojunnuo
49afa75929 chore: site monitor setting sleep 300 2026-02-16 00:45:30 +08:00
xiaojunnuo
5c5265ede2 build: publish 2026-02-16 00:24:57 +08:00
xiaojunnuo
42d61d8089 build: trigger build image 2026-02-16 00:24:45 +08:00
xiaojunnuo
01eb50078e v1.38.10 2026-02-16 00:23:13 +08:00
xiaojunnuo
eef021f472 build: prepare to build 2026-02-16 00:20:03 +08:00
xiaojunnuo
6f3fd785e7 perf: 支持next-terminal 2026-02-16 00:17:55 +08:00
xiaojunnuo
7cd8a645a8 chore: 补充其他access的测试按钮 2026-02-15 22:45:22 +08:00
xiaojunnuo
9671348dc1 chore: synology 2026-02-15 18:45:04 +08:00
xiaojunnuo
7a3e68d656 perf: 所有授权增加测试按钮 2026-02-15 18:44:35 +08:00
xiaojunnuo
42c7ec2f75 perf: 群晖支持刷新登录有效期 2026-02-15 18:43:53 +08:00
xiaojunnuo
32c3ce5c98 perf: 主题默认跟随系统颜色(自动切换深色浅色模式) 2026-02-15 14:57:00 +08:00
xiaojunnuo
e55a3a82fc perf: 模版编辑页面,hover反色过亮问题优化 2026-02-15 14:39:11 +08:00
xiaojunnuo
305da86f97 perf: 优化网络测试页面,夜间模式显示效果 2026-02-15 14:23:12 +08:00
xiaojunnuo
c23d1d11b5 perf: 监控设置支持逗号分割 2026-02-15 14:20:32 +08:00
xiaojunnuo
a3cabd5f36 perf: 列表中支持下次执行时间显示 2026-02-15 14:19:16 +08:00
xiaojunnuo
66ac4716f2 perf: 备份支持scp上传 2026-02-15 14:18:50 +08:00
xiaojunnuo
3cd1aaeb03 perf: 增加部署证书到certd本身插件 2026-02-15 13:24:19 +08:00
xiaojunnuo
4eb940ffe7 perf: http校验方式支持scp上传 2026-02-15 13:16:16 +08:00
xiaojunnuo
61800b23e2 fix: 修复阿里云dcdn使用上传到cas的id引用错误的bug 2026-02-15 13:08:20 +08:00
xiaojunnuo
0283662931 fix: 修复1panel 请求失败的bug 2026-02-15 12:59:08 +08:00
xiaojunnuo
8387fe0d5b fix: 修复保存站点监控dns设置,偶尔无法保存成功的bug 2026-02-13 22:56:59 +08:00
xiaojunnuo
b91548eef4 perf: 421 支持3次重试 2026-02-13 19:02:53 +08:00
xiaojunnuo
1195417b97 perf: 优化京东云报错详情显示 2026-02-13 18:16:05 +08:00
xiaojunnuo
8c2dfa9140 chore: 雷池支持上传证书 2026-02-12 21:45:43 +08:00
xiaojunnuo
a3fbfe0bff chore: 优化雷池插件的提示说明 2026-02-12 21:26:52 +08:00
xiaojunnuo
e7e54bc19e perf: 新网互联支持查询域名列表 2026-02-11 16:27:54 +08:00
xiaojunnuo
9fb980599f fix: 修复任务步骤标题过长导致错位的问题 2026-02-11 15:51:50 +08:00
xiaojunnuo
9642df2d9d build: release 2026-02-10 02:18:23 +08:00
xiaojunnuo
8919a3937a build: publish 2026-02-09 23:12:52 +08:00
xiaojunnuo
5032030f8d build: trigger build image 2026-02-09 23:12:41 +08:00
194 changed files with 3831 additions and 1036 deletions

3
.gitignore vendored
View File

@@ -30,4 +30,5 @@ test/**/*.js
/packages/ui/certd-server/data/keys.yaml
/packages/pro/
test.js
.history
.history
/logs

View File

@@ -3,6 +3,49 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.38.12](https://github.com/certd/certd/compare/v1.38.11...v1.38.12) (2026-02-18)
### Bug Fixes
* 修复获取群辉deviceid报错的bug ([39d3bf9](https://github.com/certd/certd/commit/39d3bf97d1935918bac575da9d0726310c83c19d))
## [1.38.11](https://github.com/certd/certd/compare/v1.38.10...v1.38.11) (2026-02-16)
### Bug Fixes
* 修复1panel2.1.0新版本测试失败的问题 ([8ef1f2e](https://github.com/certd/certd/commit/8ef1f2e395ea5969a95f55535e6c16a65e2b463b))
### Performance Improvements
* 优化登陆页面的黑暗模式 ([e47edda](https://github.com/certd/certd/commit/e47eddaa858f8fffe7a40dfbd14e8cda1dcba4ac))
* 支持自定义发件人名称,格式:名称<邮箱> ([bab9adc](https://github.com/certd/certd/commit/bab9adce240108d4291eedc67e04abc4a01019e0))
## [1.38.10](https://github.com/certd/certd/compare/v1.38.9...v1.38.10) (2026-02-15)
### Bug Fixes
* 修复1panel 请求失败的bug ([0283662](https://github.com/certd/certd/commit/0283662931ff47d6b5d49f91a30c4a002fe1d108))
* 修复阿里云dcdn使用上传到cas的id引用错误的bug ([61800b2](https://github.com/certd/certd/commit/61800b23e2be324169990810d1176c18decabb23))
* 修复保存站点监控dns设置偶尔无法保存成功的bug ([8387fe0](https://github.com/certd/certd/commit/8387fe0d5b2e77b8c2788a10791e5389d97a3e41))
* 修复任务步骤标题过长导致错位的问题 ([9fb9805](https://github.com/certd/certd/commit/9fb980599f96ccbf61bd46019411db2f13c70e57))
### Performance Improvements
* 421 支持3次重试 ([b91548e](https://github.com/certd/certd/commit/b91548eef4c24faa822d3a40f1f6a77b41d274e4))
* 备份支持scp上传 ([66ac471](https://github.com/certd/certd/commit/66ac4716f2565d7ee827461b625397ae21599451))
* 监控设置支持逗号分割 ([c23d1d1](https://github.com/certd/certd/commit/c23d1d11b58a6cdfe431a7e8abbd5d955146c38d))
* 列表中支持下次执行时间显示 ([a3cabd5](https://github.com/certd/certd/commit/a3cabd5f36ed41225ad418098596e9b2c44e31a1))
* 模版编辑页面hover反色过亮问题优化 ([e55a3a8](https://github.com/certd/certd/commit/e55a3a82fc6939b940f0c3be4529d74a625f6f4e))
* 群晖支持刷新登录有效期 ([42c7ec2](https://github.com/certd/certd/commit/42c7ec2f75947e2b8298d6605d4dbcd441aacd51))
* 所有授权增加测试按钮 ([7a3e68d](https://github.com/certd/certd/commit/7a3e68d656c1dcdcd814b69891bd2c2c6fe3098a))
* 新网互联支持查询域名列表 ([e7e54bc](https://github.com/certd/certd/commit/e7e54bc19e3a734913a93a94e25db3bb06d2ab0f))
* 优化京东云报错详情显示 ([1195417](https://github.com/certd/certd/commit/1195417b9714d2fcb540e43c0a20809b7ee2052b))
* 优化网络测试页面,夜间模式显示效果 ([305da86](https://github.com/certd/certd/commit/305da86f97d918374819ecd6c50685f09b94ea59))
* 增加部署证书到certd本身插件 ([3cd1aae](https://github.com/certd/certd/commit/3cd1aaeb035f8af79714030889b2b4dc259b700e))
* 支持next-terminal ([6f3fd78](https://github.com/certd/certd/commit/6f3fd785e77a33c72bdf4115dc5d498e677d1863))
* 主题默认跟随系统颜色(自动切换深色浅色模式) ([32c3ce5](https://github.com/certd/certd/commit/32c3ce5c9868569523901a9a939ca5b535ec3277))
* http校验方式支持scp上传 ([4eb940f](https://github.com/certd/certd/commit/4eb940ffe765a0330331bc6af8396315e36d4e4a))
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
### Bug Fixes

View File

@@ -3,6 +3,58 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.38.11](https://github.com/certd/certd/compare/v1.38.10...v1.38.11) (2026-02-16)
### Bug Fixes
* 修复1panel2.1.0新版本测试失败的问题 ([8ef1f2e](https://github.com/certd/certd/commit/8ef1f2e395ea5969a95f55535e6c16a65e2b463b))
### Performance Improvements
* 优化登陆页面的黑暗模式 ([e47edda](https://github.com/certd/certd/commit/e47eddaa858f8fffe7a40dfbd14e8cda1dcba4ac))
* 支持自定义发件人名称,格式:名称<邮箱> ([bab9adc](https://github.com/certd/certd/commit/bab9adce240108d4291eedc67e04abc4a01019e0))
## [1.38.10](https://github.com/certd/certd/compare/v1.38.9...v1.38.10) (2026-02-15)
### Bug Fixes
* 修复1panel 请求失败的bug ([0283662](https://github.com/certd/certd/commit/0283662931ff47d6b5d49f91a30c4a002fe1d108))
* 修复阿里云dcdn使用上传到cas的id引用错误的bug ([61800b2](https://github.com/certd/certd/commit/61800b23e2be324169990810d1176c18decabb23))
* 修复保存站点监控dns设置偶尔无法保存成功的bug ([8387fe0](https://github.com/certd/certd/commit/8387fe0d5b2e77b8c2788a10791e5389d97a3e41))
* 修复任务步骤标题过长导致错位的问题 ([9fb9805](https://github.com/certd/certd/commit/9fb980599f96ccbf61bd46019411db2f13c70e57))
### Performance Improvements
* 421 支持3次重试 ([b91548e](https://github.com/certd/certd/commit/b91548eef4c24faa822d3a40f1f6a77b41d274e4))
* 备份支持scp上传 ([66ac471](https://github.com/certd/certd/commit/66ac4716f2565d7ee827461b625397ae21599451))
* 监控设置支持逗号分割 ([c23d1d1](https://github.com/certd/certd/commit/c23d1d11b58a6cdfe431a7e8abbd5d955146c38d))
* 列表中支持下次执行时间显示 ([a3cabd5](https://github.com/certd/certd/commit/a3cabd5f36ed41225ad418098596e9b2c44e31a1))
* 模版编辑页面hover反色过亮问题优化 ([e55a3a8](https://github.com/certd/certd/commit/e55a3a82fc6939b940f0c3be4529d74a625f6f4e))
* 群晖支持刷新登录有效期 ([42c7ec2](https://github.com/certd/certd/commit/42c7ec2f75947e2b8298d6605d4dbcd441aacd51))
* 所有授权增加测试按钮 ([7a3e68d](https://github.com/certd/certd/commit/7a3e68d656c1dcdcd814b69891bd2c2c6fe3098a))
* 新网互联支持查询域名列表 ([e7e54bc](https://github.com/certd/certd/commit/e7e54bc19e3a734913a93a94e25db3bb06d2ab0f))
* 优化京东云报错详情显示 ([1195417](https://github.com/certd/certd/commit/1195417b9714d2fcb540e43c0a20809b7ee2052b))
* 优化网络测试页面,夜间模式显示效果 ([305da86](https://github.com/certd/certd/commit/305da86f97d918374819ecd6c50685f09b94ea59))
* 增加部署证书到certd本身插件 ([3cd1aae](https://github.com/certd/certd/commit/3cd1aaeb035f8af79714030889b2b4dc259b700e))
* 支持next-terminal ([6f3fd78](https://github.com/certd/certd/commit/6f3fd785e77a33c72bdf4115dc5d498e677d1863))
* 主题默认跟随系统颜色(自动切换深色浅色模式) ([32c3ce5](https://github.com/certd/certd/commit/32c3ce5c9868569523901a9a939ca5b535ec3277))
* http校验方式支持scp上传 ([4eb940f](https://github.com/certd/certd/commit/4eb940ffe765a0330331bc6af8396315e36d4e4a))
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
### Bug Fixes
* 修复部署到openwrt错误的bug ([9ac33f9](https://github.com/certd/certd/commit/9ac33f9b9ba7727fcbbd320dd866bc048cbb3d72))
* 修复新版本上传到阿里云cas后其他依赖任务无法部署的bug ([99f5b8e](https://github.com/certd/certd/commit/99f5b8ebc1c64798ceb42042ad71cf71e967beb0))
* esxi部署失败的bug ([6ab1fca](https://github.com/certd/certd/commit/6ab1fcaf894f7ce343af4b5bf4b0d67438df6618))
### Performance Improvements
* 修改sql升级语句兼容mysql5.7 ([02f89a9](https://github.com/certd/certd/commit/02f89a9c9d77850437285844670aed441e5953c3))
* 已登录状态访问登录页面自动跳转到首页 ([bd8caff](https://github.com/certd/certd/commit/bd8caff0b754cb13530cf0f1644b33e29fde5d01))
* 优化access授权支持remote-auto-complete ([2f40f79](https://github.com/certd/certd/commit/2f40f795ee6131132d3fab2601f92a567bbdc4b7))
* access 插件支持remote-select等配置 ([d286c04](https://github.com/certd/certd/commit/d286c040a5232dcca829945734affead3ee08b3c))
## [1.38.8](https://github.com/certd/certd/compare/v1.38.7...v1.38.8) (2026-02-06)
### Performance Improvements

View File

@@ -40,37 +40,38 @@
| 36.| **腾讯云COS授权** | 腾讯云对象存储授权,包含地域和存储桶 |
| 37.| **s3/minio授权** | S3/minio oss授权 |
| 38.| **namesilo授权** | |
| 39.| **1panel授权** | 账号和密码 |
| 40.| **支付宝** | |
| 41.| **白山云授权** | |
| 42.| **宝塔云WAF授权** | 用于连接和管理宝塔云WAF服务的授权配置 |
| 43.| **cdnfly授权** | |
| 44.| **k8s授权** | |
| 45.| **括彩云cdn授权** | 括彩云CDN每月免费30G[注册即领](https://kuocaicdn.com/register?code=8mn536rrzfbf8) |
| 46.| **LeCDN授权** | |
| 47.| **lucky** | |
| 48.| **猫云授权** | |
| 49.| **plesk授权** | |
| 50.| **长亭雷池授权** | |
| 51.| **群晖登录授权** | |
| 52.| **uniCloud** | unicloud授权 |
| 53.| **微信支付** | |
| 54.| **易盾rcdn授权** | 易盾CDN每月免费30G[注册即领](https://rhcdn.yiduncdn.com/register?code=8mn536rrzfbf8) |
| 55.| **易发云短信** | sms.yfyidc.cn/ |
| 56.| **易盾DCDN授权** | https://user.yiduncdn.com |
| 57.| **易支付** | |
| 58.| **proxmox** | |
| 59.| **UCloud授权** | 优刻得授权 |
| 60.| **又拍云** | |
| 61.| **网宿授权** | |
| 62.| **西部数码授权** | |
| 63.| **我爱云授权** | 我爱云CDN |
| 64.| **新网授权(代理方式)** | |
| 65.| **新网授权** | |
| 66.| **新网互联授权** | 仅支持代理账号ip需要加入白名单 |
| 67.| **Zenlayer授权** | Zenlayer授权 |
| 68.| **GoEdge授权** | |
| 69.| **雨云授权** | https://app.rainyun.com/ |
| 39.| **Next Terminal 授权** | 用于访问 Next Terminal API 的授权配置 |
| 40.| **1panel授权** | 账号和密码 |
| 41.| **支付宝** | |
| 42.| **白山云授权** | |
| 43.| **宝塔云WAF授权** | 用于连接和管理宝塔云WAF服务的授权配置 |
| 44.| **cdnfly授权** | |
| 45.| **k8s授权** | |
| 46.| **括彩云cdn授权** | 括彩云CDN每月免费30G[注册即领](https://kuocaicdn.com/register?code=8mn536rrzfbf8) |
| 47.| **LeCDN授权** | |
| 48.| **lucky** | |
| 49.| **猫云授权** | |
| 50.| **plesk授权** | |
| 51.| **长亭雷池授权** | |
| 52.| **群晖登录授权** | |
| 53.| **uniCloud** | unicloud授权 |
| 54.| **微信支付** | |
| 55.| **易盾rcdn授权** | 易盾CDN每月免费30G[注册即领](https://rhcdn.yiduncdn.com/register?code=8mn536rrzfbf8) |
| 56.| **易发云短信** | sms.yfyidc.cn/ |
| 57.| **易盾DCDN授权** | https://user.yiduncdn.com |
| 58.| **易支付** | |
| 59.| **proxmox** | |
| 60.| **UCloud授权** | 优刻得授权 |
| 61.| **又拍云** | |
| 62.| **网宿授权** | |
| 63.| **西部数码授权** | |
| 64.| **我爱云授权** | 我爱云CDN |
| 65.| **新网授权(代理方式)** | |
| 66.| **新网授权** | |
| 67.| **新网互联授权** | 仅支持代理账号ip需要加入白名单 |
| 68.| **Zenlayer授权** | Zenlayer授权 |
| 69.| **GoEdge授权** | |
| 70.| **雨云授权** | https://app.rainyun.com/ |
<style module>
table th:first-of-type {

View File

@@ -1,5 +1,5 @@
# 任务插件
`122` 款任务插件
`125` 款任务插件
## 1. 证书申请
| 序号 | 名称 | 说明 |
@@ -57,24 +57,26 @@
| 2.| **AcePanel-面板证书** | 部署AcePanel面板证书 |
| 3.| **Dokploy-部署server证书** | 自动更新Dokploy server证书 |
| 4.| **飞牛NAS-部署证书** | |
| 5.| **1Panel-部署面板证书** | 更新1Panel的面板证书 |
| 6.| **1Panel-更新站点证书** | 更新1Panel的站点证书 |
| 7.| **宝塔-删除过期证书** | 删除证书夹中过期证书 |
| 8.| **宝塔-WAF证书部署** | 部署宝塔云WAF/aaWAF |
| 9.| **宝塔-面板证书部署** | 部署宝塔面板本身的ssl证书 |
| 10.| **宝塔win-网站证书部署** | 部署到Windows版宝塔管理的站点的ssl证书 |
| 11.| **宝塔-网站证书部署** | 部署宝塔管理的站点的ssl证书目前支持宝塔网站站点、docker站点等。本插件也支持aaPanel。 |
| 12.| **K8S-Apply自定义yaml** | apply自定义yaml到k8s |
| 13.| **K8S-Ingress 证书部署** | 部署证书到k8s的Ingress |
| 14.| **K8S-部署证书到Secret** | 部署证书到k8s的secret |
| 15.| **lucky-更新Lucky证书** | |
| 16.| **Plesk-部署Plesk网站证书** | |
| 17.| **Plesk-更新证书** | 不会创建新证书记录,直接更新旧的证书 |
| 18.| **雷池-更新证书** | 更新长亭雷池WAF的证书 |
| 19.| **群晖-部署证书到群晖面板** | Synology支持6.x以上版本 |
| 20.| **uniCloud-部署到服务空间** | 部署到服务空间 |
| 21.| **Proxmox-上传证书到Proxmox** | |
| 22.| **威联通-部署证书到威联通** | 部署证书到qnap |
| 5.| **NextTerminal-更新证书** | 更新 Next Terminal 证书 |
| 6.| **1Panel-部署面板证书** | 更新1Panel的面板证书 |
| 7.| **1Panel-更新站点证书** | 更新1Panel的站点证书 |
| 8.| **宝塔-删除过期证书** | 删除证书夹中过期证书 |
| 9.| **宝塔-WAF证书部署** | 部署宝塔云WAF/aaWAF |
| 10.| **宝塔-面板证书部署** | 部署宝塔面板本身的ssl证书 |
| 11.| **宝塔win-网站证书部署** | 部署到Windows版宝塔管理的站点的ssl证书 |
| 12.| **宝塔-网站证书部署** | 部署宝塔管理的站点的ssl证书目前支持宝塔网站站点、docker站点等。本插件也支持aaPanel。 |
| 13.| **K8S-Apply自定义yaml** | apply自定义yaml到k8s |
| 14.| **K8S-Ingress 证书部署** | 部署证书到k8s的Ingress |
| 15.| **K8S-部署证书到Secret** | 部署证书到k8s的secret |
| 16.| **lucky-更新Lucky证书** | |
| 17.| **Plesk-部署Plesk网站证书** | |
| 18.| **Plesk-更新证书** | 不会创建新证书记录,直接更新旧的证书 |
| 19.| **雷池-更新证书(支持控制台和防护应用)** | 更新长亭雷池WAF的证书支持更新控制台和防护应用的证书。 |
| 20.| **群晖-部署证书到群晖面板** | Synology支持6.x以上版本 |
| 21.| **群晖-刷新OTP登录有效期** | 群晖登录状态可能30天失效需要在失效之前登录一次刷新有效期您可以将其放在“部署到群晖面板”任务之后 |
| 22.| **uniCloud-部署到服务空间** | 部署到服务空间 |
| 23.| **Proxmox-上传证书到Proxmox** | |
| 24.| **威联通-部署证书到威联通** | 部署证书到qnap |
## 5. 阿里云
| 序号 | 名称 | 说明 |
@@ -182,7 +184,8 @@
|-----|-----|-----|
| 1.| **数据库备份** | 【仅管理员可用】仅支持备份SQLite数据库 |
| 2.| **重启 Certd** | 【仅管理员可用】 重启 certd的https服务用于更新 Certd 的 ssl 证书 |
| 3.| **自定义js脚本** | 【仅管理员】运行自定义js脚本执行 |
| 3.| **部署证书到Certd本身** | 【仅管理员可用】 部署证书到 certd的https服务用于更新 Certd 的 ssl 证书,建议将此任务放在流水线的最后一步 |
| 4.| **自定义js脚本** | 【仅管理员】运行自定义js脚本执行 |
<style module>
table th:first-of-type {

Binary file not shown.

Before

Width:  |  Height:  |  Size: 23 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 51 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 33 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 50 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 14 KiB

After

Width:  |  Height:  |  Size: 28 KiB

View File

@@ -16,21 +16,11 @@ CERTD_HTTPS_port=7002
参考Certd顶部的创建证书流水线教程
### 2、配置复制到本机任务
将证书复制到certd的证书安装位置
证书路径:`ssl/cert.crt`
私钥路径:`ssl/cert.key`
### 2、配置部署证书到certd任务
![](./images/1.png)
![](./images/2.png)
![](./images/4.png)
### 3、配置重启Certd任务
重启certd的https server让证书生效
![img.png](./images/3.png)
### 4、配置定时任务
### 3、配置定时任务
每天定时执行,最终效果如下
![](./images/ok.png)

View File

@@ -9,5 +9,5 @@
}
},
"npmClient": "pnpm",
"version": "1.38.9"
"version": "1.38.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.38.12](https://github.com/publishlab/node-acme-client/compare/v1.38.11...v1.38.12) (2026-02-18)
**Note:** Version bump only for package @certd/acme-client
## [1.38.11](https://github.com/publishlab/node-acme-client/compare/v1.38.10...v1.38.11) (2026-02-16)
**Note:** Version bump only for package @certd/acme-client
## [1.38.10](https://github.com/publishlab/node-acme-client/compare/v1.38.9...v1.38.10) (2026-02-15)
**Note:** Version bump only for package @certd/acme-client
## [1.38.9](https://github.com/publishlab/node-acme-client/compare/v1.38.8...v1.38.9) (2026-02-09)
**Note:** Version bump only for package @certd/acme-client

View File

@@ -3,7 +3,7 @@
"description": "Simple and unopinionated ACME client",
"private": false,
"author": "nmorsman",
"version": "1.38.9",
"version": "1.38.12",
"type": "module",
"module": "scr/index.js",
"main": "src/index.js",
@@ -18,7 +18,7 @@
"types"
],
"dependencies": {
"@certd/basic": "^1.38.9",
"@certd/basic": "^1.38.12",
"@peculiar/x509": "^1.11.0",
"asn1js": "^3.0.5",
"axios": "^1.9.0",
@@ -53,7 +53,7 @@
"prepublishOnly": "npm run build-docs",
"test": "mocha -t 60000 \"test/setup.js\" \"test/**/*.spec.js\"",
"pub": "npm publish",
"compile": "tsc --skipLibCheck --watch"
"compile": "echo '1'"
},
"repository": {
"type": "git",
@@ -70,5 +70,5 @@
"bugs": {
"url": "https://github.com/publishlab/node-acme-client/issues"
},
"gitHead": "4fda6cbcde3d398d7f4dc3ee7e8ea90e691098db"
"gitHead": "1f002159e2a3c73fb5e00341a344effa07d6f653"
}

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.38.12](https://github.com/certd/certd/compare/v1.38.11...v1.38.12) (2026-02-18)
**Note:** Version bump only for package @certd/basic
## [1.38.11](https://github.com/certd/certd/compare/v1.38.10...v1.38.11) (2026-02-16)
**Note:** Version bump only for package @certd/basic
## [1.38.10](https://github.com/certd/certd/compare/v1.38.9...v1.38.10) (2026-02-15)
### Performance Improvements
* 421 支持3次重试 ([b91548e](https://github.com/certd/certd/commit/b91548eef4c24faa822d3a40f1f6a77b41d274e4))
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
### Bug Fixes

View File

@@ -1 +1 @@
23:08
23:18

View File

@@ -1,7 +1,7 @@
{
"name": "@certd/basic",
"private": false,
"version": "1.38.9",
"version": "1.38.12",
"type": "module",
"main": "./dist/index.js",
"module": "./dist/index.js",
@@ -47,5 +47,5 @@
"tslib": "^2.8.1",
"typescript": "^5.4.2"
},
"gitHead": "4fda6cbcde3d398d7f4dc3ee7e8ea90e691098db"
"gitHead": "1f002159e2a3c73fb5e00341a344effa07d6f653"
}

View File

@@ -7,7 +7,7 @@ import * as https from "node:https";
import { merge } from "lodash-es";
import { safePromise } from "./util.promise.js";
import fs from "fs";
import sleep from "./util.sleep.js";
const errorMap: Record<string, string> = {
"ssl3_get_record:wrong version number": "http协议错误服务端要求http协议请检查是否使用了https请求",
"getaddrinfo EAI_AGAIN": "无法解析域名请检查网络连接或dns配置更换docker-compose.yaml中dns配置",
@@ -148,6 +148,16 @@ export function createAxiosService({ logger }: { logger: ILogger }) {
// });
// config.httpsAgent = agent;
config.proxy = false; //必须 否则还会走一层代理,
config.retry = merge(
{
status: [421],
count: 0,
max: 3,
delay: 1000,
},
config.retry
);
return config;
},
(error: Error) => {
@@ -175,7 +185,7 @@ export function createAxiosService({ logger }: { logger: ILogger }) {
}
return response.data;
},
(error: any) => {
async (error: any) => {
const status = error.response?.status;
let message = "";
switch (status) {
@@ -215,6 +225,9 @@ export function createAxiosService({ logger }: { logger: ILogger }) {
case 302:
//重定向
return Promise.resolve(error.response);
case 421:
message = "源站请求超时";
break;
default:
break;
}
@@ -256,6 +269,22 @@ export function createAxiosService({ logger }: { logger: ILogger }) {
if (error instanceof AggregateError) {
logger.error("AggregateError", error);
}
const originalRequest = error.config || {};
logger.info(`config`, originalRequest);
const retry = originalRequest.retry || {};
if (retry.status && retry.status.includes(status)) {
if (retry.max > 0 && retry.count < retry.max) {
// 重试次数增加
retry.count++;
const delay = retry.delay * retry.count;
logger.error(`status=${status},重试次数${retry.count},将在${delay}ms后重试请求地址${originalRequest.url}`);
await sleep(delay);
return service.request(originalRequest); // 重试请求
}
logger.error(`重试超过最大次数${retry.max},请求失败:${originalRequest.url}`);
}
const err = new HttpError(error);
if (error.response?.config?.logParams === false) {
delete err.request?.params;

View File

@@ -13,6 +13,19 @@
// await testLocker();
import { domainUtils } from "./dist/utils/util.domain.js";
// import { domainUtils } from "./dist/utils/util.domain.js";
console.log(domainUtils.isIpv6("::0:0:0:FFFF:129.144.52.38"));
// console.log(domainUtils.isIpv6("::0:0:0:FFFF:129.144.52.38"));
// import { http } from "./dist/utils/util.request.js";
// http
// .request({
// url: "https://www.baidu.com/234234/3333",
// retry: {
// status: [404],
// },
// })
// .then(res => {
// console.log(res.data);
// });

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.38.12](https://github.com/certd/certd/compare/v1.38.11...v1.38.12) (2026-02-18)
**Note:** Version bump only for package @certd/pipeline
## [1.38.11](https://github.com/certd/certd/compare/v1.38.10...v1.38.11) (2026-02-16)
**Note:** Version bump only for package @certd/pipeline
## [1.38.10](https://github.com/certd/certd/compare/v1.38.9...v1.38.10) (2026-02-15)
### Bug Fixes
* 修复1panel 请求失败的bug ([0283662](https://github.com/certd/certd/commit/0283662931ff47d6b5d49f91a30c4a002fe1d108))
### Performance Improvements
* 所有授权增加测试按钮 ([7a3e68d](https://github.com/certd/certd/commit/7a3e68d656c1dcdcd814b69891bd2c2c6fe3098a))
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
**Note:** Version bump only for package @certd/pipeline

View File

@@ -1,7 +1,7 @@
{
"name": "@certd/pipeline",
"private": false,
"version": "1.38.9",
"version": "1.38.12",
"type": "module",
"main": "./dist/index.js",
"module": "./dist/index.js",
@@ -18,8 +18,8 @@
"compile": "tsc --skipLibCheck --watch"
},
"dependencies": {
"@certd/basic": "^1.38.9",
"@certd/plus-core": "^1.38.9",
"@certd/basic": "^1.38.12",
"@certd/plus-core": "^1.38.12",
"dayjs": "^1.11.7",
"lodash-es": "^4.17.21",
"reflect-metadata": "^0.1.13"
@@ -45,5 +45,5 @@
"tslib": "^2.8.1",
"typescript": "^5.4.2"
},
"gitHead": "4fda6cbcde3d398d7f4dc3ee7e8ea90e691098db"
"gitHead": "1f002159e2a3c73fb5e00341a344effa07d6f653"
}

View File

@@ -4,13 +4,13 @@ import { HttpClient, ILogger, utils } from "@certd/basic";
import * as _ from "lodash-es";
import { PluginRequestHandleReq } from "../plugin/index.js";
export type AccessRequestHandleReqInput<T = any> = {
id?: number;
title?: string;
access: T;
};
// export type AccessRequestHandleReqInput<T = any> = {
// id?: number;
// title?: string;
// access: T;
// };
export type AccessRequestHandleReq<T = any> = PluginRequestHandleReq<AccessRequestHandleReqInput<T>>;
export type AccessRequestHandleReq<T = any> = PluginRequestHandleReq<T>;
export type AccessInputDefine = FormItemProps & {
title: string;

View File

@@ -17,6 +17,7 @@ export type PluginRequestHandleReq<T = any> = {
action: string;
input: T;
data: any;
record: { id: number; type: string; title: string };
};
export type UserInfo = {
@@ -298,6 +299,14 @@ export abstract class AbstractTaskPlugin implements ITaskPlugin {
buildDomainGroupOptions(options: any[], domains: string[]) {
return utils.options.buildGroupOptions(options, domains);
}
getLastStatus(): Runnable {
return this.ctx.lastStatus || ({} as any);
}
getLastOutput(key: string) {
return this.getLastStatus().status?.output?.[key];
}
}
export type OutputVO = {

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.38.12](https://github.com/certd/certd/compare/v1.38.11...v1.38.12) (2026-02-18)
**Note:** Version bump only for package @certd/lib-huawei
## [1.38.11](https://github.com/certd/certd/compare/v1.38.10...v1.38.11) (2026-02-16)
**Note:** Version bump only for package @certd/lib-huawei
## [1.38.10](https://github.com/certd/certd/compare/v1.38.9...v1.38.10) (2026-02-15)
**Note:** Version bump only for package @certd/lib-huawei
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
**Note:** Version bump only for package @certd/lib-huawei

View File

@@ -1,7 +1,7 @@
{
"name": "@certd/lib-huawei",
"private": false,
"version": "1.38.9",
"version": "1.38.12",
"main": "./dist/bundle.js",
"module": "./dist/bundle.js",
"types": "./dist/d/index.d.ts",
@@ -24,5 +24,5 @@
"prettier": "^2.8.8",
"tslib": "^2.8.1"
},
"gitHead": "4fda6cbcde3d398d7f4dc3ee7e8ea90e691098db"
"gitHead": "1f002159e2a3c73fb5e00341a344effa07d6f653"
}

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.38.12](https://github.com/certd/certd/compare/v1.38.11...v1.38.12) (2026-02-18)
**Note:** Version bump only for package @certd/lib-iframe
## [1.38.11](https://github.com/certd/certd/compare/v1.38.10...v1.38.11) (2026-02-16)
**Note:** Version bump only for package @certd/lib-iframe
## [1.38.10](https://github.com/certd/certd/compare/v1.38.9...v1.38.10) (2026-02-15)
**Note:** Version bump only for package @certd/lib-iframe
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
**Note:** Version bump only for package @certd/lib-iframe

View File

@@ -1,7 +1,7 @@
{
"name": "@certd/lib-iframe",
"private": false,
"version": "1.38.9",
"version": "1.38.12",
"type": "module",
"main": "./dist/index.js",
"module": "./dist/index.js",
@@ -31,5 +31,5 @@
"tslib": "^2.8.1",
"typescript": "^5.4.2"
},
"gitHead": "4fda6cbcde3d398d7f4dc3ee7e8ea90e691098db"
"gitHead": "1f002159e2a3c73fb5e00341a344effa07d6f653"
}

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.38.12](https://github.com/certd/certd/compare/v1.38.11...v1.38.12) (2026-02-18)
**Note:** Version bump only for package @certd/jdcloud
## [1.38.11](https://github.com/certd/certd/compare/v1.38.10...v1.38.11) (2026-02-16)
**Note:** Version bump only for package @certd/jdcloud
## [1.38.10](https://github.com/certd/certd/compare/v1.38.9...v1.38.10) (2026-02-15)
**Note:** Version bump only for package @certd/jdcloud
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
**Note:** Version bump only for package @certd/jdcloud

View File

@@ -1,6 +1,6 @@
{
"name": "@certd/jdcloud",
"version": "1.38.9",
"version": "1.38.12",
"description": "jdcloud openApi sdk",
"main": "./dist/bundle.js",
"module": "./dist/bundle.js",
@@ -56,5 +56,5 @@
"fetch"
]
},
"gitHead": "4fda6cbcde3d398d7f4dc3ee7e8ea90e691098db"
"gitHead": "1f002159e2a3c73fb5e00341a344effa07d6f653"
}

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.38.12](https://github.com/certd/certd/compare/v1.38.11...v1.38.12) (2026-02-18)
**Note:** Version bump only for package @certd/lib-k8s
## [1.38.11](https://github.com/certd/certd/compare/v1.38.10...v1.38.11) (2026-02-16)
**Note:** Version bump only for package @certd/lib-k8s
## [1.38.10](https://github.com/certd/certd/compare/v1.38.9...v1.38.10) (2026-02-15)
**Note:** Version bump only for package @certd/lib-k8s
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
**Note:** Version bump only for package @certd/lib-k8s

View File

@@ -1,7 +1,7 @@
{
"name": "@certd/lib-k8s",
"private": false,
"version": "1.38.9",
"version": "1.38.12",
"type": "module",
"main": "./dist/index.js",
"module": "./dist/index.js",
@@ -17,7 +17,7 @@
"pub": "npm publish"
},
"dependencies": {
"@certd/basic": "^1.38.9",
"@certd/basic": "^1.38.12",
"@kubernetes/client-node": "0.21.0"
},
"devDependencies": {
@@ -32,5 +32,5 @@
"tslib": "^2.8.1",
"typescript": "^5.4.2"
},
"gitHead": "4fda6cbcde3d398d7f4dc3ee7e8ea90e691098db"
"gitHead": "1f002159e2a3c73fb5e00341a344effa07d6f653"
}

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.38.12](https://github.com/certd/certd/compare/v1.38.11...v1.38.12) (2026-02-18)
**Note:** Version bump only for package @certd/lib-server
## [1.38.11](https://github.com/certd/certd/compare/v1.38.10...v1.38.11) (2026-02-16)
**Note:** Version bump only for package @certd/lib-server
## [1.38.10](https://github.com/certd/certd/compare/v1.38.9...v1.38.10) (2026-02-15)
**Note:** Version bump only for package @certd/lib-server
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
**Note:** Version bump only for package @certd/lib-server

View File

@@ -1,6 +1,6 @@
{
"name": "@certd/lib-server",
"version": "1.38.9",
"version": "1.38.12",
"description": "midway with flyway, sql upgrade way ",
"private": false,
"type": "module",
@@ -28,11 +28,11 @@
],
"license": "AGPL",
"dependencies": {
"@certd/acme-client": "^1.38.9",
"@certd/basic": "^1.38.9",
"@certd/pipeline": "^1.38.9",
"@certd/plugin-lib": "^1.38.9",
"@certd/plus-core": "^1.38.9",
"@certd/acme-client": "^1.38.12",
"@certd/basic": "^1.38.12",
"@certd/pipeline": "^1.38.12",
"@certd/plugin-lib": "^1.38.12",
"@certd/plus-core": "^1.38.12",
"@midwayjs/cache": "3.14.0",
"@midwayjs/core": "3.20.11",
"@midwayjs/i18n": "3.20.13",
@@ -64,5 +64,5 @@
"typeorm": "^0.3.11",
"typescript": "^5.4.2"
},
"gitHead": "4fda6cbcde3d398d7f4dc3ee7e8ea90e691098db"
"gitHead": "1f002159e2a3c73fb5e00341a344effa07d6f653"
}

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.38.12](https://github.com/certd/certd/compare/v1.38.11...v1.38.12) (2026-02-18)
**Note:** Version bump only for package @certd/midway-flyway-js
## [1.38.11](https://github.com/certd/certd/compare/v1.38.10...v1.38.11) (2026-02-16)
**Note:** Version bump only for package @certd/midway-flyway-js
## [1.38.10](https://github.com/certd/certd/compare/v1.38.9...v1.38.10) (2026-02-15)
**Note:** Version bump only for package @certd/midway-flyway-js
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
### Performance Improvements

View File

@@ -1,6 +1,6 @@
{
"name": "@certd/midway-flyway-js",
"version": "1.38.9",
"version": "1.38.12",
"description": "midway with flyway, sql upgrade way ",
"private": false,
"type": "module",
@@ -46,5 +46,5 @@
"typeorm": "^0.3.11",
"typescript": "^5.4.2"
},
"gitHead": "4fda6cbcde3d398d7f4dc3ee7e8ea90e691098db"
"gitHead": "1f002159e2a3c73fb5e00341a344effa07d6f653"
}

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.38.12](https://github.com/certd/certd/compare/v1.38.11...v1.38.12) (2026-02-18)
**Note:** Version bump only for package @certd/plugin-cert
## [1.38.11](https://github.com/certd/certd/compare/v1.38.10...v1.38.11) (2026-02-16)
**Note:** Version bump only for package @certd/plugin-cert
## [1.38.10](https://github.com/certd/certd/compare/v1.38.9...v1.38.10) (2026-02-15)
**Note:** Version bump only for package @certd/plugin-cert
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
**Note:** Version bump only for package @certd/plugin-cert

View File

@@ -1,7 +1,7 @@
{
"name": "@certd/plugin-cert",
"private": false,
"version": "1.38.9",
"version": "1.38.12",
"type": "module",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -17,10 +17,10 @@
"compile": "tsc --skipLibCheck --watch"
},
"dependencies": {
"@certd/acme-client": "^1.38.9",
"@certd/basic": "^1.38.9",
"@certd/pipeline": "^1.38.9",
"@certd/plugin-lib": "^1.38.9",
"@certd/acme-client": "^1.38.12",
"@certd/basic": "^1.38.12",
"@certd/pipeline": "^1.38.12",
"@certd/plugin-lib": "^1.38.12",
"psl": "^1.9.0",
"punycode.js": "^2.3.1"
},
@@ -38,5 +38,5 @@
"tslib": "^2.8.1",
"typescript": "^5.4.2"
},
"gitHead": "4fda6cbcde3d398d7f4dc3ee7e8ea90e691098db"
"gitHead": "1f002159e2a3c73fb5e00341a344effa07d6f653"
}

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.38.12](https://github.com/certd/certd/compare/v1.38.11...v1.38.12) (2026-02-18)
**Note:** Version bump only for package @certd/plugin-lib
## [1.38.11](https://github.com/certd/certd/compare/v1.38.10...v1.38.11) (2026-02-16)
**Note:** Version bump only for package @certd/plugin-lib
## [1.38.10](https://github.com/certd/certd/compare/v1.38.9...v1.38.10) (2026-02-15)
**Note:** Version bump only for package @certd/plugin-lib
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
**Note:** Version bump only for package @certd/plugin-lib

View File

@@ -1,7 +1,7 @@
{
"name": "@certd/plugin-lib",
"private": false,
"version": "1.38.9",
"version": "1.38.12",
"type": "module",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -22,10 +22,10 @@
"@alicloud/pop-core": "^1.7.10",
"@alicloud/tea-util": "^1.4.11",
"@aws-sdk/client-s3": "^3.964.0",
"@certd/acme-client": "^1.38.9",
"@certd/basic": "^1.38.9",
"@certd/pipeline": "^1.38.9",
"@certd/plus-core": "^1.38.9",
"@certd/acme-client": "^1.38.12",
"@certd/basic": "^1.38.12",
"@certd/pipeline": "^1.38.12",
"@certd/plus-core": "^1.38.12",
"@kubernetes/client-node": "0.21.0",
"ali-oss": "^6.22.0",
"basic-ftp": "^5.0.5",
@@ -57,5 +57,5 @@
"tslib": "^2.8.1",
"typescript": "^5.4.2"
},
"gitHead": "4fda6cbcde3d398d7f4dc3ee7e8ea90e691098db"
"gitHead": "1f002159e2a3c73fb5e00341a344effa07d6f653"
}

View File

@@ -3,6 +3,38 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.38.12](https://github.com/certd/certd/compare/v1.38.11...v1.38.12) (2026-02-18)
### Bug Fixes
* 修复获取群辉deviceid报错的bug ([39d3bf9](https://github.com/certd/certd/commit/39d3bf97d1935918bac575da9d0726310c83c19d))
## [1.38.11](https://github.com/certd/certd/compare/v1.38.10...v1.38.11) (2026-02-16)
### Performance Improvements
* 优化登陆页面的黑暗模式 ([e47edda](https://github.com/certd/certd/commit/e47eddaa858f8fffe7a40dfbd14e8cda1dcba4ac))
* 支持自定义发件人名称,格式:名称<邮箱> ([bab9adc](https://github.com/certd/certd/commit/bab9adce240108d4291eedc67e04abc4a01019e0))
## [1.38.10](https://github.com/certd/certd/compare/v1.38.9...v1.38.10) (2026-02-15)
### Bug Fixes
* 修复1panel 请求失败的bug ([0283662](https://github.com/certd/certd/commit/0283662931ff47d6b5d49f91a30c4a002fe1d108))
* 修复保存站点监控dns设置偶尔无法保存成功的bug ([8387fe0](https://github.com/certd/certd/commit/8387fe0d5b2e77b8c2788a10791e5389d97a3e41))
* 修复任务步骤标题过长导致错位的问题 ([9fb9805](https://github.com/certd/certd/commit/9fb980599f96ccbf61bd46019411db2f13c70e57))
### Performance Improvements
* 监控设置支持逗号分割 ([c23d1d1](https://github.com/certd/certd/commit/c23d1d11b58a6cdfe431a7e8abbd5d955146c38d))
* 列表中支持下次执行时间显示 ([a3cabd5](https://github.com/certd/certd/commit/a3cabd5f36ed41225ad418098596e9b2c44e31a1))
* 模版编辑页面hover反色过亮问题优化 ([e55a3a8](https://github.com/certd/certd/commit/e55a3a82fc6939b940f0c3be4529d74a625f6f4e))
* 所有授权增加测试按钮 ([7a3e68d](https://github.com/certd/certd/commit/7a3e68d656c1dcdcd814b69891bd2c2c6fe3098a))
* 优化网络测试页面,夜间模式显示效果 ([305da86](https://github.com/certd/certd/commit/305da86f97d918374819ecd6c50685f09b94ea59))
* 支持next-terminal ([6f3fd78](https://github.com/certd/certd/commit/6f3fd785e77a33c72bdf4115dc5d498e677d1863))
* 主题默认跟随系统颜色(自动切换深色浅色模式) ([32c3ce5](https://github.com/certd/certd/commit/32c3ce5c9868569523901a9a939ca5b535ec3277))
* http校验方式支持scp上传 ([4eb940f](https://github.com/certd/certd/commit/4eb940ffe765a0330331bc6af8396315e36d4e4a))
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
### Performance Improvements

View File

@@ -1,6 +1,6 @@
{
"name": "@certd/ui-client",
"version": "1.38.9",
"version": "1.38.12",
"private": true,
"scripts": {
"dev": "vite --open",
@@ -106,8 +106,8 @@
"zod-defaults": "^0.1.3"
},
"devDependencies": {
"@certd/lib-iframe": "^1.38.9",
"@certd/pipeline": "^1.38.9",
"@certd/lib-iframe": "^1.38.12",
"@certd/pipeline": "^1.38.12",
"@rollup/plugin-commonjs": "^25.0.7",
"@rollup/plugin-node-resolve": "^15.2.3",
"@types/chai": "^4.3.12",

View File

@@ -1,7 +1,7 @@
<svg version="1.0" xmlns="http://www.w3.org/2000/svg"
width="500" height="500" viewBox="0 0 500.000000 500.000000"
>
<path d="M28.34 56.68h28.34V36.12H28.34a7.79 7.79 0 1 1 0-15.58h19.84v9.05h8.5V12H28.34a16.29 16.29 0 0 0 0 32.58h19.84v3.56H28.34a19.84 19.84 0 0 1 0-39.68h28.34V0H28.34a28.34 28.34 0 0 0 0 56.68z"
<path fill="#333" d="M28.34 56.68h28.34V36.12H28.34a7.79 7.79 0 1 1 0-15.58h19.84v9.05h8.5V12H28.34a16.29 16.29 0 0 0 0 32.58h19.84v3.56H28.34a19.84 19.84 0 0 1 0-39.68h28.34V0H28.34a28.34 28.34 0 0 0 0 56.68z"
transform="translate(70, 76) scale(6,6)"
></path>
</svg>

Before

Width:  |  Height:  |  Size: 397 B

After

Width:  |  Height:  |  Size: 409 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.4 KiB

View File

@@ -13,6 +13,7 @@
import { ComponentPropsType, doRequest } from "/@/components/plugins/lib";
import { ref, inject } from "vue";
import { Form } from "ant-design-vue";
import { getInputFromForm } from "./utils";
defineOptions({
name: "ApiTest",
@@ -45,13 +46,15 @@ const doTest = async () => {
message.value = "";
hasError.value = false;
loading.value = true;
const { input, record } = getInputFromForm(form, pluginType);
try {
const res = await doRequest(
{
type: pluginType,
typeName: form.type,
action: props.action,
input: pluginType === "plugin" ? form.input : form,
input,
record,
},
{
onError(err: any) {

View File

@@ -16,6 +16,7 @@
import { ComponentPropsType, doRequest } from "/@/components/plugins/lib";
import { defineComponent, inject, ref, useAttrs, watch, Ref } from "vue";
import { PluginDefine } from "@certd/pipeline";
import { getInputFromForm } from "./utils";
defineOptions({
name: "RemoteAutoComplete",
@@ -48,18 +49,6 @@ const message = ref("");
const hasError = ref(false);
const loading = ref(false);
function getInputFromForm(form: any, pluginType: string) {
let input: any = {};
if (pluginType === "plugin") {
input = form?.input || {};
} else if (pluginType === "access") {
input = form?.access || {};
} else {
input = form || {};
}
return input;
}
const getOptions = async () => {
if (loading.value) {
return;
@@ -75,7 +64,7 @@ const getOptions = async () => {
}
const pluginType = getPluginType();
const { form } = getScope();
const input = getInputFromForm(form, pluginType);
const { input, record } = getInputFromForm(form, pluginType);
for (let key in define.input) {
const inWatches = props.watches?.includes(key);
const inputDefine = define.input[key];
@@ -99,6 +88,7 @@ const getOptions = async () => {
action: props.action,
input,
data: {},
record,
},
{
onError(err: any) {
@@ -140,7 +130,7 @@ watch(
() => {
const pluginType = getPluginType();
const { form, key } = getScope();
const input = getInputFromForm(form, pluginType);
const { input, record } = getInputFromForm(form, pluginType);
const watches: any = {};
if (props.watches && props.watches.length > 0) {
for (const key of props.watches) {

View File

@@ -9,6 +9,7 @@ import { doRequest } from "/@/components/plugins/lib";
import { inject, ref, useAttrs } from "vue";
import { useFormWrapper } from "@fast-crud/fast-crud";
import { notification } from "ant-design-vue";
import { getInputFromForm } from "./utils";
defineOptions({
name: "RemoteInput",
@@ -71,15 +72,18 @@ const doPluginFormSubmit = async (data: any) => {
}
loading.value = true;
try {
const pluginType = getPluginType();
const { form } = getScope();
const { input, record } = getInputFromForm(form, pluginType);
const res = await doRequest({
type: pluginType,
typeName: form.type,
action: props.action,
input: pluginType === "plugin" ? form.input : form,
input,
data: data,
record,
});
//获取返回值 填入到input中
emit("update:modelValue", res);

View File

@@ -38,6 +38,7 @@
import { ComponentPropsType, doRequest } from "/@/components/plugins/lib";
import { defineComponent, inject, ref, useAttrs, watch, Ref } from "vue";
import { PluginDefine } from "@certd/pipeline";
import { getInputFromForm } from "./utils";
defineOptions({
name: "RemoteSelect",
@@ -79,17 +80,6 @@ const getPluginType: any = inject("get:plugin:type", () => {
return "plugin";
});
function getInputFromForm(form: any, pluginType: string) {
let input: any = {};
if (pluginType === "plugin") {
input = form?.input || {};
} else if (pluginType === "access") {
input = form?.access || {};
} else {
input = form || {};
}
return input;
}
const searchKeyRef = ref("");
const optionsRef = ref([]);
const message = ref("");
@@ -115,7 +105,7 @@ const getOptions = async () => {
}
const pluginType = getPluginType();
const { form } = getScope();
const input = getInputFromForm(form, pluginType);
const { input, record } = getInputFromForm(form, pluginType);
for (let key in define.input) {
const inWatches = props.watches?.includes(key);
@@ -141,6 +131,7 @@ const getOptions = async () => {
typeName: form.type,
action: props.action,
input,
record,
data: {
searchKey: props.search ? searchKeyRef.value : "",
pageNo,
@@ -211,7 +202,7 @@ watch(
() => {
const pluginType = getPluginType();
const { form, key } = getScope();
const input = getInputFromForm(form, pluginType);
const { input, record } = getInputFromForm(form, pluginType);
const watches: any = {};
if (props.watches && props.watches.length > 0) {
for (const key of props.watches) {

View File

@@ -15,6 +15,7 @@
import { ComponentPropsType, doRequest } from "/@/components/plugins/lib";
import { defineComponent, inject, ref, useAttrs, watch, Ref } from "vue";
import { PluginDefine } from "@certd/pipeline";
import { getInputFromForm } from "./utils";
defineOptions({
name: "RemoteTreeSelect",
@@ -67,7 +68,7 @@ const getOptions = async () => {
}
const pluginType = getPluginType();
const { form } = getScope();
const input = (pluginType === "plugin" ? form?.input : form) || {};
const { input, record } = getInputFromForm(form, pluginType);
for (let key in define.input) {
const inWatches = props.watches?.includes(key);
@@ -98,6 +99,7 @@ const getOptions = async () => {
pageNo,
pageSize,
},
record,
},
{
onError(err: any) {

View File

@@ -0,0 +1,26 @@
import { cloneDeep } from "lodash-es";
export function getInputFromForm(form: any, pluginType: string) {
form = cloneDeep(form);
let input: any = {};
const record: any = form;
if (pluginType === "plugin") {
input = form?.input || {};
delete form.input;
} else if (pluginType === "access") {
input = form?.access || {};
delete form.access;
} else if (pluginType === "notification") {
input = form?.body || {};
delete form.body;
} else if (pluginType === "addon") {
input = form?.body || {};
delete form.body;
} else {
throw new Error(`pluginType ${pluginType} not support`);
}
return {
input,
record,
};
}

View File

@@ -20,6 +20,7 @@ export const Dicts = {
uploaderTypeDict: dict({
data: [
{ label: "SFTP", value: "sftp" },
{ label: "SCP", value: "scp" },
{ label: "FTP", value: "ftp" },
{ label: "阿里云OSS", value: "alioss" },
{ label: "腾讯云COS", value: "tencentcos" },

View File

@@ -12,11 +12,12 @@ export type RequestHandleReq<T = any> = {
action: string;
data?: any;
input: T;
record?: any;
};
export async function doRequest(req: RequestHandleReq, opts: any = {}) {
const url = `/pi/handle/${req.type}`;
const { typeName, action, data, input } = req;
const { typeName, action, data, input, record } = req;
const res = await request({
url,
method: "post",
@@ -25,6 +26,7 @@ export async function doRequest(req: RequestHandleReq, opts: any = {}) {
action,
data,
input,
record,
},
...opts,
});

View File

@@ -13,6 +13,7 @@
import { inject, ref, useAttrs } from "vue";
import { Modal } from "ant-design-vue";
import { ComponentPropsType, doRequest } from "/@/components/plugins/lib";
import { getInputFromForm } from "../common/utils";
defineOptions({
name: "DeviceIdGetter",
@@ -34,7 +35,7 @@ const getPluginType: any = inject("get:plugin:type", () => {
async function loginWithOTPCode(otpCode: string) {
const { form } = getScope();
const pluginType = getPluginType();
const { input, record } = getInputFromForm(form, pluginType);
return await doRequest({
type: pluginType,
typeName: form.type,
@@ -42,7 +43,8 @@ async function loginWithOTPCode(otpCode: string) {
data: {
otpCode,
},
input: form,
input: input,
record,
});
}

View File

@@ -1,6 +1,6 @@
<template>
<div id="userLayout" :class="['user-layout-wrapper']">
<div class="login-container flex justify-start">
<div class="login-container flex justify-start dark:background-[#141414]">
<div class="user-layout-content flex-col justify-start">
<div class="top flex flex-col items-center justify-start">
<div class="header flex flex-row items-center">
@@ -59,6 +59,14 @@ const sysPublic: Ref<SysPublicSetting> = computed(() => {
</script>
<style lang="less">
.dark {
.login-container {
background: #141414 !important;
.desc {
color: rgba(227, 227, 227, 0.45) !important;
}
}
}
#userLayout.user-layout-wrapper {
height: 100%;

View File

@@ -160,6 +160,7 @@ export default {
updateTime: "Update Time",
triggerType: "Trigger Type",
pipelineId: "Pipeline Id",
nextRunTime: "Next Run Time",
},
pi: {
@@ -689,6 +690,7 @@ export default {
password: "Password",
pleaseEnterPassword: "Please enter password",
qqEmailAuthCodeHelper: "If using QQ email, get an authorization code in QQ email settings as the password",
senderEmailHelper: "You can use the format: Name<Email> to set the sender name, e.g.: autossl<certd@example.com>",
senderEmail: "Sender Email",
pleaseEnterSenderEmail: "Please enter sender email",
useSsl: "Use SSL",

View File

@@ -167,6 +167,7 @@ export default {
updateTime: "更新时间",
triggerType: "触发类型",
pipelineId: "流水线Id",
nextRunTime: "下次运行时间",
},
pi: {
validTime: "流水线有效期",
@@ -700,6 +701,7 @@ export default {
password: "密码",
pleaseEnterPassword: "请输入密码",
qqEmailAuthCodeHelper: "如果是qq邮箱需要到qq邮箱的设置里面申请授权码作为密码",
senderEmailHelper: "您可以使用 名称<邮箱> 的格式,来修改发件人名称,例如: autossl<certd@example.com>",
senderEmail: "发件邮箱",
pleaseEnterSenderEmail: "请输入发件邮箱",
useSsl: "是否ssl",

View File

@@ -117,3 +117,4 @@ span.fs-icon-svg {
margin: 0 !important;
}
}

View File

@@ -5,6 +5,7 @@
@import "./fix-windicss.less";
@import "./antdv4.less";
@import "./certd.less";
@import "./dark.less";
html,
body {

View File

@@ -0,0 +1,7 @@
.dark{
.fs-page-header{
.title {
color: #d5d5d5 !important;
}
}
}

View File

@@ -18,8 +18,8 @@
-webkit-border-radius: 4em;
-moz-border-radius: 4em;
border-radius: 4em;
background-color: #b3b3b3;
box-shadow: 0px 1px 1px #eee inset;
background-color: #757575;
}
::-webkit-scrollbar-thumb:hover {

View File

@@ -94,7 +94,7 @@ const defaultPreferences: Preferences = {
colorPrimary: "hsl(212 100% 45%)",
colorSuccess: "hsl(144 57% 58%)",
colorWarning: "hsl(42 84% 61%)",
mode: "light",
mode: "auto",
radius: "0.5",
semiDarkHeader: false,
semiDarkSidebar: false,

View File

@@ -67,7 +67,10 @@ export function getCommonColumnDefine(crudExpose: any, typeRef: any, api: any) {
set(form, key, column.value);
}
//字段配置赋值
columnsRef.value[key] = column;
if (columnsRef.value) {
columnsRef.value[key] = column;
}
console.log("form", columnsRef.value);
});
}

View File

@@ -25,7 +25,7 @@
</a-form-item>
<a-form-item :label="t('certd.monitor.setting.dnsServer')" :name="['dnsServer']">
<div class="flex">
<a-select v-model:value="formState.dnsServer" mode="tags" :open="false" />
<a-select v-model:value="formState.dnsServer" :token-separators="[' ', ',', '', '', '|']" mode="tags" :open="false" />
</div>
<div class="helper">{{ t("certd.monitor.setting.dnsServerHelper") }}</div>
</a-form-item>
@@ -45,15 +45,16 @@
</template>
<script setup lang="tsx">
import { notification } from "ant-design-vue";
import { merge } from "lodash-es";
import { reactive } from "vue";
import * as api from "./api";
import { UserSiteMonitorSetting } from "./api";
import { notification } from "ant-design-vue";
import { merge } from "lodash-es";
import { useSettingStore } from "/src/store/settings";
import NotificationSelector from "/@/views/certd/notification/notification-selector/index.vue";
import { useUserStore } from "/@/store/user";
import { utils } from "/@/utils";
import NotificationSelector from "/@/views/certd/notification/notification-selector/index.vue";
import { useI18n } from "/src/locales";
import { useSettingStore } from "/src/store/settings";
const { t } = useI18n();
@@ -74,6 +75,7 @@ async function loadUserSettings() {
loadUserSettings();
const doSave = async (form: any) => {
await utils.sleep(300);
await api.SiteMonitorSettingsSave({
...formState,
});

View File

@@ -352,6 +352,7 @@ export default function ({ crudExpose, context: { selectedRowKeys, openCertApply
column: {
align: "center",
width: 120,
show: false,
sorter: true,
},
form: {
@@ -464,6 +465,18 @@ export default function ({ crudExpose, context: { selectedRowKeys, openCertApply
align: "center",
},
},
nextRunTime: {
title: t("certd.fields.nextRunTime"),
type: "datetime",
form: {
show: false,
},
column: {
sorter: true,
width: 150,
align: "center",
},
},
disabled: {
title: t("certd.fields.enabled"),
type: "dict-switch",

View File

@@ -37,7 +37,7 @@
<div class="step-row">
<div class="text">
<fs-icon icon="ion:flash"></fs-icon>
<h4 class="title" :class="{ disabled: element.disabled, deleted: element.disabled }">{{ element.title }}</h4>
<h4 class="title" :class="{ disabled: element.disabled, deleted: element.disabled }" :title="element.title">{{ element.title }}</h4>
</div>
<div class="action">
<a key="edit" @click="stepEdit(currentTask, element, index)">编辑</a>
@@ -306,6 +306,9 @@ export default {
justify-content: space-between;
.text {
display: flex;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
> * {
margin: 0px;
margin-right: 15px;
@@ -314,9 +317,16 @@ export default {
.action {
display: flex;
align-items: center;
flex-wrap: nowrap;
word-wrap: nowrap;
margin-left: 10px;
> * {
margin-right: 10px;
font-size: 14px;
display: flex;
align-items: center;
flex-wrap: nowrap;
white-space: nowrap;
}
}
}

View File

@@ -885,6 +885,7 @@ export default defineComponent({
saveLoading.value = false;
}
};
const edit = () => {
pipeline.value = cloneDeep(currentPipeline.value);
currentHistory.value = null;

View File

@@ -36,7 +36,7 @@
<a-collapse v-if="detail?.template?.pipelineId > 0" v-model:active-key="activeKey">
<a-collapse-panel v-for="(step, stepId) in steps" :key="stepId" class="step-item" :header="step.title">
<div class="step-inputs flex flex-wrap">
<div v-for="(input, key) of step.input" :key="key" class="hover:bg-gray-100 p-5 w-full xl:w-[50%]">
<div v-for="(input, key) of step.input" :key="key" class="hover:bg-gray-100 dark:hover:bg-[#2d2d2d] p-5 w-full xl:w-[50%]">
<div class="flex flex-between" :title="input.define.helper">
<div class="flex flex-1 overflow-hidden mr-5">
<span style="min-width: 140px" class="bas">

View File

@@ -7,7 +7,7 @@
</template>
<script setup lang="ts">
import { get, set } from "lodash-es";
import { computed, reactive, ref, defineProps } from "vue";
import { computed, reactive, ref } from "vue";
import { useStepHelper } from "./utils";
import { usePluginStore } from "/@/store/plugin";

View File

@@ -74,6 +74,13 @@ function goDetail(link: any) {
}
</script>
<style lang="less">
.dark {
.data-item {
.header {
color: rgba(242, 242, 242, 0.85) !important;
}
}
}
.statistic-card {
margin-bottom: 10px;
.icon-text {

View File

@@ -311,6 +311,7 @@ export default defineComponent({
.input-right {
width: 160px;
margin-left: 10px;
background: #cfcfcf !important;
}
.forge-password {

View File

@@ -221,14 +221,12 @@ onMounted(() => {
border: 1px solid #e8e8e8;
border-radius: 4px;
overflow: hidden;
background-color: #fff;
.card-header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 12px 16px;
background-color: #fafafa;
border-bottom: 1px solid #e8e8e8;
}
@@ -245,13 +243,11 @@ onMounted(() => {
.input-form {
margin-bottom: 12px;
padding: 12px;
background-color: #fafafa;
border-radius: 4px;
}
.domain-info {
padding: 5.5px 12px;
background-color: #f0f0f0;
border-radius: 4px;
display: flex;
gap: 16px;
@@ -272,7 +268,6 @@ onMounted(() => {
.summary {
margin-top: 16px;
padding: 12px;
background-color: #f8f9fa;
border-radius: 4px;
.summary-text {
}

View File

@@ -110,7 +110,6 @@ onMounted(() => {
}
.info-item {
background-color: #fafafa;
border-radius: 4px;
padding: 12px;

View File

@@ -138,7 +138,6 @@ const resultError = computed(() => {
.port-info {
font-size: 12px;
color: #999;
background-color: #f0f0f0;
padding: 2px 6px;
border-radius: 3px;
margin-right: 8px;
@@ -154,7 +153,6 @@ const resultError = computed(() => {
.error-message,
.object-result,
.text-result {
background-color: #f8f8f8;
padding: 8px 10px;
border-radius: 3px;
overflow-x: auto;
@@ -170,7 +168,6 @@ const resultError = computed(() => {
}
.test-log {
background-color: #f8f8f8;
padding: 8px 10px;
border-radius: 3px;
overflow-x: auto;

View File

@@ -30,7 +30,6 @@ import ServerInfoCard from "./ServerInfoCard.vue";
.page-sys-nettest {
.nettest-container {
padding: 16px;
background-color: #fff;
}
.test-areas {

View File

@@ -30,6 +30,7 @@
</a-form-item>
<a-form-item :label="t('certd.senderEmail')" name="sender" :rules="[{ required: true, message: t('certd.pleaseEnterSenderEmail') }]">
<a-input v-model:value="formState.sender" />
<div class="helper">{{ t("certd.senderEmailHelper") }}</div>
</a-form-item>
<a-form-item :label="t('certd.useSsl')" name="secure">
<a-switch v-model:checked="formState.secure" />

View File

@@ -3,6 +3,40 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
## [1.38.12](https://github.com/certd/certd/compare/v1.38.11...v1.38.12) (2026-02-18)
**Note:** Version bump only for package @certd/ui-server
## [1.38.11](https://github.com/certd/certd/compare/v1.38.10...v1.38.11) (2026-02-16)
### Bug Fixes
* 修复1panel2.1.0新版本测试失败的问题 ([8ef1f2e](https://github.com/certd/certd/commit/8ef1f2e395ea5969a95f55535e6c16a65e2b463b))
### Performance Improvements
* 支持自定义发件人名称,格式:名称<邮箱> ([bab9adc](https://github.com/certd/certd/commit/bab9adce240108d4291eedc67e04abc4a01019e0))
## [1.38.10](https://github.com/certd/certd/compare/v1.38.9...v1.38.10) (2026-02-15)
### Bug Fixes
* 修复1panel 请求失败的bug ([0283662](https://github.com/certd/certd/commit/0283662931ff47d6b5d49f91a30c4a002fe1d108))
* 修复阿里云dcdn使用上传到cas的id引用错误的bug ([61800b2](https://github.com/certd/certd/commit/61800b23e2be324169990810d1176c18decabb23))
* 修复保存站点监控dns设置偶尔无法保存成功的bug ([8387fe0](https://github.com/certd/certd/commit/8387fe0d5b2e77b8c2788a10791e5389d97a3e41))
### Performance Improvements
* 备份支持scp上传 ([66ac471](https://github.com/certd/certd/commit/66ac4716f2565d7ee827461b625397ae21599451))
* 列表中支持下次执行时间显示 ([a3cabd5](https://github.com/certd/certd/commit/a3cabd5f36ed41225ad418098596e9b2c44e31a1))
* 群晖支持刷新登录有效期 ([42c7ec2](https://github.com/certd/certd/commit/42c7ec2f75947e2b8298d6605d4dbcd441aacd51))
* 所有授权增加测试按钮 ([7a3e68d](https://github.com/certd/certd/commit/7a3e68d656c1dcdcd814b69891bd2c2c6fe3098a))
* 新网互联支持查询域名列表 ([e7e54bc](https://github.com/certd/certd/commit/e7e54bc19e3a734913a93a94e25db3bb06d2ab0f))
* 优化京东云报错详情显示 ([1195417](https://github.com/certd/certd/commit/1195417b9714d2fcb540e43c0a20809b7ee2052b))
* 增加部署证书到certd本身插件 ([3cd1aae](https://github.com/certd/certd/commit/3cd1aaeb035f8af79714030889b2b4dc259b700e))
* 支持next-terminal ([6f3fd78](https://github.com/certd/certd/commit/6f3fd785e77a33c72bdf4115dc5d498e677d1863))
* http校验方式支持scp上传 ([4eb940f](https://github.com/certd/certd/commit/4eb940ffe765a0330331bc6af8396315e36d4e4a))
## [1.38.9](https://github.com/certd/certd/compare/v1.38.8...v1.38.9) (2026-02-09)
### Bug Fixes

View File

@@ -17,6 +17,12 @@ input:
placeholder: 密码
required: true
encrypt: true
testRequest:
title: 测试
component:
name: api-test
action: TestRequest
helper: 测试授权是否正确
pluginType: access
type: builtIn
scriptFilePath: /plugins/plugin-51dns/access.js

View File

@@ -19,6 +19,12 @@ input:
component:
placeholder: totp key
encrypt: true
testRequest:
title: 测试
component:
name: api-test
action: TestRequest
helper: 测试授权是否正确
pluginType: access
type: builtIn
scriptFilePath: /plugins/plugin-cachefly/access.js

View File

@@ -19,6 +19,12 @@ input:
component:
placeholder: totp key
encrypt: true
testRequest:
title: 测试
component:
name: api-test
action: TestRequest
helper: 点击测试接口是否正常
pluginType: access
type: builtIn
scriptFilePath: /plugins/plugin-gcore/access.js

View File

@@ -24,6 +24,12 @@ input:
value: ap-southeast-1
helper: 请选择ESA地区
required: true
testRequest:
title: 测试
component:
name: api-test
action: TestRequest
helper: 点击测试接口是否正常
pluginType: access
type: builtIn
scriptFilePath: /plugins/plugin-lib/aliyun/access/aliesa-access.js

View File

@@ -17,6 +17,12 @@ input:
required: true
encrypt: true
helper: 注意证书申请需要dns解析权限其他阿里云插件需要对应的权限比如证书上传需要证书管理权限嫌麻烦就用主账号的全量权限的accessKey
testRequest:
title: 测试
component:
name: api-test
action: TestRequest
helper: 点击测试接口是否正常
pluginType: access
type: builtIn
scriptFilePath: /plugins/plugin-lib/aliyun/access/aliyun-access.js

View File

@@ -165,6 +165,12 @@ input:
value: me-south-1
- label: sa-east-1
value: sa-east-1
testRequest:
title: 测试
component:
name: api-test
action: TestRequest
helper: 测试授权是否正确
pluginType: access
type: builtIn
scriptFilePath: /plugins/plugin-aws/access.js

View File

@@ -19,6 +19,12 @@ input:
helper: 是否使用http代理
required: false
encrypt: false
testRequest:
title: 测试
component:
name: api-test
action: TestRequest
helper: 测试授权是否正确
pluginType: access
type: builtIn
scriptFilePath: /plugins/plugin-cloudflare/access.js

View File

@@ -17,6 +17,12 @@ input:
required: true
encrypt: true
helper: ''
testRequest:
title: 测试
component:
name: api-test
action: TestRequest
helper: 点击测试接口看是否正常
pluginType: access
type: builtIn
scriptFilePath: /plugins/plugin-plus/ctyun/access/ctyun-access.js

View File

@@ -17,6 +17,12 @@ input:
helper: ''
required: false
encrypt: true
testRequest:
title: 测试
component:
name: api-test
action: TestRequest
helper: 测试授权是否正确
pluginType: access
type: builtIn
scriptFilePath: /plugins/plugin-dnsla/access.js

View File

@@ -17,6 +17,12 @@ input:
helper: 请前往[多吉云-密钥管理](https://console.dogecloud.com/user/keys)获取
required: true
encrypt: true
testRequest:
title: 测试
component:
name: api-test
action: TestRequest
helper: 测试授权是否正确
pluginType: access
type: builtIn
scriptFilePath: /plugins/plugin-doge/access.js

View File

@@ -17,6 +17,12 @@ input:
placeholder: accessKeySecret
required: true
encrypt: true
testRequest:
title: 测试
component:
name: api-test
action: TestRequest
helper: 点击测试接口是否正常
pluginType: access
type: builtIn
scriptFilePath: /plugins/plugin-huawei/access/huawei-access.js

View File

@@ -16,6 +16,12 @@ input:
placeholder: SecretAccessKey
required: true
encrypt: true
testRequest:
title: 测试
component:
name: api-test
action: TestRequest
helper: 点击测试接口是否正常
pluginType: access
type: builtIn
scriptFilePath: /plugins/plugin-jdcloud/access.js

View File

@@ -18,6 +18,12 @@ input:
vModel: checked
required: false
encrypt: false
testRequest:
title: 测试
component:
name: api-test
action: TestRequest
helper: 点击测试接口看是否正常
pluginType: access
type: builtIn
scriptFilePath: /plugins/plugin-plus/k8s/access.js

View File

@@ -15,6 +15,12 @@ input:
placeholder: password
required: true
encrypt: true
testRequest:
title: 测试
component:
name: api-test
action: TestRequest
helper: 点击测试接口看是否正常
pluginType: access
type: builtIn
scriptFilePath: /plugins/plugin-plus/kuocai/access.js

View File

@@ -64,6 +64,12 @@ input:
})
}
testRequest:
title: 测试
component:
name: api-test
action: TestRequest
helper: 点击测试接口看是否正常
pluginType: access
type: builtIn
scriptFilePath: /plugins/plugin-plus/lecdn/access.js

View File

@@ -24,6 +24,12 @@ input:
helper: 设置->最下面开发者设置->启用OpenToken
required: true
encrypt: true
testRequest:
title: 测试
component:
name: api-test
action: TestRequest
helper: 点击测试接口看是否正常
pluginType: access
type: builtIn
scriptFilePath: /plugins/plugin-plus/lucky/access.js

View File

@@ -30,6 +30,12 @@ input:
vModel: value
encrypt: false
required: false
testRequest:
title: 测试
component:
name: api-test
action: TestRequest
helper: 点击测试接口看是否正常
pluginType: access
type: builtIn
scriptFilePath: /plugins/plugin-plus/maoyun/access.js

View File

@@ -14,6 +14,12 @@ input:
然后点击Generate按钮
required: true
encrypt: true
testRequest:
title: 测试
component:
name: api-test
action: TestRequest
helper: 点击测试接口是否正常
pluginType: access
type: builtIn
scriptFilePath: /plugins/plugin-namesilo/access.js

View File

@@ -0,0 +1,30 @@
name: nextTerminal
title: Next Terminal 授权
icon: clarity:plugin-line
desc: 用于访问 Next Terminal API 的授权配置
input:
baseUrl:
title: 系统地址
component:
name: a-input
allowClear: true
placeholder: https://nt.example.com:8088
required: true
apiToken:
title: API 令牌
helper: 个人中心->授权令牌->创建令牌
component:
name: a-input
allowClear: true
placeholder: NT_xxxxx
required: true
encrypt: true
testRequest:
title: 测试
component:
name: api-test
action: TestRequest
helper: 点击测试接口是否正常
pluginType: access
type: builtIn
scriptFilePath: /plugins/plugin-next-terminal/access.js

View File

@@ -37,6 +37,12 @@ input:
helper: pam 或 pve。默认值 pam
required: false
encrypt: false
testRequest:
title: 测试
component:
name: api-test
action: onTestRequest
helper: 点击测试接口看是否正常
pluginType: access
type: builtIn
scriptFilePath: /plugins/plugin-proxmox/access.js

View File

@@ -13,6 +13,12 @@ input:
title: SecretKey
encrypt: true
helper: SK
testRequest:
title: 测试
component:
name: api-test
action: onTestRequest
helper: 点击测试接口看是否正常
order: 2
pluginType: access
type: builtIn

View File

@@ -21,6 +21,12 @@ input:
name: a-switch
vModel: checked
helper: 如果面板的url是https且使用的是自签名证书则需要开启此选项其他情况可以关闭
testRequest:
title: 测试
component:
name: api-test
action: onTestRequest
helper: 点击测试接口看是否正常
pluginType: access
type: builtIn
scriptFilePath: /plugins/plugin-plus/safeline/access.js

View File

@@ -83,6 +83,12 @@ input:
name: a-input-number
vModel: value
helper: 请求超时时间,单位:秒
testRequest:
title: 测试
component:
name: api-test
action: onTestRequest
helper: 点击测试接口看是否正常
pluginType: access
type: builtIn
scriptFilePath: /plugins/plugin-plus/synology/access.js

View File

@@ -41,6 +41,12 @@ input:
component:
name: a-switch
vModel: checked
testRequest:
title: 测试
component:
name: api-test
action: onTestRequest
helper: 点击测试接口看是否正常
pluginType: access
type: builtIn
scriptFilePath: /plugins/plugin-lib/tencent/access.js

View File

@@ -16,6 +16,12 @@ input:
placeholder: 密码
required: true
encrypt: true
testRequest:
title: 测试
component:
name: api-test
action: onTestRequest
helper: 点击测试接口看是否正常
pluginType: access
type: builtIn
scriptFilePath: /plugins/plugin-plus/unicloud/access.js

Some files were not shown because too many files have changed in this diff Show More