LibreDomains 是一个基于 GitHub 的二级域名分发服务,用户可以通过提交 Pull Request 的方式申请和管理自己的二级域名。项目使用 Python 脚本和 GitHub Actions 实现自动化验证和部署,通过 Cloudflare API 管理 DNS 记录。
- 多域名支持 (
ciao.su和ciallo.de) - 通过 GitHub Pull Request 申请子域名
- 自动验证子域名配置
- 支持多种 DNS 记录类型 (A, AAAA, CNAME, TXT, MX)
- Cloudflare API 集成
- Cloudflare Proxy 支持
- 子域名配置验证和错误提示
- 管理员域名管理工具
- 域名健康监控
- 域名使用统计
- 完善的中文文档
.
├── .github/ # GitHub 配置
│ ├── ISSUE_TEMPLATE/ # Issue 模板
│ └── workflows/ # GitHub Actions 工作流
├── config/ # 配置文件
├── docs/ # 文档
├── domains/ # 域名配置目录
│ ├── ciallo.de/ # ciallo.de 域名配置
│ └── ciao.su/ # ciao.su 域名配置
├── scripts/ # 脚本目录
│ ├── admin/ # 管理员工具
│ ├── bot/ # 机器人脚本
│ ├── cloudflare/ # Cloudflare API 脚本
│ ├── dns/ # DNS 工具
│ ├── health/ # 健康检查脚本
│ ├── stats/ # 统计脚本
│ ├── utils/ # 工具函数
│ └── validation/ # 验证脚本
└── README.md # 项目说明
-
域名验证器 (
scripts/validation/domain_validator.py)- 验证子域名格式
- 验证 JSON 配置
- 检查子域名是否可用
-
Cloudflare 管理器 (
scripts/cloudflare/cloudflare_manager.py)- 管理 DNS 记录
- 创建、更新、删除记录
- 同步域名配置
-
PR 检查器 (
scripts/bot/pr_checker.py)- 检查 Pull Request 中的文件
- 生成验证报告
-
域名健康检查 (
scripts/health/domain_health.py)- 检查域名健康状态
- 生成健康报告
-
管理员工具 (
scripts/admin/admin_tool.py)- 添加、更新、删除域名
- 管理子域名
-
域名统计 (
scripts/stats/domain_stats.py)- 生成域名使用统计
- 分析用户活跃度
-
验证域名申请 (
validate-domain.yml)- 验证 PR 中的域名配置
- 在 PR 中发表评论
-
部署域名配置 (
deploy-domains.yml)- 部署合并后的域名配置
- 使用 Cloudflare API 更新 DNS 记录
-
域名健康检查 (
health-check.yml)- 定期检查域名健康状态
- 生成健康报告
-
生成域名统计 (
generate-stats.yml)- 生成域名使用统计报告
- 用户 Fork 仓库
- 在 domains/[域名]/ 目录下创建 JSON 配置文件
- 提交 PR
- GitHub Actions 自动验证配置
- 管理员审核并合并 PR
- DNS 记录自动部署
- 使用管理员工具管理域名
- 审核用户提交的 PR
- 监控域名健康状态
- 分析域名使用统计
- 完全自动化: 验证、部署和监控全部自动化
- 用户友好: 详细的错误提示和使用指南
- 可扩展: 支持添加更多域名和记录类型
- 安全可靠: 严格的配置验证
- 中文界面: 完全的中文文档和提示信息
- 添加 Web 界面简化申请流程
- 支持更多的 DNS 记录类型
- 提供更详细的使用统计和可视化
- 实现更复杂的访问控制和权限管理
- 支持自定义域名验证规则