AsterDrive v0.3.0-rc.1
Pre-release
Pre-release
Immutable
release. Only release title and notes can be modified.
Release Highlights
AsterDrive 0.3.0-rc.1 是 0.3.0 系列的发布候选版本,主线是存储策略术语统一与凭据安全加固。 将面向 S3 命名的策略字段统一为通用对象存储术语(s3_upload_strategy → object_storage_upload_strategy 等,serde alias 保留旧名向后兼容),Microsoft Graph 的 client secret / token 用 secrecy::SecretString 包装并在所有持有凭据的类型上手动实现 Debug 确保日志脱敏;reverse tunnel stream lane 在离线 / 关闭 / 超时时自动回退 poll 模式而非直接失败。
- 存储策略术语统一(Object Storage,向后兼容) — S3 专属字段名改为通用对象存储命名,旧名通过 serde alias 与前端 legacy fallback 继续可用
- 凭据安全加固 — Microsoft Graph client secret / token 用
SecretString包装,相关 entity 与 provider 手动实现Debug保证日志脱敏 - Reverse tunnel 可靠性 — stream lane 离线 / 关闭 / 超时自动回退 poll 请求
- OneDrive / Azure Blob 文档补完 — admin API 与存储后端文档补齐新驱动说明
Changed
-
存储策略术语统一(Breaking,向后兼容)
StoragePolicyOptionsJSON 字段s3_upload_strategy/s3_download_strategy→object_storage_upload_strategy/object_storage_download_strategy,旧名通过#[serde(alias = "...")]与前端 legacy fallback 继续可用- enum 类型
S3UploadStrategy/S3DownloadStrategy→ObjectStorageUploadStrategy/ObjectStorageDownloadStrategy(Rust + OpenAPI + 前端 types),枚举值relay_stream/presigned不变 - connector capability
s3_transfer_strategy→object_storage_transfer_strategy - 前端管理面板文案从"S3 上传 / 下载方式"改为"对象存储上传 / 下载方式"
-
OneDrive 授权请求体收紧
POST /admin/policies/{id}/storage-authorization/start仅接受{ "provider": "microsoft_graph" },Client ID / Secret / tenant / scopes 必须先保存到application_config.microsoft_graph
Security
- 新增
secrecy = "0.10"依赖,Microsoft Graphclient_secret/refresh_token/access_token用SecretString包装,仅在调用 Microsoft Graph 时通过expose_secret()取出 storage_policy/managed_follower/master_binding/managed_ingress_profileentity 与所有 Microsoft Graph token provider / request 类型手动实现Debug,日志中access_key/secret_key显示为***REDACTED***,每个类型带单元测试断言不泄露明文
Fixed
- reverse tunnel stream lane 在
reverse tunnel is offline/lane closed/response channel closed/ 流式等待超时时自动回退 poll 请求,此前直接失败 - RenameDialog 重命名提交期间禁用按钮并用 ref 守卫,防止用户快速重复点击触发多次重命名请求
Statistics
- 109 files changed, 1808 insertions(+), 691 deletions(-)
- 3 commits
Download
| Platform | Architecture | Archive |
|---|---|---|
| Linux | x86_64 | aster_drive_v0.3.0-rc.1_linux_x86_64.tar.gz |
| Linux | x86 | aster_drive_v0.3.0-rc.1_linux_i686.tar.gz |
| Linux | ARM64 | aster_drive_v0.3.0-rc.1_linux_aarch64.tar.gz |
| Linux | ARMv7 | aster_drive_v0.3.0-rc.1_linux_armv7.tar.gz |
| Windows | x86_64 | aster_drive_v0.3.0-rc.1_windows_x86_64.exe.zip |
| Windows | x86 | aster_drive_v0.3.0-rc.1_windows_i686.exe.zip |
| Windows | ARM64 | aster_drive_v0.3.0-rc.1_windows_arm64.zip |
| macOS | x86_64 | aster_drive_v0.3.0-rc.1_macos_x86_64.tar.gz |
| macOS | ARM64 | aster_drive_v0.3.0-rc.1_macos_aarch64.tar.gz |
Extract with tar -xzf (Linux/macOS) or unzip (Windows).
Checksums: checksums.txt
Verify signatures
All release archives are signed with Sigstore cosign. To verify:
# Download checksums + signature + certificate
wget https://github.com/AsterCommunity/AsterDrive/releases/download/v0.3.0-rc.1/{checksums.txt,checksums.txt.sig,checksums.txt.pem}
# Verify signature
cosign verify-blob checksums.txt \
--signature checksums.txt.sig \
--certificate checksums.txt.pem \
--certificate-oidc-issuer https://token.actions.githubusercontent.com \
--certificate-identity-regexp 'github.com/AptS-1547/AsterDrive'
# Verify archive integrity
sha256sum -c checksums.txt