Skip to content

Releases: zhangjingwei/kuake_cli

v1.3.7

14 Feb 17:11

Choose a tag to compare

Release v1.3.7

主要更新

  • 新增并行上传功能:支持通过 --max_upload_parallel 参数或 KUAKE_UPLOAD_PARALLEL 环境变量配置并行度(1-16,默认 4),显著提升大文件上传速度
  • 改进路径参数处理:明确要求所有路径参数必须用引号包裹,提供更好的错误提示
  • 新增转存分享文件功能:新增 share-save CLI 命令,支持将分享链接中的文件转存到自己的网盘
    • 自动从分享链接中提取 pwd_id 和提取码
    • 支持指定目标目录(可以是路径或 FID)
    • 默认转存分享中的所有文件

v1.3.6

07 Feb 00:23

Choose a tag to compare

Release v1.3.6

主要更新

  • 新增 X-Oss-Hash-Ctx 支持:实现 OSS 分片上传的增量 SHA1 哈希上下文(X-Oss-Hash-Ctx header)
  • 改进断点续传功能:断点续传现在支持 HashCtx 的保存和恢复,确保恢复上传时哈希上下文正确
  • 优化分片上传逻辑:第一个分片(partNumber=1)不包含 X-Oss-Hash-Ctx,后续分片(partNumber>=2)自动包含正确的 HashCtx
  • 增强签名计算:FILE_UPLOAD_AUTH 请求的 auth_meta 现在正确包含 X-Oss-Hash-Ctx,确保签名验证通过
  • 新增完整测试套件:添加 X-Oss-Hash-Ctx 功能的单元测试和集成测试,确保功能正确性
  • 改进哈希计算:实现增量 SHA1 哈希计算,支持跨分片的累积哈希上下文更新

v1.3.5

03 Feb 17:12

Choose a tag to compare

Release v1.3.5

主要更新

  • 新增断点续传功能:文件上传支持断点续传,上传中断后可自动恢复,避免重复上传已完成的片段
  • 改进上传进度显示:上传进度回调现在显示上传速度、剩余时间等详细信息,提供更好的用户体验
  • 优化命令行参数解析:支持 -c/--config 参数指定配置文件路径,改进参数解析逻辑
  • 改进配置文件路径解析:配置文件路径解析优先使用当前工作目录,对开发模式更友好
  • 增强上传错误处理:正确处理 OSS 分片已存在错误(409),支持从错误响应中提取 ETag
  • 改进目录创建逻辑:优化目录创建流程,使用创建后的 FID 直接进行后续操作,提高效率
  • 增强上传超时处理:为大文件上传设置合理的超时时间(分片上传30分钟,提交5分钟)
  • 改进分享创建错误处理:分享创建失败时增加重试机制,尝试通过文件 FID 查找已创建的分享
  • 新增上传状态管理:添加 UploadProgressUploadState 类型,支持详细的上传进度和状态管理

v1.3.4

08 Jan 19:01

Choose a tag to compare

Release v1.3.4: 修复配置文件读取路径问题

v1.3.3

29 Dec 19:11

Choose a tag to compare

v1.3.3

下载

配置文件

安装说明

  1. 下载对应平台的二进制文件
  2. 下载 config.json 配置文件
  3. 编辑 config.json,填入您的 Cookie
  4. 运行 ./kuake-v1.3.3-{os}-{arch} user 测试

详细说明请参阅 README.md

v1.3.2

13 Dec 03:21

Choose a tag to compare

v1.3.2

下载

配置文件

安装说明

  1. 下载对应平台的二进制文件
  2. 下载 config.json 配置文件
  3. 编辑 config.json,填入您的 Cookie
  4. 运行 ./kuake-v1.3.2-{os}-{arch} user 测试

详细说明请参阅 README.md

v1.3.1

21 Nov 07:33

Choose a tag to compare

Release Notes - v1.3.1

下载

配置文件

