6 Commits

Author SHA1 Message Date
a4762d9fd7 feat: 添加 llmdoc 目录
All checks were successful
Build and Release / build-and-test (arm64, alpine) (push) Successful in 6s
Build and Release / build-and-test (amd64, alpine) (push) Successful in -38s
Build and Release / build-and-test (arm64, ubuntu) (push) Successful in 17s
Build and Release / build-and-test (amd64, ubuntu) (push) Successful in -25s
Build and Release / release (push) Has been skipped
2026-01-24 09:11:16 +08:00
a0815f2db2 fix: 更新权限设置,确保目录和文件归属正确 2026-01-24 09:10:43 +08:00
ed8f73de9f feat: 删除不再需要的文档和配置文件,清理项目结构 2026-01-24 09:10:07 +08:00
1bc9b1288a feat: 添加大页内存配置功能,更新相关安装脚本
All checks were successful
Build and Release / build-and-test (arm64, alpine) (push) Successful in -34s
Build and Release / build-and-test (amd64, alpine) (push) Successful in -37s
Build and Release / build-and-test (arm64, ubuntu) (push) Successful in -21s
Build and Release / build-and-test (amd64, ubuntu) (push) Successful in -25s
Build and Release / release (push) Successful in 16s
2026-01-23 11:47:56 +08:00
3399456f48 更新版本号至 3.4.9-xg1,调整相关文档和构建脚本示例
All checks were successful
Build and Release / build-and-test (arm64, alpine) (push) Successful in -21s
Build and Release / build-and-test (amd64, alpine) (push) Successful in -18s
Build and Release / build-and-test (arm64, ubuntu) (push) Successful in -9s
Build and Release / build-and-test (amd64, ubuntu) (push) Successful in -3s
Build and Release / release (push) Successful in 23s
2026-01-06 12:22:17 +08:00
4cd7d0453d 更新 APT 源配置,使用签名密钥增强安全性
All checks were successful
Build and Release / build-and-test (arm64, alpine) (push) Successful in -11s
Build and Release / build-and-test (amd64, alpine) (push) Successful in -4s
Build and Release / build-and-test (arm64, ubuntu) (push) Successful in 1s
Build and Release / build-and-test (amd64, ubuntu) (push) Successful in 11s
Build and Release / release (push) Has been skipped
2025-12-25 11:36:33 +08:00
17 changed files with 38 additions and 801 deletions

View File

@@ -9,7 +9,7 @@ on:
env: env:
DOCKER_BUILDKIT: "1" DOCKER_BUILDKIT: "1"
PRODUCT_NAME: "xxxigcc" PRODUCT_NAME: "xxxigcc"
PACKAGE_VERSION: "3.4.8-xg1" PACKAGE_VERSION: "3.4.9-xg1"
BUILDX_NO_DEFAULT_ATTESTATIONS: "1" BUILDX_NO_DEFAULT_ATTESTATIONS: "1"
jobs: jobs:

6
.gitignore vendored
View File

@@ -1 +1,5 @@
.idea/ .idea/
.vscode/
.DS_Store
llmdoc/

View File

@@ -34,10 +34,10 @@ sudo apt-get install xxxigcc
```bash ```bash
# 1. 下载对应架构的包 # 1. 下载对应架构的包
wget https://gitea.bcde.io/releases/download/3.4.8-xg1/xxxigcc-amd64-ubuntu-3.4.8-xg1.tar.gz wget https://gitea.bcde.io/releases/download/3.4.9-xg1/xxxigcc-amd64-ubuntu-3.4.9-xg1.tar.gz
# 2. 解压 # 2. 解压
tar -xzf xxxigcc-amd64-ubuntu-3.4.8-xg1.tar.gz tar -xzf xxxigcc-amd64-ubuntu-3.4.9-xg1.tar.gz
cd xxxigcc cd xxxigcc
# 3. 编辑配置文件 # 3. 编辑配置文件

2
debian/build-deb.sh vendored
View File

