Skip to content

Commit c24c5a7

Browse files
axpnetaeroftp[bot]claude
committed
docs: add ImageKit, Uploadcare, Cloudinary, Tab.digital, Blomp + sidebar restructure
Five new provider setup guides plus a full sidebar / homepage / index reorganization to match the v3.7.4 provider lineup. New provider pages (providers/) - imagekit.md: native REST API, private + public key auth, 20 GB free, CDN transformations passthrough, troubleshooting for the v3.7.3 type=all listing fix and null_to_default deserializer. - uploadcare.md: REST + Upload API, public + secret keys, EU/GDPR residency, cursor-based listing with store-once mapping to directory semantics. - cloudinary.md: cloudname + key + secret triple, asset folders on paid plans, tag-based pseudo-folders on free plan, 25 GB / 25k transformations / 25 GB BW free tier. - tabdigital.md: Nextcloud-as-a-Service preset, EU/GDPR, 8 GB free, WebDAV + OCS share-link badge, healthCheckUrl preset. - blomp.md: Swift / S3-compatible 40 GB free preset, explicit warning on the upstream proxy 403 issue blocking storage operations. Sidebar (.vitepress/config.ts) - Restructure Setup Guides into 7 collapsible sub-categories ordered S3-Compatible -> WebDAV -> Cloud Storage (OAuth & API) -> SFTP Presets -> Local Bridges -> Developer Forges -> Photo & Media (last, per category convention). - Alphabetize entries within each sub-group; previous order was insertion-driven and inconsistent. - Restructure Features into 5 collapsible sub-groups: Aero Family (open by default) plus Sync & Delta, AI & Agents, File Operations, Bridges & Interop (collapsed). - Collapse CLI / MCP / Advanced / Security / Contributing by default to keep the sidebar compact on first load. - Refresh meta tags (description, og:description, twitter:description, keywords, JSON-LD) with the 55+ count and the new media providers. Homepage + provider index - index.md grid rebuilt with explicit row labels and the same category ordering. Cloud (OAuth/API) on rows 1-2, S3 on 3-4, WebDAV on 5, Developer Forges on 6, Photo & Media on row 7 (last). Tier counts bumped to 25+ native / 45+ presets. - providers/index.md rewritten end-to-end so Photo & Media moves to the bottom; tables now follow S3 -> WebDAV -> Cloud -> SFTP -> Local Bridges -> Developer -> Photo & Media. Adds the 5 new providers and a Google Photos standby note. Assets (public/icons/providers/) - blomp.png, cloudinary.png, tabdigital.png copied so the homepage grid and providers index render the new tiles. Co-Authored-By: aeroftp[bot] <aeroftp[bot]@users.noreply.github.com> Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
1 parent 15efb85 commit c24c5a7

11 files changed

Lines changed: 600 additions & 132 deletions

File tree

.vitepress/config.ts

Lines changed: 161 additions & 86 deletions
Large diffs are not rendered by default.

index.md

Lines changed: 52 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ features:
1919
src: /icons/protocols.svg
2020
alt: Protocols
2121
title: Multi-Protocol
22-
details: 7 transport protocols + 20+ native provider integrations + 40+ pre-configured presets - all native, no shellouts.
22+
details: 7 transport protocols + 25+ native provider integrations + 45+ pre-configured presets - all native, no shellouts.
2323
- icon:
2424
src: /icons/agent.svg
2525
alt: AeroAgent
@@ -58,7 +58,7 @@ import SnapTerritories from './.vitepress/theme/components/SnapTerritories.vue'
5858
<p align="center">AeroFTP organizes integrations on three tiers, so the catalog is precise rather than vague:</p>
5959

6060
<p align="center">
61-
<strong>7 transport protocols</strong> &middot; <strong>20+ native provider integrations</strong> &middot; <strong>40+ pre-configured presets</strong>
61+
<strong>7 transport protocols</strong> &middot; <strong>25+ native provider integrations</strong> &middot; <strong>45+ pre-configured presets</strong>
6262
</p>
6363

