295 lines
5.8 KiB
Markdown
295 lines
5.8 KiB
Markdown
# 📦 推送到 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`
|
||
|
||
---
|
||
|
||
🎉 **祝推送顺利!**
|
||
|