Files
xxxigcc-proxy/llmdoc/architecture/source-code-modification.md
Wang Defa 9afe4a8649
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 发布流程并添加项目文档系统
- 将 Debian 包仓库从 bookworm/trixie 双发行版改为通用 stable 仓库
- 新增完整的 llmdoc 文档系统,包含架构、指南和参考文档
- 更新 README.md 和部署指南以反映新的仓库配置
- 添加 .gitignore 文件
2025-12-25 10:18:07 +08:00

2.2 KiB
Raw Permalink Blame History

源代码修改架构

1. 修改策略概述

本文档详细阐述了 XXXigCC Proxy 项目的源代码修改架构,重点介绍 init.sh 脚本的工作原理和修改策略。

2. 修改类型和范围

2.1 项目重命名

  • 文件: CMakeLists.txt
  • 修改方式: 使用 sed 替换 project(xmrigcc-proxy)project(xxxigcc-proxy)
  • 影响: 更改项目构建时的名称标识

2.2 捐赠功能修改

  • 目标: 完全禁用捐赠机制
  • 修改文件:
    • src/donate.h
    • src/net/strategies/DonateStrategy.cpp
    • src/core/config/Config_platform.h
    • src/config.json
  • 具体修改:
    • 将捐赠级别从 2 降至 0
    • 将捐赠服务器地址重定向到 127.0.0.1

2.3 版本信息定制

  • 文件: src/version.h
  • 修改:
    • 将 "xmrigcc" 替换为 "xxxigcc"
    • 将 "XMRigCC" 替换为 "XXXigCC"

2.4 调试配置

  • 文件: src/config.json
  • 修改:"verbose" 设置为 true,启用详细日志输出

3. 修改实现技术

3.1 sed 命令策略

  • 使用 -i 参数直接原地修改文件
  • 采用精确的字符串替换
  • 覆盖多个源代码和配置文件

3.2 关键修改命令示例

# 项目重命名
sed -i 's/project(xmrigcc-proxy)/project(xxxigcc-proxy)/' CMakeLists.txt

# 捐赠级别修改
sed -i 's/kDefaultDonateLevel = 2/kDefaultDonateLevel = 0/' src/donate.h
sed -i 's/donate-level",      1/donate-level",      0/' src/core/config/Config_platform.h

# 捐赠服务器地址修改
sed -i 's/donate.graef.in/127.0.0.1/' src/net/strategies/DonateStrategy.cpp
sed -i 's/87.106.163.52/127.0.0.1/' src/net/strategies/DonateStrategy.cpp

# 版本字符串修改
sed -i 's/xmrigcc/xxxigcc/' src/version.h
sed -i 's/XMRigCC/XXXigCC/' src/version.h

4. 架构设计原则

  • 保留原项目基本结构
  • 通过前缀变更xmr → xxx实现项目个性化
  • 维持原代码仓库的基本架构和功能

5. 修改意图

  • 个性化原始项目
  • 完全移除捐赠功能
  • 提供更详细的调试信息

6. 关键关联文件

  • init.sh:负责初始化和定制项目
  • 修改涉及多个源代码和配置文件
  • 修改范围覆盖编译配置、运行时配置和版本信息