# 📦 推送到 Gitea 说明 ## 🎯 您的 Gitea 仓库 **仓库地址**: https://git.ylcomm.cn/dengxiongjian/mosdns **用户名**: dengxiongjian --- ## ✅ 已完成的准备工作 ### 1. 文档链接已更新 所有文档中的占位符链接已替换为您的实际 Gitea 地址: - ✅ README.md - ✅ CHANGELOG.md - ✅ 发布前检查清单.md ### 2. 新增的核心功能 本次更新包含以下重大功能: #### 🛡️ 智能防污染系统 - `smart_fallback` 插件 - 自动检测 DNS 污染并切换上游 - 支持 CN IP 检测 #### 🎨 Web 管理界面 - Vue 3 + TypeScript 前端 - 实时监控和统计 - 可视化规则管理 - 配置在线编辑 #### 🔄 配置热加载 - `HotReloadManager` 模块 - 零停机更新配置 - 自动验证和回滚 #### ⚡ 一键部署 - `init` 命令 - 自动生成配置文件和目录 - 3 步快速启动 #### 🧠 智能拓扑排序 - 自动分析插件依赖 - 支持任意配置顺序 - 循环依赖检测 #### 📡 规则管理优化 - 智能文件名匹配 - 完整的 CRUD API - Web 界面规则管理 --- ## 🚀 推送步骤 ### 方式 1: 使用自动脚本(推荐) ```bash # 运行推送脚本 ./推送到Gitea.sh ``` 脚本会自动: 1. 检查并初始化 Git 仓库 2. 配置远程仓库 3. 添加所有文件 4. 提交更改 5. 推送到 Gitea ### 方式 2: 手动推送 ```bash # 1. 查看当前状态 git status # 2. 添加所有文件 git add . # 3. 提交 git commit -m "更新: YLTX-MosDNS v1.0.0 完整版 新增功能: - 智能防污染系统 - Web 管理界面 - 配置热加载 - 一键部署 - 智能拓扑排序 - 完整的 RESTful API 详见 CHANGELOG.md" # 4. 推送到 Gitea git push -u origin main ``` --- ## 📝 提交信息建议 ``` 更新: YLTX-MosDNS v1.0.0 完整版 新增功能: - 🛡️ 智能防污染系统 (smart_fallback 插件) - 🎨 Web 管理界面 (Vue 3 + TypeScript) - 🔄 配置热加载 (HotReloadManager) - ⚡ 一键部署 (init 命令) - 🧠 智能拓扑排序 (自动依赖分析) - 📡 规则管理优化 (CRUD API) 文档更新: - README.md 完全重写,突出新功能 - 新增 CHANGELOG.md 详细更新日志 - 新增多份部署和使用指南 - 新增 Gitea 发布指南 Bug 修复: - 修复拓扑排序算法错误 - 修复规则删除文件名匹配问题 - 修复构建脚本兼容性问题 详见 CHANGELOG.md ``` --- ## 🔍 推送前检查 ### 必须完成 - [x] 文档链接已更新为 Gitea 地址 - [x] .gitignore 已配置 - [ ] 编译测试通过 - [ ] 功能测试通过 - [ ] 敏感信息已删除 ### 推荐完成 - [ ] 测试 init 命令 - [ ] 测试 Web UI - [ ] 测试热加载功能 - [ ] 检查日志文件 --- ## 📦 推送后操作 ### 1. 在 Gitea 创建 Release(可选) 1. 访问: https://git.ylcomm.cn/dengxiongjian/mosdns 2. 点击 "发行版" 或 "Releases" 3. 点击 "新建发行版" 4. 填写信息: - **标签**: `v1.0.0` - **目标**: `main` - **标题**: `YLTX-MosDNS v1.0.0 - 完整版` - **描述**: 复制下面的 Release Notes #### Release Notes ```markdown ## YLTX-MosDNS v1.0.0 基于 MosDNS v5 的增强版本,专注于智能防污染和易用性。 ### 🌟 核心功能 - **🛡️ 智能防污染系统** - 自动检测 DNS 污染并切换上游 - **🎨 Web 管理界面** - Vue 3 可视化管理,无需编辑配置 - **🔄 配置热加载** - 零停机更新配置 - **⚡ 一键部署** - `init` 命令 3 步快速启动 - **🧠 智能拓扑排序** - 支持任意插件配置顺序 - **📡 规则管理优化** - 完整的 CRUD API ### 📦 下载 编译所有平台版本: bash bash build-all-platforms.sh <<< "A" ### 🚀 快速开始 bash # 1. 下载并初始化 ./mosdns-linux-amd64 init # 2. 修改端口(可选) sed -i 's/:53/:5310/g' config.yaml # 3. 启动 ./mosdns-linux-amd64 start -c config.yaml 访问 http://localhost:5555 进入 Web 管理界面 ### 📚 文档 - [README](./README.md) - [快速部署指南](./快速部署指南.md) - [CHANGELOG](./CHANGELOG.md) ### 🙏 致谢 感谢 [@IrineSistiana](https://github.com/IrineSistiana) 创建的原始 MosDNS 项目。 ``` ### 2. 上传编译好的二进制文件(可选) ```bash # 编译所有平台 bash build-all-platforms.sh <<< "A" # 打包 cd dist/ tar -czf mosdns-linux-amd64-v1.0.0.tar.gz mosdns-linux-amd64 tar -czf mosdns-linux-arm64-v1.0.0.tar.gz mosdns-linux-arm64 zip mosdns-windows-amd64-v1.0.0.zip mosdns-windows-amd64.exe tar -czf mosdns-darwin-amd64-v1.0.0.tar.gz mosdns-darwin-amd64 tar -czf mosdns-darwin-arm64-v1.0.0.tar.gz mosdns-darwin-arm64 # 在 Gitea Release 页面上传这些文件 ``` --- ## 🌐 团队使用 推送后,团队成员可以这样获取: ```bash # 克隆仓库 git clone https://git.ylcomm.cn/dengxiongjian/mosdns.git cd mosdns # 初始化配置 ./dist/mosdns-linux-amd64 init # 启动服务 ./dist/mosdns-linux-amd64 start -c config.yaml ``` --- ## 📊 推送统计 推送到 Gitea 后,您将看到: - **新增代码**: ~3,500 行 Go 代码 - **新增文档**: ~10 份 Markdown 文档 - **新增功能**: 6 个重大功能模块 - **Bug 修复**: 6 个关键问题 --- ## ⚠️ 注意事项 1. **Web UI 资源**: 确保 `web-ui/dist/` 已构建 ```bash cd web-ui npm install npm run build cd .. ``` 2. **敏感信息**: 检查是否有配置文件包含密码 ```bash grep -r "password" *.yaml ``` 3. **大文件**: Gitea 默认限制文件大小,避免提交编译产物 ```bash # .gitignore 已配置,但请确认 cat .gitignore | grep dist ``` --- ## ✅ 完成清单 推送前最后确认: - [x] Git 链接已更新 - [x] 推送脚本已创建 - [ ] 代码已测试 - [ ] 文档已检查 - [ ] .gitignore 已配置 - [ ] 准备好推送 **准备好了就运行**: `./推送到Gitea.sh` --- 🎉 **祝推送顺利!**