7.6 KiB
7.6 KiB
📋 Gitea 发布指南
🎯 推送到 Gitea 的步骤
1. 准备工作
替换文档中的链接
# 替换为你的 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/mosdnshttp://192.168.1.100:3000/username/mosdns
2. 清理和准备
# 清理不需要的文件
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 仓库
# 如果还没有初始化
git init
# 配置用户信息(首次使用)
git config user.name "你的名字"
git config user.email "your.email@example.com"
# 查看状态
git status
4. 添加和提交
# 添加所有文件
git add .
# 查看将要提交的文件
git status
# 提交
git commit -m "Initial commit: YLTX-MosDNS v1.0.0
核心功能:
- 智能防污染系统
- Web 管理界面
- 配置热加载
- 一键部署 (init 命令)
- 智能拓扑排序
- MikroTik 集成
- 完整的 RESTful API
详见 CHANGELOG.md"
5. 在 Gitea 创建仓库
-
登录你的 Gitea 实例
-
点击右上角 "+" → "新建仓库"
-
填写仓库信息:
- 仓库名称:
mosdns或yltx-mosdns - 描述:
YLTX-MosDNS - 智能防污染 DNS 服务器 - 可见性: 公开/私有(根据需求)
- 初始化: 不要勾选任何初始化选项
- 仓库名称:
-
点击 "创建仓库"
6. 关联远程仓库并推送
# 添加远程仓库(替换为你的实际地址)
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 功能:
-
在仓库页面点击 "发行版" 或 "Releases"
-
点击 "新建发行版"
-
填写信息:
- 标签名称:
v1.0.0 - 目标分支:
main - 发行版标题:
YLTX-MosDNS v1.0.0 - 描述: 粘贴 Release Notes(见下文)
- 标签名称:
-
上传编译好的二进制文件:
# 先编译所有平台 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 -
点击 "发布发行版"
📝 Release Notes 模板
## 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 命令
日常更新
# 查看状态
git status
# 添加修改的文件
git add .
# 提交
git commit -m "描述修改内容"
# 推送
git push
创建新版本
# 创建标签
git tag -a v1.1.0 -m "Release v1.1.0"
# 推送标签
git push origin v1.1.0
# 推送所有标签
git push --tags
查看历史
# 查看提交历史
git log --oneline
# 查看标签
git tag
🌐 Gitea 特色功能
1. Wiki
如果你的 Gitea 启用了 Wiki 功能,可以创建详细的文档:
- 安装指南
- 配置说明
- 故障排查
- API 文档
2. Issues
用户可以通过 Issues 报告问题和提建议
3. Pull Requests
接受社区贡献
4. Actions (CI/CD)
如果启用了 Gitea Actions,可以配置自动构建:
# .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 支持标签:
dnsdns-serversmart-dnsanti-pollutiongolangvuemikrotikmosdns
网站链接
如果部署了在线演示或文档站点,可以在仓库设置中添加
🔐 SSH 密钥配置(推荐)
使用 SSH 更安全且无需每次输入密码:
# 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 后,你的团队成员可以通过以下方式获取:
# 克隆仓库
git clone https://你的Gitea地址/你的用户名/mosdns.git
# 或使用 SSH
git clone git@你的Gitea地址:你的用户名/mosdns.git
享受你的私有 Git 服务器! 🚀