mosdns/Gitea发布指南.md

371 lines
7.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 📋 Gitea 发布指南
## 🎯 推送到 Gitea 的步骤
### 1. 准备工作
#### 替换文档中的链接
```bash
# 替换为你的 Gitea 地址和仓库
GITEA_URL="https://你的Gitea地址"
GITEA_USER="你的用户名"
GITEA_REPO="mosdns"
# 批量替换
sed -i "s|https://github.com/your-repo/mosdns|${GITEA_URL}/${GITEA_USER}/${GITEA_REPO}|g" README.md CHANGELOG.md 发布前检查清单.md
```
或者手动替换为你的实际地址,例如:
- `https://git.example.com/username/mosdns`
- `http://192.168.1.100:3000/username/mosdns`
### 2. 清理和准备
```bash
# 清理不需要的文件
rm -rf dist/
rm -rf web-ui/node_modules/
rm -rf web-ui/dist/
rm -f *.log
rm -f cache.dump
# 确保 .gitignore 已配置
cat .gitignore
```
### 3. 初始化 Git 仓库
```bash
# 如果还没有初始化
git init
# 配置用户信息(首次使用)
git config user.name "你的名字"
git config user.email "your.email@example.com"
# 查看状态
git status
```
### 4. 添加和提交
```bash
# 添加所有文件
git add .
# 查看将要提交的文件
git status
# 提交
git commit -m "Initial commit: YLTX-MosDNS v1.0.0
核心功能:
- 智能防污染系统
- Web 管理界面
- 配置热加载
- 一键部署 (init 命令)
- 智能拓扑排序
- MikroTik 集成
- 完整的 RESTful API
详见 CHANGELOG.md"
```
### 5. 在 Gitea 创建仓库
1. 登录你的 Gitea 实例
2. 点击右上角 "+" → "新建仓库"
3. 填写仓库信息:
- **仓库名称**: `mosdns``yltx-mosdns`
- **描述**: `YLTX-MosDNS - 智能防污染 DNS 服务器`
- **可见性**: 公开/私有(根据需求)
- **初始化**: 不要勾选任何初始化选项
4. 点击 "创建仓库"
### 6. 关联远程仓库并推送
```bash
# 添加远程仓库(替换为你的实际地址)
git remote add origin https://你的Gitea地址/你的用户名/mosdns.git
# 或者使用 SSH推荐
git remote add origin git@你的Gitea地址:你的用户名/mosdns.git
# 查看远程仓库
git remote -v
# 推送到主分支
git branch -M main
git push -u origin main
```
### 7. 创建 Release可选
Gitea 也支持 Release 功能:
1. 在仓库页面点击 "发行版" 或 "Releases"
2. 点击 "新建发行版"
3. 填写信息:
- **标签名称**: `v1.0.0`
- **目标分支**: `main`
- **发行版标题**: `YLTX-MosDNS v1.0.0`
- **描述**: 粘贴 Release Notes见下文
4. 上传编译好的二进制文件:
```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
```
5. 点击 "发布发行版"
---
## 📝 Release Notes 模板
```markdown
## YLTX-MosDNS v1.0.0
基于 MosDNS v5 的增强版本,专注于智能防污染和易用性。
### 🌟 核心功能
- **🛡️ 智能防污染系统** - 自动检测 DNS 污染并切换上游
- **🎨 Web 管理界面** - Vue 3 可视化管理,无需编辑配置
- **🔄 配置热加载** - 零停机更新配置
- **⚡ 一键部署** - `init` 命令 3 步快速启动
- **🧠 智能拓扑排序** - 支持任意插件配置顺序
- **📡 MikroTik 集成** - 自动同步到路由器地址列表
### 📦 下载
| 平台 | 架构 | 文件名 |
|------|------|--------|
| Linux | AMD64 | mosdns-linux-amd64-v1.0.0.tar.gz |
| Linux | ARM64 | mosdns-linux-arm64-v1.0.0.tar.gz |
| Windows | AMD64 | mosdns-windows-amd64-v1.0.0.zip |
| macOS | Intel | mosdns-darwin-amd64-v1.0.0.tar.gz |
| macOS | Apple Silicon | mosdns-darwin-arm64-v1.0.0.tar.gz |
### 🚀 快速开始
bash
# Linux/macOS
tar -xzf mosdns-linux-amd64-v1.0.0.tar.gz
./mosdns-linux-amd64 init
sed -i 's/:53/:5310/g' config.yaml
./mosdns-linux-amd64 start -c config.yaml
# Windows
# 解压 zip 文件
mosdns-windows-amd64.exe init
# 编辑 config.yaml修改端口为 5310
mosdns-windows-amd64.exe start -c config.yaml
访问 http://localhost:5555 进入 Web 管理界面
### 📚 文档
- [README](./README.md) - 项目文档
- [快速部署指南](./快速部署指南.md)
- [一键部署说明](./README-一键部署.md)
- [架构设计文档](./yltx-dns-智能防污染系统-架构设计文档.md)
- [更新日志](./CHANGELOG.md)
### ⚠️ 注意事项
1. 默认端口 53 需要 root/管理员权限
2. 建议下载完整的 CN IP 和域名数据文件
3. Web UI 默认监听 0.0.0.0:5555生产环境建议配置反向代理
### 🙏 致谢
感谢 [@IrineSistiana](https://github.com/IrineSistiana) 创建的原始 MosDNS 项目。
### 📄 许可证
GPL v3
```
---
## 🔧 常用 Git 命令
### 日常更新
```bash
# 查看状态
git status
# 添加修改的文件
git add .
# 提交
git commit -m "描述修改内容"
# 推送
git push
```
### 创建新版本
```bash
# 创建标签
git tag -a v1.1.0 -m "Release v1.1.0"
# 推送标签
git push origin v1.1.0
# 推送所有标签
git push --tags
```
### 查看历史
```bash
# 查看提交历史
git log --oneline
# 查看标签
git tag
```
---
## 🌐 Gitea 特色功能
### 1. Wiki
如果你的 Gitea 启用了 Wiki 功能,可以创建详细的文档:
- 安装指南
- 配置说明
- 故障排查
- API 文档
### 2. Issues
用户可以通过 Issues 报告问题和提建议
### 3. Pull Requests
接受社区贡献
### 4. Actions (CI/CD)
如果启用了 Gitea Actions可以配置自动构建
```yaml
# .gitea/workflows/build.yml
name: Build
on:
push:
tags:
- 'v*'
jobs:
build:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v3
- uses: actions/setup-go@v4
with:
go-version: '1.20'
- name: Build
run: bash build-all-platforms.sh <<< "A"
- name: Upload artifacts
uses: actions/upload-artifact@v3
with:
name: mosdns-binaries
path: dist/*
```
---
## 📊 仓库设置建议
### 仓库描述
```
YLTX-MosDNS - 智能防污染 DNS 服务器 | 基于 MosDNS v5 | Web 管理界面 | 配置热加载 | 一键部署
```
### 主题标签 (Topics)
如果 Gitea 支持标签:
- `dns`
- `dns-server`
- `smart-dns`
- `anti-pollution`
- `golang`
- `vue`
- `mikrotik`
- `mosdns`
### 网站链接
如果部署了在线演示或文档站点,可以在仓库设置中添加
---
## 🔐 SSH 密钥配置(推荐)
使用 SSH 更安全且无需每次输入密码:
```bash
# 1. 生成 SSH 密钥(如果还没有)
ssh-keygen -t ed25519 -C "your.email@example.com"
# 2. 查看公钥
cat ~/.ssh/id_ed25519.pub
# 3. 在 Gitea 添加 SSH 公钥
# - 登录 Gitea
# - 用户设置 → SSH/GPG 密钥
# - 添加密钥 → 粘贴公钥内容
# 4. 测试连接
ssh -T git@你的Gitea地址
# 5. 使用 SSH URL
git remote set-url origin git@你的Gitea地址:你的用户名/mosdns.git
```
---
## ✅ 快速检查清单
发布前确认:
- [ ] 替换所有链接为实际的 Gitea 地址
- [ ] 清理临时文件和编译产物
- [ ] 测试编译所有平台
- [ ] 测试 init 和启动功能
- [ ] 检查敏感信息已删除
- [ ] Git 仓库已初始化
- [ ] 远程仓库已创建
- [ ] 代码已推送成功
- [ ] Release 已创建(可选)
- [ ] 二进制文件已上传(可选)
---
## 🎉 完成!
推送到 Gitea 后,你的团队成员可以通过以下方式获取:
```bash
# 克隆仓库
git clone https://你的Gitea地址/你的用户名/mosdns.git
# 或使用 SSH
git clone git@你的Gitea地址:你的用户名/mosdns.git
```
**享受你的私有 Git 服务器!** 🚀