diff --git a/.github/README.md b/.github/README.md index 39ae73de..b8b7596d 100644 --- a/.github/README.md +++ b/.github/README.md @@ -87,6 +87,7 @@ | 🟢 | | Artalk | https://artalk.js.org/ | 一个自托管的评论系统 | | | 🟢 | | Bark | https://bark.day.app/ | 一款注重隐私、安全可控的自定义通知推送工具 | | | 🟢 | | Casdoor | https://casdoor.org/ | 身份和访问管理(IAM)/单点登录(SSO)平台 | | +| 🟢 | | Certimate | https://docs.certimate.me/ | SSL证书管理工具 | | | 🟢 | | Cookie Cloud | https://github.com/easychen/CookieCloud/ | CookieCloud是一个和自架服务器同步浏览器Cookie和LocalStorage的小工具 | | | 🟢 | | DeepLX | https://deeplx.owo.network/ | DeepL免费API(无需TOKEN) | | | 🟢 | | Dockge | https://dockge.kuma.pet/ | 面向堆栈的管理器 | | diff --git a/README.md b/README.md index 7765df39..bd63c97f 100644 --- a/README.md +++ b/README.md @@ -70,6 +70,7 @@ | 🟢 | | Artalk | https://artalk.js.org/ | 一个自托管的评论系统 | | | 🟢 | | Bark | https://bark.day.app/ | 一款注重隐私、安全可控的自定义通知推送工具 | | | 🟢 | | Casdoor | https://casdoor.org/ | 身份和访问管理(IAM)/单点登录(SSO)平台 | | +| 🟢 | | Certimate | https://docs.certimate.me/ | SSL证书管理工具 | | | 🟢 | | Cookie Cloud | https://github.com/easychen/CookieCloud/ | CookieCloud是一个和自架服务器同步浏览器Cookie和LocalStorage的小工具 | | | 🟢 | | DeepLX | https://deeplx.owo.network/ | DeepL免费API(无需TOKEN) | | | 🟢 | | Dockge | https://dockge.kuma.pet/ | 面向堆栈的管理器 | | diff --git a/apps/certimate/0.2.0/data.yml b/apps/certimate/0.2.0/data.yml new file mode 100644 index 00000000..c0168363 --- /dev/null +++ b/apps/certimate/0.2.0/data.yml @@ -0,0 +1,17 @@ +additionalProperties: + formFields: + - default: "/home/certimate" + edit: true + envKey: CERTIMATE_ROOT_PATH + labelZh: 数据持久化路径 + labelEn: Data persistence path + required: true + type: text + - default: 8090 + edit: true + envKey: PANEL_APP_PORT_HTTP + labelZh: Web UI 端口 + labelEn: Web UI port + required: true + rule: paramPort + type: number diff --git a/apps/certimate/0.2.0/docker-compose.yml b/apps/certimate/0.2.0/docker-compose.yml new file mode 100644 index 00000000..cd688801 --- /dev/null +++ b/apps/certimate/0.2.0/docker-compose.yml @@ -0,0 +1,20 @@ +networks: + 1panel-network: + external: true + +services: + certimate: + image: usual2970/certimate:v0.2.0 + container_name: ${CONTAINER_NAME} + labels: + createdBy: "Apps" + restart: always + networks: + - 1panel-network + ports: + - ${PANEL_APP_PORT_HTTP}:8090 + env_file: + - /etc/1panel/envs/global.env + - ${ENV_FILE:-/etc/1panel/envs/default.env} + volumes: + - ${CERTIMATE_ROOT_PATH}/data:/app/pb_data diff --git a/apps/certimate/0.2.0/scripts/init.sh b/apps/certimate/0.2.0/scripts/init.sh new file mode 100644 index 00000000..77b84912 --- /dev/null +++ b/apps/certimate/0.2.0/scripts/init.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/certimate/0.2.0/scripts/uninstall.sh b/apps/certimate/0.2.0/scripts/uninstall.sh new file mode 100644 index 00000000..c86c4fbc --- /dev/null +++ b/apps/certimate/0.2.0/scripts/uninstall.sh @@ -0,0 +1,10 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/certimate/0.2.0/scripts/upgrade.sh b/apps/certimate/0.2.0/scripts/upgrade.sh new file mode 100644 index 00000000..77b84912 --- /dev/null +++ b/apps/certimate/0.2.0/scripts/upgrade.sh @@ -0,0 +1,15 @@ +#!/bin/bash + +if [ -f .env ]; then + source .env + + # setup-1 add default values + CURRENT_DIR=$(pwd) + sed -i '/^ENV_FILE=/d' .env + echo "ENV_FILE=${CURRENT_DIR}/.env" >> .env + + echo "Check Finish." + +else + echo "Error: .env file not found." +fi diff --git a/apps/certimate/README.md b/apps/certimate/README.md new file mode 100644 index 00000000..23b05c6c --- /dev/null +++ b/apps/certimate/README.md @@ -0,0 +1,58 @@ +# Certimate + +SSL证书管理工具 + +![Certimate](https://file.lifebus.top/imgs/certimate_cover.png) + +开源的SSL证书管理工具,可以帮助你自动申请、部署SSL证书,并在证书即将过期时自动续期。 + +An open-source SSL certificate management tool that helps you automatically apply for and deploy SSL certificates, as +well as automatically renew them when they are about to expire. + +![](https://img.shields.io/badge/%E6%96%B0%E7%96%86%E8%90%8C%E6%A3%AE%E8%BD%AF%E4%BB%B6%E5%BC%80%E5%8F%91%E5%B7%A5%E4%BD%9C%E5%AE%A4-%E6%8F%90%E4%BE%9B%E6%8A%80%E6%9C%AF%E6%94%AF%E6%8C%81-blue) + +## 简介 + +做个人产品或在小企业负责运维的同学,需要管理多个域名,要给域名申请证书。但手动申请证书有以下缺点: + +😱麻烦:申请、部署证书虽不困难,但也挺麻烦的,尤其是维护多个域名的时候。 + +😭易忘:当前免费证书有效期仅90天,这就要求定期操作,增加工作量的同时,也很容易忘掉,导致网站无法访问。 + +Certimate 就是为了解决上述问题而产生的,它具有以下特点: + ++ 操作简单:自动申请、部署、续期 SSL 证书,全程无需人工干预。 ++ 支持私有部署:部署方法简单,只需下载二进制文件执行即可。二进制文件、docker 镜像全部用 github actions 生成,过程透明,可自行审计。 ++ 数据安全:由于是私有部署,所有数据均存储在本地,不会保存在服务商的服务器,确保数据的安全性。 + +## 概念 + +Certimate 的工作流程如下: + ++ 用户通过 Certimate 管理页面填写申请证书的信息,包括域名、dns 服务商的授权信息、以及要部署到的服务商的授权信息。 ++ Certimate 向证书场商的 API 发起申请请求,获取 SSL 证书。 ++ Certimate 存储证书信息,包括证书内容、私钥、证书有效期等,并在证书即将过期时自动续期。 ++ Certimate 向服务商的 API 发起部署请求,将证书部署到服务商的服务器上。 + +这就涉及域名、dns 服务商的授权信息、部署服务商的授权信息等。 + +## 支持的服务商列表 + +| 服务商 | 是否域名服务商 | 是否部署服务 | 备注 | +|------------|---------|--------|------------------------------------------| +| 阿里云 | 是 | 是 | 支持阿里云注册的域名,支持部署到阿里云 CDN,OSS | +| 腾讯云 | 是 | 是 | 支持腾讯云注册的域名,支持部署到腾讯云 CDN | +| 七牛云 | 否 | 是 | 七牛云没有注册域名服务,支持部署到七牛云 CDN | +| CloudFlare | 是 | 否 | 支持 CloudFlare 注册的域名,CloudFlare 服务自带SSL证书 | +| SSH | 否 | 是 | 支持部署到 SSH 服务器 | +| WEBHOOK | 否 | 是 | 支持回调到 WEBHOOK | + +## 安装说明 + +> 用户名 `admin@certimate.fun` +> +> 密码:`1234567890` + +--- + +![Ms Studio](https://file.lifebus.top/imgs/ms_blank_001.png) diff --git a/apps/certimate/data.yml b/apps/certimate/data.yml new file mode 100644 index 00000000..9284f549 --- /dev/null +++ b/apps/certimate/data.yml @@ -0,0 +1,16 @@ +additionalProperties: + key: certimate + name: Certimate + tags: + - WebSite + - Tool + - Middleware + - Local + shortDescZh: SSL证书管理工具 + shortDescEn: SSL Certificate Management Tool + type: website + crossVersionUpdate: true + limit: 0 + website: https://docs.certimate.me/ + github: https://github.com/usual2970/certimate/ + document: https://docs.certimate.me/docs/intro/ diff --git a/apps/certimate/logo.png b/apps/certimate/logo.png new file mode 100644 index 00000000..e95ace5c Binary files /dev/null and b/apps/certimate/logo.png differ