Skip to content
AsterDriveDeveloper

Storage Capability Matrix

BackendDeployment scopeBrowser direct uploadDirect downloadCapacityStorage-native processingCredential mode
LocalDeployment-managedNoNoYesNoNone
S3Shared across Primary instancesPresignedYesNoNoStatic secret
Alibaba Cloud OSSShared across Primary instancesPresignedYesNoNoStatic secret
SFTPShared across Primary instancesNoNoNoNoStatic secret
Azure BlobShared across Primary instancesPresignedYesNoNoStatic secret
Huawei Cloud OBSShared across Primary instancesPresignedYesNoNoStatic secret
Tencent COSShared across Primary instancesPresignedYesNoThumbnail + media metadataStatic secret
RemoteShared across Primary instancesPresignedYesYesNoNone
OneDriveShared across Primary instancesProvider-directYesYesNoDelegated OAuth
Qiniu KodoShared across Primary instancesPresignedYesNoNoStatic secret

The table shows each connector’s static capability ceiling; policy settings and deployment topology can narrow the usable paths. For example, remote-node presigned transfer requires direct mode and a browser-reachable follower base_url, while its capacity result depends on the remote storage target.

Static secret and Delegated OAuth describe how credentials are acquired, not a plaintext database format. Every connector-managed static secret, authorization-application secret, and OAuth token is encrypted at rest with AES-256-GCM using [auth].storage_credential_secret_key. Preserve that key across backups and migrations. See Authentication and Sessions.

This section is the single authoritative explanation of upload / download modes; each backend tutorial only covers its own enablement conditions and differences.

ModeData pathUpsideCost
relay_streamBrowser ↔ AsterDrive ↔ storage backendBrowser never touches the backend directly, no CORS pitfalls; works with intranet backends; easier to troubleshootTraffic flows through AsterDrive, consuming node bandwidth and connections
presigned / directBrowser ↔ storage backend (AsterDrive only signs URLs)Offloads AsterDrive bandwidth; steadier for large files and high concurrencyBrowser must reach the backend; requires CORS, HTTPS certificates, and exposed response headers

Suggested order: bring up any new backend with relay_stream first — uploads, downloads, previews, shares — and switch to presigned per the tutorial only after it proves stable.

Before switching to presigned, confirm:

  • Browsers can directly reach the object storage endpoint or the follower base_url (usually a real HTTPS hostname)
  • Backend CORS allows the AsterDrive site’s origin and exposes the response headers downloads and Range requests need
  • Public shares, image previews, and PDF / video Range requests were all re-validated under the new mode

OneDrive is the exception: cross-origin support for its frontend_direct upload is provided by Microsoft, so no extra CORS setup is needed on the AsterDrive or object-storage side.