简化 Debian 发布流程并添加项目文档系统
All checks were successful
Build and Release / build-and-test (arm64, alpine) (push) Successful in -13s
Build and Release / build-and-test (amd64, alpine) (push) Successful in -6s
Build and Release / build-and-test (arm64, ubuntu) (push) Successful in -7s
Build and Release / build-and-test (amd64, ubuntu) (push) Successful in 7s
Build and Release / release (push) Successful in 21s
All checks were successful
Build and Release / build-and-test (arm64, alpine) (push) Successful in -13s
Build and Release / build-and-test (amd64, alpine) (push) Successful in -6s
Build and Release / build-and-test (arm64, ubuntu) (push) Successful in -7s
Build and Release / build-and-test (amd64, ubuntu) (push) Successful in 7s
Build and Release / release (push) Successful in 21s
- 将 Debian 包仓库从 bookworm/trixie 双发行版改为通用 stable 仓库 - 新增完整的 llmdoc 文档系统,包含架构、指南和参考文档 - 更新 README.md 和部署指南以反映新的仓库配置 - 添加 .gitignore 文件
This commit is contained in:
62
llmdoc/reference/coding-conventions.md
Normal file
62
llmdoc/reference/coding-conventions.md
Normal file
@@ -0,0 +1,62 @@
|
||||
# Shell 脚本编码规范
|
||||
|
||||
## 1. 基本原则
|
||||
|
||||
### 1.1 Shell 类型
|
||||
- 优先使用 `#!/bin/sh`(POSIX shell)
|
||||
- 复杂脚本可使用 `#!/bin/bash`
|
||||
|
||||
### 1.2 安全性与健壮性
|
||||
- 始终使用 `set -e` 在任何错误发生时立即退出脚本
|
||||
- 对关键步骤进行错误检查和参数验证
|
||||
|
||||
## 2. 脚本结构
|
||||
|
||||
### 2.1 参数检查
|
||||
- 在脚本开始阶段进行参数数量和类型验证
|
||||
- 提供清晰的使用说明和示例
|
||||
- 对不合法输入给出明确的错误消息并退出
|
||||
|
||||
### 2.2 变量命名
|
||||
- 使用全大写字母表示常量和环境变量(如 `PRODUCT_NAME`)
|
||||
- 使用小写字母并用下划线分隔表示局部变量(如 `build_dir`)
|
||||
- 避免使用单字母变量名
|
||||
|
||||
## 3. 错误处理
|
||||
|
||||
### 3.1 临时文件管理
|
||||
- 使用 `mktemp` 创建安全的临时目录
|
||||
- 使用 `trap` 确保临时文件/目录在脚本结束时被清理
|
||||
|
||||
### 3.2 错误输出
|
||||
- 使用 `>&2` 将错误信息输出到标准错误流
|
||||
- 对于错误情况,使用非零退出码
|
||||
|
||||
## 4. 控制流
|
||||
|
||||
### 4.1 条件语句
|
||||
- 使用 `[ ]` 进行条件测试(兼容性更好)
|
||||
- 避免复杂的嵌套条件语句,保持代码清晰
|
||||
|
||||
### 4.2 循环和分支
|
||||
- 在 `case` 语句中总是包含 `*)` 通配分支
|
||||
- 对于复杂的条件选择,使用 `case` 而非过长的 `if-elif` 链
|
||||
|
||||
## 5. 注释与文档
|
||||
|
||||
### 5.1 注释风格
|
||||
- 使用 `#` 进行单行注释
|
||||
- 为复杂的命令或逻辑块添加简洁的注释说明
|
||||
- 在脚本顶部添加简要的脚本用途说明
|
||||
|
||||
## 6. 执行与权限
|
||||
|
||||
### 6.1 文件权限
|
||||
- 明确设置脚本和生成文件的执行权限
|
||||
- 对于系统服务文件,使用标准权限模式(如 `755`、`644`)
|
||||
|
||||
## 7. 实践建议
|
||||
|
||||
- 保持脚本简洁,单一职责
|
||||
- 避免使用晦涩的命令和技巧
|
||||
- 优先考虑可读性和可维护性
|
||||
39
llmdoc/reference/configuration-options.md
Normal file
39
llmdoc/reference/configuration-options.md
Normal file
@@ -0,0 +1,39 @@
|
||||
# XXXigCC Proxy 配置选项参考
|
||||
|
||||
## 配置文件位置
|
||||
- Debian 包:`/etc/xxxigcc-proxy/config.json`
|
||||
- 二进制版本:`./config.json`
|
||||
|
||||
## 核心配置选项
|
||||
|
||||
### 网络配置
|
||||
- `bind`: 监听地址和端口
|
||||
- 类型:字符串
|
||||
- 默认值:`"0.0.0.0:3333"`
|
||||
- 示例:`"127.0.0.1:8080"`
|
||||
|
||||
### 矿池配置
|
||||
- `pools`: 上游矿池列表
|
||||
- 类型:数组
|
||||
- 每个矿池包含:
|
||||
- `url`: 矿池地址和端口
|
||||
- `user`: 钱包地址
|
||||
- `pass`: 矿池认证密码
|
||||
|
||||
### 日志配置
|
||||
- `log-file`: 常规日志文件路径
|
||||
- 类型:字符串
|
||||
- 默认值:`"/var/log/xxxigcc-proxy/proxy.log"`
|
||||
|
||||
- `access-log-file`: 访问日志文件路径
|
||||
- 类型:字符串
|
||||
- 默认值:`"/var/log/xxxigcc-proxy/access.log"`
|
||||
|
||||
### 性能配置
|
||||
- `workers`: 工作线程数
|
||||
- 类型:整数
|
||||
- 默认值:根据 CPU 核心数自动调整
|
||||
|
||||
## 源代码引用
|
||||
- 默认配置:`src/config/default_config.json`
|
||||
- 配置解析:`src/config/config_parser.cpp`
|
||||
49
llmdoc/reference/debian-package-structure.md
Normal file
49
llmdoc/reference/debian-package-structure.md
Normal file
@@ -0,0 +1,49 @@
|
||||
# Debian 包结构参考
|
||||
|
||||
## 目录结构
|
||||
|
||||
```
|
||||
xxxigcc-proxy_3.4.8-xg1_amd64/
|
||||
├── DEBIAN/
|
||||
│ ├── control # 包元数据
|
||||
│ ├── postinst # 安装后脚本
|
||||
│ ├── prerm # 移除前脚本
|
||||
│ └── postrm # 移除后脚本
|
||||
│
|
||||
├── opt/xxxigcc-proxy/
|
||||
│ ├── xxxigcc-proxy # 主二进制文件
|
||||
│ └── config.json # 默认配置
|
||||
│
|
||||
└── lib/systemd/system/
|
||||
└── xxxigcc-proxy.service # Systemd 服务文件
|
||||
```
|
||||
|
||||
## 关键文件说明
|
||||
|
||||
### DEBIAN/control
|
||||
- 定义包的基本信息
|
||||
- 指定依赖关系
|
||||
- 提供描述性元数据
|
||||
|
||||
### 维护脚本
|
||||
- `postinst`:安装后配置
|
||||
- `prerm`:停止服务、准备卸载
|
||||
- `postrm`:清理残留文件
|
||||
|
||||
### 二进制文件
|
||||
- 位于 `/opt/xxxigcc-proxy/`
|
||||
- 默认权限:`755`(可执行)
|
||||
|
||||
## 依赖关系
|
||||
|
||||
必需依赖:
|
||||
- `libc6`
|
||||
- `libuv1`
|
||||
- `libssl3` 或 `libssl1.1`
|
||||
- `libhwloc15` 或 `libhwloc5`
|
||||
|
||||
## 安全注意事项
|
||||
|
||||
- 严格控制文件权限
|
||||
- 使用专用用户和组
|
||||
- 最小化安装目录权限
|
||||
43
llmdoc/reference/git-conventions.md
Normal file
43
llmdoc/reference/git-conventions.md
Normal file
@@ -0,0 +1,43 @@
|
||||
# Git 规范指南
|
||||
|
||||
## 1. 提交信息规范
|
||||
|
||||
### 提交信息类型
|
||||
- **功能改进**:`更新`(如 "更新版本")
|
||||
- **新增特性**:`添加`(如 "添加对 Tari Solo 的支持")
|
||||
- **文档更新**:`修改`(如 "修改 README")
|
||||
- **代码清理**:`删除`(如 "删除多余行")
|
||||
|
||||
### 提交信息要求
|
||||
- 使用简体中文
|
||||
- 简洁明了,不超过 50 个字符
|
||||
- 描述具体的变更目的和影响
|
||||
|
||||
## 2. 分支管理策略
|
||||
|
||||
### 主要分支
|
||||
- `main`:稳定发布分支
|
||||
- 仅接受经过充分测试的代码
|
||||
- 直接反映生产环境状态
|
||||
|
||||
### 开发流程
|
||||
1. 从 `main` 创建功能分支
|
||||
2. 开发并完成功能
|
||||
3. 提交 Pull Request 到 `main`
|
||||
4. 代码审查通过后合并
|
||||
|
||||
## 3. 标签管理
|
||||
|
||||
### 版本号命名
|
||||
- 格式:`v主版本.次版本.修订版`
|
||||
- 示例:`v1.0.0`
|
||||
|
||||
### 标签用途
|
||||
- 标记重要的发布版本
|
||||
- 便于版本回溯和追踪
|
||||
|
||||
## 4. 最佳实践
|
||||
|
||||
- 保持提交原子性
|
||||
- 每个提交完成一个独立的逻辑功能
|
||||
- 提交前确保代码通过基本测试
|
||||
37
llmdoc/reference/modification-checklist.md
Normal file
37
llmdoc/reference/modification-checklist.md
Normal file
@@ -0,0 +1,37 @@
|
||||
# 源代码修改清单
|
||||
|
||||
## 1. 项目重命名
|
||||
- [ ] 修改 `CMakeLists.txt` 中的项目名称
|
||||
- [ ] 替换 `project(xmrigcc-proxy)` 为 `project(xxxigcc-proxy)`
|
||||
|
||||
## 2. 捐赠功能修改
|
||||
### 2.1 捐赠级别设置
|
||||
- [ ] `src/donate.h`:将 `kDefaultDonateLevel` 从 2 修改为 0
|
||||
- [ ] `src/core/config/Config_platform.h`:将 `donate-level` 从 1 修改为 0
|
||||
- [ ] `src/config.json`:将 `"donate-level"` 从 2 修改为 0
|
||||
|
||||
### 2.2 捐赠服务器地址
|
||||
- [ ] `src/net/strategies/DonateStrategy.cpp`:
|
||||
- [ ] 替换 `donate.graef.in` 为 `127.0.0.1`
|
||||
- [ ] 替换 `87.106.163.52` 为 `127.0.0.1`
|
||||
|
||||
## 3. 版本信息定制
|
||||
- [ ] `src/version.h`:
|
||||
- [ ] 替换 "xmrigcc" 为 "xxxigcc"
|
||||
- [ ] 替换 "XMRigCC" 为 "XXXigCC"
|
||||
|
||||
## 4. 调试配置
|
||||
- [ ] `src/config.json`:将 `"verbose"` 设置为 `true`
|
||||
|
||||
## 5. 验证清单
|
||||
- [ ] 所有 sed 命令已执行
|
||||
- [ ] 捐赠功能已完全禁用
|
||||
- [ ] 项目名称已更新
|
||||
- [ ] 详细日志已启用
|
||||
- [ ] 构建通过单元测试
|
||||
- [ ] 手动功能测试完成
|
||||
|
||||
## 6. 注意事项
|
||||
- 始终在源代码版本控制下工作
|
||||
- 为修改创建单独的分支
|
||||
- 保留原始项目的基本功能架构
|
||||
Reference in New Issue
Block a user