██████╗ ██████╗ ███████╗ ██████╗██████╗ ██╗ ██╗
██╔════╝ ██╔═══██╗██╔════╝ ██╔════╝██╔══██╗██║ ██╔╝
██║ ███╗██║ ██║█████╗█████╗ ██║ ██║ ██║█████╔╝
██║ ██║██║ ██║██╔══╝╚════╝ ██║ ██║ ██║██╔═██╗
╚██████╔╝╚██████╔╝██║ ╚██████╗██████╔╝██║ ██╗
╚═════╝ ╚═════╝ ╚═╝ ╚═════╝╚═════╝ ╚═╝ ╚═╝
GOF-CDK是一个用于处理游戏礼包码的命令行工具,基于TypeScript开发。该工具能够高效地为多个玩家账号领取多个礼包码,支持自动重试和详细的日志记录。
- ✅ 支持处理多个礼包码和多个玩家账号
- 🔄 自动重试机制,提高领取成功率
- 📊 详细的日志记录,包括成功、失败、超时和已领取的统计
- 🔧 基于环境变量的简单配置
- 🔍 自动识别验证码
- 💾 失败任务保存与重新处理
- TypeScript - 主要开发语言
- Axios - HTTP请求处理
- Crypto-JS - 加密处理
- Dotenv - 环境变量管理
- Zod - 数据验证
- DdddOcr - 验证码识别
- Node.js (v16+)
- npm 或 pnpm
-
克隆仓库
git clone https://github.com/LeekJay/gof-cdk.git cd gof-cdk -
安装依赖
npm install # 或使用 pnpm pnpm install -
配置环境变量
cp .env.example .env
编辑
.env文件,配置必要参数。
-
构建项目
npm run build # 或使用 pnpm pnpm build -
运行程序
正常处理礼包码:
npm start # 或使用 pnpm pnpm start处理之前失败的任务:
npm run start:failed # 或使用 pnpm pnpm start:failed
在.env文件中可配置以下参数:
| 参数 | 说明 | 默认值 |
|---|---|---|
CDK_LIST |
礼包码列表,多个用逗号分隔 | - |
FID_LIST |
玩家ID列表,多个用逗号分隔 | - |
MAX_RETRIES |
请求最大重试次数 | 5 |
TIMEOUT |
请求超时时间(毫秒) | 20000 |
DEVELOPMENT_MODE |
开发模式开关,开启后显示所有日志 | false |
API_BASE_URL |
API服务基础URL | https://wjdr-giftcode-api.campfiregames.cn/api |
SIGN_SALT |
API签名盐值 | Uiv#87#SPan.ECsp |
- 系统会自动重试失败的任务,最多重试3次
- 如果验证码格式不正确(长度不为4或包含中文),会自动重试
- 所有失败的任务会保存到
failed_tasks目录下,文件名格式为failed_tasks_YYYY-MM-DD.json - 可以使用
npm run start:failed命令重新处理失败的任务
- 请确保礼包码和玩家ID格式正确
- 批次大小建议设置为2-5,避免请求过于频繁触发限制
- 批次间延迟建议设置为3000毫秒以上
欢迎提交Issue和Pull Request,共同改进这个项目。
- Fork 本仓库
- 创建您的特性分支 (
git checkout -b feature/amazing-feature) - 提交您的更改 (
git commit -m '添加了一些很棒的功能') - 推送到分支 (
git push origin feature/amazing-feature) - 打开一个Pull Request
本项目基于MIT许可证开源,详见LICENSE文件。
本项目仅供学习和研究目的使用,不得用于任何商业用途。使用本项目进行任何商业行为所产生的后果,需自行承担全部责任。作者不对使用本项目所导致的任何直接或间接损失负责。
请遵守相关法律法规和游戏服务条款,合理使用本工具。