diff --git a/.github/workflows/deploy-demo.yml b/.github/workflows/deploy-demo.yml
index 1a84c482..9291f5d4 100644
--- a/.github/workflows/deploy-demo.yml
+++ b/.github/workflows/deploy-demo.yml
@@ -1,9 +1,9 @@
name: deploy-demo
on:
push:
- branches: ['v2']
- paths:
- - "deploy.trigger"
+ branches: ['v2-dev']
+# paths:
+# - "deploy.trigger"
workflow_run:
workflows: [ "build-image" ]
types:
diff --git a/.github/workflows/sync-to-gitee-dev.yml b/.github/workflows/sync-to-gitee-dev.yml
new file mode 100644
index 00000000..fdbfcf0b
--- /dev/null
+++ b/.github/workflows/sync-to-gitee-dev.yml
@@ -0,0 +1,33 @@
+name: sync-to-gitee-dev
+on:
+ push:
+ branches: ['v2-dev']
+# schedule:
+# - # 国际时间 19:17 执行,北京时间3:17 ↙↙↙ 改成你想要每天自动执行的时间
+# - cron: '17 19 * * *'
+permissions:
+ contents: read
+
+jobs:
+ sync:
+ runs-on: ubuntu-latest
+ steps:
+ - name: Checkout work repo # 1. 检出当前仓库(certd-sync-work)
+ uses: actions/checkout@v3
+ with:
+ fetch-depth: 0
+ - name: Set git user # 2. 给git命令设置用户名和邮箱,↙↙↙ 改成你的name和email
+ run: |
+ git config --global user.name "xiaojunnuo"
+ git config --global user.email "xiaojunnuo@qq.com"
+
+ - name: Set git token # 3. 给git命令设置token,用于push到目标仓库
+ uses: de-vri-es/setup-git-credentials@v2
+ with: # token 格式为: username:password
+ credentials: https://${{secrets.PUSH_TOKEN_GITEE}}@gitee.com
+
+ - name: push to gitee # 4. 执行同步
+ run: |
+ git remote add upstream https://gitee.com/certd/certd
+ git push --set-upstream upstream v2-dev
+
diff --git a/CHANGELOG.md b/CHANGELOG.md
index 0c6334bc..22ee3c61 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -3,6 +3,29 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.26.10](https://github.com/certd/certd/compare/v1.26.9...v1.26.10) (2024-10-20)
+
+### Bug Fixes
+
+* 修复cname服务普通用户access访问权限问题 ([c1e3e2e](https://github.com/certd/certd/commit/c1e3e2ee1f923ee5806479dd5f178c3286a01ae0))
+
+## [1.26.9](https://github.com/certd/certd/compare/v1.26.8...v1.26.9) (2024-10-19)
+
+### Bug Fixes
+
+* 修复普通用户无法校验cname配置的bug ([6285497](https://github.com/certd/certd/commit/62854978bf0bdbe749b42f8e40ab227ab31ec92f))
+* 修复切换普通用户登录时,左侧菜单没有同步更新的bug ([12116a8](https://github.com/certd/certd/commit/12116a89f43cf8b98f16d2ea6073f6b72a643215))
+* 修正邮箱设置跳转路由 ([17d8890](https://github.com/certd/certd/commit/17d88900a1f0e3af609b74597f5b1978230db32d))
+
+### Performance Improvements
+
+* 触发证书重新申请input变化对比规则优化,减少升级版本后触发申请证书的情况 ([c46a2a9](https://github.com/certd/certd/commit/c46a2a9a399c2a9a8bb59a48b9fb6e93227cce9b))
+* 任务下所有步骤都跳过时,整个任务显示跳过 ([84fd3b2](https://github.com/certd/certd/commit/84fd3b250dd1161ea06c5582fdadece4b29c2e53))
+* 授权配置去除前后空格 ([57d8d48](https://github.com/certd/certd/commit/57d8d48046fbf51c52b041d2dec03d51fb018587))
+* 数据库备份插件,先压缩再备份 ([304ef49](https://github.com/certd/certd/commit/304ef494fd5787c996ad0dcb6edd2f517afce9e2))
+* 优化菜单 ([1f4f157](https://github.com/certd/certd/commit/1f4f15757de1015cf7563f7022599eef58cc93d7))
+* 增加文档站 https://certd.docmirror.cn ([6e2ac1c](https://github.com/certd/certd/commit/6e2ac1c089f6ddccb396f1f2738509c05333e1bb))
+
## [1.26.8](https://github.com/certd/certd/compare/v1.26.7...v1.26.8) (2024-10-15)
### Bug Fixes
diff --git a/README.md b/README.md
index 8502a2b7..8f2e0e48 100644
--- a/README.md
+++ b/README.md
@@ -1,9 +1,9 @@
# Certd
-Certd 是一个免费全自动申请和自动部署更新SSL证书的工具。
+Certd 是一个免费全自动申请和自动部署更新SSL证书的管理系统。
后缀d取自linux守护进程的命名风格,意为证书守护进程。
-关键字:证书自动申请、证书自动更新、证书自动续期、证书自动续签
+关键字:证书自动申请、证书自动更新、证书自动续期、证书自动续签、证书管理工具
## 一、特性
@@ -15,7 +15,6 @@ Certd 是一个免费全自动申请和自动部署更新SSL证书的工具。
* 邮件通知
* 私有化部署,保障数据安全
* 支持sqlite,postgresql数据库
-* 免费、免费、免费([阿里云单个通配符域名证书最便宜也要1800/年](https://yundun.console.aliyun.com/?p=cas#/certExtend/buy/cn-hangzhou))
diff --git a/build.trigger b/build.trigger
index 639736f9..97224975 100644
--- a/build.trigger
+++ b/build.trigger
@@ -1 +1 @@
-07:17
+12:34
diff --git a/doc/cname/index.md b/doc/cname/index.md
deleted file mode 100644
index 45ee1238..00000000
--- a/doc/cname/index.md
+++ /dev/null
@@ -1,27 +0,0 @@
-# CNAME代理校验方式说明
-
-## 1. 前言
-申请域名证书是需要校验域名所有权的。
-目前有两种校验方式:
-1. http-01: 在网站根目录下放置一份txt文件(Certd不支持)
-2. dns-01: 需要给域名添加txt解析记录,通配符域名只能用这种方式(Certd采用这种方式)
-
-DNS-01方式需要开发适配DNS服务商的接口,目前已实现主流域名注册商的接口(阿里云、腾讯云、华为云、Cloudflare、西数)
-
-如果域名不在这几家,那么就只能通过CNAME代理校验方式来实现
-
-
-## 2. 使用步骤
-
-1. 假设你要申请证书的域名叫:need.cert.com ,它是在其他服务商注册的
-2. 现在你需要另外一个域名:cname.foo.com,这个域名属于是在阿里云、腾讯云、华为云、Cloudflare、西数,或者你把这个域名的DNS服务器转到这几家。
-3. 到Certd的 CNAME服务管理界面,用`cname.foo.com`创建一条默认的CNAME服务,需要提供DNS提供商授权。
-
-4. 申请证书时,Certd会生成一个随机的CNAME记录,例如:`_acme-challenge.need`->`xxxxxx.cname.foo.com`
- 
-5. 您需要手动添加这条CNAME记录到你要申请证书的域名解析中,点击校验,校验成功后就可以开始申请证书了 (此操作每个域名只需要做一次,后续可以重复使用,注意不要删除添加的CNAME记录)
- 
-6. 
-6. 申请过程中,Certd会在`xxxxxx.cname.foo.com`下自动添加验证TXT记录。
-7. 由于您配置了`_acme-challenge.need`的CNAME,所以这个TXT记录会被解析到`_acme-challenge.need.cert.com`下,从而完成域名校验。
-
diff --git a/docs/.gitignore b/docs/.gitignore
new file mode 100644
index 00000000..ee8f7f05
--- /dev/null
+++ b/docs/.gitignore
@@ -0,0 +1,2 @@
+.vitepress/cache
+dist
\ No newline at end of file
diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts
new file mode 100644
index 00000000..cabd880e
--- /dev/null
+++ b/docs/.vitepress/config.ts
@@ -0,0 +1,125 @@
+import { defineConfig } from "vitepress";
+// Import lightbox plugin
+import lightbox from "vitepress-plugin-lightbox";
+
+// https://vitepress.dev/reference/site-config
+export default defineConfig({
+ title: "Certd",
+ description: "Certd帮助文档,Certd是一款开源免费的全自动SSL证书管理工具;自动证书申请、更新、续期;通配符证书,泛域名证书申请;证书自动化部署到阿里云、腾讯云、主机、群晖、宝塔。",
+ markdown: {
+ config: (md) => {
+ // Use lightbox plugin
+ md.use(lightbox, {});
+ }
+ },
+ head: [
+ // [
+ // 'meta',
+ // {
+ // name: 'viewport',
+ // content:
+ // 'width=device-width,initial-scale=1,minimfast-cum-scale=1.0,maximum-scale=1.0,user-scalable=no',
+ // },
+ // ],
+ ["meta", {
+ name: "keywords",
+ content: "证书自动申请、证书自动更新、证书自动续期、证书自动续签、证书管理工具、Certd、SSL证书自动部署、证书自动化,https证书,pfx证书,der证书,TLS证书,nginx证书自动续签自动部署"
+ }],
+ ["meta", {
+ name: "google-site-verification",
+ content: "V5XLTSnXoT15uQotwpxJoQolUo2d5UbSL-TacsyOsC0"
+ }],
+ ["link", { rel: "icon", href: "/static/logo/logo.svg" }]
+ ],
+ themeConfig: {
+ logo: "/static/logo/logo.svg",
+ search: {
+ provider: "local",
+ options: {
+ detailedView: true,
+ translations: {
+ button: {
+ buttonText: "搜索文档",
+ buttonAriaLabel: "搜索文档"
+ },
+ modal: {
+ noResultsText: "无法找到相关结果",
+ resetButtonTitle: "清除查询条件",
+ footer: {
+ selectText: "选择",
+ closeText: "关闭",
+ navigateText: "切换"
+ }
+ }
+ }
+ }
+ },
+ // https://vitepress.dev/reference/default-theme-config
+ nav: [
+ { text: "首页", link: "/" },
+ { text: "指南", link: "/guide/" },
+ { text: "Demo体验", link: "https://certd.handsfree.work" }
+ ],
+ sidebar: {
+ "/guide/": [
+ {
+ text: "入门",
+ items: [
+ { text: "简介", link: "/guide/" },
+ { text: "快速开始", link: "/guide/start.md" },
+ {
+ text: "私有化部署",
+ items: [
+ { text: "docker部署", link: "/guide/install/docker/" },
+ { text: "宝塔面板部署", link: "/guide/install/baota/" },
+ { text: "1Panel部署", link: "/guide/install/1panel/" },
+ { text: "群晖部署", link: "/guide/use/synology/" },
+ { text: "源码部署", link: "/guide/install/source/" }
+ ]
+ },
+ { text: "演示教程", link: "/guide/tutorial.md" }
+
+ ]
+ },
+ {
+ text: "特性",
+ items: [
+ { text: "CNAME代理校验", link: "/guide/feature/cname/index.md" },
+ { text: "插件列表", link: "/guide/plugins.md" }
+ ]
+ },
+ {
+ text: "常见问题",
+ items: [
+ { text: "群晖证书部署", link: "/guide/use/synology/" },
+ { text: "腾讯云密钥获取", link: "/guide/use/tencent/" },
+ { text: "连接windows主机", link: "/guide/use/host/windows.md" },
+ { text: "Google EAB获取", link: "/guide/use/google/" },
+ { text: "忘记密码", link: "/guide/use/forgotpasswd/" },
+ { text: "数据备份", link: "/guide/use/backup/" },
+ { text: "如何贡献代码", link: "/guide/development/index.md" },
+ ]
+ },
+ {
+ text: "其他",
+ items: [
+ { text: "更新日志", link: "/guide/changelogs/CHANGELOG.md" },
+ { text: "镜像说明", link: "/guide/image.md" },
+ { text: "联系我们", link: "/guide/contact/" },
+ { text: "捐赠", link: "/guide/donate/" },
+ { text: "开源协议", link: "/guide/license/" },
+ { text: "我的其他开源项目", link: "/guide/link/" },
+
+ ]
+ }
+ ]
+ },
+ socialLinks: [
+ { icon: "github", link: "https://github.com/certd/certd" }
+ ],
+ footer: {
+ message: "Certd帮助文档 | 粤ICP备14088435号 ",
+ copyright: "Copyright © 2021-present handfree.work "
+ }
+ }
+});
diff --git a/docs/.vitepress/theme/Layout.vue b/docs/.vitepress/theme/Layout.vue
new file mode 100644
index 00000000..3eb63a23
--- /dev/null
+++ b/docs/.vitepress/theme/Layout.vue
@@ -0,0 +1,37 @@
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/docs/.vitepress/theme/index.ts b/docs/.vitepress/theme/index.ts
new file mode 100644
index 00000000..94abedae
--- /dev/null
+++ b/docs/.vitepress/theme/index.ts
@@ -0,0 +1,35 @@
+// https://vitepress.dev/guide/custom-theme
+// import { h } from 'vue'
+import type { Theme } from 'vitepress'
+import DefaultTheme from 'vitepress/theme'
+import './style.css'
+import Layout from './Layout.vue'
+
+import { registerAnalytics, siteIds, trackPageview } from './plugins/baidutongji'
+import { inBrowser } from "vitepress";
+
+
+export default {
+ extends: DefaultTheme,
+ Layout,
+ // Layout: () => {
+ // return h(DefaultTheme.Layout, null, {
+ // // https://vitepress.dev/guide/extending-default-theme#layout-slots
+ // })
+ // },
+ enhanceApp({ app, router, siteData }) {
+ // ...
+ if (inBrowser) {
+ registerAnalytics(siteIds)
+
+ window.addEventListener('hashchange', () => {
+ const { href: url } = window.location
+ trackPageview(siteIds, url)
+ })
+
+ router.onAfterRouteChanged = (to) => {
+ trackPageview(siteIds, to)
+ }
+ }
+ }
+} satisfies Theme
diff --git a/docs/.vitepress/theme/plugins/baidutongji.ts b/docs/.vitepress/theme/plugins/baidutongji.ts
new file mode 100644
index 00000000..5363141c
--- /dev/null
+++ b/docs/.vitepress/theme/plugins/baidutongji.ts
@@ -0,0 +1,49 @@
+import { inBrowser } from 'vitepress'
+
+/**
+ * 统计站点的 ID 列表
+ */
+export const siteIds = 'a6ce877a899ae44292e4f854a53d688e'
+
+declare global {
+ interface Window {
+ _hmt: any
+ }
+}
+
+/**
+ * 注册统计
+ */
+export function registerAnalytics(siteId: string) {
+ if (!inBrowser)
+ return
+ if (document.querySelector(`#analytics-plugin-${siteId}`))
+ return
+ window._hmt = window._hmt ? window._hmt : []
+ const script = document.createElement('script')
+ script.id = `analytics-${siteId}`
+ script.async = true
+ script.src = `https://hm.baidu.com/hm.js?${siteId}`
+ document.querySelector('head')?.appendChild(script)
+}
+
+/**
+ * 上报 PV 数据
+ * @param siteId - 站点 ID
+ * @param pageUrl - 页面 URL
+ */
+export function trackPageview(siteId: string, pageUrl: string) {
+ if (!inBrowser)
+ return
+ if (!pageUrl || typeof pageUrl !== 'string')
+ pageUrl = '/'
+
+ if (pageUrl.startsWith('http')) {
+ const urlFragment = pageUrl.split('/')
+ const origin = `${urlFragment[0]}//${urlFragment[2]}`
+ pageUrl = pageUrl.replace(origin, '')
+ }
+
+ window._hmt.push(['_setAccount', siteId])
+ window._hmt.push(['_trackPageview', pageUrl])
+}
diff --git a/docs/.vitepress/theme/style.css b/docs/.vitepress/theme/style.css
new file mode 100644
index 00000000..22ed8c53
--- /dev/null
+++ b/docs/.vitepress/theme/style.css
@@ -0,0 +1,139 @@
+/**
+ * Customize default theme styling by overriding CSS variables:
+ * https://github.com/vuejs/vitepress/blob/main/src/client/theme-default/styles/vars.css
+ */
+
+/**
+ * Colors
+ *
+ * Each colors have exact same color scale system with 3 levels of solid
+ * colors with different brightness, and 1 soft color.
+ *
+ * - `XXX-1`: The most solid color used mainly for colored text. It must
+ * satisfy the contrast ratio against when used on top of `XXX-soft`.
+ *
+ * - `XXX-2`: The color used mainly for hover state of the button.
+ *
+ * - `XXX-3`: The color for solid background, such as bg color of the button.
+ * It must satisfy the contrast ratio with pure white (#ffffff) text on
+ * top of it.
+ *
+ * - `XXX-soft`: The color used for subtle background such as custom container
+ * or badges. It must satisfy the contrast ratio when putting `XXX-1` colors
+ * on top of it.
+ *
+ * The soft color must be semi transparent alpha channel. This is crucial
+ * because it allows adding multiple "soft" colors on top of each other
+ * to create a accent, such as when having inline code block inside
+ * custom containers.
+ *
+ * - `default`: The color used purely for subtle indication without any
+ * special meanings attached to it such as bg color for menu hover state.
+ *
+ * - `brand`: Used for primary brand colors, such as link text, button with
+ * brand theme, etc.
+ *
+ * - `tip`: Used to indicate useful information. The default theme uses the
+ * brand color for this by default.
+ *
+ * - `warning`: Used to indicate warning to the users. Used in custom
+ * container, badges, etc.
+ *
+ * - `danger`: Used to show error, or dangerous message to the users. Used
+ * in custom container, badges, etc.
+ * -------------------------------------------------------------------------- */
+
+ :root {
+ --vp-c-default-1: var(--vp-c-gray-1);
+ --vp-c-default-2: var(--vp-c-gray-2);
+ --vp-c-default-3: var(--vp-c-gray-3);
+ --vp-c-default-soft: var(--vp-c-gray-soft);
+
+ --vp-c-brand-1: var(--vp-c-indigo-1);
+ --vp-c-brand-2: var(--vp-c-indigo-2);
+ --vp-c-brand-3: var(--vp-c-indigo-3);
+ --vp-c-brand-soft: var(--vp-c-indigo-soft);
+
+ --vp-c-tip-1: var(--vp-c-brand-1);
+ --vp-c-tip-2: var(--vp-c-brand-2);
+ --vp-c-tip-3: var(--vp-c-brand-3);
+ --vp-c-tip-soft: var(--vp-c-brand-soft);
+
+ --vp-c-warning-1: var(--vp-c-yellow-1);
+ --vp-c-warning-2: var(--vp-c-yellow-2);
+ --vp-c-warning-3: var(--vp-c-yellow-3);
+ --vp-c-warning-soft: var(--vp-c-yellow-soft);
+
+ --vp-c-danger-1: var(--vp-c-red-1);
+ --vp-c-danger-2: var(--vp-c-red-2);
+ --vp-c-danger-3: var(--vp-c-red-3);
+ --vp-c-danger-soft: var(--vp-c-red-soft);
+}
+
+/**
+ * Component: Button
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-button-brand-border: transparent;
+ --vp-button-brand-text: var(--vp-c-white);
+ --vp-button-brand-bg: var(--vp-c-brand-3);
+ --vp-button-brand-hover-border: transparent;
+ --vp-button-brand-hover-text: var(--vp-c-white);
+ --vp-button-brand-hover-bg: var(--vp-c-brand-2);
+ --vp-button-brand-active-border: transparent;
+ --vp-button-brand-active-text: var(--vp-c-white);
+ --vp-button-brand-active-bg: var(--vp-c-brand-1);
+}
+
+/**
+ * Component: Home
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-home-hero-name-color: transparent;
+ --vp-home-hero-name-background: -webkit-linear-gradient(
+ 120deg,
+ #bd34fe 30%,
+ #41d1ff
+ );
+
+ --vp-home-hero-image-background-image: linear-gradient(
+ -45deg,
+ #bd34fe 50%,
+ #47caff 50%
+ );
+ --vp-home-hero-image-filter: blur(44px);
+}
+
+@media (min-width: 640px) {
+ :root {
+ --vp-home-hero-image-filter: blur(56px);
+ }
+}
+
+@media (min-width: 960px) {
+ :root {
+ --vp-home-hero-image-filter: blur(68px);
+ }
+}
+
+/**
+ * Component: Custom Block
+ * -------------------------------------------------------------------------- */
+
+:root {
+ --vp-custom-block-tip-border: transparent;
+ --vp-custom-block-tip-text: var(--vp-c-text-1);
+ --vp-custom-block-tip-bg: var(--vp-c-brand-soft);
+ --vp-custom-block-tip-code-bg: var(--vp-c-brand-soft);
+}
+
+/**
+ * Component: Algolia
+ * -------------------------------------------------------------------------- */
+
+.DocSearch {
+ --docsearch-primary-color: var(--vp-c-brand-1) !important;
+}
+
diff --git a/docs/guide/changelogs/CHANGELOG.md b/docs/guide/changelogs/CHANGELOG.md
new file mode 100644
index 00000000..0c6334bc
--- /dev/null
+++ b/docs/guide/changelogs/CHANGELOG.md
@@ -0,0 +1,577 @@
+# Change Log
+
+All notable changes to this project will be documented in this file.
+See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+
+## [1.26.8](https://github.com/certd/certd/compare/v1.26.7...v1.26.8) (2024-10-15)
+
+### Bug Fixes
+
+* 修复无法设置角色的bug ([02fe704](https://github.com/certd/certd/commit/02fe704769edb25fea5ffd85a51a5530864b37b3))
+
+### Performance Improvements
+
+* 角色删除安全 ([28bb485](https://github.com/certd/certd/commit/28bb4856bee03569153f6471527c9b9f28cb3d14))
+* 密钥备份 ([1c6028a](https://github.com/certd/certd/commit/1c6028abcf8849163462bb2f8441b6838357e09b))
+* 证书直接查看 ([5dde5bd](https://github.com/certd/certd/commit/5dde5bd3f76db3959d411619d29bfb8064e3b307))
+* sqlite数据库备份插件 ([77f1631](https://github.com/certd/certd/commit/77f163144f7dcfb0431475c55508fecfd6d969f8))
+
+## [1.26.7](https://github.com/certd/certd/compare/v1.26.6...v1.26.7) (2024-10-14)
+
+### Bug Fixes
+
+* 修复siteInfo每次都要重新设置的bug ([36b26ae](https://github.com/certd/certd/commit/36b26ae9f5c7a53c1c2546fb79b2ea451b854abf))
+
+## [1.26.6](https://github.com/certd/certd/compare/v1.26.5...v1.26.6) (2024-10-14)
+
+### Bug Fixes
+
+* 修复排序失效的bug ([1f0742e](https://github.com/certd/certd/commit/1f0742ef9f0caae0c7e713acf0fd3cebf5d63875))
+
+## [1.26.5](https://github.com/certd/certd/compare/v1.26.4...v1.26.5) (2024-10-14)
+
+### Bug Fixes
+
+* 修复版本号获取错误的bug ([8851870](https://github.com/certd/certd/commit/8851870400df86e496198ad509061b8989fcc44f))
+
+## [1.26.4](https://github.com/certd/certd/compare/v1.26.3...v1.26.4) (2024-10-14)
+
+### Performance Improvements
+
+* [comm] 支持插件管理 ([e8b617b](https://github.com/certd/certd/commit/e8b617b80ce882dd63006f0cfc719a80a1cc6acc))
+* 新增代理设置功能 ([273ab61](https://github.com/certd/certd/commit/273ab6139f5807f4d7fe865cc353b97f51b9a668))
+* EAB授权支持绑定邮箱,支持公共EAB设置 ([07043af](https://github.com/certd/certd/commit/07043aff0ca7fd29c56dd3c363002cb15d78b464))
+
+## [1.26.3](https://github.com/certd/certd/compare/v1.26.2...v1.26.3) (2024-10-12)
+
+### Performance Improvements
+
+* 优化系统设置加载时机 ([7396253](https://github.com/certd/certd/commit/73962536d5a4769902d760d005f3f879465addcc))
+
+## [1.26.2](https://github.com/certd/certd/compare/v1.26.1...v1.26.2) (2024-10-11)
+
+### Bug Fixes
+
+* 修复某些情况下bindUrl失败的bug ([91fc1cd](https://github.com/certd/certd/commit/91fc1cd7353be4a22be951239ed70b38baebc74e))
+
+### Performance Improvements
+
+* 邮箱设置改为系统设置,普通用户无需配置发件邮箱 ([4244569](https://github.com/certd/certd/commit/42445692117184a3293e63bef84a74cbb5984b0e))
+
+## [1.26.1](https://github.com/certd/certd/compare/v1.26.0...v1.26.1) (2024-10-10)
+
+**Note:** Version bump only for package root
+
+# [1.26.0](https://github.com/certd/certd/compare/v1.25.9...v1.26.0) (2024-10-10)
+
+### Bug Fixes
+
+* 修复管理员编辑其他用户流水线任务时归属userid也被修改的bug ([e85c477](https://github.com/certd/certd/commit/e85c47744cf740b4af3b93dca7c2f0ccc818ec2f))
+* 修复历史记录根据流水线名称查询报错的bug ([ce9a986](https://github.com/certd/certd/commit/ce9a9862f122fce2186e7727eaa4b251b59e6032))
+* 修复某些代理情况下 报 400 The plain HTTP request was sent to HTTPS port use proxy 的bug ([a13203f](https://github.com/certd/certd/commit/a13203fb3f48c427d0d81a504912248dcc07df1a))
+
+### Features
+
+* 域名验证方法支持CNAME间接方式,此方式支持所有域名注册商,且无需提供Access授权,但是需要手动添加cname解析 ([f3d3508](https://github.com/certd/certd/commit/f3d35084ed44f9f33845f7045e520be5c27eed93))
+* 站点个性化设置 ([11a9fe9](https://github.com/certd/certd/commit/11a9fe9014d96cba929e5a066e78f2af7ae59d14))
+
+### Performance Improvements
+
+* 并行任务名称改成添加任务,取消并行,可以在同一个阶段获取上一个task的输出 ([c5e5877](https://github.com/certd/certd/commit/c5e58770d1c5edc19c6f9ea1618f44b68e091f35))
+* 调整静态资源到static目录 ([0584b36](https://github.com/certd/certd/commit/0584b3672b40f9042a2ed87e5627022606d046cd))
+* 调整全部静态资源到static目录 ([a218890](https://github.com/certd/certd/commit/a21889080d6c7ffdf0af526a3a21f0b2d1c77288))
+* 检查cname是否正确配置 ([b5d8935](https://github.com/certd/certd/commit/b5d8935159374fbe7fc7d4c48ae0ed9396861bdd))
+* 七牛云cdn支持配置多个域名 ([88d745e](https://github.com/certd/certd/commit/88d745e29063a089864fb9c6705be7b8d4c2669a))
+* 上传到主机插件支持注入环境变量 ([81fac73](https://github.com/certd/certd/commit/81fac736f9ccc8d1cda7ef4178752239cec20849))
+* 优化宝塔网站部署插件远程获取数据的提示 ([2a3ca9f](https://github.com/certd/certd/commit/2a3ca9f552d96594ec6690a1c4c91f598451b9a1))
+* 优化缩短首页缓存时间 ([49395e8](https://github.com/certd/certd/commit/49395e8cb65f4b30c0145329ed5de48be4ef3842))
+* 域名输入增加校验提示,避免输入错误的域名 ([0c8e83e](https://github.com/certd/certd/commit/0c8e83e1254a9ce4d5a4e7888eb1710394a4b77c))
+* cname校验配置增加未校验通过提示 ([77cc3c4](https://github.com/certd/certd/commit/77cc3c4a5cbd81f8233a8e0bb33fab0621c0905f))
+* google eab授权支持自动获取,不过要配置代理 ([592791d](https://github.com/certd/certd/commit/592791d1356fc252fbb70d7f168567aee9585507))
+
+## [1.25.9](https://github.com/certd/certd/compare/v1.25.8...v1.25.9) (2024-10-01)
+
+### Bug Fixes
+
+* 修复西部数码账户级别apikey不可用的bug ([f8f3e8b](https://github.com/certd/certd/commit/f8f3e8b43fd5d815887bcb53b95f46dc96424b79))
+
+### Performance Improvements
+
+* 增加等待插件 ([3ef0541](https://github.com/certd/certd/commit/3ef0541cc85ab6abf698ead3b258ae1ac156ef98))
+
+## [1.25.8](https://github.com/certd/certd/compare/v1.25.7...v1.25.8) (2024-09-30)
+
+### Bug Fixes
+
+* 修复pfxPassword无效的bug ([251e450](https://github.com/certd/certd/commit/251e450fabfe62405bac13e39f2153736c081ef0))
+
+### Performance Improvements
+
+* 群晖获取deviceid优化 ([8d42273](https://github.com/certd/certd/commit/8d4227366548eb70f6bc04303829e6933168f906))
+
+## [1.25.7](https://github.com/certd/certd/compare/v1.25.6...v1.25.7) (2024-09-29)
+
+### Bug Fixes
+
+* 修复某些地区被屏蔽无法激活专业版的bug ([7532a96](https://github.com/certd/certd/commit/7532a960851b84d4f2cc3dba02353c5235e1a364))
+
+### Performance Improvements
+
+* 上传到主机,支持socks代理 ([d91026d](https://github.com/certd/certd/commit/d91026dc4fbfe5fedc4ee8e43dc0d08f1cf88356))
+* 支持上传到七牛云oss ([bf024bd](https://github.com/certd/certd/commit/bf024bdda8bc2a463475be5761acf0da7317a08a))
+
+## [1.25.6](https://github.com/certd/certd/compare/v1.25.5...v1.25.6) (2024-09-29)
+
+### Bug Fixes
+
+* 修复中间证书复制错误的bug ([76e86ea](https://github.com/certd/certd/commit/76e86ea283ecbe4ec76cdc92b98457d0fef544ac))
+
+### Performance Improvements
+
+* 部署支持1Panel ([d047234](https://github.com/certd/certd/commit/d047234d98d31504f2e5a472b66e1b75806af26e))
+* 增加使用教程 ([9d9c021](https://github.com/certd/certd/commit/9d9c0218195af5b9896cce7109b26a433480571d))
+
+## [1.25.5](https://github.com/certd/certd/compare/v1.25.4...v1.25.5) (2024-09-26)
+
+**Note:** Version bump only for package root
+
+## [1.25.4](https://github.com/certd/certd/compare/v1.25.3...v1.25.4) (2024-09-25)
+
+### Bug Fixes
+
+* 修复启动报授权验证失败的bug ([3460d3d](https://github.com/certd/certd/commit/3460d3ddca222ea702816ab805909d489eff957f))
+
+## [1.25.3](https://github.com/certd/certd/compare/v1.25.2...v1.25.3) (2024-09-24)
+
+### Bug Fixes
+
+* 修复upload to host trim错误 ([0f0ddb9](https://github.com/certd/certd/commit/0f0ddb9c5963fd643d6d203334efac471c43ec3b))
+
+## [1.25.2](https://github.com/certd/certd/compare/v1.25.1...v1.25.2) (2024-09-24)
+
+**Note:** Version bump only for package root
+
+## [1.25.1](https://github.com/certd/certd/compare/v1.25.0...v1.25.1) (2024-09-24)
+
+**Note:** Version bump only for package root
+
+# [1.25.0](https://github.com/certd/certd/compare/v1.24.4...v1.25.0) (2024-09-24)
+
+### Bug Fixes
+
+* 修复首次创建任务运行时不自动设置当前运行情况的bug ([ecd83ee](https://github.com/certd/certd/commit/ecd83ee136abdd3df9ed2f21ec2ff0f24c0ed9d9))
+
+### Features
+
+* 账号绑定 ([e046640](https://github.com/certd/certd/commit/e0466409d0c021bb415abd94df448c8a0d4799e9))
+* 支持中间证书 ([e86756e](https://github.com/certd/certd/commit/e86756e4c65a53dd23106d7ecbfe2fa987cc13f3))
+* 支持vip转移 ([361e8fe](https://github.com/certd/certd/commit/361e8fe7ae5877e23fd5de31bc919bedd09c57f5))
+
+### Performance Improvements
+
+* 群晖支持OTP双重验证登录 ([8b8039f](https://github.com/certd/certd/commit/8b8039f42bbce10a4d0e737cdeeeef9bb17bee5a))
+* 任务支持禁用 ([8ed16b3](https://github.com/certd/certd/commit/8ed16b3ea2dfe847357863a0bfa614e4fa5fc041))
+* 优化收件邮箱输入 ([22ef28f](https://github.com/certd/certd/commit/22ef28f6338a78465bd52ccbad13e66e80263b2f))
+* 优化主机登录失败提示 ([9de77b3](https://github.com/certd/certd/commit/9de77b327d39cff5ed6660ec53b58ba0eea18e5a))
+* 增加重启certd插件 ([48238d9](https://github.com/certd/certd/commit/48238d929e6c4afa1d428e4d35b9159d37a47ae0))
+* 证书支持旧版RSA,pkcs1 ([3d9c3ec](https://github.com/certd/certd/commit/3d9c3ecb3eb604b2458154f608bde0f01915d116))
+* 支持阿里云ACK证书部署 ([d331fea](https://github.com/certd/certd/commit/d331fea47789122650e057ec7c9e85ee8e66f09b))
+* 支持七牛云 ([8ecc2f9](https://github.com/certd/certd/commit/8ecc2f9446a9ebd11b9bfbffbb6cf7812a043495))
+* 支持k8s ingress secret ([e5a5d0a](https://github.com/certd/certd/commit/e5a5d0a607bb6b4e1a1f7a1a419bada5f2dee59f))
+* http请求增加默认超时时间 ([664bd86](https://github.com/certd/certd/commit/664bd863e5b4895aabe2384277c0c65f5902fdb2))
+* plugins增加图标 ([a8da658](https://github.com/certd/certd/commit/a8da658a9723342b4f43a579f7805bfef0648efb))
+
+## [1.24.4](https://github.com/certd/certd/compare/v1.24.3...v1.24.4) (2024-09-09)
+
+### Bug Fixes
+
+* 修复腾讯云cdn证书部署后会自动关闭hsts,http2.0等配置的bug ([7908ab7](https://github.com/certd/certd/commit/7908ab79da624c94fa05849925b15e480e3317c4))
+* 修复腾讯云tke证书部署报错的bug ([653f409](https://github.com/certd/certd/commit/653f409d91a441850d6381f89a8dd390831f0d5e))
+
+### Performance Improvements
+
+* 插件选择支持搜索 ([d1498a7](https://github.com/certd/certd/commit/d1498a71601b74d38343b1d070eadd03705dd9d5))
+* 前置任务步骤增加错误提示 ([ae3daa9](https://github.com/certd/certd/commit/ae3daa9bcf4fc363825aad9b77f5d3879aeeff70))
+* 群晖部署教程 ([0f0af2f](https://github.com/certd/certd/commit/0f0af2f309390f388e7a272cea3a1dd30c01977d))
+* 支持群晖 ([5c270b6](https://github.com/certd/certd/commit/5c270b6b9d45a2152f9fdb3c07bd98b7c803cb8e))
+
+## [1.24.3](https://github.com/certd/certd/compare/v1.24.2...v1.24.3) (2024-09-06)
+
+### Performance Improvements
+
+* 支持多吉云cdn证书部署 ([65ef685](https://github.com/certd/certd/commit/65ef6857296784ca765926e09eafcb6fc8b6ecde))
+
+## [1.24.2](https://github.com/certd/certd/compare/v1.24.1...v1.24.2) (2024-09-06)
+
+### Bug Fixes
+
+* 修复复制流水线出现的各种问题 ([6314e8d](https://github.com/certd/certd/commit/6314e8d7eb58cd52e2a7bd3b5ffb9112b0b69577))
+* 修复windows下无法执行第二条命令的bug ([71ac8aa](https://github.com/certd/certd/commit/71ac8aae4aa694e1a23761e9761c9fba30b43a21))
+
+### Performance Improvements
+
+* 阶段、任务、步骤全面支持拖动排序 ([bd73a16](https://github.com/certd/certd/commit/bd73a163cd0497f062bd424ddc6bc9bbc95f81ea))
+* 任务配置不需要的字段可以自动隐藏 ([192d9dc](https://github.com/certd/certd/commit/192d9dc7e36737d684c769f255f407c28b1152ac))
+* 任务支持拖动排序 ([1e9b563](https://github.com/certd/certd/commit/1e9b5638aa36a8ce70019a9c750230ba41938327))
+* 西部数据支持用户级的apikey ([1c17b41](https://github.com/certd/certd/commit/1c17b41e160944b073e1849e6f9467c3659a4bfc))
+* 修复windows下无法执行第二条命令的bug ([d5bfcdb](https://github.com/certd/certd/commit/d5bfcdb6de1dcc1702155442e2e00237d0bbb6e5))
+* 优化跳过处理逻辑 ([b80210f](https://github.com/certd/certd/commit/b80210f24bf5db1c958d06ab27c9e5d3db452eda))
+* 支持阿里云oss ([87a2673](https://github.com/certd/certd/commit/87a2673e8c33dff6eda1b836d92ecc121564ed78))
+* 支持西部数码DNS ([c59cab1](https://github.com/certd/certd/commit/c59cab1aaeb19f86df8e3e0d8127cbd0a9ef77f3))
+* 支持pfx、der ([fbeaed2](https://github.com/certd/certd/commit/fbeaed203519f59b6d9396c4e8953353ccb5e723))
+* client 请求超时时间延长为10s ([ff46771](https://github.com/certd/certd/commit/ff46771d8dd43e71c1ca70e3ba783945750342cc))
+
+## [1.24.1](https://github.com/certd/certd/compare/v1.24.0...v1.24.1) (2024-09-02)
+
+### Bug Fixes
+
+* 激活仅限管理员 ([1c17970](https://github.com/certd/certd/commit/1c17970b981f0987c506744ee6b2283fd5e40493))
+* 修复在没有勾选使用代理的情况下,仍然会使用代理的bug ([0f66794](https://github.com/certd/certd/commit/0f6679425f6a736bb0128527dd99c085fac17d84))
+
+### Performance Improvements
+
+* 部署插件支持宝塔、易盾云等 ([ee61709](https://github.com/certd/certd/commit/ee617095efa1171548cf52fd45f0f98a368555a3))
+* 授权配置支持加密 ([42a56b5](https://github.com/certd/certd/commit/42a56b581d754c3e5f9838179d19ab0d004ef2eb))
+* 优化内存占用 ([db61033](https://github.com/certd/certd/commit/db6103363364440b650bc10bb334834e4a9470c7))
+* 支持阿里云 DCDN ([98b77f8](https://github.com/certd/certd/commit/98b77f80843834616fb26f83b4c42245326abd06))
+* 支持已跳过的步骤重新运行 ([ea775ad](https://github.com/certd/certd/commit/ea775adae18d57a04470cfba6b9460d761d74035))
+* 支持cdnfly ([724a850](https://github.com/certd/certd/commit/724a85028b4a7146c9e3b4df4497dcf2a7bf7c67))
+* 支持ftp上传 ([b9bddbf](https://github.com/certd/certd/commit/b9bddbfabb5664365f1232e9432532187c98006c))
+
+# [1.24.0](https://github.com/certd/certd/compare/v1.23.1...v1.24.0) (2024-08-25)
+
+### Bug Fixes
+
+* 部署到腾讯云cdn选择证书任务步骤限制只能选证书 ([3345c14](https://github.com/certd/certd/commit/3345c145b802170f75a098a35d0c4b8312efcd17))
+* 修复成功后跳过之后丢失腾讯云证书id的bug ([37eb762](https://github.com/certd/certd/commit/37eb762afe25c5896b75dee25f32809f8426e7b7))
+* 修复创建流水线后立即运行时报no id错误的bug ([17ead54](https://github.com/certd/certd/commit/17ead547aab25333603980304aa3aad3db1f73d5))
+* 修复使用代理的情况下申请证书失败的bug ([95122e2](https://github.com/certd/certd/commit/95122e28609333f4df55c266e5434897954c0fb3))
+* 修复执行日志没有清理的bug ([22a3363](https://github.com/certd/certd/commit/22a336370a88a7df2a23c967043bae153da71ed5))
+* 修复重置密码参数配置后无效的bug ([e358a88](https://github.com/certd/certd/commit/e358a8869696578687306e4cd0dcda53f898fe13))
+* 修复ssh无法连接成功,无法执行命令的bug ([41b9837](https://github.com/certd/certd/commit/41b9837582323fb400ef8525ce65e8b37ad4b36f))
+
+### Features
+
+* 支持ECC类型 ([a7424e0](https://github.com/certd/certd/commit/a7424e02f5c7e02ac1688791040785920ce67473))
+* 支持google证书申请(需要使用代理) ([a593056](https://github.com/certd/certd/commit/a593056e79e99dd6a74f75b5eab621af7248cfbe))
+
+### Performance Improvements
+
+* 更新k8s底层api库 ([746bb9d](https://github.com/certd/certd/commit/746bb9d385e2f397daef4976eca1d4782a2f5ebd))
+* 优化成功后跳过的提示 ([7b451bb](https://github.com/certd/certd/commit/7b451bbf6e6337507f4627b5a845f5bd96ab4f7b))
+* 优化证书申请成功率 ([968c469](https://github.com/certd/certd/commit/968c4690a07f69c08dcb3d3a494da4e319627345))
+* 优化dnspod的token id 说明 ([790bf11](https://github.com/certd/certd/commit/790bf11af06d6264ef74bc1bb919661f0354239a))
+* email proxy ([453f1ba](https://github.com/certd/certd/commit/453f1baa0b9eb0f648aa1b71ccf5a95b202ce13f))
+
+## [1.23.1](https://github.com/certd/certd/compare/v1.23.0...v1.23.1) (2024-08-06)
+
+### Bug Fixes
+
+* 修复模糊查询无效的bug ([9355917](https://github.com/certd/certd/commit/93559174c780173f0daec7cdbd1f72f8d5c504d5))
+
+### Performance Improvements
+
+* 优化插件字段的default value ([24c7be2](https://github.com/certd/certd/commit/24c7be2c9cb39c14f7a97b674127c88033280b02))
+* 优化默认值设置 ([1af19f0](https://github.com/certd/certd/commit/1af19f0ac053fe109782882964533636b5969d6b))
+
+# [1.23.0](https://github.com/certd/certd/compare/v1.22.9...v1.23.0) (2024-08-05)
+
+### Bug Fixes
+
+* 修复环境变量多个下划线不生效的bug ([7ec2218](https://github.com/certd/certd/commit/7ec2218c9fee5bee2bf0aa31f3e3a4301575f247))
+
+### Features
+
+* use node 20 ([e8ed972](https://github.com/certd/certd/commit/e8ed97206bf28e83f942db2ef4ea07fa76fd3567))
+
+## [1.22.9](https://github.com/certd/certd/compare/v1.22.8...v1.22.9) (2024-08-05)
+
+### Performance Improvements
+
+* 优化定时任务 ([87e440e](https://github.com/certd/certd/commit/87e440ee2a8b10dc571ce619f28bc83c1e5eb147))
+
+## [1.22.8](https://github.com/certd/certd/compare/v1.22.7...v1.22.8) (2024-08-05)
+
+### Performance Improvements
+
+* 修复删除历史记录没有删除log的bug,新增history管理页面,演示站点启动时不自动启动非管理员用户的定时任务 ([f78ae93](https://github.com/certd/certd/commit/f78ae93eedfe214008c3d071ca3d77c962137a64))
+* 优化pipeline删除时,删除其他history ([b425203](https://github.com/certd/certd/commit/b4252033d56a9ad950f3e204ff021497c3978015))
+
+## [1.22.7](https://github.com/certd/certd/compare/v1.22.6...v1.22.7) (2024-08-04)
+
+### Bug Fixes
+
+* 修复保存配置报id不能为空的bug ([367f807](https://github.com/certd/certd/commit/367f80731396003416665c22853dfbc09c2c03a0))
+
+## [1.22.6](https://github.com/certd/certd/compare/v1.22.5...v1.22.6) (2024-08-03)
+
+### Bug Fixes
+
+* 修复在相同的cron时偶尔无法触发定时任务的bug ([680941a](https://github.com/certd/certd/commit/680941af119619006b592e3ab6fb112cb5556a8b))
+* 修复pg下pipeline title 类型问题 ([a9717b9](https://github.com/certd/certd/commit/a9717b9a0df7b5a64d4fe03314fecad4f59774cc))
+
+### Performance Improvements
+
+* 流水线支持名称模糊查询 ([59897c4](https://github.com/certd/certd/commit/59897c4ceae992ebe2972ca9e8f9196616ffdfd7))
+* 腾讯云clb支持更多大区选择 ([e4f4570](https://github.com/certd/certd/commit/e4f4570b29f26c60f1ee9660a4c507cbeaba3d7e))
+* 优化前置任务输出为空的提示 ([6ed1e18](https://github.com/certd/certd/commit/6ed1e18c7d9c46d964ecc6abc90f3908297b7632))
+
+## [1.22.5](https://github.com/certd/certd/compare/v1.22.4...v1.22.5) (2024-07-26)
+
+### Bug Fixes
+
+* 修复用户管理无法添加用户的bug ([e7e89b8](https://github.com/certd/certd/commit/e7e89b8de7386e84c0d6b8e217e2034909657d68))
+
+## [1.22.4](https://github.com/certd/certd/compare/v1.22.3...v1.22.4) (2024-07-26)
+
+### Performance Improvements
+
+* 证书申请支持反向代理,letsencrypt无法访问时的备用方案 ([b7b5df0](https://github.com/certd/certd/commit/b7b5df0587e0f7ea288c1b2af6f87211f207395f))
+* 支持arm64 ([fa14f87](https://github.com/certd/certd/commit/fa14f87a8093ef3addc5e5f3315ce1bfc9982782))
+
+## [1.22.3](https://github.com/certd/certd/compare/v1.22.2...v1.22.3) (2024-07-25)
+
+### Bug Fixes
+
+* lege 无执行权限问题 ([338eb3b](https://github.com/certd/certd/commit/338eb3bdfeb461e9b3bc7eee97b97a59f5642ffe))
+
+## [1.22.2](https://github.com/certd/certd/compare/v1.22.1...v1.22.2) (2024-07-23)
+
+### Bug Fixes
+
+* 修复创建流水线时,无法根据dns类型默认正确的dns授权的bug ([a2c43b5](https://github.com/certd/certd/commit/a2c43b50a6069ed48958fd142844a8568c2af452))
+
+## [1.22.1](https://github.com/certd/certd/compare/v1.22.0...v1.22.1) (2024-07-20)
+
+### Performance Improvements
+
+* 创建证书任务可以选择lege插件 ([affef13](https://github.com/certd/certd/commit/affef130378030c517250c58a4e787b0fc85d7d1))
+* 创建证书任务增加定时任务和邮件通知输入 ([427620d](https://github.com/certd/certd/commit/427620d34f3b8ad6933005faf1878908441a2453))
+* 支持配置启动后自动触发一次任务 ([a5a0c1f](https://github.com/certd/certd/commit/a5a0c1f6e7a3f05e581005e491d5b102ee854412))
+
+# [1.22.0](https://github.com/certd/certd/compare/v1.21.2...v1.22.0) (2024-07-19)
+
+### Features
+
+* 升级midway,支持esm ([485e603](https://github.com/certd/certd/commit/485e603b5165c28bc08694997726eaf2a585ebe7))
+* 支持lego,海量DNS提供商 ([0bc6d0a](https://github.com/certd/certd/commit/0bc6d0a211920fb0084d705e1db67ee1e7262c44))
+* 支持postgresql ([3b19bfb](https://github.com/certd/certd/commit/3b19bfb4291e89064b3b407a80dae092d54747d5))
+
+### Performance Improvements
+
+* 优化一些小细节 ([b168852](https://github.com/certd/certd/commit/b1688525dbbbfd67e0ab1cf5b4ddfbe9d394f370))
+* 增加备案号设置 ([bd3d959](https://github.com/certd/certd/commit/bd3d959944db63a5690b55ee150e1007133868b9))
+* 自动生成jwtkey,无需手动配置 ([390e485](https://github.com/certd/certd/commit/390e4853a570390a97df6a3b3882579f9547eeb4))
+
+## [1.21.2](https://github.com/certd/certd/compare/v1.21.1...v1.21.2) (2024-07-08)
+
+### Performance Improvements
+
+* 申请证书时可以选择跳过本地dns校验 ([fe91d94](https://github.com/certd/certd/commit/fe91d94090d22ed0a3ea753ba74dfaa1bf057c17))
+
+## [1.21.1](https://github.com/certd/certd/compare/v1.21.0...v1.21.1) (2024-07-08)
+
+### Performance Improvements
+
+* 上传到主机,支持设置不mkdirs ([5ba9831](https://github.com/certd/certd/commit/5ba9831ed1aa6ec6057df246f1035b36b9c41d2e))
+* 说明优化,默认值优化 ([970c7fd](https://github.com/certd/certd/commit/970c7fd8a0f557770e973d8462ee5684ef742810))
+
+# [1.21.0](https://github.com/certd/certd/compare/v1.20.17...v1.21.0) (2024-07-03)
+
+### Features
+
+* 支持zero ssl ([eade2c2](https://github.com/certd/certd/commit/eade2c2b681569f03e9cd466e7d5bcd6703ed492))
+
+## [1.20.17](https://github.com/certd/certd/compare/v1.20.16...v1.20.17) (2024-07-03)
+
+### Performance Improvements
+
+* 创建dns解析后,强制等待60s ([f47b35f](https://github.com/certd/certd/commit/f47b35f6d5bd7d675005c3e286b7e9a029201f8b))
+* 文件上传提示由cert.crt改为cert.pem ([a09b0e4](https://github.com/certd/certd/commit/a09b0e48c176f3ed763791bd50322c29729f7c1c))
+* 优化cname verify ([eba333d](https://github.com/certd/certd/commit/eba333de7a5b5ef4b0b7eaa904f578720102fa61))
+
+## [1.20.16](https://github.com/certd/certd/compare/v1.20.15...v1.20.16) (2024-07-01)
+
+### Bug Fixes
+
+* 修复配置了cdn cname后申请失败的bug ([4a5fa76](https://github.com/certd/certd/commit/4a5fa767edc347d03d29a467e86c9a4d70b0220c))
+
+## [1.20.15](https://github.com/certd/certd/compare/v1.20.14...v1.20.15) (2024-06-28)
+
+### Bug Fixes
+
+* 修复无法强制取消任务的bug ([9cc01db](https://github.com/certd/certd/commit/9cc01db1d569a5c45bb3e731f35d85df324a8e62))
+
+### Performance Improvements
+
+* 腾讯云dns provider 支持腾讯云的accessId ([e0eb3a4](https://github.com/certd/certd/commit/e0eb3a441384d474fe2923c69b25318264bdc9df))
+* 支持windows文件上传 ([7f61cab](https://github.com/certd/certd/commit/7f61cab101fa13b4e88234e9ad47434e6130fed2))
+
+## [1.20.14](https://github.com/certd/certd/compare/v1.20.13...v1.20.14) (2024-06-23)
+
+### Bug Fixes
+
+* 修复修改密码功能异常问题 ([f740ff5](https://github.com/certd/certd/commit/f740ff517f521dce361284c2c54bccc68aee0ea2))
+
+## [1.20.13](https://github.com/certd/certd/compare/v1.20.12...v1.20.13) (2024-06-18)
+
+### Bug Fixes
+
+* 日志高度越界 ([c4c9adb](https://github.com/certd/certd/commit/c4c9adb8bfd513f57252e523794e3799a9b220f8))
+* 修复邮箱设置页面SMTP拼写错误的问题 ([b98f1c0](https://github.com/certd/certd/commit/b98f1c0dd0bc6c6b4f814c578692afdf6d90b88d))
+* 修复logo问题 ([7e483e6](https://github.com/certd/certd/commit/7e483e60913d509b113148c735fe13ba1d72dddf))
+
+### Performance Improvements
+
+* 增加警告,修复一些样式错乱问题 ([fd54c2f](https://github.com/certd/certd/commit/fd54c2ffac492222e85ff2f5f49a9ee5cfc73588))
+* ssh登录支持openssh格式私钥、支持私钥密码 ([5c2c508](https://github.com/certd/certd/commit/5c2c50839a9076004f9034d754ac6deb531acdfb))
+
+## [1.20.12](https://github.com/certd/certd/compare/v1.20.10...v1.20.12) (2024-06-17)
+
+### Bug Fixes
+
+* 修复aliyun域名超过100个找不到域名的bug ([5b1494b](https://github.com/certd/certd/commit/5b1494b3ce93d1026dc56ee741342fbb8bf7be24))
+
+### Performance Improvements
+
+* 增加系统设置,可以关闭自助注册功能 ([20feace](https://github.com/certd/certd/commit/20feacea12d43386540db6a600f391d786be4014))
+* 增加cloudflare access token说明 ([934e6e2](https://github.com/certd/certd/commit/934e6e2bd05387cd50ffab95f230933543954098))
+* 支持重置管理员密码,忘记密码的补救方案 ([732cbc5](https://github.com/certd/certd/commit/732cbc5e927b526850724594830392b2f10c6705))
+* 支持cloudflare域名 ([fbb9a47](https://github.com/certd/certd/commit/fbb9a47e8f7bb805289b9ee64bd46ffee0f01c06))
+
+## [1.20.10](https://github.com/certd/certd/compare/v1.20.9...v1.20.10) (2024-05-30)
+
+### Bug Fixes
+
+* 增加权限相关helper说明 ([83e4083](https://github.com/certd/certd/commit/83e40836ebff10bec60efe8933183e1ba1c22bf9))
+* 增加权限相关helper说明 ([4304c94](https://github.com/certd/certd/commit/4304c9443ad9248f63dd6d8c512d8d6f32f90d37))
+
+### Performance Improvements
+
+* 上传到主机插件支持复制到本机路径 ([92446c3](https://github.com/certd/certd/commit/92446c339936f98f08f654b8971a7393d8435224))
+* 优化文件下载包名 ([d9eb927](https://github.com/certd/certd/commit/d9eb927b0a1445feab08b1958aa9ea80637a5ae6))
+* 增加任务复制功能 ([39ad759](https://github.com/certd/certd/commit/39ad7597fa0e19cc1f7631bbd6fea0a9e05a62c9))
+
+## [1.20.9](https://github.com/certd/certd/compare/v1.20.8...v1.20.9) (2024-03-22)
+
+**Note:** Version bump only for package root
+
+## [1.20.8](https://github.com/certd/certd/compare/v1.20.7...v1.20.8) (2024-03-22)
+
+**Note:** Version bump only for package root
+
+## [1.20.7](https://github.com/certd/certd/compare/v1.20.6...v1.20.7) (2024-03-22)
+
+**Note:** Version bump only for package root
+
+## [1.20.6](https://github.com/certd/certd/compare/v1.20.5...v1.20.6) (2024-03-21)
+
+### Bug Fixes
+
+* 调整按钮图标到居中位置 ([836d18f](https://github.com/certd/certd/commit/836d18f07e22d00faf2f213bc3301a6672b5bafc))
+
+### Performance Improvements
+
+* 插件贡献文档及示例 ([72fb20a](https://github.com/certd/certd/commit/72fb20abf3ba5bdd862575d2907703a52fd7eb17))
+
+## [1.20.5](https://github.com/certd/certd/compare/v1.20.2...v1.20.5) (2024-03-11)
+
+### Bug Fixes
+
+* 修复腾讯云cdn部署无法选择端点的bug ([154409b](https://github.com/certd/certd/commit/154409b1dfee3ea1caae740ad9c1f99a6e7a9814))
+
+## [1.20.2](https://github.com/certd/certd/compare/v1.2.1...v1.20.2) (2024-02-28)
+
+### Bug Fixes
+
+* 临时修复阿里云domainlist接口返回域名列表不全的问题,后续还需要增加翻页查询 ([849c145](https://github.com/certd/certd/commit/849c145926984762bd9dbec87bd91cd047fc0855))
+
+## [1.2.1](https://github.com/certd/certd/compare/v1.2.0...v1.2.1) (2023-12-12)
+
+### Bug Fixes
+
+* 修复邮箱设置无效的bug ([aaa3224](https://github.com/certd/certd/commit/aaa322464d0f65e924d1850995540d396ee24d25))
+
+**Note:** Version bump only for package root
+
+# [1.2.0](https://github.com/certd/certd/compare/v1.1.6...v1.2.0) (2023-10-27)
+
+* 🔱: [client] sync upgrade with 2 commits [trident-sync] ([aa3207f](https://github.com/certd/certd/commit/aa3207fca5f15f7c3da789989d99c8ae7d1c4551))
+
+### BREAKING CHANGES
+
+* search支持自定义布局,search.layout、search.collapse转移到 search.container之下。如果想使用原来的search组件,请配置search.is=fs-search-v1
+
+## [1.1.6](https://github.com/certd/certd/compare/v1.1.5...v1.1.6) (2023-07-10)
+
+### Bug Fixes
+
+* 修复上传证书到腾讯云失败的bug ([e950322](https://github.com/certd/certd/commit/e950322232e19d1263b8552eefa5b0150fd7864e))
+
+## [1.1.5](https://github.com/certd/certd/compare/v1.1.4...v1.1.5) (2023-07-03)
+
+**Note:** Version bump only for package root
+
+## [1.1.4](https://github.com/certd/certd/compare/v1.1.3...v1.1.4) (2023-07-03)
+
+### Bug Fixes
+
+* 成功图标转动的问题 ([f87eee3](https://github.com/certd/certd/commit/f87eee3b9ff1ef9874e79a81fe0ed7104cb9ee8c))
+
+### Performance Improvements
+
+* cancel task ([bc65c0a](https://github.com/certd/certd/commit/bc65c0a786360c087fe95cad93ec6a87804cc5ee))
+* flush log ([891a43a](https://github.com/certd/certd/commit/891a43ae6716ff98ed06643f7da2e35199ee195c))
+* flush logger ([91be682](https://github.com/certd/certd/commit/91be6826b902e0f302b1a6cbdb1d24e15914c18d))
+* timeout ([3eeb1f7](https://github.com/certd/certd/commit/3eeb1f77aa2922f3545f3d2067f561d95621d54f))
+
+## [1.1.3](https://github.com/certd/certd/compare/v1.1.2...v1.1.3) (2023-07-03)
+
+**Note:** Version bump only for package root
+
+## [1.1.2](https://github.com/certd/certd/compare/v1.1.1...v1.1.2) (2023-07-03)
+
+**Note:** Version bump only for package root
+
+## [1.1.1](https://github.com/certd/certd/compare/v1.1.0...v1.1.1) (2023-06-28)
+
+**Note:** Version bump only for package root
+
+# [1.1.0](https://github.com/certd/certd/compare/v1.0.6...v1.1.0) (2023-06-28)
+
+### Bug Fixes
+
+* 修复access选择类型trigger ([2851a33](https://github.com/certd/certd/commit/2851a33eb2510f038fadb55da29512597a4ba512))
+
+### Features
+
+* 权限控制 ([27a4c81](https://github.com/certd/certd/commit/27a4c81c6d70e70abb3892c3ea58d4719988808a))
+* 邮件通知 ([937e3fa](https://github.com/certd/certd/commit/937e3fac19cd03b8aa91db8ba03fda7fcfbacea2))
+* cert download ([5a51c14](https://github.com/certd/certd/commit/5a51c14de521cb8075a80d2ae41a16e6d5281259))
+* config merge ([fdc25dc](https://github.com/certd/certd/commit/fdc25dc0d795555cffacc4572648ec158988fbbb))
+* save files ([99522fb](https://github.com/certd/certd/commit/99522fb49adb42c1dfdf7bec3dd52d641158285b))
+* save files ([671d273](https://github.com/certd/certd/commit/671d273e2f9136d16896536b0ca127cf372f1619))
+
+## [1.0.6](https://github.com/certd/certd/compare/v1.0.5...v1.0.6) (2023-05-25)
+
+**Note:** Version bump only for package root
+
+## [1.0.5](https://github.com/certd/certd/compare/v1.0.4...v1.0.5) (2023-05-25)
+
+**Note:** Version bump only for package root
+
+## [1.0.4](https://github.com/certd/certd/compare/v1.0.3...v1.0.4) (2023-05-25)
+
+**Note:** Version bump only for package root
+
+## [1.0.3](https://github.com/certd/certd/compare/v1.0.2...v1.0.3) (2023-05-25)
+
+**Note:** Version bump only for package root
+
+## [1.0.2](https://github.com/certd/certd/compare/v1.0.1...v1.0.2) (2023-05-24)
+
+**Note:** Version bump only for package root
+
+## [1.0.1](https://github.com/certd/certd/compare/v1.0.0...v1.0.1) (2023-05-24)
+
+**Note:** Version bump only for package root
diff --git a/docs/guide/contact/images/me.png b/docs/guide/contact/images/me.png
new file mode 100644
index 00000000..ad620803
Binary files /dev/null and b/docs/guide/contact/images/me.png differ
diff --git a/docs/guide/contact/images/qq.png b/docs/guide/contact/images/qq.png
new file mode 100644
index 00000000..fe56bd8f
Binary files /dev/null and b/docs/guide/contact/images/qq.png differ
diff --git a/docs/guide/contact/images/wx.png b/docs/guide/contact/images/wx.png
new file mode 100644
index 00000000..a9b212e6
Binary files /dev/null and b/docs/guide/contact/images/wx.png differ
diff --git a/docs/guide/contact/index.md b/docs/guide/contact/index.md
new file mode 100644
index 00000000..a2ac1849
--- /dev/null
+++ b/docs/guide/contact/index.md
@@ -0,0 +1,20 @@
+# 联系我们
+
+## 1. 交流群
+如有疑问,欢迎加入群聊(请备注certd)
+### QQ群:141236433
+
+
+
+
+
+### 微信群:
+
+
+
+
+
+## 2. 加作者好友
+
+
+
diff --git a/docs/guide/development/index.md b/docs/guide/development/index.md
new file mode 100644
index 00000000..b0216b37
--- /dev/null
+++ b/docs/guide/development/index.md
@@ -0,0 +1,96 @@
+# 本地开发
+欢迎贡献插件
+
+## 1.本地调试运行
+
+### 克隆代码
+```shell
+
+# 克隆代码
+git clone https://github.com/certd/certd
+
+#进入项目目录
+cd certd
+
+# 切换到最新版本代码
+git checkout v1.26.7 # 这里换成最新版本号
+
+```
+
+### 修改pnpm-workspace.yaml文件
+重要:否则无法正确加载专业版的access和plugin
+```yaml
+# pnpm-workspace.yaml
+packages:
+ - 'packages/**' # <--------------注释掉这一行,PR时不要提交此修改
+ - 'packages/ui/**'
+```
+
+### 安装依赖和初始化:
+```shell
+# 安装pnpm,如果提示npm命令不存在,就需要先安装nodejs
+npm install -g pnpm@8.15.7 --registry=https://registry.npmmirror.com
+
+# 使用国内镜像源,如果有代理,就不需要
+pnpm config set registry https://registry.npmmirror.com
+# 安装依赖
+pnpm install
+
+# 初始化构建
+npm run init
+```
+
+### 启动 server:
+```shell
+cd packages/ui/certd-server
+npm run dev
+```
+
+### 启动 client:
+```shell
+cd packages/ui/certd-client
+npm run dev
+
+# 会自动打开浏览器,确认正常运行
+
+```
+
+## 开发插件
+进入 `packages/ui/certd-server/src/plugins`
+
+### 1.复制`plugin-demo`目录作为你的插件目录
+比如你想做`cloudflare`的插件,那么你可以复制`plugin-demo`目录,将其命名成`plugin-cloudflare`。
+以下均以`plugin-cloudflare`为例进行说明,你需要将其替换成你的插件名称
+
+### 2. access授权
+如果这是一个新的平台,它应该有授权方式,比如accessKey accessSecret之类的
+参考`plugin-cloudflare/access.ts` 修改为你要做的平台的`access`
+这样用户就可以在`certd`后台中创建这种授权凭证了
+
+### 3. dns-provider
+如果域名是这个平台进行解析的,那么你需要实现dns-provider,(申请证书需要)
+参考`plugin-cloudflare/dns-provider.ts` 修改为你要做的平台的`dns-provider`
+
+### 4. plugin-deploy
+如果这个平台有需要部署证书的地方
+参考`plugin-cloudflare/plugins/plugin-deploy-to-xx.ts` 修改为你要做的平台的`plugin-deploy-to-xx`
+
+### 5. 增加导入
+在`plugin-cloudflare/index.ts`中增加你的插件的`import`
+```ts
+export * from './dns-provider'
+export * from './access'
+export * from './plugins/plugin-deploy-to-xx'
+````
+
+在`./src/plugins/index.ts`中增加`import`
+
+```ts
+export * from "./plugin-cloudflare.js"
+```
+
+## 重启服务进行调试
+刷新浏览器,检查你的插件是否工作正常, 确保能够正常进行证书申请和部署
+
+## 提交PR
+我们将尽快审核PR
diff --git a/docs/guide/donate/index.md b/docs/guide/donate/index.md
new file mode 100644
index 00000000..fcac1aca
--- /dev/null
+++ b/docs/guide/donate/index.md
@@ -0,0 +1,22 @@
+# 捐赠
+************************
+支持开源,为爱发电,我已入驻爱发电
+https://afdian.com/a/greper
+
+## 发电权益:
+1. 可加入发电专属群,可以获得作者一对一技术支持
+2. 您的需求我们将优先实现,并且将作为专业版功能提供
+3. 一年期专业版激活码
+4. 赠送国外免费服务器部署方案(0成本使用Certd,可能需要翻墙,不过现在性能越来越差了)
+
+
+## 专业版特权对比
+
+| 功能 | 免费版 | 专业版 |
+|---------|------------------------|-----------------------|
+| 免费证书申请 | 免费无限制 | 免费无限制 |
+| 自动部署插件 | 阿里云CDN、腾讯云、七牛CDN、主机部署等 | 支持群晖、宝塔、1Panel等,持续开发中 |
+| 发邮件功能 | 需要配置 | 免配置 |
+| 证书流水线条数 | 10条 | 无限制 |
+
+************************
diff --git a/doc/cname/images/cname1.png b/docs/guide/feature/cname/images/cname1.png
similarity index 100%
rename from doc/cname/images/cname1.png
rename to docs/guide/feature/cname/images/cname1.png
diff --git a/doc/cname/images/cname2.png b/docs/guide/feature/cname/images/cname2.png
similarity index 100%
rename from doc/cname/images/cname2.png
rename to docs/guide/feature/cname/images/cname2.png
diff --git a/doc/cname/images/cname3.png b/docs/guide/feature/cname/images/cname3.png
similarity index 100%
rename from doc/cname/images/cname3.png
rename to docs/guide/feature/cname/images/cname3.png
diff --git a/doc/cname/images/cname4.png b/docs/guide/feature/cname/images/cname4.png
similarity index 100%
rename from doc/cname/images/cname4.png
rename to docs/guide/feature/cname/images/cname4.png
diff --git a/docs/guide/feature/cname/index.md b/docs/guide/feature/cname/index.md
new file mode 100644
index 00000000..85c5c601
--- /dev/null
+++ b/docs/guide/feature/cname/index.md
@@ -0,0 +1,43 @@
+# CNAME代理校验方式
+
+通过CNAME代理校验方式,可以给`Certd`不支持的域名服务商的域名申请证书。
+
+## 1. 前言
+* 申请证书是需要`校验域名所有权`的。
+* `DNS校验方式`需要开发适配DNS服务商的接口
+* 目前`Certd`已实现`主流域名注册商`的接口(阿里云、腾讯云、华为云、Cloudflare、西数)
+* 如果域名不在这几家,`DNS校验方式`就行不通
+* 那么就只能通过`CNAME代理校验方式`来实现`证书自动申请`
+
+## 2. 原理
+* 假设你要申请证书的域名叫:`cert.com` ,它是在`Certd`不支持的服务商注册的
+* 假设你还有另外一个域名叫:`proxy.com`,它是在`Certd`支持的服务商注册的。
+* 当我们按照如下进行配置时
+```
+ CNAME记录(手动、固定) TXT记录(自动、随机)
+_acme-challenge.cert.com ---> xxxxx.cname.proxy.com ----> txt-record-abcdefg
+
+```
+* 证书颁发机构就可以从`_acme-challenge.cert.com`查到TXT记录 `txt-record-abcdefg`,从而完成域名所有权校验。
+* 以上可以看出 `xxxxx.cname.proxy.com ----> txt-record-abcdefg` 这一段`Certd`可以自动添加的。
+* 剩下的只需要在你的`proxy.com`域名中手动添加一条固定的`CNAME解析`即可
+
+
+## 3. Certd CNAME使用步骤
+
+1. 准备`一个`支持的服务商的注册的域名(`proxy.com`),或者将你众多域名其中`一个`的`DNS服务器`转到这几家服务商。
+2. 然后到`Certd`的 `CNAME服务管理`界面,用`cname.proxy.com`创建一条默认的CNAME服务,提供DNS提供商授权。
+ 
+2. 然后创建证书流水线,输入`cert.com`,选择`CNAME`校验方式
+
+3. 此时需要配置验证计划,Certd会生成一个随机的CNAME记录,例如:`_acme-challenge`->`xxxxxx.cname.proxy.com`
+ 
+3. 您需要手动在你的`cert.com`域名中添加CNAME解析,点击校验,校验成功后就可以开始申请证书了 (此操作每个域名只需要做一次,后续可以重复使用,注意不要删除添加的CNAME记录)
+ 
+ 
+4. 申请过程中,Certd会在`xxxxxx.cname.proxy.com`下自动添加TXT记录。
+
+
+
+
+
diff --git a/docs/guide/image.md b/docs/guide/image.md
new file mode 100644
index 00000000..ea621572
--- /dev/null
+++ b/docs/guide/image.md
@@ -0,0 +1,16 @@
+# 镜像说明
+## 国内镜像地址:
+
+* `registry.cn-shenzhen.aliyuncs.com/handsfree/certd:latest`
+* `registry.cn-shenzhen.aliyuncs.com/handsfree/certd:armv7`、`[version]-armv7`
+
+## DockerHub地址:
+* `https://hub.docker.com/r/greper/certd`
+* `greper/certd:latest`
+* `greper/certd:armv7`、`greper/certd:[version]-armv7`
+
+## 镜像构建公开
+镜像构建通过`Actions`自动执行,过程公开透明,请放心使用
+* [点我查看镜像构建日志](https://github.com/certd/certd/actions/workflows/build-image.yml)
+
+
\ No newline at end of file
diff --git a/docs/guide/img.png b/docs/guide/img.png
new file mode 100644
index 00000000..a0adf9b5
Binary files /dev/null and b/docs/guide/img.png differ
diff --git a/docs/guide/index.md b/docs/guide/index.md
new file mode 100644
index 00000000..62b5f2bc
--- /dev/null
+++ b/docs/guide/index.md
@@ -0,0 +1,30 @@
+# Certd
+
+Certd 是一款开源、免费、全自动申请和部署更新SSL证书的工具。
+后缀d取自linux守护进程的命名风格,意为证书守护进程。
+
+关键字:证书自动申请、证书自动更新、证书自动续期、证书自动续签、证书管理工具
+
+
+## 一、特性
+本项目不仅支持证书申请过程自动化,还可以自动化部署更新证书,让你的证书永不过期。
+
+* 全自动申请证书(支持所有注册商注册的域名)
+* 全自动部署更新证书(目前支持部署到主机、部署到阿里云、腾讯云等,目前已支持30+部署插件)
+* 支持通配符域名/泛域名,支持多个域名打到一个证书上
+* 邮件通知
+* 私有化部署,保障数据安全
+* 支持sqlite,postgresql数据库
+
+
+## 二、一些说明
+* 本项目申请证书过程遵循acme协议
+* 需要验证域名所有权,一般有两种方式
+ * http-01: 在网站根目录下放置一份txt文件
+ * dns-01: 需要给域名添加txt解析记录,通配符域名只能用这种方式(本项目仅支持dns-01)
+* 证书续期:
+ * 实际上没有办法不改变证书文件本身情况下直接续期或者续签。
+ * 我们所说的续期,其实就是按照全套流程重新申请一份新证书,然后重新部署上去。
+* 免费证书过期时间90天,以后可能还会缩短,所以自动化部署必不可少
+* 设置每天自动运行,当证书过期前20天,会自动重新申请证书并部署
+
diff --git a/docs/guide/install/1panel/images/1.png b/docs/guide/install/1panel/images/1.png
new file mode 100644
index 00000000..311facee
Binary files /dev/null and b/docs/guide/install/1panel/images/1.png differ
diff --git a/docs/guide/install/1panel/images/2.png b/docs/guide/install/1panel/images/2.png
new file mode 100644
index 00000000..abeefae9
Binary files /dev/null and b/docs/guide/install/1panel/images/2.png differ
diff --git a/docs/guide/install/1panel/images/edit1.png b/docs/guide/install/1panel/images/edit1.png
new file mode 100644
index 00000000..4581d77e
Binary files /dev/null and b/docs/guide/install/1panel/images/edit1.png differ
diff --git a/docs/guide/install/1panel/images/edit2.png b/docs/guide/install/1panel/images/edit2.png
new file mode 100644
index 00000000..3805a7b2
Binary files /dev/null and b/docs/guide/install/1panel/images/edit2.png differ
diff --git a/docs/guide/install/1panel/index.md b/docs/guide/install/1panel/index.md
new file mode 100644
index 00000000..c1ce7248
--- /dev/null
+++ b/docs/guide/install/1panel/index.md
@@ -0,0 +1,44 @@
+# 部署到1Panel面板
+
+
+## 一、安装1Panel
+
+https://1panel.cn/docs/installation/online_installation/
+
+## 二、部署certd
+
+
+1. 打开`docker-compose.yaml`,整个内容复制下来
+ https://gitee.com/certd/certd/raw/v2/docker/run/docker-compose.yaml
+
+
+2. 然后到 `1Panel->容器->编排->新建编排`
+ 输入名称,粘贴`docker-compose.yaml`原文内容
+ 
+
+3. 点击确定,启动容器
+ 
+
+> 默认数据保存在`/data/certd`目录下,可以手动备份
+
+3. 访问测试
+
+http://ip:7001
+
+
+## 三、升级
+
+1. 找到容器,点击编辑
+ 
+
+2. 将latest修改为最新版本号
+ 
+
+
+
+3. 点击确定,重启容器
+
+## 四、数据备份
+
+> 默认数据保存在`/data/certd`目录下,可以手动备份
+> 建议配置一条 [数据库备份流水线](../../use/backup/),自动备份
diff --git a/docs/guide/install/baota/images/1.png b/docs/guide/install/baota/images/1.png
new file mode 100644
index 00000000..c6155e80
Binary files /dev/null and b/docs/guide/install/baota/images/1.png differ
diff --git a/docs/guide/install/baota/images/2.png b/docs/guide/install/baota/images/2.png
new file mode 100644
index 00000000..24f4b7a6
Binary files /dev/null and b/docs/guide/install/baota/images/2.png differ
diff --git a/docs/guide/install/baota/images/app.png b/docs/guide/install/baota/images/app.png
new file mode 100644
index 00000000..a0570e3c
Binary files /dev/null and b/docs/guide/install/baota/images/app.png differ
diff --git a/docs/guide/install/baota/images/db_path.png b/docs/guide/install/baota/images/db_path.png
new file mode 100644
index 00000000..2acf4ce0
Binary files /dev/null and b/docs/guide/install/baota/images/db_path.png differ
diff --git a/docs/guide/install/baota/index.md b/docs/guide/install/baota/index.md
new file mode 100644
index 00000000..cd4bcbaa
--- /dev/null
+++ b/docs/guide/install/baota/index.md
@@ -0,0 +1,73 @@
+# 部署到宝塔面板
+
+
+## 一、安装
+宝塔面板支持两种方式安装Certd,请选择其中一种方式
+
+### 1、安装宝塔面板
+
+* 安装宝塔面板,前往 [宝塔面板](https://www.bt.cn/u/CL3JHS) 官网,选择`9.2.0`以上正式版的脚本下载安装
+* 登录宝塔面板,在菜单栏中点击 Docker,首次进入会提示安装Docker服务,点击立即安装,按提示完成安装
+
+### 2、部署certd
+
+#### 2.1 应用商店一键部署【推荐】
+
+* 在应用商店中找到`certd`(要先点右上角更新应用)
+* 点击安装,配置域名等基本信息即可完成安装
+
+> 需要宝塔9.2.0及以上版本才支持
+
+#### 2.2 容器编排部署
+
+1. 打开`docker-compose.yaml`,整个内容复制下来
+ https://gitee.com/certd/certd/raw/v2/docker/run/docker-compose.yaml
+
+
+然后到宝塔里面进到docker->容器编排->添加容器编排
+
+点击确定,等待启动完成
+
+
+## 二、访问应用
+
+http://ip:7001
+
+
+## 三、如何升级
+
+### 1. 通用方式
+
+先主机上拉取最新镜像,然后面板上重启容器
+```shell
+docker pull registry.cn-shenzhen.aliyuncs.com/handsfree/certd:latest
+```
+
+### 2. 固定版本号方式
+
+修改容器编排模版中的镜像版本号,然后面板上重启容器
+```shell
+services:
+ certd:
+ # 镜像 # 修改最新版本号 ---- ↓↓↓↓↓
+ image: registry.cn-shenzhen.aliyuncs.com/handsfree/certd:v1.xx.x
+```
+
+## 四、数据备份
+
+### 4.1 应用商店部署方式
+点击进入安装路径,数据保存在`./data`目录下,可以手动备份
+
+
+
+
+
+
+### 4.2 容器编排部署方式
+
+数据默认保存在`/data/certd`目录下,可以手动备份
+
+
+### 4.3 自动备份
+
+> 建议配置一条 [数据库备份流水线](../../use/backup/),自动备份
diff --git a/docs/guide/install/docker/index.md b/docs/guide/install/docker/index.md
new file mode 100644
index 00000000..4c33219d
--- /dev/null
+++ b/docs/guide/install/docker/index.md
@@ -0,0 +1,69 @@
+# Docker方式部署
+
+## 一、安装
+
+### 1. 环境准备
+
+1.1 准备一台云服务器
+
+* 【阿里云】云服务器2核2G,新老用户同享,99元/年,续费同价!【 [立即购买](https://www.aliyun.com/benefit?scm=20140722.M_10244282._.V_1&source=5176.11533457&userCode=qya11txb )】
+* 【腾讯云】云服务器2核2G,新老用户同享,99元/年,续费同价!【 [立即购买](https://cloud.tencent.com/act/cps/redirect?redirect=6094&cps_key=b3ef73330335d7a6efa4a4bbeeb6b2c9&from=console)】
+
+1.2 安装docker、docker-compose
+
+https://docs.docker.com/engine/install/
+
+选择对应的操作系统,按照官方文档执行命令即可
+
+### 2. 部署certd容器
+
+```bash
+# 随便创建一个目录
+mkdir certd
+# 进入目录
+cd certd
+# 下载docker-compose.yaml文件,或者手动下载放到certd目录下
+wget https://gitee.com/certd/certd/raw/v2/docker/run/docker-compose.yaml
+
+# 可以根据需要修改里面的配置
+# 1.修改镜像版本号【可选】
+# 2.配置数据保存路径【可选】
+# 3.修改端口号【可选】
+vi docker-compose.yaml # 【可选】
+
+# 启动certd
+docker compose up -d
+
+```
+
+> [手动下载docker-compose.yaml ](https://gitee.com/certd/certd/raw/v2/docker/run/docker-compose.yaml)
+> 当前版本号: 
+
+> 如果提示 没有docker compose命令,请安装docker-compose
+> https://docs.docker.com/compose/install/linux/
+> 然后使用 `docker-compose up -d` 启动
+
+### 3. 访问测试
+
+http://your_server_ip:7001
+默认账号密码:admin/123456
+记得修改密码
+
+
+## 二、升级
+
+### 如果使用固定版本号
+1. 修改`docker-compose.yaml`中的镜像版本号
+2. 运行`docker compose up -d` 即可
+
+### 如果使用`latest`版本
+```shell
+#重新拉取镜像
+docker pull registry.cn-shenzhen.aliyuncs.com/handsfree/certd:latest
+# 重新启动容器
+docker compose down
+docker compose up -d
+```
+
+> 数据默认存在`/data/certd`目录下,不用担心数据丢失
+> 建议配置一条[数据库备份流水线](../../use/backup/) 自动备份
diff --git a/docs/guide/install/source/index.md b/docs/guide/install/source/index.md
new file mode 100644
index 00000000..757e4fb8
--- /dev/null
+++ b/docs/guide/install/source/index.md
@@ -0,0 +1,40 @@
+# 源码部署
+
+## 一、源码安装
+### 源码启动
+```shell
+# 克隆代码
+git clone https://github.com/certd/certd
+# git checkout v1.x.x # 1.x.x换成最新版本号,当v2主干分支代码无法正常启动时,可以尝试此命令
+cd certd
+# 启动服务
+./start.sh
+
+```
+>如果是windows,请先安装`git for windows` ,然后右键,选择`open git bash here`打开终端,再执行`./start.sh`命令
+
+> 数据默认保存在 `./packages/ui/certd-server/data` 目录下,注意数据备份
+
+### 访问测试
+
+http://your_server_ip:7001
+默认账号密码:admin/123456
+记得修改密码
+
+
+## 二、升级
+
+```shell
+# 更新代码并启动
+cd certd
+git pull
+# 先停止旧的服务,7001是certd的默认端口
+kill -9 $(lsof -t -i:7001)
+# 重新编译启动
+./start.sh
+```
+> 数据默认保存在 `./packages/ui/certd-server/data` 目录下
+> 建议配置一条[数据库备份流水线](../../use/backup/) 自动备份
+
+
+
diff --git a/docs/guide/license/index.md b/docs/guide/license/index.md
new file mode 100644
index 00000000..7ee12d2b
--- /dev/null
+++ b/docs/guide/license/index.md
@@ -0,0 +1,6 @@
+# 开源协议
+
+* 本项目遵循 GNU Affero General Public License(AGPL)开源协议。
+* 允许个人和公司使用、复制、修改和分发本项目,禁止任何形式的商业用途
+* 未获得商业授权情况下,禁止任何对logo、版权信息及授权许可相关代码的修改。
+* 如需商业授权,请联系作者。
diff --git a/docs/guide/link/index.md b/docs/guide/link/index.md
new file mode 100644
index 00000000..61e0a481
--- /dev/null
+++ b/docs/guide/link/index.md
@@ -0,0 +1,7 @@
+# 我的其他项目
+
+| 项目名称 | stars | 项目描述 |
+|---------------------------------------------------------|-------------------------------------------------------------------------------------------------------|-----------------------------------|
+| [袖手AI](https://ai.handsfree.work/) | | 袖手GPT,国内可用,无需FQ,每日免费额度 |
+| [fast-crud](https://gitee.com/fast-crud/fast-crud/) |
| 基于vue3的crud快速开发框架 |
+| [dev-sidecar](https://github.com/docmirror/dev-sidecar/) |
| 直连访问github工具,无需FQ,解决github无法访问的问题 |
diff --git a/docs/guide/plugins.md b/docs/guide/plugins.md
new file mode 100644
index 00000000..4e0d7d21
--- /dev/null
+++ b/docs/guide/plugins.md
@@ -0,0 +1,5 @@
+# 插件列表
+
+
+
+
diff --git a/docs/guide/start.md b/docs/guide/start.md
new file mode 100644
index 00000000..78fff302
--- /dev/null
+++ b/docs/guide/start.md
@@ -0,0 +1,33 @@
+# 快速开始
+本章节介绍如何快速开始使用`Certd`
+
+## 一、 demo在线体验
+
+官方DEMO地址,自助注册后体验
+
+https://certd.handsfree.work/
+
+> 注意数据将不定期清理,不定期停止定时任务,生产使用请自行部署
+> 包含敏感信息,务必自己本地部署进行生产使用
+
+
+## 二、私有化部署
+
+由于证书、授权信息等属于高度敏感数据,请务必私有化部署,保障数据安全
+
+### 1. 部署方式
+
+1. [宝塔面板方式部署](./install/baota/)
+2. [1Panel面板方式部署](./install/1panel/)
+2. [Docker方式部署](./install/docker/)
+3. [源码方式部署](./install/source/)
+
+
+### 2. 访问测试
+
+http://your_server_ip:7001
+默认账号密码:admin/123456
+记得修改密码
+
+
+
diff --git a/docs/guide/tutorial.md b/docs/guide/tutorial.md
new file mode 100644
index 00000000..87a13b6b
--- /dev/null
+++ b/docs/guide/tutorial.md
@@ -0,0 +1,17 @@
+
+# 演示教程
+教程演示从创建证书申请任务到自动部署证书全流程
+
+`申请证书->部署证书->设置定时执行->设置邮件通知`
+
+可以从如下两处查看演示流程
+
+## 1. 系统顶部使用教程菜单
+点击`使用教程`可以学习如何自动申请和部署证书
+
+
+
+
+## 2. 图文教程链接
+如果不方便登录系统,您还可以直接查看 [图文教程](https://gitee.com/certd/certd/blob/v2/step.md)
+
diff --git a/docs/guide/use/backup/images/1.png b/docs/guide/use/backup/images/1.png
new file mode 100644
index 00000000..5847ba5e
Binary files /dev/null and b/docs/guide/use/backup/images/1.png differ
diff --git a/docs/guide/use/backup/images/2.png b/docs/guide/use/backup/images/2.png
new file mode 100644
index 00000000..b20100a4
Binary files /dev/null and b/docs/guide/use/backup/images/2.png differ
diff --git a/docs/guide/use/backup/images/3.png b/docs/guide/use/backup/images/3.png
new file mode 100644
index 00000000..32204d94
Binary files /dev/null and b/docs/guide/use/backup/images/3.png differ
diff --git a/docs/guide/use/backup/images/4.png b/docs/guide/use/backup/images/4.png
new file mode 100644
index 00000000..4bda1d87
Binary files /dev/null and b/docs/guide/use/backup/images/4.png differ
diff --git a/docs/guide/use/backup/index.md b/docs/guide/use/backup/index.md
new file mode 100644
index 00000000..0ec05677
--- /dev/null
+++ b/docs/guide/use/backup/index.md
@@ -0,0 +1,13 @@
+# 数据库自动备份
+
+## 1. 创建自动备份流水线
+
+
+## 2. 添加备份任务
+
+
+## 3. 选择备份方法
+
+
+## 4. 配置定时和失败通知
+
\ No newline at end of file
diff --git a/doc/cf/cf.md b/docs/guide/use/cf/cf.md
similarity index 100%
rename from doc/cf/cf.md
rename to docs/guide/use/cf/cf.md
diff --git a/doc/cf/cf_token.png b/docs/guide/use/cf/cf_token.png
similarity index 100%
rename from doc/cf/cf_token.png
rename to docs/guide/use/cf/cf_token.png
diff --git a/docs/guide/use/forgotpasswd/index.md b/docs/guide/use/forgotpasswd/index.md
new file mode 100644
index 00000000..65410974
--- /dev/null
+++ b/docs/guide/use/forgotpasswd/index.md
@@ -0,0 +1,26 @@
+# 忘记管理员密码
+解决方法如下:
+
+## 1. 修改环境变量
+修改docker-compose.yaml文件,将环境变量`certd_system_resetAdminPasswd`改为`true`
+```yaml
+services:
+ certd:
+ environment: # 环境变量
+ - certd_system_resetAdminPasswd=false
+```
+## 2. 重启容器
+```shell
+docker compose up -d
+docker logs -f --tail 500 certd
+# 观察日志,当日志中输出“重置1号管理员用户的密码完成”,即可操作下一步
+```
+## 3. 恢复环境变量
+修改docker-compose.yaml,将`certd_system_resetAdminPasswd`改回`false`
+
+## 4. 再次重启容器
+```shell
+docker compose up -d
+```
+## 5. 默认密码登录
+使用`admin/123456`登录系统,请及时修改管理员密码
diff --git a/doc/google/google.md b/docs/guide/use/google/index.md
similarity index 100%
rename from doc/google/google.md
rename to docs/guide/use/google/index.md
diff --git a/doc/host/host.md b/docs/guide/use/host/windows.md
similarity index 76%
rename from doc/host/host.md
rename to docs/guide/use/host/windows.md
index c954d731..301fb2c5 100644
--- a/doc/host/host.md
+++ b/docs/guide/use/host/windows.md
@@ -1,24 +1,24 @@
-# 远程主机
+# 连接windows主机
远程主机基于ssh协议,通过ssh连接远程主机,执行命令。
## windows开启OpenSSH Server
-1. 安装OpenSSH Server
-请前往Microsoft官方文档查看如何开启openSSH
+### 1. 安装OpenSSH Server
+请前往Microsoft官方文档查看如何开启openSSH
https://learn.microsoft.com/zh-cn/windows-server/administration/openssh/openssh_install_firstuse?tabs=gui#install-openssh-for-windows
-2. 启动OpenSSH Server服务
+### 2. 启动OpenSSH Server服务
```
win+R 弹出运行对话框,输入 services.msc 打开服务管理器
找到 OpenSSH SSH Server
启动ssh server服务,并且设置为自动启动
```
-3. 测试ssh登录
+### 3. 测试ssh登录
使用你常用的ssh客户端,连接你的windows主机,进行测试
```cmd
# 如何确定你用户名
-C:\Users\xiaoj>
+C:\Users\xxxxx>
↑↑↑↑---------这个就是windows ssh的登录用户名
```
diff --git a/doc/synology/images/1.png b/docs/guide/use/synology/images/1.png
similarity index 100%
rename from doc/synology/images/1.png
rename to docs/guide/use/synology/images/1.png
diff --git a/doc/synology/images/2.png b/docs/guide/use/synology/images/2.png
similarity index 100%
rename from doc/synology/images/2.png
rename to docs/guide/use/synology/images/2.png
diff --git a/doc/synology/images/3.png b/docs/guide/use/synology/images/3.png
similarity index 100%
rename from doc/synology/images/3.png
rename to docs/guide/use/synology/images/3.png
diff --git a/doc/synology/images/4.png b/docs/guide/use/synology/images/4.png
similarity index 100%
rename from doc/synology/images/4.png
rename to docs/guide/use/synology/images/4.png
diff --git a/doc/synology/images/5.png b/docs/guide/use/synology/images/5.png
similarity index 100%
rename from doc/synology/images/5.png
rename to docs/guide/use/synology/images/5.png
diff --git a/doc/synology/images/6.png b/docs/guide/use/synology/images/6.png
similarity index 100%
rename from doc/synology/images/6.png
rename to docs/guide/use/synology/images/6.png
diff --git a/doc/synology/images/deploy.png b/docs/guide/use/synology/images/deploy.png
similarity index 100%
rename from doc/synology/images/deploy.png
rename to docs/guide/use/synology/images/deploy.png
diff --git a/doc/synology/index.md b/docs/guide/use/synology/index.md
similarity index 90%
rename from doc/synology/index.md
rename to docs/guide/use/synology/index.md
index bd0becc5..47b26f3e 100644
--- a/doc/synology/index.md
+++ b/docs/guide/use/synology/index.md
@@ -1,7 +1,7 @@
# 群晖部署和证书更新
-## 一、群晖系统上部署Certd教程
+## 一、群晖部署Certd
### 1. 打开Container Manager
@@ -30,7 +30,6 @@

-
## 二、更新群晖证书
## 1. 前提条件
diff --git a/doc/tencent/dnspod-token.png b/docs/guide/use/tencent/dnspod-token.png
similarity index 100%
rename from doc/tencent/dnspod-token.png
rename to docs/guide/use/tencent/dnspod-token.png
diff --git a/doc/tencent/tencent.md b/docs/guide/use/tencent/index.md
similarity index 57%
rename from doc/tencent/tencent.md
rename to docs/guide/use/tencent/index.md
index 51b8f2f3..2dcebee6 100644
--- a/doc/tencent/tencent.md
+++ b/docs/guide/use/tencent/index.md
@@ -1,12 +1,5 @@
# 腾讯云
-
-## DNSPOD 授权设置【已废弃,请使用腾讯云API】
-打开 https://console.dnspod.cn/account/token/apikey
-然后按如下方式获取DNSPOD的授权
-
-
-
## 腾讯云API密钥设置
腾讯云其他部署需要API密钥,需要在腾讯云控制台进行设置
diff --git a/doc/tencent/tencent-access.png b/docs/guide/use/tencent/tencent-access.png
similarity index 100%
rename from doc/tencent/tencent-access.png
rename to docs/guide/use/tencent/tencent-access.png
diff --git a/docs/images/action/action-build.jpg b/docs/images/action/action-build.jpg
new file mode 100644
index 00000000..9e7187a0
Binary files /dev/null and b/docs/images/action/action-build.jpg differ
diff --git a/docs/images/plugins/list.png b/docs/images/plugins/list.png
new file mode 100644
index 00000000..884090a6
Binary files /dev/null and b/docs/images/plugins/list.png differ
diff --git a/docs/images/start/tt.png b/docs/images/start/tt.png
new file mode 100644
index 00000000..e0d3e0d5
Binary files /dev/null and b/docs/images/start/tt.png differ
diff --git a/docs/index.md b/docs/index.md
new file mode 100644
index 00000000..8710a89b
--- /dev/null
+++ b/docs/index.md
@@ -0,0 +1,36 @@
+---
+# https://vitepress.dev/reference/default-theme-home-page
+layout: home
+
+hero:
+ name: "Certd"
+ text: "开源、免费、全自动的证书管理工具"
+ tagline: 让你的网站证书永不过期
+ image:
+ src: /static/logo/logo.svg
+ alt: Certd
+ actions:
+ - theme: brand
+ text: 快速开始
+ link: /guide/start.md
+ - theme: alt
+ text: 演示教程
+ link: /guide/tutorial.md
+ - theme: alt
+ text: demo体验
+ link: https://certd.handsfree.work
+
+features:
+ - title: 全自动申请证书
+ details: 支持所有注册商注册的域名
+ - title: 全自动部署证书
+ details: 支持部署到主机、阿里云、腾讯云等,目前已支持30+部署插件
+ - title: 多域名、泛域名打到一个证书上
+ details: 支持通配符域名/泛域名,支持多个域名打到一个证书上
+ - title: 多证书格式支持
+ details: 支持pem、pfx、der等多种证书格式
+ - title: 支持私有化部署
+ details: 保障数据安全
+ - title: 多数据库支持
+ details: 支持sqlite,postgresql数据库
+---
diff --git a/docs/public/static/logo/logo.svg b/docs/public/static/logo/logo.svg
new file mode 100644
index 00000000..3e53dac4
--- /dev/null
+++ b/docs/public/static/logo/logo.svg
@@ -0,0 +1,7 @@
+
\ No newline at end of file
diff --git a/lerna.json b/lerna.json
index 1825563c..3c538bf8 100644
--- a/lerna.json
+++ b/lerna.json
@@ -9,5 +9,5 @@
}
},
"npmClient": "pnpm",
- "version": "1.26.8"
+ "version": "1.26.10"
}
diff --git a/package.json b/package.json
index f6202930..48e061ad 100644
--- a/package.json
+++ b/package.json
@@ -7,22 +7,29 @@
"@lerna-lite/cli": "^3.9.3",
"@lerna-lite/publish": "^3.9.3",
"@lerna-lite/run": "^3.9.3",
- "@lerna-lite/version": "^3.9.3"
+ "@lerna-lite/version": "^3.9.3",
+ "medium-zoom": "^1.1.0",
+ "vitepress": "^1.4.1",
+ "vitepress-plugin-lightbox": "^1.0.2"
},
"scripts": {
"start": "lerna bootstrap --hoist",
"i-all": "lerna link && lerna exec npm install ",
"publish": "npm run prepublishOnly2 && lerna publish --force-publish=pro/plus-core --conventional-commits --create-release github && npm run afterpublishOnly && npm run commitAll",
"afterpublishOnly": "time /t >build.trigger && git add ./build.trigger && git commit -m \"build: trigger build image\" && TIMEOUT /T 10 && git push",
- "transform-sql":"cd ./packages/ui/certd-server/db/ && node --experimental-json-modules transform.js",
+ "transform-sql": "cd ./packages/ui/certd-server/db/ && node --experimental-json-modules transform.js",
"commitAll": "git add . && git commit -m \"build: publish\" && git push && npm run commitPro",
"commitPro": "cd ./packages/core/ && git add . && git commit -m \"build: publish\" && git push",
+ "copylogs": "copyfiles \"CHANGELOG.md\" ./docs/guide/other/changelogs/",
"prepublishOnly1": "npm run check && lerna run build ",
"prepublishOnly2": "npm run check && npm run before-build && lerna run build ",
"before-build": "npm run transform-sql && cd ./packages/core/basic && time /t >build.md && git add ./build.md && git commit -m \"build: prepare to build\"",
"deploy1": "node --experimental-json-modules deploy.js ",
"check": "node --experimental-json-modules publish-check.js",
- "init": "lerna run build"
+ "init": "lerna run build",
+ "docs:dev": "vitepress dev docs",
+ "docs:build": "vitepress build docs",
+ "docs:preview": "vitepress preview docs"
},
"license": "AGPL-3.0",
"dependencies": {
@@ -32,4 +39,4 @@
"workspaces": [
"packages/**"
]
-}
+}
\ No newline at end of file
diff --git a/packages/core/acme-client/CHANGELOG.md b/packages/core/acme-client/CHANGELOG.md
index 9cab1941..1e1f76f7 100644
--- a/packages/core/acme-client/CHANGELOG.md
+++ b/packages/core/acme-client/CHANGELOG.md
@@ -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.26.10](https://github.com/publishlab/node-acme-client/compare/v1.26.9...v1.26.10) (2024-10-20)
+
+**Note:** Version bump only for package @certd/acme-client
+
+## [1.26.9](https://github.com/publishlab/node-acme-client/compare/v1.26.8...v1.26.9) (2024-10-19)
+
+**Note:** Version bump only for package @certd/acme-client
+
## [1.26.8](https://github.com/publishlab/node-acme-client/compare/v1.26.7...v1.26.8) (2024-10-15)
**Note:** Version bump only for package @certd/acme-client
diff --git a/packages/core/acme-client/package.json b/packages/core/acme-client/package.json
index c7f1afda..d9dd69ce 100644
--- a/packages/core/acme-client/package.json
+++ b/packages/core/acme-client/package.json
@@ -3,7 +3,7 @@
"description": "Simple and unopinionated ACME client",
"private": false,
"author": "nmorsman",
- "version": "1.26.8",
+ "version": "1.26.10",
"main": "src/index.js",
"types": "types/index.d.ts",
"license": "MIT",
@@ -59,5 +59,5 @@
"bugs": {
"url": "https://github.com/publishlab/node-acme-client/issues"
},
- "gitHead": "fc42ade63fab71fb273981b712c09d6a858f0a0f"
+ "gitHead": "617cc13e29e6a325ac6fc0202499398390d25997"
}
diff --git a/packages/core/basic/CHANGELOG.md b/packages/core/basic/CHANGELOG.md
index 91807169..868f3f36 100644
--- a/packages/core/basic/CHANGELOG.md
+++ b/packages/core/basic/CHANGELOG.md
@@ -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.26.10](https://github.com/certd/certd/compare/v1.26.9...v1.26.10) (2024-10-20)
+
+**Note:** Version bump only for package @certd/basic
+
+## [1.26.9](https://github.com/certd/certd/compare/v1.26.8...v1.26.9) (2024-10-19)
+
+**Note:** Version bump only for package @certd/basic
+
## [1.26.8](https://github.com/certd/certd/compare/v1.26.7...v1.26.8) (2024-10-15)
**Note:** Version bump only for package @certd/basic
diff --git a/packages/core/basic/build.md b/packages/core/basic/build.md
index 45002152..b4497168 100644
--- a/packages/core/basic/build.md
+++ b/packages/core/basic/build.md
@@ -1 +1 @@
-01:30
+12:31
diff --git a/packages/core/basic/package.json b/packages/core/basic/package.json
index 3b86d9e1..bcf0a262 100644
--- a/packages/core/basic/package.json
+++ b/packages/core/basic/package.json
@@ -1,7 +1,7 @@
{
"name": "@certd/basic",
"private": false,
- "version": "1.26.8",
+ "version": "1.26.10",
"type": "module",
"main": "./dist/index.js",
"module": "./dist/index.js",
@@ -64,5 +64,5 @@
"vite": "^4.3.8",
"vue-tsc": "^1.6.5"
},
- "gitHead": "fc42ade63fab71fb273981b712c09d6a858f0a0f"
+ "gitHead": "617cc13e29e6a325ac6fc0202499398390d25997"
}
diff --git a/packages/core/pipeline/CHANGELOG.md b/packages/core/pipeline/CHANGELOG.md
index 7612c090..bde43c93 100644
--- a/packages/core/pipeline/CHANGELOG.md
+++ b/packages/core/pipeline/CHANGELOG.md
@@ -3,6 +3,19 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.26.10](https://github.com/certd/certd/compare/v1.26.9...v1.26.10) (2024-10-20)
+
+### Bug Fixes
+
+* 修复cname服务普通用户access访问权限问题 ([c1e3e2e](https://github.com/certd/certd/commit/c1e3e2ee1f923ee5806479dd5f178c3286a01ae0))
+
+## [1.26.9](https://github.com/certd/certd/compare/v1.26.8...v1.26.9) (2024-10-19)
+
+### Performance Improvements
+
+* 触发证书重新申请input变化对比规则优化,减少升级版本后触发申请证书的情况 ([c46a2a9](https://github.com/certd/certd/commit/c46a2a9a399c2a9a8bb59a48b9fb6e93227cce9b))
+* 任务下所有步骤都跳过时,整个任务显示跳过 ([84fd3b2](https://github.com/certd/certd/commit/84fd3b250dd1161ea06c5582fdadece4b29c2e53))
+
## [1.26.8](https://github.com/certd/certd/compare/v1.26.7...v1.26.8) (2024-10-15)
### Performance Improvements
diff --git a/packages/core/pipeline/package.json b/packages/core/pipeline/package.json
index 7d71d93c..dc023929 100644
--- a/packages/core/pipeline/package.json
+++ b/packages/core/pipeline/package.json
@@ -1,7 +1,7 @@
{
"name": "@certd/pipeline",
"private": false,
- "version": "1.26.8",
+ "version": "1.26.10",
"type": "module",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -15,8 +15,8 @@
"test": "mocha --loader=ts-node/esm"
},
"dependencies": {
- "@certd/basic": "^1.26.8",
- "@certd/plus-core": "^1.26.8",
+ "@certd/basic": "^1.26.10",
+ "@certd/plus-core": "^1.26.10",
"axios": "^1.7.2",
"dayjs": "^1.11.7",
"fix-path": "^4.0.0",
@@ -66,5 +66,5 @@
"vite": "^4.3.8",
"vue-tsc": "^1.6.5"
},
- "gitHead": "fc42ade63fab71fb273981b712c09d6a858f0a0f"
+ "gitHead": "617cc13e29e6a325ac6fc0202499398390d25997"
}
diff --git a/packages/core/pipeline/src/access/api.ts b/packages/core/pipeline/src/access/api.ts
index b33460ce..b9ada9f5 100644
--- a/packages/core/pipeline/src/access/api.ts
+++ b/packages/core/pipeline/src/access/api.ts
@@ -16,6 +16,7 @@ export type AccessDefine = Registrable & {
};
export interface IAccessService {
getById(id: any): Promise;
+ getCommonById(id: any): Promise;
}
export interface IAccess {
diff --git a/packages/core/pipeline/src/core/executor.ts b/packages/core/pipeline/src/core/executor.ts
index 9e9c0ffb..7b2256fc 100644
--- a/packages/core/pipeline/src/core/executor.ts
+++ b/packages/core/pipeline/src/core/executor.ts
@@ -155,8 +155,8 @@ export class Executor {
for (const task of stage.tasks) {
const runner = async () => {
return this.runWithHistory(task, "task", async () => {
- await this.runTask(task);
- return ResultType.success;
+ const res = await this.runTask(task);
+ return res;
});
};
runnerList.push(runner);
@@ -178,16 +178,22 @@ export class Executor {
return this.compositionResultType(resList);
}
- compositionResultType(resList: ResultType[]) {
+ compositionResultType(resList: ResultType[]): ResultType {
let hasSuccess = false;
+ let hasSkip = false;
for (const type of resList) {
if (type === ResultType.error) {
return ResultType.error;
- }
- if (type === ResultType.success) {
+ } else if (type === ResultType.success) {
hasSuccess = true;
+ } else if (type === ResultType.skip) {
+ hasSkip = true;
}
}
+ if (!hasSuccess && hasSkip) {
+ //全是跳过
+ return ResultType.skip;
+ }
if (hasSuccess) {
return ResultType.success;
}
@@ -254,7 +260,7 @@ export class Executor {
let inputChanged = true;
const lastInputHash = lastNode?.status?.inputHash;
if (lastInputHash && newInputHash && lastInputHash === newInputHash) {
- //参数有变化
+ //参数没有变化
inputChanged = false;
}
if (step.strategy?.runStrategy === RunStrategy.SkipWhenSucceed) {
diff --git a/packages/core/pipeline/src/core/run-history.ts b/packages/core/pipeline/src/core/run-history.ts
index b4a69e7a..84bf9759 100644
--- a/packages/core/pipeline/src/core/run-history.ts
+++ b/packages/core/pipeline/src/core/run-history.ts
@@ -181,6 +181,9 @@ export class RunnableCollection {
if (runnable?.status) {
runnable.status.status = ResultType.none;
runnable.status.result = ResultType.none;
+ runnable.status.inputHash = "";
+ // @ts-ignore
+ runnable.input = {};
}
}
diff --git a/packages/core/pipeline/src/dt/pipeline.ts b/packages/core/pipeline/src/dt/pipeline.ts
index f436d30a..691c14b6 100644
--- a/packages/core/pipeline/src/dt/pipeline.ts
+++ b/packages/core/pipeline/src/dt/pipeline.ts
@@ -121,7 +121,6 @@ export type HistoryResultGroup = {
};
};
export type HistoryResult = {
- // input: any;
inputHash?: string;
output: any;
files?: FileItem[];
diff --git a/packages/core/pipeline/src/service/cname.ts b/packages/core/pipeline/src/service/cname.ts
index 3ad75f72..5f1fbee3 100644
--- a/packages/core/pipeline/src/service/cname.ts
+++ b/packages/core/pipeline/src/service/cname.ts
@@ -1,9 +1,13 @@
+import { IAccess } from "../access";
+
export type CnameProvider = {
id: any;
domain: string;
dnsProviderType: string;
+ access?: IAccess;
accessId: any;
};
+
export type CnameRecord = {
id: any;
domain: string;
diff --git a/packages/libs/lib-huawei/CHANGELOG.md b/packages/libs/lib-huawei/CHANGELOG.md
index 6bfb659c..ea882211 100644
--- a/packages/libs/lib-huawei/CHANGELOG.md
+++ b/packages/libs/lib-huawei/CHANGELOG.md
@@ -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.26.10](https://github.com/certd/certd/compare/v1.26.9...v1.26.10) (2024-10-20)
+
+**Note:** Version bump only for package @certd/lib-huawei
+
+## [1.26.9](https://github.com/certd/certd/compare/v1.26.8...v1.26.9) (2024-10-19)
+
+**Note:** Version bump only for package @certd/lib-huawei
+
## [1.26.8](https://github.com/certd/certd/compare/v1.26.7...v1.26.8) (2024-10-15)
**Note:** Version bump only for package @certd/lib-huawei
diff --git a/packages/libs/lib-huawei/package.json b/packages/libs/lib-huawei/package.json
index b4c1a2b9..ae946901 100644
--- a/packages/libs/lib-huawei/package.json
+++ b/packages/libs/lib-huawei/package.json
@@ -1,7 +1,7 @@
{
"name": "@certd/lib-huawei",
"private": false,
- "version": "1.26.8",
+ "version": "1.26.10",
"main": "./dist/bundle.js",
"module": "./dist/bundle.js",
"types": "./dist/d/index.d.ts",
@@ -17,5 +17,5 @@
"rimraf": "^5.0.5",
"rollup": "^3.7.4"
},
- "gitHead": "fc42ade63fab71fb273981b712c09d6a858f0a0f"
+ "gitHead": "617cc13e29e6a325ac6fc0202499398390d25997"
}
diff --git a/packages/libs/lib-iframe/CHANGELOG.md b/packages/libs/lib-iframe/CHANGELOG.md
index a592539f..5b236842 100644
--- a/packages/libs/lib-iframe/CHANGELOG.md
+++ b/packages/libs/lib-iframe/CHANGELOG.md
@@ -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.26.10](https://github.com/certd/certd/compare/v1.26.9...v1.26.10) (2024-10-20)
+
+**Note:** Version bump only for package @certd/lib-iframe
+
+## [1.26.9](https://github.com/certd/certd/compare/v1.26.8...v1.26.9) (2024-10-19)
+
+**Note:** Version bump only for package @certd/lib-iframe
+
## [1.26.8](https://github.com/certd/certd/compare/v1.26.7...v1.26.8) (2024-10-15)
**Note:** Version bump only for package @certd/lib-iframe
diff --git a/packages/libs/lib-iframe/package.json b/packages/libs/lib-iframe/package.json
index ad093498..c5d30be4 100644
--- a/packages/libs/lib-iframe/package.json
+++ b/packages/libs/lib-iframe/package.json
@@ -1,7 +1,7 @@
{
"name": "@certd/lib-iframe",
"private": false,
- "version": "1.26.8",
+ "version": "1.26.10",
"type": "module",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -39,5 +39,5 @@
"tslib": "^2.5.2",
"typescript": "^5.4.2"
},
- "gitHead": "fc42ade63fab71fb273981b712c09d6a858f0a0f"
+ "gitHead": "617cc13e29e6a325ac6fc0202499398390d25997"
}
diff --git a/packages/libs/lib-jdcloud/CHANGELOG.md b/packages/libs/lib-jdcloud/CHANGELOG.md
index 60adfbff..0ed408fc 100644
--- a/packages/libs/lib-jdcloud/CHANGELOG.md
+++ b/packages/libs/lib-jdcloud/CHANGELOG.md
@@ -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.26.10](https://github.com/certd/certd/compare/v1.26.9...v1.26.10) (2024-10-20)
+
+**Note:** Version bump only for package @certd/lib-jdcloud
+
+## [1.26.9](https://github.com/certd/certd/compare/v1.26.8...v1.26.9) (2024-10-19)
+
+**Note:** Version bump only for package @certd/lib-jdcloud
+
## [1.26.8](https://github.com/certd/certd/compare/v1.26.7...v1.26.8) (2024-10-15)
**Note:** Version bump only for package @certd/lib-jdcloud
diff --git a/packages/libs/lib-jdcloud/package.json b/packages/libs/lib-jdcloud/package.json
index 493fd6dd..90684236 100644
--- a/packages/libs/lib-jdcloud/package.json
+++ b/packages/libs/lib-jdcloud/package.json
@@ -1,7 +1,7 @@
{
"name": "@certd/lib-jdcloud",
"private": false,
- "version": "1.26.8",
+ "version": "1.26.10",
"main": "./dist/bundle.mjs",
"module": "./dist/bundle.mjs",
"types": "./dist/d/index.d.ts",
@@ -27,5 +27,5 @@
"rimraf": "^5.0.5",
"rollup": "^3.7.4"
},
- "gitHead": "fc42ade63fab71fb273981b712c09d6a858f0a0f"
+ "gitHead": "617cc13e29e6a325ac6fc0202499398390d25997"
}
diff --git a/packages/libs/lib-k8s/CHANGELOG.md b/packages/libs/lib-k8s/CHANGELOG.md
index 8ff5ee7b..e7549dd9 100644
--- a/packages/libs/lib-k8s/CHANGELOG.md
+++ b/packages/libs/lib-k8s/CHANGELOG.md
@@ -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.26.10](https://github.com/certd/certd/compare/v1.26.9...v1.26.10) (2024-10-20)
+
+**Note:** Version bump only for package @certd/lib-k8s
+
+## [1.26.9](https://github.com/certd/certd/compare/v1.26.8...v1.26.9) (2024-10-19)
+
+**Note:** Version bump only for package @certd/lib-k8s
+
## [1.26.8](https://github.com/certd/certd/compare/v1.26.7...v1.26.8) (2024-10-15)
**Note:** Version bump only for package @certd/lib-k8s
diff --git a/packages/libs/lib-k8s/package.json b/packages/libs/lib-k8s/package.json
index d0228c85..7b79a13f 100644
--- a/packages/libs/lib-k8s/package.json
+++ b/packages/libs/lib-k8s/package.json
@@ -1,7 +1,7 @@
{
"name": "@certd/lib-k8s",
"private": false,
- "version": "1.26.8",
+ "version": "1.26.10",
"type": "module",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -18,7 +18,7 @@
"@kubernetes/client-node": "0.21.0"
},
"devDependencies": {
- "@certd/pipeline": "^1.26.8",
+ "@certd/pipeline": "^1.26.10",
"@rollup/plugin-commonjs": "^23.0.4",
"@rollup/plugin-json": "^6.0.0",
"@rollup/plugin-node-resolve": "^15.0.1",
@@ -40,5 +40,5 @@
"tslib": "^2.5.2",
"typescript": "^5.4.2"
},
- "gitHead": "fc42ade63fab71fb273981b712c09d6a858f0a0f"
+ "gitHead": "617cc13e29e6a325ac6fc0202499398390d25997"
}
diff --git a/packages/libs/lib-server/CHANGELOG.md b/packages/libs/lib-server/CHANGELOG.md
index d1c3775c..4dd8f9b3 100644
--- a/packages/libs/lib-server/CHANGELOG.md
+++ b/packages/libs/lib-server/CHANGELOG.md
@@ -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.26.10](https://github.com/certd/certd/compare/v1.26.9...v1.26.10) (2024-10-20)
+
+**Note:** Version bump only for package @certd/lib-server
+
+## [1.26.9](https://github.com/certd/certd/compare/v1.26.8...v1.26.9) (2024-10-19)
+
+**Note:** Version bump only for package @certd/lib-server
+
## [1.26.8](https://github.com/certd/certd/compare/v1.26.7...v1.26.8) (2024-10-15)
### Bug Fixes
diff --git a/packages/libs/lib-server/package.json b/packages/libs/lib-server/package.json
index f5ea032a..a2194076 100644
--- a/packages/libs/lib-server/package.json
+++ b/packages/libs/lib-server/package.json
@@ -1,6 +1,6 @@
{
"name": "@certd/lib-server",
- "version": "1.26.8",
+ "version": "1.26.10",
"description": "midway with flyway, sql upgrade way ",
"private": false,
"type": "module",
@@ -26,8 +26,8 @@
],
"license": "AGPL",
"dependencies": {
- "@certd/basic": "^1.26.8",
- "@certd/pipeline": "^1.26.8",
+ "@certd/basic": "^1.26.10",
+ "@certd/pipeline": "^1.26.10",
"@midwayjs/cache": "~3.14.0",
"@midwayjs/core": "~3.17.1",
"@midwayjs/i18n": "~3.17.3",
@@ -68,5 +68,5 @@
"typeorm": "^0.3.11",
"typescript": "^5.4.2"
},
- "gitHead": "fc42ade63fab71fb273981b712c09d6a858f0a0f"
+ "gitHead": "617cc13e29e6a325ac6fc0202499398390d25997"
}
diff --git a/packages/libs/midway-flyway-js/CHANGELOG.md b/packages/libs/midway-flyway-js/CHANGELOG.md
index e5bb949c..e8c84792 100644
--- a/packages/libs/midway-flyway-js/CHANGELOG.md
+++ b/packages/libs/midway-flyway-js/CHANGELOG.md
@@ -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.26.10](https://github.com/certd/certd/compare/v1.26.9...v1.26.10) (2024-10-20)
+
+**Note:** Version bump only for package @certd/midway-flyway-js
+
+## [1.26.9](https://github.com/certd/certd/compare/v1.26.8...v1.26.9) (2024-10-19)
+
+**Note:** Version bump only for package @certd/midway-flyway-js
+
## [1.26.8](https://github.com/certd/certd/compare/v1.26.7...v1.26.8) (2024-10-15)
**Note:** Version bump only for package @certd/midway-flyway-js
diff --git a/packages/libs/midway-flyway-js/package.json b/packages/libs/midway-flyway-js/package.json
index 29bc4eef..7d44f0e9 100644
--- a/packages/libs/midway-flyway-js/package.json
+++ b/packages/libs/midway-flyway-js/package.json
@@ -1,6 +1,6 @@
{
"name": "@certd/midway-flyway-js",
- "version": "1.26.8",
+ "version": "1.26.10",
"description": "midway with flyway, sql upgrade way ",
"private": false,
"type": "module",
@@ -56,5 +56,5 @@
"typeorm": "^0.3.11",
"typescript": "^5.4.2"
},
- "gitHead": "fc42ade63fab71fb273981b712c09d6a858f0a0f"
+ "gitHead": "617cc13e29e6a325ac6fc0202499398390d25997"
}
diff --git a/packages/plugins/plugin-cert/CHANGELOG.md b/packages/plugins/plugin-cert/CHANGELOG.md
index 850592b4..ecba6cf2 100644
--- a/packages/plugins/plugin-cert/CHANGELOG.md
+++ b/packages/plugins/plugin-cert/CHANGELOG.md
@@ -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.26.10](https://github.com/certd/certd/compare/v1.26.9...v1.26.10) (2024-10-20)
+
+### Bug Fixes
+
+* 修复cname服务普通用户access访问权限问题 ([c1e3e2e](https://github.com/certd/certd/commit/c1e3e2ee1f923ee5806479dd5f178c3286a01ae0))
+
+## [1.26.9](https://github.com/certd/certd/compare/v1.26.8...v1.26.9) (2024-10-19)
+
+### Performance Improvements
+
+* 触发证书重新申请input变化对比规则优化,减少升级版本后触发申请证书的情况 ([c46a2a9](https://github.com/certd/certd/commit/c46a2a9a399c2a9a8bb59a48b9fb6e93227cce9b))
+
## [1.26.8](https://github.com/certd/certd/compare/v1.26.7...v1.26.8) (2024-10-15)
### Performance Improvements
diff --git a/packages/plugins/plugin-cert/package.json b/packages/plugins/plugin-cert/package.json
index 06fc4d4f..9dfd7baa 100644
--- a/packages/plugins/plugin-cert/package.json
+++ b/packages/plugins/plugin-cert/package.json
@@ -1,7 +1,7 @@
{
"name": "@certd/plugin-cert",
"private": false,
- "version": "1.26.8",
+ "version": "1.26.10",
"type": "module",
"main": "./dist/index.js",
"types": "./dist/index.d.ts",
@@ -15,9 +15,9 @@
"preview": "vite preview"
},
"dependencies": {
- "@certd/acme-client": "^1.26.8",
- "@certd/basic": "^1.26.8",
- "@certd/pipeline": "^1.26.8",
+ "@certd/acme-client": "^1.26.10",
+ "@certd/basic": "^1.26.10",
+ "@certd/pipeline": "^1.26.10",
"@google-cloud/publicca": "^1.3.0",
"dayjs": "^1.11.7",
"jszip": "^3.10.1",
@@ -57,5 +57,5 @@
"vite": "^3.1.0",
"vue-tsc": "^0.38.9"
},
- "gitHead": "fc42ade63fab71fb273981b712c09d6a858f0a0f"
+ "gitHead": "617cc13e29e6a325ac6fc0202499398390d25997"
}
diff --git a/packages/plugins/plugin-cert/src/plugin/cert-plugin/base.ts b/packages/plugins/plugin-cert/src/plugin/cert-plugin/base.ts
index bfbcf3cf..36cfd19e 100644
--- a/packages/plugins/plugin-cert/src/plugin/cert-plugin/base.ts
+++ b/packages/plugins/plugin-cert/src/plugin/cert-plugin/base.ts
@@ -5,6 +5,7 @@ import { CertReader } from "./cert-reader.js";
import JSZip from "jszip";
import { CertConverter } from "./convert.js";
import fs from "fs";
+import { pick } from "lodash-es";
export { CertReader };
export type { CertInfo };
@@ -179,6 +180,9 @@ export abstract class CertApplyBasePlugin extends AbstractTaskPlugin {
async zipCert(cert: CertInfo, filename: string) {
const zip = new JSZip();
+ zip.file("证书.pem", cert.crt);
+ zip.file("私钥.pem", cert.key);
+ zip.file("中间证书.pem", cert.ic);
zip.file("cert.crt", cert.crt);
zip.file("cert.key", cert.key);
zip.file("intermediate.crt", cert.ic);
@@ -203,10 +207,35 @@ export abstract class CertApplyBasePlugin extends AbstractTaskPlugin {
return null;
}
- const inputChanged = this.ctx.inputChanged;
+ let inputChanged = this.ctx.inputChanged;
if (inputChanged) {
- this.logger.info("输入参数变更,准备申请新证书");
- return null;
+ this.logger.info("input hash 有变更,检查是否需要重新申请证书");
+ //判断域名有没有变更
+ /**
+ * "renewDays": 20,
+ * "certApplyPlugin": "CertApply",
+ * "sslProvider": "letsencrypt",
+ * "privateKeyType": "rsa_2048_pkcs1",
+ * "dnsProviderType": "aliyun",
+ * "domains": [
+ * "*.handsfree.work"
+ * ],
+ * "email": "xiaojunnuo@qq.com",
+ * "dnsProviderAccess": 3,
+ * "useProxy": false,
+ * "skipLocalVerify": false,
+ * "successNotify": true,
+ * "pfxPassword": "123456"
+ */
+ const checkInputChanges = ["domains", "sslProvider", "privateKeyType", "dnsProviderType", "dnsProviderAccess", "pfxPassword"];
+ const oldInput = JSON.stringify(pick(this.lastStatus?.input, checkInputChanges));
+ const thisInput = JSON.stringify(pick(this, checkInputChanges));
+ inputChanged = oldInput !== thisInput;
+
+ if (inputChanged) {
+ this.logger.info("输入参数变更,准备申请新证书");
+ return null;
+ }
}
let oldCert: CertReader | undefined = undefined;
diff --git a/packages/plugins/plugin-cert/src/plugin/cert-plugin/index.ts b/packages/plugins/plugin-cert/src/plugin/cert-plugin/index.ts
index 32161a2a..34037a17 100644
--- a/packages/plugins/plugin-cert/src/plugin/cert-plugin/index.ts
+++ b/packages/plugins/plugin-cert/src/plugin/cert-plugin/index.ts
@@ -266,7 +266,7 @@ export class CertApplyPlugin extends CertApplyBasePlugin {
eab = await this.ctx.accessService.getById(this.eabAccessId);
} else if (this.googleCommonEabAccessId) {
this.logger.info("当前正在使用 google公共EAB授权");
- eab = await this.ctx.accessService.getById(this.googleCommonEabAccessId);
+ eab = await this.ctx.accessService.getCommonById(this.googleCommonEabAccessId);
} else {
this.logger.error("google需要配置EAB授权或服务账号授权");
return;
@@ -277,7 +277,7 @@ export class CertApplyPlugin extends CertApplyBasePlugin {
eab = await this.ctx.accessService.getById(this.eabAccessId);
} else if (this.zerosslCommonEabAccessId) {
this.logger.info("当前正在使用 zerossl 公共EAB授权");
- eab = await this.ctx.accessService.getById(this.zerosslCommonEabAccessId);
+ eab = await this.ctx.accessService.getCommonById(this.zerosslCommonEabAccessId);
} else {
this.logger.error("zerossl需要配置EAB授权");
return;
@@ -324,8 +324,8 @@ export class CertApplyPlugin extends CertApplyBasePlugin {
domainsVerifyPlan = await this.createDomainsVerifyPlan();
} else {
const dnsProviderType = this.dnsProviderType;
- const dnsProviderAccessId = this.dnsProviderAccess;
- dnsProvider = await this.createDnsProvider(dnsProviderType, dnsProviderAccessId);
+ const access = await this.ctx.accessService.getById(this.dnsProviderAccess);
+ dnsProvider = await this.createDnsProvider(dnsProviderType, access);
}
try {
@@ -351,9 +351,8 @@ export class CertApplyPlugin extends CertApplyBasePlugin {
}
}
- async createDnsProvider(dnsProviderType: string, dnsProviderAccessId: number): Promise {
- const access = await this.accessService.getById(dnsProviderAccessId);
- const context: DnsProviderContext = { access, logger: this.logger, http: this.ctx.http, utils };
+ async createDnsProvider(dnsProviderType: string, dnsProviderAccess: any): Promise {
+ const context: DnsProviderContext = { access: dnsProviderAccess, logger: this.logger, http: this.ctx.http, utils };
return await createDnsProvider({
dnsProviderType,
context,
@@ -367,14 +366,15 @@ export class CertApplyPlugin extends CertApplyBasePlugin {
let dnsProvider = null;
const cnameVerifyPlan: Record = {};
if (domainVerifyPlan.type === "dns") {
- dnsProvider = await this.createDnsProvider(domainVerifyPlan.dnsProviderType, domainVerifyPlan.dnsProviderAccessId);
+ const access = await this.ctx.accessService.getById(domainVerifyPlan.dnsProviderAccessId);
+ dnsProvider = await this.createDnsProvider(domainVerifyPlan.dnsProviderType, access);
} else {
for (const key in domainVerifyPlan.cnameVerifyPlan) {
const cnameRecord = await this.ctx.cnameProxyService.getByDomain(key);
cnameVerifyPlan[key] = {
domain: cnameRecord.cnameProvider.domain,
fullRecord: cnameRecord.recordValue,
- dnsProvider: await this.createDnsProvider(cnameRecord.cnameProvider.dnsProviderType, cnameRecord.cnameProvider.accessId),
+ dnsProvider: await this.createDnsProvider(cnameRecord.cnameProvider.dnsProviderType, cnameRecord.cnameProvider.access),
};
}
}
diff --git a/packages/ui/certd-client/CHANGELOG.md b/packages/ui/certd-client/CHANGELOG.md
index 225db853..500e092f 100644
--- a/packages/ui/certd-client/CHANGELOG.md
+++ b/packages/ui/certd-client/CHANGELOG.md
@@ -3,6 +3,25 @@
All notable changes to this project will be documented in this file.
See [Conventional Commits](https://conventionalcommits.org) for commit guidelines.
+## [1.26.10](https://github.com/certd/certd/compare/v1.26.9...v1.26.10) (2024-10-20)
+
+### Bug Fixes
+
+* 修复cname服务普通用户access访问权限问题 ([c1e3e2e](https://github.com/certd/certd/commit/c1e3e2ee1f923ee5806479dd5f178c3286a01ae0))
+
+## [1.26.9](https://github.com/certd/certd/compare/v1.26.8...v1.26.9) (2024-10-19)
+
+### Bug Fixes
+
+* 修复切换普通用户登录时,左侧菜单没有同步更新的bug ([12116a8](https://github.com/certd/certd/commit/12116a89f43cf8b98f16d2ea6073f6b72a643215))
+* 修正邮箱设置跳转路由 ([17d8890](https://github.com/certd/certd/commit/17d88900a1f0e3af609b74597f5b1978230db32d))
+
+### Performance Improvements
+
+* 触发证书重新申请input变化对比规则优化,减少升级版本后触发申请证书的情况 ([c46a2a9](https://github.com/certd/certd/commit/c46a2a9a399c2a9a8bb59a48b9fb6e93227cce9b))
+* 优化菜单 ([1f4f157](https://github.com/certd/certd/commit/1f4f15757de1015cf7563f7022599eef58cc93d7))
+* 增加文档站 https://certd.docmirror.cn ([6e2ac1c](https://github.com/certd/certd/commit/6e2ac1c089f6ddccb396f1f2738509c05333e1bb))
+
## [1.26.8](https://github.com/certd/certd/compare/v1.26.7...v1.26.8) (2024-10-15)
### Performance Improvements
diff --git a/packages/ui/certd-client/package.json b/packages/ui/certd-client/package.json
index 1221e244..815afe0e 100644
--- a/packages/ui/certd-client/package.json
+++ b/packages/ui/certd-client/package.json
@@ -1,6 +1,6 @@
{
"name": "@certd/ui-client",
- "version": "1.26.8",
+ "version": "1.26.10",
"private": true,
"scripts": {
"dev": "vite --open",
@@ -61,8 +61,8 @@
"vuedraggable": "^4.1.0"
},
"devDependencies": {
- "@certd/lib-iframe": "^1.26.8",
- "@certd/pipeline": "^1.26.8",
+ "@certd/lib-iframe": "^1.26.10",
+ "@certd/pipeline": "^1.26.10",
"@rollup/plugin-commonjs": "^25.0.7",
"@rollup/plugin-node-resolve": "^15.2.3",
"@types/chai": "^4.3.12",
diff --git a/packages/ui/certd-client/src/App.vue b/packages/ui/certd-client/src/App.vue
index d1e432ab..36f5f121 100644
--- a/packages/ui/certd-client/src/App.vue
+++ b/packages/ui/certd-client/src/App.vue
@@ -47,8 +47,8 @@ provide("fn:router.reload", reload);
provide("fn:locale.changed", localeChanged);
//其他初始化
-const resourceStore = useResourceStore();
-resourceStore.init();
+// const resourceStore = useResourceStore();
+// resourceStore.init();
const pageStore = usePageStore();
pageStore.init();
const settingStore = useSettingStore();
diff --git a/packages/ui/certd-client/src/components/plugins/cert/domains-verify-plan-editor/validator.ts b/packages/ui/certd-client/src/components/plugins/cert/domains-verify-plan-editor/validator.ts
index 1df53c6a..411b5b69 100644
--- a/packages/ui/certd-client/src/components/plugins/cert/domains-verify-plan-editor/validator.ts
+++ b/packages/ui/certd-client/src/components/plugins/cert/domains-verify-plan-editor/validator.ts
@@ -2,7 +2,6 @@ import Validator from "async-validator";
import { DomainsVerifyPlanInput } from "./type";
function checkCnameVerifyPlan(rule, value: DomainsVerifyPlanInput) {
- debugger;
if (value == null) {
return true;
}
diff --git a/packages/ui/certd-client/src/components/plugins/common/remote-select.vue b/packages/ui/certd-client/src/components/plugins/common/remote-select.vue
index 0b1541eb..3ea47918 100644
--- a/packages/ui/certd-client/src/components/plugins/common/remote-select.vue
+++ b/packages/ui/certd-client/src/components/plugins/common/remote-select.vue
@@ -43,7 +43,7 @@ const attrs = useAttrs();
const optionsRef = ref([]);
const message = ref("");
const getOptions = async () => {
- return await doRequest(
+ const res = await doRequest(
{
type: props.type,
typeName: props.typeName,
@@ -56,6 +56,8 @@ const getOptions = async () => {
}
}
);
+ message.value = "";
+ return res;
};
const filterOption = (input: string, option: any) => {
diff --git a/packages/ui/certd-client/src/layout/components/menu/index.tsx b/packages/ui/certd-client/src/layout/components/menu/index.tsx
index 3cdb2915..4c128b18 100644
--- a/packages/ui/certd-client/src/layout/components/menu/index.tsx
+++ b/packages/ui/certd-client/src/layout/components/menu/index.tsx
@@ -4,6 +4,7 @@ import _ from "lodash-es";
import BScroll from "better-scroll";
import "./index.less";
import { utils } from "@fast-crud/fast-crud";
+import { routerUtils } from "/@/utils/util.router";
function useBetterScroll(enabled = true) {
const bsRef = ref(null);
@@ -70,27 +71,8 @@ export default defineComponent({
scroll: {}
},
setup(props, ctx) {
- async function open(path: any) {
- if (path == null) {
- return;
- }
- if (path.startsWith("http://") || path.startsWith("https://")) {
- window.open(path);
- return;
- }
- try {
- const navigationResult = await router.push(path);
- if (navigationResult) {
- // 导航被阻止
- } else {
- // 导航成功 (包括重新导航的情况)
- }
- } catch (e) {
- console.error("导航失败", e);
- }
- }
- function onSelect(item: any) {
- open(item.key);
+ async function onSelect(item: any) {
+ await routerUtils.open(item.key);
}
const fsIcon = resolveComponent("FsIcon");
@@ -131,7 +113,7 @@ export default defineComponent({
open(sub.path);
}
}
- slots.push();
+ slots.push();
} else {
slots.push(
diff --git a/packages/ui/certd-client/src/layout/layout-framework.vue b/packages/ui/certd-client/src/layout/layout-framework.vue
index 2e18a935..3e17c568 100644
--- a/packages/ui/certd-client/src/layout/layout-framework.vue
+++ b/packages/ui/certd-client/src/layout/layout-framework.vue
@@ -17,7 +17,17 @@
-
+
+
@@ -32,7 +42,7 @@