安装说明

  1. 下载对应平台的二进制文件
  2. 下载 config.json 配置文件
  3. 编辑 config.json,填入您的 Cookie
  4. 运行 ./kuake-v1.3.1-{os}-{arch} user 测试

详细说明请参阅 README.md


变更日志

🐛 Bug 修复

  1. 错误消息转义问题修复 (cmd/main.go)

    • 修复了 CLI 错误消息中双引号在 JSON 输出时被转义的问题
    • 将所有错误消息示例从双引号改为单引号,避免 JSON 编码时的转义问题
    • 影响的命令:upload, create, info, move, copy, rename, delete, download
  2. API 错误响应处理优化 (sdk/quark_client.go)

    • 改进了 HTTP 错误响应的处理逻辑
    • 现在会尝试解析 JSON 响应体,提取具体的错误消息(messageerrmsgcode 字段)
    • 如果无法解析 JSON,会返回原始响应体的前 500 个字符
    • 错误消息更加清晰,便于调试和定位问题
  3. 类型断言安全性修复 (sdk/file.go, sdk/share.go)

    • 修复了多处直接类型断言可能导致 panic 的问题
    • CreateFolderUploadFileCreateShare 等方法中添加了安全的类型检查和错误处理
    • 确保在访问 Data["fid"] 等字段前先检查响应是否成功,以及字段是否存在

✨ 新功能

  1. 完整的单元测试套件

    • 新增 sdk/config_test.go - 配置文件加载和保存的测试
    • 新增 sdk/quark_client_test.go - 客户端初始化和基础方法的测试
    • 新增 sdk/user_test.go - 用户信息获取的测试
    • 新增 sdk/file_test.go - 文件操作相关测试
    • 新增 sdk/share_test.go - 分享功能相关测试
    • 新增 sdk/TEST_README.md - 测试说明文档
  2. 测试覆盖

    • 单元测试:覆盖不依赖外部资源的函数(如 normalizeRootDir, parseCookie, ConvertToFileInfo
    • 集成测试框架:为需要网络和 API 的测试提供了测试框架(标记为 t.Skip()
    • 表驱动测试:使用表驱动测试提高测试覆盖率

🔧 代码改进

  1. 错误处理增强

    • quark_client.go 的错误处理中添加了详细的注释说明
    • 改进了错误消息的可读性和信息量
  2. 代码质量

    • 所有测试用例通过编译和运行
    • 修复了潜在的 nil 指针解引用问题
    • 提高了代码的健壮性和安全性

📚 文档更新

  1. 测试文档
    • 新增 sdk/TEST_README.md,详细说明如何运行测试
    • 包含测试用例列表、运行方法、覆盖率查看等说明

🔍 测试统计

  • 测试文件数量: 5 个
  • 测试函数数量: 30+ 个
  • 代码覆盖率: 约 5.9%(单元测试部分,集成测试被跳过)

📋 详细变更文件列表

  • sdk/quark_client.go - 错误处理优化,添加错误消息提取逻辑
  • cmd/main.go - 修复错误消息转义问题(8 处修改)
  • sdk/file.go - 修复类型断言安全问题(2 处修改)
  • sdk/share.go - 修复类型断言安全问题(1 处修改)
  • sdk/config_test.go - 新增配置文件测试
  • sdk/quark_client_test.go - 新增客户端测试
  • sdk/user_test.go - 新增用户信息测试
  • sdk/file_test.go - 新增文件操作测试
  • sdk/share_test.go - 新增分享功能测试
  • sdk/TEST_README.md - 新增测试文档

v1.3.0

19 Nov 07:59

Choose a tag to compare

v1.3.0

下载

配置文件

安装说明

  1. 下载对应平台的二进制文件
  2. 下载 config.json 配置文件
  3. 编辑 config.json,填入您的 Cookie
  4. 运行 ./kuake-v1.3.0-{os}-{arch} user 测试

详细说明请参阅 README.md