# 项目修改架构 ## 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 脚本公开,易于审查