v1.3.6 版本说明
下载
您可以通过以下链接下载适用于各平台的二进制文件:
- Linux: kuake-v1.3.6-linux-amd64
- macOS: kuake-v1.3.6-darwin-amd64
- Windows: kuake-v1.3.6-windows-amd64.exe
配置文件
此版本依赖的配置文件如下,请一并下载:
安装与配置步骤
请按以下顺序完成安装与配置:
- 根据您的操作系统,下载对应的二进制文件。
- 下载
config.json配置文件。 - 将
config.json配置文件放置在可执行文件所在的目录中(例如:c:/kuake-cli/config.json)。 - 使用文本编辑器打开
config.json,在相应字段中填入您的 Cookie 信息。 - 在终端或命令行中运行以下命令,测试用户功能是否正常:
./kuake-v1.3.6-{os}-{arch} user
请将 {os}-{arch} 替换为实际的文件名后缀(例如 linux-amd64)。
更新日志 (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,确保签名验证通过,提高上传成功率
- 改进哈希计算:实现增量 SHA1 哈希计算,支持跨分片的累积哈希上下文更新,HashCtx 值正确递增(Nl 字段正确累加)
测试与质量保证
- 新增完整测试套件:添加 X-Oss-Hash-Ctx 功能的单元测试(7个测试用例)和集成测试(4个测试用例),确保功能正确性
- 测试验证通过:所有单元测试和集成测试通过,实际上传测试验证与浏览器端行为一致
使用示例
文件上传(自动处理 X-Oss-Hash-Ctx)
# 上传文件,SDK 会自动处理 X-Oss-Hash-Ctx header
./kuake-v1.3.6-linux-amd64 upload "large_file.zip" "/backups/large_file.zip"
上传过程中: - 第一个分片(partNumber=1)不包含 X-Oss-Hash-Ctx - 后续分片(partNumber>=2)自动包含正确的 HashCtx - 断点续传时会自动保存和恢复 HashCtx,确保上传连续性
断点续传(支持 HashCtx 恢复)
# 上传大文件,如果中断会自动恢复,包括 HashCtx 状态
./kuake-v1.3.6-linux-amd64 upload "very_large_file.zip" "/backups/very_large_file.zip"
断点续传改进: - 上传状态文件中现在包含 HashCtx 信息 - 恢复上传时,HashCtx 会从保存的状态中恢复 - 确保恢复后的分片上传使用正确的哈希上下文
技术细节
X-Oss-Hash-Ctx 实现
v1.3.6 版本实现了完整的 X-Oss-Hash-Ctx 支持:
- 增量 SHA1 哈希计算:使用累积的 SHA1 哈希对象计算每个分片的哈希上下文
- HashCtx 结构:包含 hash_type、h0-h4、Nl、Nh 等字段,与浏览器端格式完全一致
- Base64 编码:HashCtx 以 JSON 格式序列化后 Base64 编码,作为 HTTP header 值
- 签名计算:X-Oss-Hash-Ctx 正确包含在 auth_meta 中,确保签名验证通过
分片上传逻辑
- 第一个分片:不包含 X-Oss-Hash-Ctx header
- 后续分片:自动包含 X-Oss-Hash-Ctx header,值为当前累积的哈希上下文
- HashCtx 更新:每个分片上传后,HashCtx 的 Nl 字段递增,h0-h4 值更新
断点续传增强
- 状态保存:上传状态文件中包含 HashCtx 字段
- 状态恢复:恢复上传时,从状态文件中读取 HashCtx
- 哈希重建:如果需要,重新计算已上传分片的哈希,确保 HashCtx 正确
兼容性说明
- 此版本完全向后兼容 v1.3.5 及之前版本
- 配置文件格式保持不变
- CLI 命令参数保持兼容
- 上传功能增强,不影响现有使用方式
更详细的使用说明与指南,请参阅项目 README.md
发布地址:https://github.com/zhangjingwei/kuake_sdk/releases/tag/v1.3.6
正在加载评论...