diff --git a/.github/workflows/sync-to-gitee-dev.yml b/.github/workflows/sync-to-gitee-dev.yml index 45487eaf..fdbfcf0b 100644 --- a/.github/workflows/sync-to-gitee-dev.yml +++ b/.github/workflows/sync-to-gitee-dev.yml @@ -1,4 +1,4 @@ -name: sync-to-gitee +name: sync-to-gitee-dev on: push: branches: ['v2-dev'] diff --git a/docs/.vitepress/config.ts b/docs/.vitepress/config.ts index 1464e6e0..1e28d652 100644 --- a/docs/.vitepress/config.ts +++ b/docs/.vitepress/config.ts @@ -1,108 +1,121 @@ -import {defineConfig} from 'vitepress' +import { defineConfig } from "vitepress"; // Import lightbox plugin -import lightbox from "vitepress-plugin-lightbox" +import lightbox from "vitepress-plugin-lightbox"; // https://vitepress.dev/reference/site-config export default defineConfig({ - title: "Certd", - description: "Certd帮助文档,Certd是一款全自动证书管理工具", - 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证书自动部署、证书自动化'}], - ['link', {rel: 'icon', href: '/favicon.ico'}], - ], - 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: '其他', - items: [ - {text: '镜像说明', link: '/guide/image.md'}, - {text: '更新日志', link: '/guide/changelogs/CHANGELOG.md'}, - ] - }, - ], - }, - socialLinks: [ - {icon: 'github', link: 'https://github.com/certd/certd'}, - ] + 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证书自动续签自动部署" + }], + ["link", { rel: "icon", href: "/favicon.ico" }] + ], + 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/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/docs/guide/index.md b/docs/guide/index.md index 328be70b..62b5f2bc 100644 --- a/docs/guide/index.md +++ b/docs/guide/index.md @@ -1,6 +1,6 @@ # Certd -Certd 是一个免费全自动申请和自动部署更新SSL证书的工具。 +Certd 是一款开源、免费、全自动申请和部署更新SSL证书的工具。 后缀d取自linux守护进程的命名风格,意为证书守护进程。 关键字:证书自动申请、证书自动更新、证书自动续期、证书自动续签、证书管理工具 @@ -17,4 +17,14 @@ Certd 是一个免费全自动申请和自动部署更新SSL证书的工具。 * 支持sqlite,postgresql数据库 +## 二、一些说明 +* 本项目申请证书过程遵循acme协议 +* 需要验证域名所有权,一般有两种方式 + * http-01: 在网站根目录下放置一份txt文件 + * dns-01: 需要给域名添加txt解析记录,通配符域名只能用这种方式(本项目仅支持dns-01) +* 证书续期: + * 实际上没有办法不改变证书文件本身情况下直接续期或者续签。 + * 我们所说的续期,其实就是按照全套流程重新申请一份新证书,然后重新部署上去。 +* 免费证书过期时间90天,以后可能还会缩短,所以自动化部署必不可少 +* 设置每天自动运行,当证书过期前20天,会自动重新申请证书并部署 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/use/host/windows.md b/docs/guide/use/host/windows.md index bf25656d..301fb2c5 100644 --- a/docs/guide/use/host/windows.md +++ b/docs/guide/use/host/windows.md @@ -3,22 +3,22 @@ 远程主机基于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/docs/index.md b/docs/index.md index 48866570..8710a89b 100644 --- a/docs/index.md +++ b/docs/index.md @@ -4,7 +4,7 @@ layout: home hero: name: "Certd" - text: "全自动申请、部署证书管理工具" + text: "开源、免费、全自动的证书管理工具" tagline: 让你的网站证书永不过期 image: src: /static/logo/logo.svg @@ -27,9 +27,9 @@ features: details: 支持部署到主机、阿里云、腾讯云等,目前已支持30+部署插件 - title: 多域名、泛域名打到一个证书上 details: 支持通配符域名/泛域名,支持多个域名打到一个证书上 - - title: 多证书格式 + - title: 多证书格式支持 details: 支持pem、pfx、der等多种证书格式 - - title: 私有化安装 + - title: 支持私有化部署 details: 保障数据安全 - title: 多数据库支持 details: 支持sqlite,postgresql数据库