6464
<p align="center">
@@ -68,10 +68,11 @@ import SnapTerritories from './.vitepress/theme/components/SnapTerritories.vue'
6868
</p>
6969

7070
<table align="center">
71+
<!-- Row 1-2: Cloud Storage (OAuth & native API) -->
7172
<tr>
7273
<td align="center" width="130"><a href="/providers/google-drive"><img src="/icons/providers/Google_Drive.png" width="36" /></a><br><sub>Google Drive</sub></td>
73-
<td align="center" width="130"><a href="/providers/dropbox"><img src="/icons/providers/dropbox.png" width="36" /></a><br><sub>Dropbox</sub></td>
7474
<td align="center" width="130"><a href="/providers/onedrive"><img src="/icons/providers/onedrive.png" width="36" /></a><br><sub>OneDrive</sub></td>
75+
<td align="center" width="130"><a href="/providers/dropbox"><img src="/icons/providers/dropbox.png" width="36" /></a><br><sub>Dropbox</sub></td>
7576
<td align="center" width="130"><a href="/providers/mega"><img src="/icons/providers/mega.png" width="36" /></a><br><sub>MEGA</sub></td>
7677
<td align="center" width="130"><a href="/providers/box"><img src="/icons/providers/box.png" width="36" /></a><br><sub>Box</sub></td>
7778
<td align="center" width="130"><a href="/providers/pcloud"><img src="/icons/providers/pcloud.png" width="36" /></a><br><sub>pCloud</sub></td>
@@ -83,48 +84,76 @@ import SnapTerritories from './.vitepress/theme/components/SnapTerritories.vue'
8384
<tr>
8485
<td align="center" width="130"><a href="/providers/kdrive"><img src="/icons/providers/kdrive.png" width="36" /></a><br><sub>kDrive</sub></td>
8586
<td align="center" width="130"><a href="/providers/jottacloud"><img src="/icons/providers/jottacloud.png" width="36" /></a><br><sub>Jottacloud</sub></td>
86-
<td align="center" width="130"><a href="/providers/yandex"><img src="/icons/providers/YandexDisk.png" width="36" /></a><br><sub>Yandex Disk</sub></td>
87-
<td align="center" width="130"><a href="/providers/4shared"><img src="/icons/providers/4shared.png" width="36" /></a><br><sub>4shared</sub></td>
88-
<td align="center" width="130"><a href="/providers/filelu"><img src="/icons/providers/filelu.png" width="36" /></a><br><sub>FileLu</sub></td>
8987
<td align="center" width="130"><a href="/providers/drime"><img src="/icons/providers/drime.png" width="36" /></a><br><sub>Drime</sub></td>
88+
<td align="center" width="130"><a href="/providers/filelu"><img src="/icons/providers/filelu.png" width="36" /></a><br><sub>FileLu</sub></td>
9089
<td align="center" width="130"><a href="/providers/opendrive"><img src="/icons/providers/opendrive.png" width="36" /></a><br><sub>OpenDrive</sub></td>
91-
<td align="center" width="130"><a href="/providers/nextcloud"><img src="/icons/providers/nextcloud.png" width="36" /></a><br><sub>Nextcloud</sub></td>
92-
<td align="center" width="130"><a href="/providers/felicloud"><img src="/icons/providers/felicloud.png" width="36" /></a><br><sub>Felicloud</sub></td>
93-
<td align="center" width="130"><a href="/providers/cloudme"><img src="/icons/providers/cloudme.png" width="36" /></a><br><sub>CloudMe</sub></td>
90+
<td align="center" width="130"><a href="/providers/yandex"><img src="/icons/providers/YandexDisk.png" width="36" /></a><br><sub>Yandex Disk</sub></td>
91+
<td align="center" width="130"><a href="/providers/4shared"><img src="/icons/providers/4shared.png" width="36" /></a><br><sub>4shared</sub></td>
92+
<td align="center" width="130"><a href="/providers/backblaze-b2"><img src="/icons/providers/backblaze.png" width="36" /></a><br><sub>Backblaze</sub></td>
93+
<td align="center" width="130"><a href="/providers/filen-desktop"><img src="/icons/providers/filen.png" width="36" /></a><br><sub>Filen Desktop</sub></td>
94+
<td align="center" width="130"><a href="/providers/megacmd"><img src="/icons/providers/mega.png" width="36" /></a><br><sub>MEGAcmd</sub></td>
9495
</tr>
96+
<!-- Row 3-4: S3-Compatible Object Storage -->
9597
<tr>
96-
<td align="center" width="130"><a href="/providers/infinicloud"><img src="/icons/providers/infiniCloud.png" width="36" /></a><br><sub>InfiniCLOUD</sub></td>
97-
<td align="center" width="130"><a href="/providers/jianguoyun"><img src="/icons/providers/jianguoyun.png" width="36" /></a><br><sub>Jianguoyun</sub></td>
98-
<td align="center" width="130"><a href="/providers/seafile"><img src="/icons/providers/seafile.png" width="36" /></a><br><sub>Seafile</sub></td>
99-
<td align="center" width="130"><a href="/providers/drivehq"><img src="/icons/providers/drivehq.png" width="36" /></a><br><sub>DriveHQ</sub></td>
10098
<td align="center" width="130"><a href="/providers/aws-s3"><img src="/icons/providers/Amazon_Web_Services.png" width="36" /></a><br><sub>AWS S3</sub></td>
99+
<td align="center" width="130"><a href="/providers/google-cloud-storage"><img src="/icons/providers/googlecloud.png" width="36" /></a><br><sub>Google Cloud</sub></td>
101100
<td align="center" width="130"><a href="/protocols/azure"><img src="/icons/providers/azure.png" width="36" /></a><br><sub>Azure</sub></td>
102-
<td align="center" width="130"><a href="/providers/backblaze-b2"><img src="/icons/providers/backblaze.png" width="36" /></a><br><sub>Backblaze</sub></td>
103101
<td align="center" width="130"><a href="/providers/wasabi"><img src="/icons/providers/wasabi.png" width="36" /></a><br><sub>Wasabi</sub></td>
104102
<td align="center" width="130"><a href="/providers/cloudflare-r2"><img src="/icons/providers/cloudfare.png" width="36" /></a><br><sub>Cloudflare R2</sub></td>
105103
<td align="center" width="130"><a href="/providers/digitalocean-spaces"><img src="/icons/providers/digitalocean.png" width="36" /></a><br><sub>DigitalOcean</sub></td>
106-
</tr>
107-
<tr>
108104
<td align="center" width="130"><a href="/providers/tencent-cloud-cos"><img src="/icons/providers/tencent.png" width="36" /></a><br><sub>Tencent COS</sub></td>
109105
<td align="center" width="130"><a href="/providers/alibaba-cloud-oss"><img src="/icons/providers/alibabacloud.png" width="36" /></a><br><sub>Alibaba OSS</sub></td>
110106
<td align="center" width="130"><a href="/providers/oracle-cloud"><img src="/icons/providers/oracle_cloud.png" width="36" /></a><br><sub>Oracle</sub></td>
111107
<td align="center" width="130"><a href="/providers/storj"><img src="/icons/providers/storj.png" width="36" /></a><br><sub>Storj</sub></td>
108+
</tr>
109+
<tr>
112110
<td align="center" width="130"><a href="/providers/idrive-e2"><img src="/icons/providers/idrive_e2.png" width="36" /></a><br><sub>IDrive e2</sub></td>
113111
<td align="center" width="130"><a href="/providers/minio"><img src="/icons/providers/minio.png" width="36" /></a><br><sub>MinIO</sub></td>
114-
<td align="center" width="130"><a href="/providers/hetzner-storage-box"><img src="/icons/providers/hetzner.png" width="36" /></a><br><sub>Hetzner</sub></td>
115112
<td align="center" width="130"><a href="/providers/yandex-object-storage"><img src="/icons/providers/yandexcloud.png" width="36" /></a><br><sub>Yandex Cloud</sub></td>
113+
<td align="center" width="130"><a href="/providers/mega-s4"><img src="/icons/providers/mega.png" width="36" /></a><br><sub>MEGA S4</sub></td>
116114
<td align="center" width="130"><a href="/providers/quotaless"><img src="/icons/providers/quotaless.png" width="36" /></a><br><sub>Quotaless</sub></td>
117-
<td align="center" width="130"><a href="/providers/github"><img src="/icons/providers/github.png" width="36" /></a><br><sub>GitHub</sub></td>
115+
<td align="center" width="130"><a href="/providers/s3drive"><img src="/icons/providers/s3drive.png" width="36" /></a><br><sub>S3Drive</sub></td>
116+
<td align="center" width="130"><a href="/providers/blomp"><img src="/icons/providers/blomp.png" width="36" /></a><br><sub>Blomp</sub></td>
117+
<td align="center" width="130"></td>
118+
<td align="center" width="130"></td>
119+
<td align="center" width="130"></td>
118120
</tr>
121+
<!-- Row 5: WebDAV (Nextcloud-as-a-Service & friends) + SFTP preset -->
119122
<tr>
123+
<td align="center" width="130"><a href="/providers/nextcloud"><img src="/icons/providers/nextcloud.png" width="36" /></a><br><sub>Nextcloud</sub></td>
124+
<td align="center" width="130"><a href="/providers/felicloud"><img src="/icons/providers/felicloud.png" width="36" /></a><br><sub>Felicloud</sub></td>
125+
<td align="center" width="130"><a href="/providers/tabdigital"><img src="/icons/providers/tabdigital.png" width="36" /></a><br><sub>Tab.digital</sub></td>
126+
<td align="center" width="130"><a href="/providers/cloudme"><img src="/icons/providers/cloudme.png" width="36" /></a><br><sub>CloudMe</sub></td>
127+
<td align="center" width="130"><a href="/providers/infinicloud"><img src="/icons/providers/infiniCloud.png" width="36" /></a><br><sub>InfiniCLOUD</sub></td>
128+
<td align="center" width="130"><a href="/providers/jianguoyun"><img src="/icons/providers/jianguoyun.png" width="36" /></a><br><sub>Jianguoyun</sub></td>
129+
<td align="center" width="130"><a href="/providers/seafile"><img src="/icons/providers/seafile.png" width="36" /></a><br><sub>Seafile</sub></td>
130+
<td align="center" width="130"><a href="/providers/drivehq"><img src="/icons/providers/drivehq.png" width="36" /></a><br><sub>DriveHQ</sub></td>
131+
<td align="center" width="130"><a href="/providers/hetzner-storage-box"><img src="/icons/providers/hetzner.png" width="36" /></a><br><sub>Hetzner</sub></td>
132+
<td align="center" width="130"></td>
133+
</tr>
134+
<!-- Row 6: Developer Forges -->
135+
<tr>
136+
<td align="center" width="130"><a href="/providers/github"><img src="/icons/providers/github.png" width="36" /></a><br><sub>GitHub</sub></td>
120137
<td align="center" width="130"><a href="/providers/gitlab"><img src="/icons/providers/gitlab.png" width="36" /></a><br><sub>GitLab</sub></td>
121138
<td align="center" width="130"><a href="/providers/sourceforge"><img src="/icons/providers/sourceforge.png" width="36" /></a><br><sub>SourceForge</sub></td>
122-
<td align="center" width="130"><a href="/providers/google-cloud-storage"><img src="/icons/providers/googlecloud.png" width="36" /></a><br><sub>Google Cloud</sub></td>
139+
<td align="center" width="130"></td>
140+
<td align="center" width="130"></td>
141+
<td align="center" width="130"></td>
142+
<td align="center" width="130"></td>
143+
<td align="center" width="130"></td>
144+
<td align="center" width="130"></td>
145+
<td align="center" width="130"></td>
146+
</tr>
147+
<!-- Row 7: Photo & Media services (last per category ordering) -->
148+
<tr>
123149
<td align="center" width="130"><a href="/providers/immich"><img src="/icons/providers/immich.png" width="36" /></a><br><sub>Immich</sub></td>
124150
<td align="center" width="130"><a href="/providers/pixelunion"><img src="/icons/providers/pixelunion.png" width="36" /></a><br><sub>PixelUnion</sub></td>
125-
<td align="center" width="130"><a href="/providers/s3drive"><img src="/icons/providers/s3drive.png" width="36" /></a><br><sub>S3Drive</sub></td>
126-
<td align="center" width="130"><a href="/providers/filen-desktop"><img src="/icons/providers/filen.png" width="36" /></a><br><sub>Filen Desktop</sub></td>
127-
<td align="center" width="130"><a href="/providers/megacmd"><img src="/icons/providers/mega.png" width="36" /></a><br><sub>MEGAcmd</sub></td>
151+
<td align="center" width="130"><a href="/providers/imagekit"><img src="/icons/providers/imagekit.png" width="36" /></a><br><sub>ImageKit</sub></td>
152+
<td align="center" width="130"><a href="/providers/uploadcare"><img src="/icons/providers/uploadcare.png" width="36" /></a><br><sub>Uploadcare</sub></td>
153+
<td align="center" width="130"><a href="/providers/cloudinary"><img src="/icons/providers/cloudinary.png" width="36" /></a><br><sub>Cloudinary</sub></td>
154+
<td align="center" width="130"></td>
155+
<td align="center" width="130"></td>
156+
<td align="center" width="130"></td>
128157
<td align="center" width="130"></td>
129158
<td align="center" width="130"></td>
130159
</tr>
@@ -133,5 +162,5 @@ import SnapTerritories from './.vitepress/theme/components/SnapTerritories.vue'
133162
<p align="center">
134163
<sub>+ FTP, FTPS, SFTP, WebDAV, Swift protocols</sub><br>
135164
<sub>We reached out directly to providers to ensure quality integration.</sub><br>
136-
<sub>Special thanks to MEGA, Koofr, FileLu, Felicloud, Storj, pCloud, IDrive, and SourceForge for their responsive technical support.</sub>
165+
<sub>Special thanks to MEGA, Koofr, FileLu, Felicloud, Tab.digital, ImageKit, Uploadcare, Cloudinary, Storj, pCloud, IDrive, and SourceForge for their responsive technical support.</sub>
137166
</p>

