mosdns/Gitea更新说明.md

5.8 KiB
Raw Blame History

📦 推送到 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: 使用自动脚本(推荐)

# 运行推送脚本
./推送到Gitea.sh

脚本会自动:

  1. 检查并初始化 Git 仓库
  2. 配置远程仓库
  3. 添加所有文件
  4. 提交更改
  5. 推送到 Gitea

方式 2: 手动推送

# 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

🔍 推送前检查

必须完成

  • 文档链接已更新为 Gitea 地址
  • .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

## 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 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 页面上传这些文件

🌐 团队使用

推送后,团队成员可以这样获取:

# 克隆仓库
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/ 已构建

    cd web-ui
    npm install
    npm run build
    cd ..
    
  2. 敏感信息: 检查是否有配置文件包含密码

    grep -r "password" *.yaml
    
  3. 大文件: Gitea 默认限制文件大小,避免提交编译产物

    # .gitignore 已配置,但请确认
    cat .gitignore | grep dist
    

完成清单

推送前最后确认:

  • Git 链接已更新
  • 推送脚本已创建
  • 代码已测试
  • 文档已检查
  • .gitignore 已配置
  • 准备好推送

准备好了就运行: ./推送到Gitea.sh


🎉 祝推送顺利!