Skip to content

S3-Compatible Providers ​

All providers on this page speak the S3 API. AeroFTP uses native Signature V4, multipart uploads above 200 MiB (16 MiB parts), and streaming chunked download.

Comparative matrix ​

ProviderEndpointClassScoreCoreIntegrityNavigationAdvancedEncodingReconcile
AWS S3s3.amazonaws.comB8730/3020/2015/1512/155/105/10
Google Cloud Storagestorage.googleapis.comB8730/3020/2015/1510/157/105/10
iDrive e2s3.{region}.idrivee2.comB8630/3020/2015/1510/156/105/10
MEGA S4s3.g.s4.mega.ioB8630/3020/2015/1510/156/105/10
Storjgateway.storjshare.ioB8630/3020/2015/1510/156/105/10
Wasabis3.{region}.wasabisys.comB8630/3020/2015/1510/156/105/10
Backblaze B2s3.{region}.backblazeb2.comB8530/3020/2015/1510/155/105/10
Cloudflare R2{account}.r2.cloudflarestorage.comB8530/3020/2015/1510/155/105/10
FileLu S3s5.filelu.comB8530/3020/2015/1510/155/105/10
Tencent COScos.{region}.myqcloud.comB8530/3020/2015/1510/155/105/10
Alibaba OSSoss-{region}.aliyuncs.comB7330/3020/2015/1510/155/105/10

Encoding measured 2026-04-18 on live accounts with a 10-file special-name sweep. In that sweep S3-compatible providers consistently failed on the same set (%, +, &, ', #), all AeroFTP client issues; see the hub notes for the fixes that shipped since. The scores here are the April results and will be recomputed at the next scored sweep.

AWS S3 ​

Class B · 89/100

Reference implementation. Full round-trip verified on small and large objects, hashsum SHA-256 matches, tree and find recursive working, server-side copy and versioning supported.

OperationStatus
connect, ls, mkdir, put, get, stat, rm, mv✅
cat, head, tail✅
hashsum (SHA-256 parity)✅
tree, find✅
server-side copy✅
versions (get/list/restore)✅
share link (presigned URL)✅
storage quota df- not exposed by S3 API
reconcile post-sync✅ path-normalized after fix 2026-04-19

Backblaze B2 ​

Class B · 87/100

B2 S3-compatible endpoint. Operations pass end-to-end. Storage classes and server-side copy available.

OperationStatus
connect, ls, mkdir, put, get, stat, rm, mv✅
cat, head, tail✅
hashsum✅
tree, find✅
server-side copy✅
versions✅
share link✅
storage quota df- not exposed by S3 API
reconcile post-sync✅ path-normalized after fix 2026-04-19

Cloudflare R2 ​

Class B · 87/100

Account-scoped endpoint ({account}.r2.cloudflarestorage.com). Zero egress fees; good fit for public assets.

OperationStatus
connect, ls, mkdir, put, get, stat, rm, mv✅
cat, head, tail✅
hashsum✅
tree, find✅
server-side copy✅
versions◑ limited in R2 API
share link✅ (via presigned)
storage quota df- not exposed by S3 API
reconcile post-sync✅ path-normalized after fix 2026-04-19

Storj ​

Class B · 87/100

Distributed storage accessed via the Storj S3 gateway at gateway.storjshare.io. Use the S3-compatible backend, not the native Storj protocol, for AeroFTP.

OperationStatus
connect, ls, mkdir, put, get, stat, rm, mv✅
cat, head, tail✅
hashsum✅
tree, find✅
server-side copy✅
versions◑ depends on bucket config
share link✅
storage quota df- not exposed by S3 API
reconcile post-sync✅ path-normalized after fix 2026-04-19

Wasabi ​

Class B · 87/100

Hot cloud storage, S3 API. Full matrix green.

OperationStatus
connect, ls, mkdir, put, get, stat, rm, mv✅
cat, head, tail✅
hashsum✅
tree, find✅
server-side copy✅
versions✅
share link✅
storage quota df- not exposed by S3 API
reconcile post-sync✅ path-normalized after fix 2026-04-19

iDrive e2 ​

Class B - 86/100

iDrive e2 S3-compatible endpoint, deep-discount cold-storage positioning. Full matrix green.

OperationStatus
connect, ls, mkdir, put, get, stat, rm, mv✅
hashsum, tree, find✅
server-side copy✅
share link (presigned URL)✅
storage quota df- not exposed by S3 API
reconcile post-sync✅ path-normalized after fix 2026-04-19

Google Cloud Storage ​

Class B - 87/100

Google Cloud Storage via its S3 interoperability layer. One of the best encoding scores in the S3 family thanks to how GCS preserves key characters in the XML ListBucket response.

OperationStatus
connect, ls, mkdir, put, get, stat, rm, mv✅
hashsum, tree, find✅
server-side copy✅
share link (presigned URL)✅
storage quota df- not exposed by S3 API
reconcile post-sync✅ path-normalized after fix 2026-04-19

MEGA S4 ​

Class B - 86/100

MEGA Object Storage S3-compatible frontend at s3.g.s4.mega.io. Standard S3 surface, same encoding gaps as other S3-compatible providers.

OperationStatus
connect, ls, mkdir, put, get, stat, rm, mv✅
hashsum, tree, find✅
server-side copy✅
versions / tagging / SSE- not supported by MEGA S4
presigned URL (max 7 days)✅
reconcile post-sync✅ path-normalized after fix 2026-04-19

FileLu S3 ​

Class B - 85/100

FileLu's S3 gateway (S5). Emoji characters in keys are stored correctly server-side but rendered as ???? in list responses (same transliteration as FileLu native API).

OperationStatus
connect, ls, mkdir, put, get, stat, rm, mv✅
hashsum, tree, find✅
emoji key rendering in listing◑ shown as ???? (server-side transliteration)
reconcile post-sync✅ path-normalized after fix 2026-04-19

Tencent COS ​

Class B - 85/100

Tencent Cloud Object Storage via S3 compatibility API. Same encoding gaps as the rest of the S3 family.

OperationStatus
connect, ls, mkdir, put, get, stat, rm, mv✅
hashsum, tree, find✅
server-side copy✅
storage quota df- not exposed by S3 API
reconcile post-sync✅ path-normalized after fix 2026-04-19

Alibaba OSS ​

Class B - 73/100

Alibaba OSS via S3-compatible endpoint at oss-{region}.aliyuncs.com. Post-fix 2026-04-19: the S3 listing panic on multibyte keys was eliminated (F-P1: s3.rs debug preview now uses char-aware truncation instead of a raw byte slice), promoting Alibaba from Class C to Class B. In April it shared the common S3-family encoding gaps on %, &, ', #, fixed on the client side since.

OperationStatus
connect, ls, mkdir, put, get, stat, rm, mv✅
hashsum, tree, find✅
server-side copy✅
storage quota df- not exposed by S3 API
reconcile post-sync✅ path-normalized after fix 2026-04-19

Notes on S3 common items ​

  • df / storage quota: most S3-compatible providers do not expose a standard "used space" endpoint. This is a structural N/A rather than a regression, shown as - in tables.
  • Reconcile post-sync: post-fix 2026-04-19 cmd_check, cmd_reconcile, and cmd_sync track relative paths via the scan queue state (entry.name basename + accumulated rel_prefix) instead of stripping the provider-returned absolute path. Reconciliation on S3-compatible providers now matches cleanly without explicit path hints.

Back to ​

aeroftp.app - Released under the GPL-3.0 License. AeroFTP Reviews