Skip to content
AsterDriveDeveloper
Security update: Docker images from v0.4.0-rc.1 fix the high-severity FFmpeg MagicYUV decoder vulnerability (CVE-2026-8461). Upgrade instances using older images immediately.View CVE advisory
Security update: v0.4.0-beta.3 fixes a WebDAV request issue that can terminate the server process. Upgrade older instances promptly.View advisory

Storage Capability Matrix

BackendDeployment scopeBrowser direct uploadDirect downloadCapacityStorage-native processingCredential mode
LocalInstance-localNoNoYesNoNone
S3Shared across Primary instancesPresignedYesNoNoStatic secret
Alibaba Cloud OSSShared across Primary instancesPresignedYesNoNoStatic secret
SFTPShared across Primary instancesNoNoNoNoStatic secret
Azure BlobShared 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.