mosdns/Gitea发布指南.md

7.6 KiB
Raw Blame History

📋 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/mosdns
  • http://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 创建仓库

  1. 登录你的 Gitea 实例

  2. 点击右上角 "+" → "新建仓库"

  3. 填写仓库信息:

    • 仓库名称: mosdnsyltx-mosdns
    • 描述: YLTX-MosDNS - 智能防污染 DNS 服务器
    • 可见性: 公开/私有(根据需求)
    • 初始化: 不要勾选任何初始化选项
  4. 点击 "创建仓库"

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 功能:

  1. 在仓库页面点击 "发行版" 或 "Releases"

  2. 点击 "新建发行版"

  3. 填写信息:

    • 标签名称: v1.0.0
    • 目标分支: main
    • 发行版标题: YLTX-MosDNS v1.0.0
    • 描述: 粘贴 Release Notes见下文
  4. 上传编译好的二进制文件:

    # 先编译所有平台
    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 模板

## 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 支持标签:

  • dns
  • dns-server
  • smart-dns
  • anti-pollution
  • golang
  • vue
  • mikrotik
  • mosdns

网站链接

如果部署了在线演示或文档站点,可以在仓库设置中添加


🔐 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 服务器! 🚀