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提供商授权。 -![](./images/cname1.png) -4. 申请证书时,Certd会生成一个随机的CNAME记录,例如:`_acme-challenge.need`->`xxxxxx.cname.foo.com` - ![](./images/cname2.png) -5. 您需要手动添加这条CNAME记录到你要申请证书的域名解析中,点击校验,校验成功后就可以开始申请证书了 (此操作每个域名只需要做一次,后续可以重复使用,注意不要删除添加的CNAME记录) - ![](./images/cname3.png) -6. ![](./images/cname4.png) -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提供商授权。 + ![](./images/cname1.png) +2. 然后创建证书流水线,输入`cert.com`,选择`CNAME`校验方式 + +3. 此时需要配置验证计划,Certd会生成一个随机的CNAME记录,例如:`_acme-challenge`->`xxxxxx.cname.proxy.com` + ![](./images/cname2.png) +3. 您需要手动在你的`cert.com`域名中添加CNAME解析,点击校验,校验成功后就可以开始申请证书了 (此操作每个域名只需要做一次,后续可以重复使用,注意不要删除添加的CNAME记录) + ![](./images/cname3.png) + ![](./images/cname4.png) +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) + +![](../images/action/action-build.jpg) \ 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`原文内容 + ![](./images/1.png) + +3. 点击确定,启动容器 + ![](./images/2.png) + +> 默认数据保存在`/data/certd`目录下,可以手动备份 + +3. 访问测试 + +http://ip:7001 + + +## 三、升级 + +1. 找到容器,点击编辑 + ![](./images/edit1.png) + +2. 将latest修改为最新版本号 + ![](https://img.shields.io/npm/v/%40certd%2Fpipeline) + +![img.png](./images/edit2.png) + +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->容器编排->添加容器编排 +![](./images/1.png) +点击确定,等待启动完成 +![](./images/2.png) + +## 二、访问应用 + +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`目录下,可以手动备份 + + +![](./images/app.png) + +![](./images/db_path.png) + +### 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) +> 当前版本号: ![](https://img.shields.io/npm/v/%40certd%2Fpipeline) + +> 如果提示 没有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/) | GitHub stars | 基于vue3的crud快速开发框架 | +| [dev-sidecar](https://github.com/docmirror/dev-sidecar/) | GitHub stars | 直连访问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 @@ +# 插件列表 + +![img_1.png](../images/plugins/list.png) + + 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. 系统顶部使用教程菜单 +点击`使用教程`可以学习如何自动申请和部署证书 + +![img.png](../images/start/tt.png) + + +## 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. 创建自动备份流水线 +![](./images/1.png) + +## 2. 添加备份任务 +![](./images/2.png) + +## 3. 选择备份方法 +![img.png](./images/3.png) + +## 4. 配置定时和失败通知 +![img.png](./images/4.png) \ 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 @@ ![](./images/6.png) - ## 二、更新群晖证书 ## 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的授权 -![](./dnspod-token.png) - - ## 腾讯云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 @@ - + +
+ + {{ menu.title }} +
@@ -32,7 +42,7 @@ { @@ -150,6 +162,13 @@ const siteInfo = computed(() => { onMounted(async () => { await settingStore.checkUrlBound(); }); + +function menuClick(menu) { + routerUtils.open(menu.path); +} + +const { useToken } = theme; +const { token } = useToken();