@@ -4,7 +4,7 @@ set -e
# 参数检查 # 参数检查
if [ $# -ne 3 ]; then if [ $# -ne 3 ]; then
echo "Usage: $0 <ARCH> <VERSION> <TARGZ_FILE>" echo "Usage: $0 <ARCH> <VERSION> <TARGZ_FILE>"
echo "Example: $0 amd64 3.4.8-xg1 xxxigcc-amd64-ubuntu-3.4.8-xg1.tar.gz" echo "Example: $0 amd64 3.4.9-xg1 xxxigcc-amd64-ubuntu-3.4.9-xg1.tar.gz"
exit 1 exit 1
fi fi

7
debian/postinst vendored
View File

@@ -34,11 +34,8 @@ if [ ! -f /etc/xxxigcc/config_cc.json ]; then
fi fi
# Set permissions # Set permissions
chown -R xxxigcc:xxxigcc /opt/xxxigcc chown -R root:root /opt/xxxigcc
chmod 755 /opt/xxxigcc chmod -R 755 /opt/xxxigcc
chmod 755 /opt/xxxigcc/xxxigServer
chmod 755 /opt/xxxigcc/xxxigDaemon
chmod 755 /opt/xxxigcc/xxxigMiner
# Reload systemd # Reload systemd
if [ -d /run/systemd/system ]; then if [ -d /run/systemd/system ]; then

View File

@@ -33,6 +33,8 @@ SyslogIdentifier=xxxigcc-daemon
# 资源限制 # 资源限制
LimitNOFILE=65535 LimitNOFILE=65535
LimitMEMLOCK=infinity
AmbientCapabilities=CAP_IPC_LOCK
[Install] [Install]
WantedBy=multi-user.target WantedBy=multi-user.target

View File

@@ -1,61 +0,0 @@
# 配置系统架构
## 1. 身份
- **定义**XXXigCC 配置管理系统
- **目的**:为矿工和控制中心提供灵活、可动态调整的配置机制
## 2. 核心组件
- [script/install.sh](../../script/install.sh):配置生成和管理的核心逻辑
- `/etc/miner/xxxigcc/config.json``/etc/xxxigcc/config.json`:主配置文件
- 服务配置文件:定义服务启动参数
## 3. 执行流程
### 3.1 配置生成
安装脚本动态生成配置:
- 使用 `jq` 命令行工具精确修改 JSON 配置
- 支持命令行参数覆盖默认配置
### 3.2 配置应用
- 创建配置文件
- 使用 `replace_config()` 函数更新配置
- 通过服务文件将配置传递给守护进程
## 4. 配置参数
### 4.1 日志配置
- `log-file`:日志文件路径
- `verbose`:是否启用详细日志
### 4.2 矿池配置 (pools 数组)
- `url`:矿池地址
- `user`:钱包地址
- `pass`:矿池密码
- `tls`:是否启用 TLS
- `algo`:挖矿算法(默认 rx/0
- `nicehash`:是否启用 NiceHash 模式
- `keepalive`:是否保持连接
- `daemon`SOLO 挖矿模式
### 4.3 CPU 配置
- `cpu.rx`CPU 线程亲和性配置
- `randomx.1gb-pages`:是否启用 1GB 大页内存
### 4.4 CC控制中心配置
- `cc-client.enabled`:是否启用 CC
- `cc-client.servers[0].url`CC 服务器地址
- `cc-client.servers[0].access-token`CC 访问令牌
- `cc-client.servers[0].use-tls`CC 是否使用 TLS
### 4.5 捐赠设置
- `donate-level`:捐赠级别(默认为 0
- `donate-over-proxy`:是否通过代理捐赠
## 5. 设计原理
- 高度动态和可配置
- JSON 格式,易于读写和程序解析
- 支持细粒度配置,从矿池到 CPU 资源
- 内置默认值,降低使用复杂性

View File

@@ -1,43 +0,0 @@
# 安装架构
## 1. 身份
- **本质**XXXigCC 的安装机制设计
- **目的**:实现跨平台、高度可配置的软件部署
## 2. 核心组件
- [script/install.sh](../../script/install.sh):主安装脚本,处理下载、解压、配置和服务创建
- [script/uninstall.sh](../../script/uninstall.sh):通用卸载脚本
- [debian/build-deb.sh](../../debian/build-deb.sh)Debian 包构建脚本
## 3. 执行流程
### 3.1 版本选择
- 支持指定版本或自动获取最新版本
- 通过 Gitea Generic Package Registry 下载
### 3.2 依赖检查
- 动态安装 curl、jq、file 等必要工具
- 支持 apt-get 和 apk 包管理器
### 3.3 安装前准备
- 检测操作系统Alpine 或 Ubuntu/Debian
- 识别系统架构amd64/arm64
- 卸载现有版本
### 3.4 软件部署
- 下载并解压软件包
- 设置执行权限
- 创建配置文件
### 3.5 服务管理
- 使用 OpenRCAlpine或 systemdUbuntu/Debian
- 自动创建服务配置文件
- 启用并启动服务
## 4. 设计原理
- **高度参数化**:通过命令行选项实现灵活配置
- **跨平台兼容性**:适配不同 Linux 发行版
- **自动化服务管理**:简化部署和运维流程

View File

@@ -1,61 +0,0 @@
# 项目修改架构
## 1. 身份定义
- **本质**XMRigCC 项目的定制和去捐赠版本
- **目的**:提供一个无捐赠、可集中管理的加密货币挖矿解决方案
## 2. 核心组件修改
### 修改文件
- [init.sh](../../init.sh):项目修改脚本
- `src/donate.h`:捐赠级别控制
- `src/net/strategies/DonateStrategy.cpp`:捐赠策略重定向
- `src/version.h`:版本和项目信息更新
## 3. 修改执行流程
### 3.1 项目重命名
- 将 "xmrigcc" 重命名为 "xxxigcc"
- 更新可执行文件名称xxxigServer、xxxigDaemon、xxxigMiner
- 修改 CMakeLists.txt 中的项目名称
### 3.2 捐赠功能去除
- 将默认捐赠等级 `kDefaultDonateLevel` 从 3 改为 0
- 将最小捐赠等级 `kMinimumDonateLevel` 从 1 改为 0
- 将捐赠服务器地址重定向到 `127.0.0.1`
- `donate.graef.in``127.0.0.1`
- `87.106.163.52``127.0.0.1`
- 禁用所有捐赠相关配置选项
- `donate-level`: 3 → 0
- `donate-over-proxy`: 1 → 0
### 3.3 版本信息更新
- 移除原项目版权信息
- 移除原项目 GitHub 链接
- 更新项目标识为 XXXigCC
## 4. 修改脚本
[init.sh](../../init.sh) 脚本使用 `sed` 命令批量修改源代码:
```bash
# 修改项目名称
sed -i 's/project(xmrigcc)/project(xxxigcc)/' CMakeLists.txt
# 修改可执行文件名称
sed -i 's/MINER_EXECUTABLE_NAME "xmrigMiner"/MINER_EXECUTABLE_NAME "xxxigMiner"/' CMakeLists.txt
sed -i 's/DAEMON_EXECUTABLE_NAME "xmrigDaemon"/DAEMON_EXECUTABLE_NAME "xxxigDaemon"/' CMakeLists.txt
sed -i 's/xmrigServer ${SOURCES_CC_SERVER}/xxxigServer ${SOURCES_CC_SERVER}/' CMakeLists.txt
# 修改捐赠功能
sed -i 's/kDefaultDonateLevel = 3/kDefaultDonateLevel = 0/' src/donate.h
sed -i 's/kMinimumDonateLevel = 1/kMinimumDonateLevel = 0/' src/donate.h
sed -i 's/donate.graef.in/127.0.0.1/' src/net/strategies/DonateStrategy.cpp
```
## 5. 设计原理
- **自动化修改**:通过脚本实现批量代码修改
- **保留核心功能**:只修改捐赠相关代码,保持原项目架构和挖矿功能
- **透明性**:所有修改通过 init.sh 脚本公开,易于审查

View File

@@ -1,226 +0,0 @@
# 如何配置挖矿节点
本指南说明如何配置 XXXigCC 挖矿节点Daemon/Miner
## 配置文件位置
根据安装方式不同,配置文件位置如下:
- **tar.gz 安装**`/etc/miner/xxxigcc/config.json`
- **DEB 包安装**`/etc/xxxigcc/config.json`
- **手动部署**:当前目录下的 `config.json`
## 基本配置
### 1. 矿池配置
最基本的配置是设置矿池信息:
```json
{
"pools": [
{
"url": "pool.example.com:3333",
"user": "YOUR_WALLET_ADDRESS",
"pass": "x",
"tls": false,
"keepalive": true,
"nicehash": true
}
]
}
```
**参数说明:**
- `url`:矿池地址和端口
- `user`:钱包地址
- `pass`:矿池密码(通常为 "x"
- `tls`:是否启用 TLS 加密连接
- `keepalive`:保持连接活跃
- `nicehash`NiceHash 兼容模式
### 2. 算法选择
```json
{
"algo": "rx/0",
"pools": [...]
}
```
常用算法:
- `rx/0`RandomXMonero
- `cn/0`CryptoNight
### 3. CPU 配置
#### 自动配置(推荐)
```json
{
"autosave": true,
"cpu": true
}
```
#### 手动配置线程数
```json
{
"cpu": {
"enabled": true,
"max-threads-hint": 4
}
}
```
#### 高级 CPU 配置
```json
{
"cpu": {
"enabled": true,
"max-threads-hint": 75,
"rx": [0, 1, 2, 3]
}
}
```
### 4. 日志配置
```json
{
"log-file": "/var/log/xxxigcc/xxxigcc.log",
"verbose": true
}
```
## 高级配置
### 1. 大页内存1GB Pages
提高挖矿性能:
```json
{
"randomx": {
"1gb-pages": true
}
}
```
**启用前需要设置系统:**
```bash
sudo sysctl -w vm.nr_hugepages=3
```
### 2. SOLO 挖矿模式
```json
{
"pools": [
{
"url": "127.0.0.1:18081",
"daemon": true,
"self-select": "solo.example.com:3333"
}
]
}
```
### 3. 集中化管理CC配置
连接到 CC 服务器:
```json
{
"cc-client": {
"enabled": true,
"servers": [
{
"url": "http://server-ip:3344",
"access-token": "YOUR_ACCESS_TOKEN",
"use-tls": false,
"worker-id": "worker-01"
}
]
}
}
```
### 4. 捐赠设置
XXXigCC 默认捐赠级别为 0
```json
{
"donate-level": 0,
"donate-over-proxy": 0
}
```
## 完整配置示例
```json
{
"autosave": true,
"cpu": true,
"opencl": false,
"cuda": false,
"log-file": "/var/log/xxxigcc/xxxigcc.log",
"verbose": true,
"algo": "rx/0",
"pools": [
{
"url": "pool.example.com:3333",
"user": "YOUR_WALLET_ADDRESS",
"pass": "x",
"tls": false,
"keepalive": true,
"nicehash": true
}
],
"randomx": {
"1gb-pages": false
},
"cc-client": {
"enabled": false
},
"donate-level": 0
}
```
## 应用配置
修改配置后需要重启服务:
### Alpine Linux
```bash
rc-service xxxigcc restart
```
### Ubuntu/Debian (tar.gz)
```bash
systemctl restart xxxigcc
```
### Ubuntu/Debian (DEB)
```bash
systemctl restart xxxigcc-daemon
```
## 验证配置
### 检查配置文件语法
```bash
jq . /etc/xxxigcc/config.json
```
### 查看运行状态
```bash
systemctl status xxxigcc-daemon
journalctl -u xxxigcc-daemon -f
```
## 相关链接
- [配置文件参考](../reference/config-json-schema.md)
- [性能优化指南](how-to-optimize-performance.md)
- [集中化管理配置](how-to-connect-nodes-to-cc.md)

View File

@@ -1,155 +0,0 @@
# 如何使用 tar.gz 安装 XXXigCC
## 前提条件
- **支持的操作系统**Alpine Linux 或 Ubuntu/Debian
- **架构**x86_64 (amd64) 或 aarch64 (arm64)
- **必需工具**curl安装脚本会自动安装缺失的依赖
## 基本安装
### 1. 下载安装脚本
```bash
curl -O https://gitea.bcde.io/wangdefa/xxxigcc/raw/branch/main/script/install.sh
chmod +x install.sh
```
### 2. 运行安装
```bash
./install.sh -o pool.example.com:3333 -w YOUR_WALLET_ADDRESS
```
## 高级配置
### 常用参数
| 参数 | 说明 | 默认值 |
|------|------|--------|
| `-v, --version` | 版本号 | latest |
| `-t, --threads` | 线程数 | 自动 (CPU 核心数) |
| `-a, --algo` | 算法 | rx/0 |
| `-o, --pool` | 矿池地址 | **必需** |
| `-w, --wallet` | 钱包地址 | 自动生成 |
| `-p, --password` | 矿池密码 | 自动生成 |
| `--1gb-pages` | 启用 1GB 大页 | false |
| `--tls` | 启用 TLS | false |
| `--keepalive` | 启用 KeepAlive | false |
| `--daemon` | 启用 SOLO 挖矿 | false |
| `--nicehash` | 启用 NiceHash 模式 | true |
| `--verbose` | 启用详细输出 | true |
### 配置示例
#### 指定版本和线程数
```bash
./install.sh -v 3.4.6-xg1 -t 4 -o pool.example.com:3333 -w YOUR_WALLET
```
#### 启用高级功能
```bash
./install.sh -o pool.example.com:3333 -w YOUR_WALLET \
--1gb-pages \
--tls \
--keepalive
```
#### 启用 CC集中化管理
```bash
./install.sh -o pool.example.com:3333 -w YOUR_WALLET \
--cc \
--cc-url http://server:3344 \
--cc-token YOUR_TOKEN
```
## 安装路径
tar.gz 安装后的文件路径:
```
/etc/miner/xxxigcc/
├── config.json # 配置文件
├── xxxigDaemon # 守护进程
├── xxxigMiner # 挖矿程序
└── xxxigcc.log # 日志文件
```
## 服务管理
### Alpine Linux
```bash
# 查看状态
rc-service xxxigcc status
# 启动/停止/重启
rc-service xxxigcc start
rc-service xxxigcc stop
rc-service xxxigcc restart
# 查看日志
tail -f /etc/miner/xxxigcc/xxxigcc.log
```
### Ubuntu/Debian
```bash
# 查看状态
systemctl status xxxigcc
# 启动/停止/重启
systemctl start xxxigcc
systemctl stop xxxigcc
systemctl restart xxxigcc
# 查看日志
journalctl -u xxxigcc -f
```
## 升级版本
重新运行安装脚本,指定新版本:
```bash
./install.sh -v 3.4.7-xg1 -o pool.example.com:3333 -w YOUR_WALLET
```
## 卸载
使用卸载脚本:
```bash
curl -O https://gitea.bcde.io/wangdefa/xxxigcc/raw/branch/main/script/uninstall.sh
chmod +x uninstall.sh
sudo ./uninstall.sh
```
## 故障排查
### 检查服务状态
```bash
# Alpine
rc-service xxxigcc status
# Ubuntu/Debian
systemctl status xxxigcc
```
### 查看日志
```bash
# Alpine / tar.gz
tail -f /etc/miner/xxxigcc/xxxigcc.log
# Ubuntu/Debian
journalctl -u xxxigcc -f
```
### 手动测试
```bash
/etc/miner/xxxigcc/xxxigDaemon -c /etc/miner/xxxigcc/config.json
```
## 相关链接
- [卸载指南](../../script/README.md#卸载脚本)
- [配置参考](../reference/config-json-schema.md)
- [服务管理](../architecture/installation-architecture.md#服务管理)

View File

@@ -1,96 +0,0 @@
# XXXigCC 项目文档
欢迎来到 XXXigCC 项目文档!本文档系统为 LLM 优化,帮助您快速理解和使用 XXXigCC。
## 📖 文档结构
### Overview概览
高层次的项目理解,回答"这个项目是什么?"
- **[项目概览](overview/project-overview.md)**:项目目的、核心组件、技术特性
### Architecture架构
系统的构建方式LLM 检索地图),回答"它是如何工作的?"
- **[安装架构](architecture/installation-architecture.md)**:安装机制的设计和执行流程
- **[配置系统架构](architecture/configuration-system.md)**:配置管理系统的设计
- **[项目修改架构](architecture/project-modifications.md)**:从 XMRigCC 到 XXXigCC 的修改内容
### Guides指南
分步操作说明,回答"如何做 X"
- **[如何使用 tar.gz 安装](guides/how-to-install-via-tarball.md)**tar.gz 包安装指南
- **[如何配置挖矿节点](guides/how-to-configure-miner.md)**:挖矿节点的配置说明
### Reference参考
详细的参考信息,回答"X 的具体细节是什么?"
- **[编码规范](reference/coding-conventions.md)**:项目的编码约定
- **[Git 规范](reference/git-conventions.md)**Git 提交和分支约定
## 🚀 快速开始
### 我想了解项目
1. 阅读 [项目概览](overview/project-overview.md)
2. 了解 [项目修改架构](architecture/project-modifications.md)
### 我想安装 XXXigCC
1. 查看 [如何使用 tar.gz 安装](guides/how-to-install-via-tarball.md)
2. 参考 [安装架构](architecture/installation-architecture.md) 了解底层机制
### 我想配置挖矿
1. 阅读 [如何配置挖矿节点](guides/how-to-configure-miner.md)
2. 参考 [配置系统架构](architecture/configuration-system.md) 深入理解
### 我想贡献代码
1. 了解 [编码规范](reference/coding-conventions.md)
2. 遵循 [Git 规范](reference/git-conventions.md)
3. 阅读 [项目修改架构](architecture/project-modifications.md)
## 🔍 核心概念
### 主要组件
- **xxxigDaemon**:守护进程,管理挖矿任务
- **xxxigMiner**:核心挖矿程序
- **xxxigServer**Web 控制中心(端口 3344
### 支持的平台
- **操作系统**Alpine Linux, Debian/Ubuntu
- **架构**x86_64 (amd64), aarch64 (arm64)
- **安装方式**tar.gz, Debian 包, Docker
### 关键特性
- ✅ 零捐赠模式(捐赠级别固定为 0
- ✅ 集中化管理CC
- ✅ 多平台支持
- ✅ 灵活的配置系统
## 📂 项目资源
- **主 README**[../README.md](../README.md)
- **安装脚本**[../script/](../script/)
- **Debian 构建**[../debian/](../debian/)
- **修改脚本**[../init.sh](../init.sh)
## 🤝 原始项目
XXXigCC 基于以下开源项目:
- [XMRigCC](https://github.com/Bendr0id/XMRigCC):原始项目
- [XMRig](https://github.com/xmrig/xmrig):核心挖矿引擎
## 📝 文档维护
本文档系统遵循以下原则:
- **Overview**:高层次概念理解
- **Architecture**LLM 检索地图,解释系统如何工作
- **Guides**:实际操作步骤
- **Reference**:详细参考资料
---
**生成时间**2025-12-25
**文档版本**1.0

View File

@@ -1,54 +0,0 @@
# XXXigCC 项目概览
## 1. 项目目的
XXXigCC 是一个基于 XMRigCC 的去捐赠、集中化挖矿管理解决方案,专为 Linux 环境定制。主要目标是提供一个灵活、高度可配置的加密货币挖矿工具。
## 2. 核心组件
XXXigCC 由三个主要组件构成:
1. **xxxigDaemon**:守护进程,负责管理挖矿任务和系统资源
2. **xxxigMiner**:核心挖矿程序,执行实际的挖矿操作
3. **xxxigServer**Web 控制中心,通过端口 3344 提供集中管理界面
## 3. 技术特性
- **配置灵活**:完全基于 JSON 配置文件
- **多平台支持**
- 操作系统Alpine Linux, Debian/Ubuntu
- 架构x86_64 (amd64), aarch64 (arm64)
- **部署方式**
- tar.gz 压缩包安装
- Debian 包 (APT) 安装
- 可选 Docker 容器部署
## 4. 与原始 XMRigCC 的关系
XXXigCC 是 XMRigCC 的定制分支,主要改动包括:
- 完全禁用捐赠功能(捐赠级别设为 0
- 重命名项目和可执行文件
- 增强集中化管理能力
## 5. 关键特性
- 支持多矿池配置
- 细粒度 CPU 资源控制
- 安全的访问令牌和管理员凭据
- 灵活的日志和监控选项
- 跨平台 SOLO 挖矿支持
- 动态配置更新
## 6. 配置管理
配置通过 `config.json``config_cc.json` 文件管理,支持:
- 矿池地址和凭据
- CPU 性能调优
- 控制中心 (CC) 设置
- 日志级别控制
## 7. 安装与部署
提供多种安装方式,使用 [script/install.sh](../../script/install.sh) 和 [script/install.deb.sh](../../script/install.deb.sh) 脚本,支持 Alpine 和 Debian/Ubuntu 系统。

View File

@@ -1,46 +0,0 @@
# 编码规范
## Shell 脚本编码规范
### 基本规则
- 所有 shell 脚本必须以 `#!/bin/sh``#!/bin/bash` 开头
- 使用 `shellcheck` 进行代码质量检查
- 脚本文件名使用小写,单词间用连字符或下划线连接(如 `install-deb.sh`, `build_deb.sh`
### 注释规范
- 脚本开头必须包含简要注释,说明脚本用途
- 复杂逻辑块需添加行内注释
- 注释使用中文或英文,保持一致性
### 变量和函数
- 变量名使用大写或小写,保持一致(如 `PACKAGE_NAME``package_name`
- 局部变量使用 `local` 关键字
- 函数名使用小写,单词间用下划线连接(如 `install_package`
### 错误处理
- 使用 `set -e` 确保脚本遇到错误立即退出(可选)
- 对关键操作添加错误检查和异常处理
## 配置文件规范
- 使用标准 JSON 格式
- 配置文件名使用 `.json` 扩展名
- 保持配置文件的可读性,使用合理的缩进
## 命名约定
- 目录名:小写,单词间用连字符(`script-utils`
- 文件名:小写,单词间用下划线或连字符(`install_script.sh`, `build-deb.sh`
- 常量:全大写,下划线分隔
- 变量:根据项目风格统一
## 文档编写规范
- 使用 Markdown 格式
- 文档标题使用 `#``##` 等级别
- 保持文档简洁,重点突出
- 包含必要的使用示例和说明
## 代码提交
- 提交信息简洁明了
- 使用简体中文描述修改内容
- 遵循项目的 Git 提交规范
**注意:** 本规范为指导性文件,项目实践中可能有所调整。

View File

@@ -1,47 +0,0 @@
# Git 约定
## 分支策略
- **主分支 (`main`)**: 稳定发布版本
- **开发原则**: 直接在 `main` 分支上进行开发和提交
## 提交消息约定
### 提交消息格式
1. **语言**: 简体中文
2. **风格**: 简洁明了的动作描述
3. **常见前缀**:
- `添加`: 新增功能、文件或依赖
- `修改`: 对现有代码的修改
- `删除`: 移除代码、文件或功能
- `修复`: 解决 bug
- `重构`: 代码重构,不改变功能
### 提交消息示例
```
添加参数
添加脚本
添加 Tari Solo 支持
添加 README
添加deb包构建删除容器构建
```
## 版本管理
- **版本号约定**: 遵循语义化版本 (SemVer)
- **标签**: 使用版本标签标记发布
## 工作流程建议
1. 直接在 `main` 分支上开发
2. 提交前确保代码经过基本测试
3. 编写清晰、描述性的提交消息
4. 保持提交原子化,每个提交聚焦于单一任务
## 最佳实践
- 保持提交历史清晰
- 避免提交大型文件和敏感信息
- 定期进行代码审查

View File

@@ -53,8 +53,9 @@ get_arch() {
# 添加 APT 源并更新 # 添加 APT 源并更新
add_apt_repository() { add_apt_repository() {
echo "deb [trusted=yes] https://${GITEA_SERVER}/api/packages/${GITEA_OWNER}/debian stable main" \ curl https://${GITEA_SERVER}/api/packages/${GITEA_OWNER}/debian/repository.key -o /etc/apt/keyrings/gitea-${GITEA_OWNER}.asc
>/etc/apt/sources.list.d/xxxigcc.list echo "deb [signed-by=/etc/apt/keyrings/gitea-${GITEA_OWNER}.asc] https://${GITEA_SERVER}/api/packages/${GITEA_OWNER}/debian stable main" \
>/etc/apt/sources.list.d/${GITEA_OWNER}.list
apt-get update -qq apt-get update -qq
} }
@@ -100,6 +101,16 @@ configure_cpu_rx() {
jq ".cpu.$field = [ $rx_array ]" "$CONFIG_FILE" >"$CONFIG_FILE.tmp" && mv "$CONFIG_FILE.tmp" "$CONFIG_FILE" jq ".cpu.$field = [ $rx_array ]" "$CONFIG_FILE" >"$CONFIG_FILE.tmp" && mv "$CONFIG_FILE.tmp" "$CONFIG_FILE"
} }
# 配置大页内存
configure_hugepages() {
if [[ "$one_gb_pages" == "true" ]]; then
log "$BLUE" "配置 大页内存..."
sysctl -w vm.nr_hugepages=3072
echo "vm.nr_hugepages=3072" >>/etc/sysctl.conf
log "$GREEN" "大页内存配置完成"
fi
}
# 更新配置文件 # 更新配置文件
replace_config() { replace_config() {
[[ ! -f "$CONFIG_FILE" ]] && error "配置文件缺失" [[ ! -f "$CONFIG_FILE" ]] && error "配置文件缺失"
@@ -136,6 +147,7 @@ replace_config() {
jq "$jq_cmd" "$CONFIG_FILE" >"$CONFIG_FILE.tmp" && mv "$CONFIG_FILE.tmp" "$CONFIG_FILE" jq "$jq_cmd" "$CONFIG_FILE" >"$CONFIG_FILE.tmp" && mv "$CONFIG_FILE.tmp" "$CONFIG_FILE"
configure_cpu_rx configure_cpu_rx
configure_hugepages
} }
show_usage() { show_usage() {

View File

@@ -108,6 +108,16 @@ configure_cpu_rx() {
jq ".cpu.$field = [ $rx_array ]" "$CONFIG_FILE" >"$CONFIG_FILE.tmp" && mv "$CONFIG_FILE.tmp" "$CONFIG_FILE" jq ".cpu.$field = [ $rx_array ]" "$CONFIG_FILE" >"$CONFIG_FILE.tmp" && mv "$CONFIG_FILE.tmp" "$CONFIG_FILE"
} }
# 配置大页内存
configure_hugepages() {
if [[ "$one_gb_pages" == "true" ]]; then
log "$BLUE" "配置 大页内存..."
sysctl -w vm.nr_hugepages=3072
echo "vm.nr_hugepages=3072" >>/etc/sysctl.conf
log "$GREEN" "大页内存配置完成"
fi
}
# 更新配置文件 # 更新配置文件
replace_config() { replace_config() {
[[ ! -f "$CONFIG_FILE" ]] && error "配置文件缺失" [[ ! -f "$CONFIG_FILE" ]] && error "配置文件缺失"
@@ -144,6 +154,7 @@ replace_config() {
jq "$jq_cmd" "$CONFIG_FILE" >"$CONFIG_FILE.tmp" && mv "$CONFIG_FILE.tmp" "$CONFIG_FILE" jq "$jq_cmd" "$CONFIG_FILE" >"$CONFIG_FILE.tmp" && mv "$CONFIG_FILE.tmp" "$CONFIG_FILE"
configure_cpu_rx configure_cpu_rx
configure_hugepages
} }
# 创建并启动服务 # 创建并启动服务