添加SSL证书管理功能,包括安装、续期、列出、撤销和申请证书的命令,同时更新依赖项和修复磁盘使用情况计算逻辑。

This commit is contained in:
zeaslity
2025-03-27 23:06:41 +08:00
parent 8d09a4191a
commit d8554ae8ae
19 changed files with 2742 additions and 28 deletions

View File

@@ -0,0 +1,16 @@
---
description:
globs:
alwaysApply: true
---
# 你是一个精通cobra的大师熟知现代化CLI工具的开发能够实现架构健壮的CLI程序
- 能够设计出功能完善健壮的交互式CLI
# 项目代码风格要求
- 函数的参数注释,返回注释,功能注释
- 在代码编写过程中,使用 [CallerLog.go](mdc:agent-wdd/log/CallerLog.go) 多打印日志
- 代码中也有详细的流程说明,功能说明

View File

@@ -0,0 +1,35 @@
---
description: 关于WDD实现的证书管理工具的设计概要
globs:
alwaysApply: false
---
# 模块目的
- 设置一个SSL证书申请 有效期管理的简单工具
### 参考项目
- 是 https://github.com/cert-manager/cert-manager 的超级简化版本
- 是 https://github.com/acmesh-official/acme.sh 的平行替代版本
## 申请证书
- 输入一个域名可以支持Cloudflare DNS验证的方式申请域名
- 申请域名的格式默认为ec-256
- CA服务器 不要违反其滥用策略 保持合适的等待时间
- ZeroSSL
- Let's Encrypt
- 证书目录
- 设置默认的证书保存目录,按照域名的形式保存证书
- 通配域名 如 *.qq.com的文件夹名称用 x.qq.com表示
## 证书查看
- 能够查看所有申请的证书信息
- domain名称
- 注册时间
- 到期时间
- 是否需要更新有效期不足30天
## 证书更新
- 传入domain名称
- 查询该证书的详细信息
- 重新为该domain申请新的证书

View File

@@ -0,0 +1,144 @@
---
description: cloudflare相关的说明
globs:
alwaysApply: false
---
# Cloudflare 域管理及DNS管理功能
- cloudflare的统一返回结构体为
{
"result": any,
"result_info": {
"page": 1,
"per_page": 20,
"total_pages": 1,
"count": 1,
"total_count": 1
},
"success": true,
"errors": [
{
"code": 6003,
"message": "Invalid request headers",
"error_chain": [
{
"code": 6111,
"message": "Invalid format for Authorization header"
}
]
}
],
"messages": []
}
## domain管理功能
### domain的查询功能
- 返回结构体如下
{
"result": [
{
"id": "511894a4f1357feb905e974e16241ebb",
"name": "107421.xyz",
"status": "active",
"paused": false,
"type": "full",
"development_mode": 0,
"name_servers": [
"ali.ns.cloudflare.com",
"walt.ns.cloudflare.com"
],
"original_name_servers": [
"ns1.dnsowl.com",
"ns2.dnsowl.com",
"ns3.dnsowl.com"
],
"original_registrar": null,
"original_dnshost": null,
"modified_on": "2021-11-03T01:47:42.506130Z",
"created_on": "2021-11-03T01:33:07.447056Z",
"activated_on": "2021-11-03T01:47:42.506130Z",
"meta": {
"step": 2,
"custom_certificate_quota": 0,
"page_rule_quota": 3,
"phishing_detected": false
},
"owner": {
"id": null,
"type": "user",
"email": null
},
"account": {
"id": "dfaadeb83406ef5ad35da02617af9191",
"name": "Zeaslity@gmail.com's Account"
},
"tenant": {
"id": null,
"name": null
},
"tenant_unit": {
"id": null
},
"permissions": [
"#zone:read",
"#zone_settings:read",
"#dns_records:edit",
"#dns_records:read"
],
"plan": {
"id": "0feeeeeeeeeeeeeeeeeeeeeeeeeeeeee",
"name": "Free Website",
"price": 0,
"currency": "USD",
"frequency": "",
"is_subscribed": false,
"can_subscribe": false,
"legacy_id": "free",
"legacy_discount": false,
"externally_managed": false
}
}
],
"result_info": {
"page": 1,
"per_page": 20,
"total_pages": 1,
"count": 1,
"total_count": 1
},
"success": true,
"errors": [],
"messages": []
}
## DNS管理功能实现
- 需要实现特定domain的DNS的管理
- 参考文档 https://developers.cloudflare.com/api/resources/dns/subresources/records/
### 查询全部DNS记录
- 单条DNS记录的结构体如下 {
"id": "b940757dfd94e8e2941e2ec1b2ee0515",
"name": "mail.107421.xyz",
"type": "MX",
"content": "mx2.yuanyoupush.com",
"priority": 20,
"proxiable": false,
"proxied": false,
"ttl": 1,
"settings": {},
"meta": {},
"comment": "全自动邮箱",
"tags": [],
"created_on": "2025-03-15T05:56:37.296599Z",
"modified_on": "2025-03-15T05:57:08.180765Z",
"comment_modified_on": "2025-03-15T05:56:37.296599Z"
},
### 更新某个DNS记录
### 删除某个DNS记录
### 新增一个DNS记录