providers/blomp.md

Lines changed: 71 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,71 @@
1+
---
2+
title: Blomp with AeroFTP
3+
description: Connect Blomp to AeroFTP using OpenStack Swift / S3 endpoints with 40 GB free storage. Currently in pipeline pending upstream proxy fix.
4+
---
5+
6+
# Blomp
7+
8+
[Blomp](https://blomp.com) is a cloud storage provider with a generous **40 GB free** tier, built on top of an OpenStack Swift backend with an S3-compatible front-door. AeroFTP exposes Blomp as a preset on top of the standard S3 protocol stack.
9+
10+
::: warning Status: pipeline (preset)
11+
Blomp's S3 endpoint currently returns `403` on storage operations even after a successful authentication. The preset is shipped in AeroFTP for users who already have a working configuration, but the integration is gated on an upstream proxy fix from Blomp. Tracked in the [provider pipeline](https://github.com/axpdev-lab/aeroftp/blob/main/ROADMAP.md#provider-pipeline). The S3 logo, badge, and IntroHub card are already wired so the preset becomes fully functional once the upstream fix lands.
12+
:::
13+
14+
## Connection Settings
15+
16+
| Field | Value |
17+
| --- | --- |
18+
| Endpoint | Blomp's S3 gateway URL (verify in your Blomp account dashboard) |
19+
| Region | `us-east-1` (placeholder, S3 protocol requires a region) |
20+
| Bucket | Your Blomp container / bucket name |
21+
| Access Key ID | From Blomp dashboard > API Keys |
22+
| Secret Access Key | From the same panel |
23+
| Path-style addressing | Enabled (Blomp does not resolve bucket-as-subdomain) |
24+
25+
## Why Use AeroFTP with Blomp
26+
27+
- 40 GB free storage is one of the most generous quotas among S3-compatible providers
28+
- one client for Blomp, AWS S3, Wasabi, Cloudflare R2, MinIO, and 13 other S3-compatible backends
29+
- saved profile in the encrypted vault, no plaintext credentials on disk
30+
- AeroSync, AeroVault overlay, and CLI all work transparently once the upstream proxy is fixed
31+
32+
## How to Connect
33+
34+
1. Sign up at [blomp.com](https://blomp.com) and confirm the 40 GB free tier.
35+
2. In your Blomp dashboard, generate an **Access Key ID** and **Secret Access Key**.
36+
3. Note the S3 endpoint URL Blomp provides for your account.
37+
4. In AeroFTP, open **Discover Services** and pick **Blomp**.
38+
5. Enter the access key, secret key, endpoint, and bucket name.
39+
6. Click **Connect**. AeroFTP authenticates against Blomp's S3 front-door.
40+
41+
## Current Limitations
42+
43+
Until Blomp's upstream proxy fix lands, AeroFTP behaves as follows:
44+
45+
- **Auth succeeds, listing 403**: the S3 front-door accepts your credentials but returns `403` on `ListObjects` calls. AeroFTP surfaces this as `Provider error: AccessDenied` in the Activity Log.
46+
- **Uploads also 403**: same root cause. The provider will display the auth state correctly but operations fail.
47+
- **AeroSync disabled**: any `sync` operation will halt at the listing step with the same `403`.
48+
49+
The integration code path itself is correct (it is a thin S3 wrapper), so the preset will become fully functional once Blomp's proxy is fixed without any AeroFTP-side change required.
50+
51+
## Recommended Defaults
52+
53+
- enable path-style addressing (Blomp does not support virtual-hosted style)
54+
- keep the S3 region as `us-east-1` (placeholder; Blomp's gateway accepts any v4-signed region)
55+
- choose a non-critical Blomp bucket for testing until the upstream fix lands
56+
- if you need a working S3 backend in the meantime, use [MinIO](/providers/minio), [Wasabi](/providers/wasabi), [Storj](/providers/storj), or [IDrive e2](/providers/idrive-e2)
57+
58+
## Common Issues
59+
60+
| Problem | Cause | Solution |
61+
| ------- | ----- | -------- |
62+
| `403 Forbidden` on listing or upload | Upstream Blomp proxy bug (auth ok, storage 403) | Pending upstream fix. Track the [provider pipeline](https://github.com/axpdev-lab/aeroftp/blob/main/ROADMAP.md#provider-pipeline). |
63+
| `404 Not Found` on bucket | Wrong bucket name or endpoint | Verify the exact bucket and endpoint in your Blomp dashboard. |
64+
| `SignatureDoesNotMatch` | Time skew, wrong region, or wrong path-style setting | Ensure path-style is enabled and the system clock is in sync. |
65+
66+
## Related Documentation
67+
68+
- [S3-Compatible](/protocols/s3) - protocol-level technical reference
69+
- [MinIO](/providers/minio) - reliable self-hosted S3 alternative
70+
- [Wasabi](/providers/wasabi) - paid S3-compatible alternative with no egress fees
71+
- [Blomp Website](https://blomp.com)

0 commit comments

Comments
 (0)