This is the full developer documentation for Blober
# Lost in Space?
> That page doesn't exist. Let's get you back to the docs.
# The 3-2-1 Backup Rule for People Who Live in the Cloud
> The 3-2-1 backup rule explained for cloud-first users: why one cloud account is one copy, how to build the other two cheaply, and how to keep them current.
## What the 3-2-1 Rule Says
[Section titled "What the 3-2-1 Rule Says"](#what-the-3-2-1-rule-says)
Keep 3 copies of anything you care about, on 2 different kinds of media, with 1 copy off-site. It is an old rule from the server world, and it still holds. The twist for cloud-first people is that "it is in Google Photos" or "it is in Dropbox" counts as a single copy, not three.
A cloud account feels like safety because the company runs the servers. It is still one copy in one place, subject to one account that can be locked, billed, closed, or simply forgotten. That is exactly the single point of failure 3-2-1 exists to remove.
## Why One Cloud Is Only One Copy
[Section titled "Why One Cloud Is Only One Copy"](#why-one-cloud-is-only-one-copy)
Account lockouts happen. Subscriptions lapse. A provider changes terms or sunsets a service. Sync can faithfully replicate a deletion or a corruption to every device before you notice. In each case, having everything in one cloud means having one copy, and one copy is the thing the rule warns against.
This is not an argument against your cloud. It is an argument for two more copies.
## Building the Other Two Copies
[Section titled "Building the Other Two Copies"](#building-the-other-two-copies)
You do not need a server rack. A workable 3-2-1 for a normal cloud library looks like this:
* **Copy 1: the cloud you already use.** Google Photos, Drive, Dropbox, iCloud, GoPro Cloud, whatever holds the originals today.
* **Copy 2: storage you own.** A NAS or an external drive. Different kind of media, under your own roof, reachable even if an account is not.
* **Copy 3: a second, off-site cloud.** Object storage like Backblaze B2, Wasabi, or Cloudflare R2, or a second consumer cloud. This is the off-site leg that survives a fire, theft, or a drive failure at home.
Two kinds of media, one of them off-site. That is the whole rule.
## Keeping the Copies Current
[Section titled "Keeping the Copies Current"](#keeping-the-copies-current)
A backup made once and never updated slowly stops matching reality. The practical habit is to refresh the owned copy and the off-site copy on a schedule that matches how often the originals change: monthly for a photo library, after each shoot for a working archive.
Blober is the piece that moves data between these copies. It connects to a broad set of cloud providers plus local storage and copies between them directly, without staging a full copy on your disk. It has skip-existing, so a re-run only carries what is new rather than recopying everything, which is what makes "refresh the backup" a five-minute job instead of an afternoon.
## A Quick Reality Check
[Section titled "A Quick Reality Check"](#a-quick-reality-check)
Run one test before you trust any of this: open a few files from the owned copy and the off-site copy. A backup you have never opened is a hope. Two copies you have actually checked are a backup.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**What is the 3-2-1 backup rule?** Keep 3 copies of your data, on 2 different types of media, with 1 copy stored off-site. It protects you from any single failure, whether a drive, an account, or a location.
**Does cloud storage count as a backup?** A single cloud account is one copy, not a backup. It becomes part of a real backup once you add a second copy on owned storage and a third copy off-site.
**What is the easiest second copy for a cloud library?** A NAS or an external drive. It is a different kind of media than the cloud and stays reachable even if an account is locked.
**How do I keep my backup copies up to date?** Re-run the copy on a schedule. A tool with skip-existing, like Blober, only moves what changed, so refreshing the owned and off-site copies is quick.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [How to Back Up Cloud Storage to a Synology NAS](/kb/articles/backup-cloud-to-nas-synology-network-drive/)
* [How to Back Up Google Photos Without Takeout](/kb/articles/how-to-backup-google-photos-without-takeout/)
* [DJI Osmo and Insta360 Footage: Where It Should Live](/kb/articles/where-to-store-dji-osmo-insta360-footage/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Build a real 3-2-1 backup without a weekend of manual uploads. Blober moves data between your clouds, your NAS, and local drives, and only copies what changed on a re-run.
**[Download Blober at blober.io](https://blober.io)**
# Archiving Large Research and Scientific Datasets Across Clouds
> A practical approach to archiving multi-terabyte research datasets: choosing durable storage, moving data between object stores and local storage, and resuming long transfers.
## The Shape of Research Data
[Section titled "The Shape of Research Data"](#the-shape-of-research-data)
Research datasets are large, occasionally needed years later, and often spread across storage paid for by different grants or collaborators. Archiving them well means picking durable storage, moving the data without a scripting project, and using transfers that resume when a multi-day run gets interrupted.
Anyone who has managed a lab's data knows the pattern. A dataset lives on a cluster's object store, a copy sits in a collaborator's account, and the grant that funded the original storage is ending. The data has to move, it is enormous, and nobody wants to own the migration.
## Choose Storage That Suits an Archive
[Section titled "Choose Storage That Suits an Archive"](#choose-storage-that-suits-an-archive)
Active analysis and long-term archive have different needs. For the archive, the priorities are durability and a cost model that fits data you read back rarely:
* **Object storage** such as Backblaze B2, Wasabi, or Cloudflare R2 is built for exactly this: large objects, high durability, S3-compatible so your existing tools work.
* **Compare on egress and minimum storage duration**, not the headline rate. For an archive you touch a few times a year, those terms decide the real cost far more than the storage price.
* **Keep a second copy.** A single archive is one copy. Durable does not mean infallible, and a second location is what the 3-2-1 rule is for.
## Moving the Data Without a Scripting Project
[Section titled "Moving the Data Without a Scripting Project"](#moving-the-data-without-a-scripting-project)
The usual options at this scale are command-line tools and custom scripts, which is fine if you have an engineer to spare and a problem when you do not. The bottleneck is rarely the copy itself. It is listing millions of small files, keeping throughput up with parallelism, and resuming cleanly when a run that takes days gets interrupted.
Blober handles those parts from a desktop app. It connects to S3, B2, Wasabi, R2, DigitalOcean Spaces, Azure Blob, and local storage, copies between them directly without staging a full copy on disk, runs transfers in parallel, and has skip-existing so a paused or failed run picks up where it left off instead of starting over. For a dataset larger than any one machine's disk, that combination is the difference between a finished archive and an abandoned one.
## Document What You Moved
[Section titled "Document What You Moved"](#document-what-you-moved)
An archive nobody can navigate is only half useful. As you move data, keep a simple record: what went where, when, and the rough file count, so a future you or a future student can find a dataset without reverse-engineering the folder tree. A short README in the destination bucket pays for itself the first time someone needs the data after you have moved on.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Where should I archive large research datasets?** Durable object storage such as Backblaze B2, Wasabi, or Cloudflare R2, chosen on egress and minimum storage duration rather than the headline rate, with a second copy in another location.
**How do I move a multi-terabyte dataset between clouds?** Use a tool that transfers directly, runs in parallel, and resumes. Blober copies between object stores and local storage from a desktop app, with skip-existing so interrupted runs continue rather than restart.
**What makes large transfers fail?** At scale, listing millions of small files and surviving interruptions are the hard parts, not the copy. Parallelism and resumable, skip-existing transfers are what get a multi-day run to finish.
**Is object storage good for research archives?** Yes. It is durable, built for large objects, and usually S3-compatible, so existing tools work. Keep a second copy elsewhere to satisfy 3-2-1.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [Migrating 100 Million Files from DigitalOcean to Backblaze](/kb/articles/migrating-100-million-files-digitalocean-to-backblaze/)
* [What S3-Compatible Really Means](/kb/articles/what-s3-compatible-really-means/)
* [The 3-2-1 Backup Rule for People Who Live in the Cloud](/kb/articles/3-2-1-backup-rule-for-cloud/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Move multi-terabyte datasets between object stores and local storage without a scripting project. Blober transfers in parallel, preserves structure, and resumes interrupted runs.
**[Download Blober at blober.io](https://blober.io)**
# How to Audit Azure Blobs by Access Tier and Metadata
> Use Azure Blob Inventory to export a daily or weekly CSV or Parquet report of blob tiers, sizes, dates, versions, snapshots, and metadata.
## Use inventory for reporting, not manual browsing
[Section titled "Use inventory for reporting, not manual browsing"](#use-inventory-for-reporting-not-manual-browsing)
The Azure portal is fine when you need to inspect one container. It is a poor way to answer account-wide questions such as:
* How much data is in Hot, Cool, Cold, and Archive?
* Which old blobs are still on Hot?
* Which objects have a legal hold or encryption status?
* How large are the current versions, snapshots, and previous versions?
Azure Blob Inventory is the native reporting feature for that job. It writes a scheduled CSV or Apache Parquet report into a container in the storage account.[\[1\]](https://learn.microsoft.com/en-us/azure/storage/blobs/blob-inventory "Source: learn.microsoft.com/en-us/azure/storage/blobs/blob-inventory")
## What the report can contain
[Section titled "What the report can contain"](#what-the-report-can-contain)
An inventory policy controls the fields and records in the report. Microsoft documents fields including:
* Name and blob type
* Creation and last-modified time
* Last access time
* Content length and content type
* ETag and content MD5
* Access tier and tier-change time
* Lease status
* Server-encryption status
* Metadata
The policy can include current blobs, snapshots, versions, and deleted records. Filters can narrow the report by blob type, age, and path prefix.
This is more reliable than scraping rows from the portal because Azure generates the report from a declared policy.
## The schedule is the main limitation
[Section titled "The schedule is the main limitation"](#the-schedule-is-the-main-limitation)
Blob Inventory runs daily or weekly. It is not a live query button.
Create the destination container before enabling the policy, choose the fields you need, and wait for the scheduled report. Microsoft does not promise one fixed delivery hour, so do not build a same-minute operational process around it.
If you need to browse and act on files now, use the portal, CLI, SDK, or a file browser. Inventory is better for repeatable audits and trend analysis.
## Start with a small policy
[Section titled "Start with a small policy"](#start-with-a-small-policy)
An inventory policy can contain up to 100 rules. More rules are not automatically better.
Begin with one report for current block blobs and include only the fields needed for the first question. CSV is easy to inspect. Parquet is a better fit when an analytics tool will process a large report.
After the first output arrives:
1. Confirm that the expected containers and prefixes appear.
2. Check the tier values against a few known blobs.
3. Compare the total content length with an independent account estimate.
4. Add snapshots, versions, or deleted records only if the audit needs them.
## Inventory and Blober solve different parts
[Section titled "Inventory and Blober solve different parts"](#inventory-and-blober-solve-different-parts)
Use Blob Inventory when you need a scheduled account report. Use Blober when you need to browse selected containers, filter records, preview a transfer, change tiers, or reorganize files now.
The two tools fit together. Inventory finds a population, such as old Hot blobs. Blober can then handle a selected operational move or tier change without turning the reporting policy into a transfer script.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [How to Bulk Change Azure Blob Storage Access Tiers](/kb/articles/azure-blob-storage-mutations-change-tiers/)
* [Azure Blob Tiers vs S3 Storage Classes](/kb/articles/azure-blob-tiers-vs-s3-storage-classes/)
* [Organize Blob and Object Storage Without File Search](/kb/articles/organize-blob-storage-without-search/)
* [Azure Blob Storage Setup and Transfers](/kb/docs/providers/azure-blob/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Inventory tells you what is there. Blober lets you browse, filter, and act on it. Select blobs, change access tiers, and move data between Azure and other providers from a desktop app.
**[Download Blober at blober.io](https://blober.io)**
# How Blober Handles Duplicate Files in Long-Running Backups
> Learn when to resume a Blober task, when to rerun a workflow, and how Local filename deduplication prevents repeated downloads and numbered copies.
## Long Backups Need Two Different Kinds of Protection
[Section titled "Long Backups Need Two Different Kinds of Protection"](#long-backups-need-two-different-kinds-of-protection)
A cloud library can take hours or days to copy. During that time, a computer may restart, a network may disconnect, or a provider may ask you to sign in again. You may also want to run the same export later to collect newer files.
Those situations sound similar, but they need different tools:
* **Resume the existing task after an interruption.** Blober keeps that task's progress and does not process its completed records again.
* **Use destination deduplication for a new Local export.** When a new task writes to the same local folder, filename deduplication can skip exact destination filenames that are already there.
Understanding that distinction is the key to avoiding unnecessary transfers.
## Workflow vs Task: What Blober Remembers
[Section titled "Workflow vs Task: What Blober Remembers"](#workflow-vs-task-what-blober-remembers)
A **workflow** is the reusable setup: source, destination, selected folders, filters, and naming rules. Each time you start that workflow, Blober creates a **task** that records the progress of that run.
Within a task, Blober records each source path as it is processed or skipped. If that task is interrupted and later continues, records already marked complete are not processed again.
This task state is stored locally with your workflows. Closing Blober, restarting the computer, or installing a newer version of Blober preserves the existing workflows and task history.
### What to Do After an Interruption
[Section titled "What to Do After an Interruption"](#what-to-do-after-an-interruption)
1. Reopen Blober.
2. Find the existing task on the **Progress** page.
3. If it was paused, resume that same task.
4. If it was still pending or running when Blober closed, the app can rediscover it after launch and continue it automatically.
5. Complete any provider login prompt that appears.
Do not start a new task merely because the original task stopped. A new run has its own progress records and is not a continuation of the interrupted run.
This matters especially for long cloud transfers. A provider login may expire during a run; signing in again refreshes access, while the existing task keeps its completed-file state.
## Why a New Local Export Keeps Same-Name Files by Default
[Section titled "Why a New Local Export Keeps Same-Name Files by Default"](#why-a-new-local-export-keeps-same-name-files-by-default)
When Local is the destination, Blober's default deduplication setting is **None (keep both files)**. If the computed destination path already exists, the new file is saved as `name (1).ext`, then `name (2).ext`, and so on.
That default is deliberate. Two different source items can have the same filename. Google Photos, cameras, and shared folders commonly contain unrelated files named `IMG_0001.JPG`. Silently discarding one would be worse than retaining both.
The tradeoff is that rerunning the same export into the same folder can create numbered copies unless you choose a stricter policy.
## Skip Existing Local Files by Filename
[Section titled "Skip Existing Local Files by Filename"](#skip-existing-local-files-by-filename)
For a repeat export where an exact existing destination filename means "already downloaded," enable Local filename deduplication:
1. Open or create the workflow.
2. Select **Local** as the destination.
3. Open the Local destination options.
4. Set **Deduplication** to **Filename (skip existing file)**.
5. Save and run the workflow.
Blober checks the exact computed destination path before consuming the source file. It repeats that check when claiming the final filename, which also protects against two concurrent transfers racing to create the same path.
See the [Local provider deduplication reference](/kb/docs/providers/local/#option-deduplication) for the setting and its limitations.
Caution
Filename deduplication compares names and paths, not file contents. If two different source files can share a filename, leave the setting at **None (keep both files)** or separate them with folder and naming rules.
## Which Option Should You Use?
[Section titled "Which Option Should You Use?"](#which-option-should-you-use)
| Situation | Recommended action |
| ------------------------------------------------------------ | -------------------------------------------------------------------------- |
| Blober, the computer, or the network stopped during a task | Resume the existing task |
| A provider asks you to sign in again during a task | Sign in, then continue the existing task |
| You installed a Blober update during a transfer | Reopen Blober and continue the existing task |
| You intentionally rerun an export into the same Local folder | Enable **Filename (skip existing file)** |
| The source may contain different files with identical names | Keep **None (keep both files)** |
| The destination is Google Drive or another cloud provider | Resume the same interrupted task; the Local filename option does not apply |
## Google Photos Reruns Without Numbered Copies
[Section titled "Google Photos Reruns Without Numbered Copies"](#google-photos-reruns-without-numbered-copies)
Google Photos is a common case because a large library may take a long time to download and may contain repeated camera filenames.
For an interrupted Google Photos download, continue the existing task. For a deliberate later export into the same local folder, use **Filename (skip existing file)** only when preserving one file per exact destination filename matches your library.
The full setup is covered in [How to Back Up Google Photos Without Google Takeout](/kb/articles/how-to-backup-google-photos-without-takeout/). That guide and the [Local provider reference](/kb/docs/providers/local/#option-deduplication) use the same deduplication setting described here.
## Best Practices for Multi-Day Transfers
[Section titled "Best Practices for Multi-Day Transfers"](#best-practices-for-multi-day-transfers)
* Keep the computer connected to power and avoid moving or disconnecting the destination drive.
* Use a stable destination folder and path template for the whole task.
* Pause before intentionally shutting down if you want manual control over when the task continues.
* After an unexpected restart, reopen Blober before creating anything new and check the existing task first.
* Respond to provider login prompts instead of replacing the workflow.
* Review files marked failed or skipped after completion. A provider may temporarily make an individual file unavailable even though the rest of the transfer completed.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
### Will updating Blober erase my workflows or task progress?
[Section titled "Will updating Blober erase my workflows or task progress?"](#will-updating-blober-erase-my-workflows-or-task-progress)
No. Installing an update preserves the local database that contains workflows, tasks, and per-record state. Reopen the existing task after the update rather than creating a replacement.
### Does filename deduplication compare file contents?
[Section titled "Does filename deduplication compare file contents?"](#does-filename-deduplication-compare-file-contents)
No. It checks whether the exact destination filename already exists. It does not calculate or compare content hashes.
### Does a skipped file count as complete in the same task?
[Section titled "Does a skipped file count as complete in the same task?"](#does-a-skipped-file-count-as-complete-in-the-same-task)
Yes. Blober saves the reason in the task details and continues with the remaining files. This prevents one unavailable source file or an intentional destination duplicate from blocking the rest of the transfer.
### Can I use Local filename deduplication with Google Drive?
[Section titled "Can I use Local filename deduplication with Google Drive?"](#can-i-use-local-filename-deduplication-with-google-drive)
No. It is an option of the Local provider when used as a destination. When Google Drive is the destination, avoid duplicate transfers after an interruption by resuming the original task.
## Get Blober
[Section titled "Get Blober"](#get-blober)
Blober runs on Windows, macOS, and Linux and is built for transfers that are too large to babysit in a browser.
**[Download Blober at blober.io](https://blober.io)**
# AzCopy S3 to Azure: How It Works and the Limits to Check
> Learn how AzCopy copies AWS S3 objects to Azure server-to-server, plus metadata, bucket-name, authentication, and S3-compatible endpoint limits.
## AzCopy does not download S3 data through your computer
[Section titled "AzCopy does not download S3 data through your computer"](#azcopy-does-not-download-s3-data-through-your-computer)
AzCopy's documented AWS S3 transfer uses Azure's Put Block From URL operation. AWS S3 and Azure Storage exchange the object data without using your computer's network bandwidth.[\[1\]](https://learn.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-s3 "Source: learn.microsoft.com/en-us/azure/storage/common/storage-use-azcopy-s3")
That makes AzCopy a strong option for teams comfortable with a command line. It can copy one object, a directory, a bucket, or broader groups of AWS buckets.
The migration still needs planning. Server-to-server describes the data route. It does not solve naming, metadata, authentication, or destination-tier decisions.
## Authentication is different on each side
[Section titled "Authentication is different on each side"](#authentication-is-different-on-each-side)
The Azure side can use Microsoft Entra ID or a SAS token. The documented AWS flow uses an AWS access key and secret access key supplied through environment variables.
Protect shell history, scripts, logs, and CI output from credentials. Use the narrowest permissions that cover the source and destination.
## Bucket names may change
[Section titled "Bucket names may change"](#bucket-names-may-change)
AWS S3 bucket names and Azure container names allow different characters. AzCopy rewrites names that Azure cannot accept.
Periods can become hyphens. Consecutive hyphens can also be rewritten. Two distinct S3 bucket names may therefore map to the same Azure container name, forcing another rename.
Create a bucket-to-container map before a large migration. Do not discover the naming plan from the destination after the copy is complete.
## Invalid metadata needs an explicit choice
[Section titled "Invalid metadata needs an explicit choice"](#invalid-metadata-needs-an-explicit-choice)
S3 and Azure also allow different metadata-key characters. AzCopy provides `--s2s-handle-invalid-metadata` with three behaviors:
* `ExcludeIfInvalid` omits incompatible metadata and logs a warning.
* `FailIfInvalid` fails that object.
* `RenameIfInvalid` changes the metadata key.
The default exclusion behavior can produce a successful object copy with missing metadata. If metadata affects retention, compliance, processing, or ownership, review this flag before running the job.
## AWS S3 is not every S3-compatible service
[Section titled "AWS S3 is not every S3-compatible service"](#aws-s3-is-not-every-s3-compatible-service)
Microsoft's documented S3 flow uses AWS S3 URL formats. Do not assume the same command accepts every Wasabi, Cloudflare R2, MinIO, DigitalOcean Spaces, or private S3-compatible endpoint.
Test the exact provider and endpoint. A tool that supports generic S3 endpoint URLs may be a better fit for non-AWS sources.
## When a desktop workflow fits better
[Section titled "When a desktop workflow fits better"](#when-a-desktop-workflow-fits-better)
Use AzCopy when server-to-server speed, scripting, automation, and repeatable command lines suit the team.
Use a desktop tool when the operator needs visual file selection, browsing, previews, and fewer command flags. Blober connects AWS S3, Azure Blob Storage, and generic S3-compatible endpoints in one local interface. Its data path is different from AzCopy's server-side AWS path, so choose based on network, security, and operational needs rather than calling either design universally better.
AzCopy also supports job resume and restart. Its source code and current release details are published on GitHub.[\[2\]](https://github.com/Azure/azure-storage-azcopy "Source: github.com/Azure/azure-storage-azcopy")
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [How to Transfer Files from AWS S3 to Azure Blob Storage](/kb/articles/how-to-transfer-aws-s3-to-azure-blob/)
* [Azure Blob Tiers vs S3 Storage Classes](/kb/articles/azure-blob-tiers-vs-s3-storage-classes/)
* [What S3-Compatible Really Means](/kb/articles/what-s3-compatible-really-means/)
* [Azure Blob Storage Setup and Transfers](/kb/docs/providers/azure-blob/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
AzCopy is a good command-line tool for AWS S3. When you want visual browsing, previews, destination tier selection, and generic S3-compatible endpoints, Blober covers the same move from a desktop app.
**[Download Blober at blober.io](https://blober.io)**
# How to Bulk Change Azure Blob Storage Access Tiers (Hot, Cool, Cold, Archive)
> Bulk change Azure Blob Storage access tiers between Hot, Cool, Cold, and Archive without PowerShell or re-uploading. Select blobs, set the tier, and apply in seconds.
## Azure Storage Tiers and the Problem with Managing Them
[Section titled "Azure Storage Tiers and the Problem with Managing Them"](#azure-storage-tiers-and-the-problem-with-managing-them)
Azure Blob Storage offers four generally available access tiers for block blob data: Hot, Cool, Cold, and Archive. Each tier has different storage and retrieval costs. The idea is straightforward: keep frequently accessed data on Hot, move older data to Cool or Cold, and archive rarely needed files to Archive for the lowest per-GB rate[\[1\]](https://learn.microsoft.com/azure/storage/blobs/access-tiers-overview "Source: learn.microsoft.com/azure/storage/blobs/access-tiers-overview").
In practice, managing tiers is not that simple. The Azure portal is fine for occasional manual changes, but repeatable bulk work usually means PowerShell, Azure CLI, direct API calls, or lifecycle management policies. If you want to move 500 blobs from Hot to Archive right now, you are either doing manual portal work or writing and testing a script.
Lifecycle policies help with automated transitions, but they operate on rules and schedules. They are not designed for the case where you look at a set of files and decide, right now, that these specific blobs need to be on a different tier.
## Hot, Cool, Cold, and Archive: The Tiers at a Glance
[Section titled "Hot, Cool, Cold, and Archive: The Tiers at a Glance"](#hot-cool-cold-and-archive-the-tiers-at-a-glance)
Azure Blob Storage has four access tiers. The colder the tier, the less you pay to store data and the more you pay, in both money and time, to read it back. Here is the practical comparison.
| Tier | Storage cost | Read cost | Minimum retention | Time to first byte | Best for |
| ------- | ------------ | ------------ | ----------------- | ------------------- | -------------------------------------------- |
| Hot | Highest | Lowest | None | Milliseconds | Data in active use |
| Cool | Lower | Higher | 30 days | Milliseconds | Backups, data read about monthly |
| Cold | Lower still | Higher still | 90 days | Milliseconds | Rarely touched data you still want instantly |
| Archive | Lowest | Highest | 180 days | Hours (rehydration) | Long-term archive and compliance copies |
Two things catch people out:
* **Archive is offline.** You cannot read an archived blob directly. You first rehydrate it to Hot, Cool, or Cold, which can take up to 15 hours. Plan for that latency before you archive anything you might need quickly.
* **Early deletion penalty.** If you delete, overwrite, or move a blob out of Cool (30 days), Cold (90 days), or Archive (180 days) before its minimum retention elapses, Azure charges a prorated early deletion fee. Moving a blob to Archive and pulling it back two weeks later is not free.
Moving an online blob to another online tier, or down to Archive, is an immediate tier operation. Only the reverse, rehydrating from Archive to an online tier, is a pending restore workflow that can take hours[\[2\]](https://learn.microsoft.com/rest/api/storageservices/set-blob-tier "Source: learn.microsoft.com/rest/api/storageservices/set-blob-tier").
## What Blober Does Differently
[Section titled "What Blober Does Differently"](#what-blober-does-differently)
Blober is a desktop app that connects to Azure Blob Storage as one of its supported providers. Beyond the usual read, write, list, and delete operations, Blober supports something called **mutations** for Azure Blob. Mutations let you change properties of existing blobs without transferring any data.
Today, Blober supports two types of Azure mutations:
### Storage Tier Changes
[Section titled "Storage Tier Changes"](#storage-tier-changes)
Select any number of blobs in the Blober file browser, choose a target tier (Hot, Cool, Cold, or Archive), and run the mutation. Every selected blob gets moved to the new tier. No re-upload, no script, no waiting for a lifecycle policy to kick in.
This is useful when you realize a project is finished and its assets should move to Archive, or when you need to bring archived files back to Cool for a review cycle.
### Container Access Level Changes
[Section titled "Container Access Level Changes"](#container-access-level-changes)
Azure containers can be set to Private, Blob-level public access, or Container-level public access. Changing access levels usually means navigating to each container in the portal and updating the setting. With Blober, you select the containers you want to modify, pick the access level, and apply.
## A Real Example: Post-Production Archival
[Section titled "A Real Example: Post-Production Archival"](#a-real-example-post-production-archival)
Say you run a media production company. You have a container called `project-alpine-2025` with 800 GB of raw footage sitting on Hot storage. The project wrapped three months ago and no one is accessing those files. You are paying Hot rates for storage that should be on Archive.
With Azure CLI, you would write something like:
```plaintext
az storage blob list --container-name project-alpine-2025 --output tsv | \
while read line; do
az storage blob set-tier --container-name project-alpine-2025 --name "$line" --tier Archive
done
```
This works, but you need to set up authentication, handle pagination for large containers, deal with blobs that are already archived, and test the script before running it on production data.
With Blober, you open your Azure Blob connection, navigate to the container, select all files, choose "Archive" as the target tier, and click run. Done.
## More Mutations Coming
[Section titled "More Mutations Coming"](#more-mutations-coming)
Tier changes and access levels are the first mutations Blober supports for Azure. The architecture is designed to extend this to other providers and other types of modifications. Future mutations could include things like metadata updates, blob tagging, or replication settings. The goal is to give you the same visual, point-and-click control over blob properties that you already have for transfers.
## Setting Up Azure Blob Storage in Blober
[Section titled "Setting Up Azure Blob Storage in Blober"](#setting-up-azure-blob-storage-in-blober)
Connecting Azure to Blober takes about a minute:
1. Open Blober and add a new provider
2. Select **Azure Blob Storage**
3. Paste your connection string (the same one you would use with Azure Storage Explorer or the SDK)
4. Blober verifies the connection and lists your containers
From there, you can browse blobs, transfer files to or from Azure, and run mutations on existing blobs.
### Configuration Options
[Section titled "Configuration Options"](#configuration-options)
When using Azure as a destination, Blober lets you configure:
* **Storage Tier**: Choose which tier new uploads land on (Hot, Cool, Cold, or Archive)
* **Write Behavior**: Overwrite existing blobs, skip if a blob already exists, or skip only if the blob is archived
These options are set per-workflow, so you can have one workflow that uploads to Hot and another that uploads directly to Archive.
## Who Needs This
[Section titled "Who Needs This"](#who-needs-this)
* **DevOps teams** managing storage costs across multiple containers and projects
* **Media companies** archiving completed project assets
* **Backup administrators** moving cold data to cheaper tiers
* **Anyone** who has outgrown Azure Portal's one-blob-at-a-time tier management
## Common Questions About Azure Blob Tiers
[Section titled "Common Questions About Azure Blob Tiers"](#common-questions-about-azure-blob-tiers)
**Does changing a blob's access tier create a new version?** No. Changing the tier with the Set Blob Tier operation does not create a new blob version. When versioning is enabled, the operations that create a version are writes: Put Blob, Put Block List, Copy Blob, and Set Blob Metadata. Set Blob Tier is not one of them; Azure documents tiering as an access-tier operation that can be applied to a blob version[\[3\]](https://learn.microsoft.com/rest/api/storageservices/set-blob-tier "Source: learn.microsoft.com/rest/api/storageservices/set-blob-tier")[\[4\]](https://learn.microsoft.com/azure/storage/blobs/versioning-overview#how-blob-versioning-works "Source: learn.microsoft.com/azure/storage/blobs/versioning-overview"). If you already keep multiple versions, each version holds its own tier, and explicitly tiering a version changes how that version is billed, but no new version is generated.
**Is this different from changing an Amazon S3 storage class?** Yes. Azure has a `Set Blob Tier` operation for changing a blob or version's tier. In S3, an immediate manual storage-class change is copy-based: AWS documents changing an existing object's storage class with a copy to the same object URI, and `CopyObject` returns the version ID of the newly created copy when versioning is enabled[\[5\]](https://docs.aws.amazon.com/AmazonS3/latest/userguide/sc-howtoset.html "Source: docs.aws.amazon.com/AmazonS3/latest/userguide/sc-howtoset.html"). S3 Lifecycle transitions are different: they transition the current or noncurrent object version selected by the rule rather than creating a new current version[\[6\]](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html#lifecycle-actions-bucket-versioning-state "Source: docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html"). See [Azure Blob Tiers vs AWS S3 Storage Classes](/kb/articles/azure-blob-tiers-vs-s3-storage-classes/) for the full comparison.
**Can I set the tier per file share or only per storage account?** That question is about Azure Files, which is separate from Azure Blob Storage. For Azure Blob, the tier is a property of each blob, so you set it per blob, and Blober changes many at once. For Azure Files, pay-as-you-go classic file shares have access tiers such as transaction optimized, hot, and cool, while the SSD/HDD media tier is a file-share planning choice. Microsoft documents that after you create a file share in a storage account, you cannot directly move it to a different media tier; to move from HDD to SSD, for example, you create a new share and copy the data[\[7\]](https://learn.microsoft.com/azure/storage/files/storage-files-planning#storage-tiers "Source: learn.microsoft.com/azure/storage/files/storage-files-planning"). Blober's bulk tier change applies to Azure Blob blobs.
**How long does a tier change take?** Moving from a warmer tier to a cooler one, such as Hot to Cool or Cool to Archive, is instantaneous. Bringing a blob back from Archive to an online tier is a rehydration that can take up to 15 hours, depending on the priority you choose.
**Can I move blobs to Archive in bulk without PowerShell?** Yes. Select the blobs in Blober, choose Archive as the target tier, and run the mutation. No script, no lifecycle policy, no Azure CLI. The same works in reverse to rehydrate selected blobs to Hot, Cool, or Cold.
**Will changing tiers re-upload my data?** No. A tier change is a service-side access-tier operation on the blob. Nothing is downloaded or re-uploaded by Blober, so there is no tool-side data transfer for the change itself. Azure still bills the Set Blob Tier request as a write operation for tier-down and a read operation for tier-up[\[8\]](https://learn.microsoft.com/rest/api/storageservices/set-blob-tier#remarks "Source: learn.microsoft.com/rest/api/storageservices/set-blob-tier").
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [Azure Blob Tiers vs AWS S3 Storage Classes](/kb/articles/azure-blob-tiers-vs-s3-storage-classes/)
* [How to Transfer Files from AWS S3 to Azure Blob Storage](/kb/articles/how-to-transfer-aws-s3-to-azure-blob/)
* [Cloud Storage Ingress vs Egress Fees](/kb/articles/cloud-storage-ingress-egress-fees-explained/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Blober is a one-time purchase. No subscriptions. No transfer fees. No transfer limits.
**[Download Blober at blober.io](https://blober.io)**
# Azure Blob Tiers vs AWS S3 Storage Classes (and Google Nearline/Coldline)
> Azure Hot, Cool, Cold, and Archive compared with AWS S3 Standard, IA, Glacier, Google Cloud Storage Standard, Nearline, Coldline, Archive, and other provider class names.
Azure calls them **access tiers**. Amazon S3 and Google Cloud Storage call them **storage classes**. Other providers call them tiers, classes, plans, or just pricing. The labels sound interchangeable, but they are not one-to-one.
The biggest trap is the word **archive**. Azure Archive is offline and must be rehydrated before you can read it. AWS S3 Glacier Flexible Retrieval and Deep Archive are also offline restore workflows. Google Cloud Storage Archive, despite the name, still has millisecond access; it is colder mainly because of retrieval charges and a 365-day minimum storage duration[\[1\]](https://docs.cloud.google.com/storage/docs/storage-classes "Source: docs.cloud.google.com/storage/docs/storage-classes"). If you treat all three as the same thing, your restore plan will be wrong.
This guide maps the intent behind each tier or class: hot data, monthly access, quarterly access, offline archive, automatic tiering, and provider-specific variants.
## Tiers and Classes at a Glance
[Section titled "Tiers and Classes at a Glance"](#tiers-and-classes-at-a-glance)
| Intent | Azure Blob | AWS S3 | Google Cloud Storage | Other provider names |
| ------------------------------ | -------------------------------------- | ------------------------------------------------------ | -------------------------------------------- | ---------------------------------------------------------------------------------------------------------- |
| Active, frequently read data | Hot | S3 Standard | Standard | OCI Standard, IBM Standard, Cloudflare R2 Standard, DigitalOcean Spaces Standard, Wasabi Hot, Backblaze B2 |
| Unknown or changing access | Smart tier, where available | S3 Intelligent-Tiering | Autoclass | IBM Smart Tier, OCI Auto-Tiering |
| Infrequent but online access | Cool | S3 Standard-IA, S3 One Zone-IA | Nearline | OCI Infrequent Access, IBM Vault, Cloudflare R2 Infrequent Access, DigitalOcean Spaces Cold Storage |
| Rare but still online access | Cold | S3 Glacier Instant Retrieval | Coldline | IBM Cold Vault |
| Archive with restore delay | Archive | S3 Glacier Flexible Retrieval, S3 Glacier Deep Archive | Not the same: Google Archive is still online | OCI Archive |
| High-performance special class | No direct Azure access-tier equivalent | S3 Express One Zone | Rapid storage | Provider-specific performance products |
That table is a mental map, not a pricing calculator. Always check the current pricing page before committing data, because minimum durations, request charges, retrieval fees, and regional prices can matter more than the storage price.
## What the Names Mean Underneath
[Section titled "What the Names Mean Underneath"](#what-the-names-mean-underneath)
Storage tiers are usually a trade between four things:
* **Storage price:** colder classes cost less per GB-month.
* **Access price:** colder classes usually charge more to read, retrieve, or operate on data.
* **Minimum duration:** colder classes often bill as if the object stayed for 30, 90, 180, or 365 days.
* **Access latency:** online classes return data immediately; offline archive classes require a restore or rehydration step.
Azure states the ladder clearly: Hot has the highest storage cost and lowest access cost; Cool and Cold reduce storage cost but increase access and transaction costs; Archive is offline, lowest storage cost, and highest access cost[\[2\]](https://learn.microsoft.com/azure/storage/blobs/access-tiers-overview "Source: learn.microsoft.com/azure/storage/blobs/access-tiers-overview"). AWS frames S3 classes by use case, from Standard for frequent access, to Standard-IA for monthly access, to Glacier classes for archive and restore workflows[\[3\]](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html "Source: docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html"). Google keeps every primary storage class online, even Archive, and makes the difference mostly price, availability, retrieval fees, and minimum storage duration[\[4\]](https://docs.cloud.google.com/storage/docs/storage-classes "Source: docs.cloud.google.com/storage/docs/storage-classes").
## Minimum Duration and Access Behavior
[Section titled "Minimum Duration and Access Behavior"](#minimum-duration-and-access-behavior)
| Provider | Class or tier | Minimum duration | Online read? | Restore or rehydrate behavior |
| --------------------- | -------------------------: | ---------------: | ----------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Azure Blob | Hot | None | Yes, milliseconds | None |
| Azure Blob | Cool | 30 days | Yes, milliseconds | None |
| Azure Blob | Cold | 90 days | Yes, milliseconds | None |
| Azure Blob | Archive | 180 days | No | Rehydrate to Hot, Cool, or Cold; can take up to 15 hours[\[5\]](https://learn.microsoft.com/azure/storage/blobs/access-tiers-overview "Source: learn.microsoft.com/azure/storage/blobs/access-tiers-overview") |
| AWS S3 | Standard | None | Yes, milliseconds | None |
| AWS S3 | Standard-IA | 30 days | Yes, milliseconds | Retrieval fees apply[\[6\]](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html "Source: docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html") |
| AWS S3 | One Zone-IA | 30 days | Yes, milliseconds | Retrieval fees apply; stored in one Availability Zone[\[7\]](https://docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html "Source: docs.aws.amazon.com/AmazonS3/latest/userguide/storage-class-intro.html") |
| AWS S3 | Glacier Instant Retrieval | 90 days | Yes, milliseconds | Retrieval fees apply[\[8\]](https://docs.aws.amazon.com/AmazonS3/latest/userguide/glacier-storage-classes.html "Source: docs.aws.amazon.com/AmazonS3/latest/userguide/glacier-storage-classes.html") |
| AWS S3 | Glacier Flexible Retrieval | 90 days | No | Restore first; expedited, standard, or bulk retrieval ranges from minutes to 12 hours[\[9\]](https://docs.aws.amazon.com/AmazonS3/latest/userguide/glacier-storage-classes.html "Source: docs.aws.amazon.com/AmazonS3/latest/userguide/glacier-storage-classes.html") |
| AWS S3 | Glacier Deep Archive | 180 days | No | Restore first; AWS summarizes average retrieval as 9 to 48 hours[\[10\]](https://docs.aws.amazon.com/AmazonS3/latest/userguide/glacier-storage-classes.html "Source: docs.aws.amazon.com/AmazonS3/latest/userguide/glacier-storage-classes.html") |
| Google Cloud Storage | Standard | None | Yes, milliseconds | None |
| Google Cloud Storage | Nearline | 30 days | Yes, milliseconds | Retrieval fees apply |
| Google Cloud Storage | Coldline | 90 days | Yes, milliseconds | Retrieval fees apply |
| Google Cloud Storage | Archive | 365 days | Yes, milliseconds | No offline restore; higher access/operation costs and 365-day minimum[\[11\]](https://docs.cloud.google.com/storage/docs/storage-classes "Source: docs.cloud.google.com/storage/docs/storage-classes") |
| Oracle Object Storage | Standard | None | Yes | None |
| Oracle Object Storage | Infrequent Access | 31 days | Yes | Retrieval fees apply |
| Oracle Object Storage | Archive | 90 days | No | Restore to Standard for access; Oracle says first byte is available at most an hour after restore request[\[12\]](https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm "Source: docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm") |
| Cloudflare R2 | Standard | None | Yes | No egress bandwidth charge, but operations still bill |
| Cloudflare R2 | Infrequent Access | 30 days | Yes | Data retrieval processing fee applies, but egress bandwidth remains free[\[13\]](https://developers.cloudflare.com/r2/pricing/ "Source: developers.cloudflare.com/r2/pricing/") |
| DigitalOcean Spaces | Standard | None | Yes | Included storage and outbound transfer bundle |
| DigitalOcean Spaces | Cold Storage | 30 days | Yes | Retrieval fee, early deletion/update cost, and 128 KiB minimum billing units[\[14\]](https://docs.digitalocean.com/products/spaces/details/pricing/ "Source: docs.digitalocean.com/products/spaces/details/pricing/") |
## Where They Overlap
[Section titled "Where They Overlap"](#where-they-overlap)
### Hot / Standard / Active Storage
[Section titled "Hot / Standard / Active Storage"](#hot--standard--active-storage)
Azure Hot, AWS S3 Standard, Google Standard, OCI Standard, IBM Standard, Cloudflare R2 Standard, Backblaze B2, and Wasabi Hot are all meant for data that can be read at any time without a restore step. This is where you put application assets, active backups, staging data, media currently in production, and datasets you expect to query often.
The difference is not the meaning. It is the billing model. AWS, Azure, and Google separate storage, requests, retrieval, and transfer in more detail. Wasabi publishes no separate egress or API request charges but applies a 90-day minimum storage duration and a minimum storage amount[\[15\]](https://wasabi.com/pricing/ "Source: wasabi.com/pricing/"). Backblaze B2 positions itself as always-hot storage with no minimum storage duration and free egress up to 3x average monthly stored data[\[16\]](https://www.backblaze.com/cloud-storage/pricing "Source: www.backblaze.com/cloud-storage/pricing").
### Monthly Access / Infrequent Access
[Section titled "Monthly Access / Infrequent Access"](#monthly-access--infrequent-access)
Azure Cool, AWS S3 Standard-IA, Google Nearline, OCI Infrequent Access, IBM Vault, Cloudflare R2 Infrequent Access, and DigitalOcean Spaces Cold Storage all point at the same general idea: data you do not read often, but still want online when you do.
The common shape is a lower storage price, a 30-ish day minimum, and some cost when you read the data. The names differ: Azure calls it Cool, AWS calls it IA, Google calls it Nearline, Oracle says Infrequent Access, IBM says Vault, and Cloudflare says Infrequent Access. Treat them as cousins, not exact twins.
### Quarterly or Rare Online Access
[Section titled "Quarterly or Rare Online Access"](#quarterly-or-rare-online-access)
Azure Cold, AWS S3 Glacier Instant Retrieval, Google Coldline, and IBM Cold Vault are closer to each other in intention: data accessed at most a few times a year, but still available quickly. Azure Cold has millisecond access with a 90-day minimum. AWS Glacier Instant Retrieval has millisecond access with a 90-day minimum. Google Coldline has millisecond access with a 90-day minimum and retrieval charges[\[17\]](https://docs.cloud.google.com/storage/docs/storage-classes "Source: docs.cloud.google.com/storage/docs/storage-classes"). IBM Cold Vault is the IBM name for cold workloads where data is accessed every 90 days or less, with larger retrieval charges than Vault[\[18\]](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-classes "Source: cloud.ibm.com/docs/cloud-object-storage").
### Offline Archive
[Section titled "Offline Archive"](#offline-archive)
Azure Archive, AWS S3 Glacier Flexible Retrieval, AWS S3 Glacier Deep Archive, and Oracle Archive are true archive workflows. The object exists, but you cannot just read it like a hot object. You initiate a restore or rehydration operation first.
This is where restore time becomes a product requirement. Azure Archive can take up to 15 hours to rehydrate. AWS Glacier Flexible Retrieval can restore in minutes to hours depending on retrieval tier. AWS Glacier Deep Archive is designed for hours-long restores, with AWS summarizing average retrieval as 9 to 48 hours. Oracle Archive restores objects to Standard for access.
Google Archive does **not** belong in this exact group. It is the coldest Google Cloud Storage class, but it remains online with millisecond access. Its archive-like behavior is economic: a 365-day minimum duration plus higher data access and operation costs[\[19\]](https://docs.cloud.google.com/storage/docs/storage-classes "Source: docs.cloud.google.com/storage/docs/storage-classes").
## Where They Differ
[Section titled "Where They Differ"](#where-they-differ)
| Difference | Why it matters |
| ----------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Archive can mean offline or online | Azure Archive and AWS Glacier Flexible/Deep Archive require restore. Google Archive does not. |
| Minimum duration is not always the same | Azure Archive is 180 days; AWS Deep Archive is 180 days; Google Archive is 365 days; Oracle Archive is 90 days. |
| Retrieval fees are separate from egress | A provider can have free egress but still charge retrieval processing or operations, such as R2 Infrequent Access. |
| Automatic tiering is implemented differently | S3 Intelligent-Tiering is a storage class. Google Autoclass is a bucket feature. Azure Smart tier is an access-tier automation feature where available. OCI Auto-Tiering moves between Standard and Infrequent Access. |
| Some providers do not expose a full class ladder | Backblaze B2 and Wasabi focus on simple hot storage economics rather than many storage classes. Lifecycle rules may delete or hide old versions, but that is not the same as a cold storage class. |
| One-zone classes are about resilience, not just price | S3 One Zone-IA and S3 Express One Zone trade multi-AZ resilience for cost, latency, or locality. Do not map them directly to Azure Cool or Google Nearline without considering failure-domain risk. |
## S3 vs Azure Tier Changes
[Section titled "S3 vs Azure Tier Changes"](#s3-vs-azure-tier-changes)
Changing the class or tier of existing data is one place where Azure and S3 differ sharply.
Azure Blob has a `Set Blob Tier` operation. It sets the access tier on a blob, snapshot, or specific blob version by using the `comp=tier` request and an `x-ms-access-tier` value[\[20\]](https://learn.microsoft.com/rest/api/storageservices/set-blob-tier "Source: learn.microsoft.com/rest/api/storageservices/set-blob-tier"). Azure's versioning docs treat tiering as an operation you can apply to any version of a block blob, while version creation is described around write operations such as Put Blob, Put Block List, Copy Blob, and Set Blob Metadata[\[21\]](https://learn.microsoft.com/azure/storage/blobs/versioning-overview#how-blob-versioning-works "Source: learn.microsoft.com/azure/storage/blobs/versioning-overview"). In practical terms, a tier change is not a copy-over-self operation.
Amazon S3 can also change an existing object's storage class without downloading it to your machine, but the mechanism depends on how you do it.
| Change method | Azure Blob | AWS S3 |
| ----------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| Manual immediate change | `Set Blob Tier` changes the access tier on the blob or version. | Console, CLI, SDK, and API changes are copy-based. AWS documents changing an existing object's class with `aws s3 cp object object --storage-class ...`, and the `CopyObject` API accepts `x-amz-storage-class`[\[22\]](https://docs.aws.amazon.com/AmazonS3/latest/userguide/sc-howtoset.html "Source: docs.aws.amazon.com/AmazonS3/latest/userguide/sc-howtoset.html"). |
| Lifecycle change | Azure lifecycle management can move blobs between tiers by policy. | S3 Lifecycle `Transition` changes the current object version to the specified storage class; `NoncurrentVersionTransition` changes noncurrent versions[\[23\]](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html#lifecycle-actions-bucket-versioning-state "Source: docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html"). |
| Versioning impact | A tier change does not create a copied object version the way a write/copy does. Explicitly tiered versions can change how Azure bills shared blocks and full content length[\[24\]](https://learn.microsoft.com/azure/storage/blobs/versioning-overview#pricing-and-billing "Source: learn.microsoft.com/azure/storage/blobs/versioning-overview"). | Manual copy-over-self creates a new copied object version when destination bucket versioning is enabled; AWS says CopyObject returns the version ID of the newly created copy[\[25\]](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html "Source: docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html"). Lifecycle transitions do not create a new current version; they transition the applicable version. |
| Cost shape | Tier-down is billed as a write operation; tier-up is billed as a read operation for `Set Blob Tier`[\[26\]](https://learn.microsoft.com/rest/api/storageservices/set-blob-tier#remarks "Source: learn.microsoft.com/rest/api/storageservices/set-blob-tier"). | Copy requests are charged based on destination storage class and Region; the request can also trigger source retrieval charges, and cross-Region copies can incur data transfer charges[\[27\]](https://docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html "Source: docs.aws.amazon.com/AmazonS3/latest/API/API_CopyObject.html"). Lifecycle transitions have transition request costs and minimum-duration rules. |
The safe S3 cleanup pattern depends on intent. If you want data to age into colder classes predictably, lifecycle rules are usually cleaner. If you need to change specific objects right now, manual copy-over-self works, but versioned buckets will keep the old version until lifecycle or explicit deletion removes it.
## Lifecycle Policies: Azure vs S3 Ease
[Section titled "Lifecycle Policies: Azure vs S3 Ease"](#lifecycle-policies-azure-vs-s3-ease)
Both Azure Blob and Amazon S3 can automatically move data to colder storage by rule. The difference is how much the rule system asks you to think about.
Azure Blob lifecycle management is built around access-tier actions. A policy is a JSON document made of rules; each rule has conditions, actions, and filters. Conditions can use creation time, last modified time, and last accessed time if access tracking is enabled. Actions can move current versions, previous versions, or snapshots to cooler tiers, delete them, or move blobs back from Cool to Hot when they are accessed. Filters can include path prefixes and blob index tags[\[28\]](https://learn.microsoft.com/azure/storage/blobs/lifecycle-management-overview "Source: learn.microsoft.com/azure/storage/blobs/lifecycle-management-overview"). In the Azure portal, this is exposed under **Data management** => **Lifecycle management**, with a list view for common rules and a code view for JSON policies[\[29\]](https://learn.microsoft.com/azure/storage/blobs/lifecycle-management-policy-configure "Source: learn.microsoft.com/azure/storage/blobs/lifecycle-management-policy-configure").
Amazon S3 Lifecycle is broader. A bucket lifecycle configuration can have rules that transition objects to other storage classes, expire current versions, transition noncurrent versions, permanently delete noncurrent versions, remove expired delete markers, and abort incomplete multipart uploads. Rules can target all objects or filter by prefix, tags, and object size[\[30\]](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html "Source: docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html"). You can create them in the S3 console under the bucket **Management** tab, or manage them with CLI, SDKs, or the REST API[\[31\]](https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-set-lifecycle-configuration-intro.html "Source: docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-set-lifecycle-configuration-intro.html").
| Task | Azure Blob lifecycle | S3 Lifecycle | Easier in practice |
| -------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | --------------------------------------------------------------------------------------------- |
| Move logs or backups to a colder tier after N days | Add a rule for base blobs, set days since modified/created/accessed, choose Cool, Cold, or Archive. | Add a lifecycle rule, filter by prefix/tag/size, choose a storage-class transition and days after creation. | Tie for simple prefix-by-age rules. Azure reads closer to the access-tier model. |
| Use last-access behavior | Supported if last access tracking is enabled; lifecycle can also move blobs back from Cool to Hot when accessed[\[32\]](https://learn.microsoft.com/azure/storage/blobs/lifecycle-management-overview "Source: learn.microsoft.com/azure/storage/blobs/lifecycle-management-overview"). | S3 Lifecycle is mostly age/filter based. Use S3 Intelligent-Tiering when access pattern is unknown or changing. | Azure for explicit last-access rules; S3 for fully managed Intelligent-Tiering. |
| Manage old versions | Supports current versions, previous versions, and snapshots as lifecycle targets. | Very explicit current/noncurrent version actions, including transition and expiration of noncurrent versions[\[33\]](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html#lifecycle-actions-bucket-versioning-state "Source: docs.aws.amazon.com/AmazonS3/latest/userguide/intro-lifecycle-rules.html"). | S3 gives more version-specific knobs; Azure is simpler if you only need tier/delete policies. |
| Avoid tiny-object surprises | Fewer class-transition-specific size traps in the lifecycle model. | Objects smaller than 128 KB do not transition by default unless you override with size filters or headers; transition request costs can outweigh storage savings[\[34\]](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-transition-general-considerations.html "Source: docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-transition-general-considerations.html"). | Azure is easier; S3 is more configurable but easier to misprice. |
| Rehydrate archived data automatically | Lifecycle policies cannot rehydrate Archive blobs to an online tier[\[35\]](https://learn.microsoft.com/azure/storage/blobs/lifecycle-management-overview "Source: learn.microsoft.com/azure/storage/blobs/lifecycle-management-overview"). | Lifecycle cannot transition Deep Archive back to warm classes; restore/copy workflows are needed for archived objects[\[36\]](https://docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-transition-general-considerations.html "Source: docs.aws.amazon.com/AmazonS3/latest/userguide/lifecycle-transition-general-considerations.html"). | Neither. Archive restore is a separate workflow. |
| Know when it will happen | Policy changes can take up to 24 hours to go into effect and for first execution to start[\[37\]](https://learn.microsoft.com/azure/storage/blobs/lifecycle-management-overview "Source: learn.microsoft.com/azure/storage/blobs/lifecycle-management-overview"). | Lifecycle configuration propagation takes minutes, but actions are asynchronous and can complete later; billing usually changes when the rule is satisfied[\[38\]](https://docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-set-lifecycle-configuration-intro.html "Source: docs.aws.amazon.com/AmazonS3/latest/userguide/how-to-set-lifecycle-configuration-intro.html"). | Neither is immediate. Use direct tier change/copy when you need right-now changes. |
The short version: Azure is usually easier when your rule is "move these blobs by age, prefix, tag, or access time to Hot/Cool/Cold/Archive." S3 is more flexible when you need full object lifecycle management across current versions, noncurrent versions, delete markers, multipart cleanup, object-size filters, and multiple storage-class transitions. That flexibility is useful, but it also makes S3 lifecycle rules easier to misconfigure.
## Automatic Tiering: Similar Goal, Different Mechanic
[Section titled "Automatic Tiering: Similar Goal, Different Mechanic"](#automatic-tiering-similar-goal-different-mechanic)
| Provider | Feature | What it does | Watch out for |
| ------------------------ | ------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| Azure Blob | Smart tier | Automatically moves data between Hot, Cool, and Cold based on usage patterns, where available[\[39\]](https://learn.microsoft.com/azure/storage/blobs/access-tiers-overview "Source: learn.microsoft.com/azure/storage/blobs/access-tiers-overview"). | It does not include Archive in the same online ladder. Confirm account and API support before designing around it. |
| AWS S3 | Intelligent-Tiering | Keeps the storage class as Intelligent-Tiering while moving objects through Frequent, Infrequent, Archive Instant, and optional Archive/Deep Archive access tiers[\[40\]](https://docs.aws.amazon.com/AmazonS3/latest/userguide/intelligent-tiering-overview.html "Source: docs.aws.amazon.com/AmazonS3/latest/userguide/intelligent-tiering-overview.html"). | Monitoring/automation fees apply; objects under 128 KB are not auto-tiered. Optional archive tiers require restore. |
| Google Cloud Storage | Autoclass | Moves objects to colder storage classes when not accessed, and back to Standard when read[\[41\]](https://docs.cloud.google.com/storage/docs/autoclass "Source: docs.cloud.google.com/storage/docs/autoclass"). | Management and enablement charges can apply; manual storage class changes are ignored in Autoclass buckets. |
| Oracle Object Storage | Auto-Tiering | Moves objects larger than 1 MiB from Standard to Infrequent Access and back to Standard based on access patterns[\[42\]](https://docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm "Source: docs.oracle.com/en-us/iaas/Content/Object/Concepts/understandingstoragetiers.htm"). | It is a Standard to Infrequent Access optimizer, not a deep archive policy. |
| IBM Cloud Object Storage | Smart Tier | Bills dynamic workloads by automatically classifying data into hot, cool, and cold tiers based on monthly usage patterns[\[43\]](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-classes "Source: cloud.ibm.com/docs/cloud-object-storage"). | It is bucket-class pricing, not the same mechanics as S3 Intelligent-Tiering or Google Autoclass. |
## Azure-to-AWS-to-Google Mapping
[Section titled "Azure-to-AWS-to-Google Mapping"](#azure-to-aws-to-google-mapping)
| If you use Azure... | Closest AWS S3 class | Closest Google class | Practical meaning |
| ------------------- | --------------------------------------------- | -------------------- | --------------------------------------------------------------------------------- |
| Hot | S3 Standard | Standard | Active data; lowest read friction; highest storage cost among general classes. |
| Cool | S3 Standard-IA | Nearline | Infrequent online data, roughly monthly access, 30-day minimum. |
| Cold | S3 Glacier Instant Retrieval | Coldline | Rare online data, roughly quarterly access, 90-day minimum. |
| Archive | S3 Glacier Flexible Retrieval or Deep Archive | No exact equivalent | Offline restore workflow. Google Archive is colder economically but still online. |
| Smart tier | S3 Intelligent-Tiering | Autoclass | Let the provider move data across warmer and colder classes based on access. |
## Same Intention, Different Name
[Section titled "Same Intention, Different Name"](#same-intention-different-name)
| If your thought is... | Choose this kind of class | Examples |
| ------------------------------------------------------------------------ | ------------------------- | ------------------------------------------------------------------------------------------------- |
| "This data is active and users or apps read it constantly." | Hot/standard | Azure Hot, S3 Standard, GCS Standard, R2 Standard, IBM Standard, OCI Standard. |
| "I read this monthly, but it still needs to come back instantly." | Online infrequent access | Azure Cool, S3 Standard-IA, GCS Nearline, R2 Infrequent Access, OCI Infrequent Access, IBM Vault. |
| "I read this quarterly or rarely, but a restore delay would be painful." | Online cold | Azure Cold, S3 Glacier Instant Retrieval, GCS Coldline, IBM Cold Vault. |
| "This is compliance/archive data and waiting hours is acceptable." | Offline archive | Azure Archive, S3 Glacier Flexible Retrieval, S3 Glacier Deep Archive, OCI Archive. |
| "I do not know the access pattern yet." | Auto tiering | Azure Smart tier, S3 Intelligent-Tiering, Google Autoclass, IBM Smart Tier, OCI Auto-Tiering. |
| "I want simple predictable billing more than fine-grained classes." | Flat hot storage | Backblaze B2, Wasabi, many S3-compatible specialists. |
## Which One Should You Choose?
[Section titled "Which One Should You Choose?"](#which-one-should-you-choose)
Choose **Hot / Standard** when users, apps, or jobs read the data regularly. If your object is a website asset, current media project, active backup, training dataset, or API payload, keep it online and warm.
Choose **Cool / Standard-IA / Nearline** when the data is still important but usually sits untouched for weeks. This is a good fit for backups, completed projects, and archives that are still likely to be restored within a month.
Choose **Cold / Glacier Instant Retrieval / Coldline** when you expect rare access but cannot tolerate a restore delay. These classes are good for quarterly compliance checks, disaster recovery material, and media that might need quick retrieval but not frequent reads.
Choose **Archive / Glacier Flexible / Deep Archive / OCI Archive** only when restore delay is acceptable. These are not CDN origins, app storage, or active backup targets. They are for data you preserve more than you use.
Choose **automatic tiering** when you genuinely do not know the access pattern. Do not use it as a substitute for understanding a known workflow. If half a bucket is active data and half is never-read backup data, separate prefixes or buckets plus lifecycle rules may be clearer and cheaper.
## Migration Notes
[Section titled "Migration Notes"](#migration-notes)
When you move data between clouds, do not just map names. Map behavior.
* Moving **Azure Cool to S3 Standard-IA** usually preserves the monthly-access intent.
* Moving **Azure Cold to S3 Glacier Instant Retrieval** preserves fast retrieval better than moving it to Glacier Flexible Retrieval.
* Moving **Azure Archive to Google Archive** changes behavior: the data becomes online in Google, but with a 365-day minimum and retrieval/operation charges.
* Moving **Google Archive to Azure Archive** changes behavior the other direction: the data becomes offline until rehydrated.
* Moving **AWS Deep Archive to Azure Archive** keeps the offline-archive idea, but restore times and minimum durations differ.
Blober can write new Azure Blob uploads directly to Hot, Cool, Cold, or Archive in a workflow, and it can bulk-change existing Azure blobs between those tiers with Azure mutations. For S3-compatible destinations, the generic connector includes a storage-class field, so you can use provider-documented class names where the destination supports `x-amz-storage-class`.
## The Traps to Check Before You Pick a Tier
[Section titled "The Traps to Check Before You Pick a Tier"](#the-traps-to-check-before-you-pick-a-tier)
* **Minimum duration.** Cool/IA/Nearline usually means 30 days. Cold/Coldline/Glacier Instant often means 90 days. Deep/archive classes can mean 180 or 365 days.
* **Online vs offline.** Azure Archive and S3 Glacier Flexible/Deep Archive require restore. Google Archive does not.
* **Retrieval fees.** Cold storage often charges when you read, copy, move, or rewrite data.
* **Operation fees.** Moving, rewriting, lifecycle transitions, and metadata-heavy workflows can cost more in colder classes.
* **Minimum billable object size.** S3 IA and Glacier Instant use 128 KB minimums; DigitalOcean Cold Storage also documents 128 KiB minimum billable object/read behavior.
* **Auto-tiering eligibility.** Small objects may not auto-tier. AWS Intelligent-Tiering and Google Autoclass both document 128 KB/KiB style thresholds for automatic transitions.
* **Provider-specific semantics.** Some providers set class at the bucket level, some per object, some through lifecycle only, and some avoid classes entirely.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Is Azure Cool the same as S3 Standard-IA?** Conceptually, yes: both target long-lived, infrequently accessed data that still needs millisecond access and has a 30-day minimum. Pricing, operations, and redundancy details differ.
**Is Azure Cold the same as Google Coldline?** They are close in intention: rare-access online storage with a 90-day minimum and fast reads. Do not confuse either with Azure Archive or S3 Glacier Deep Archive, which are restore-first archive workflows.
**Is Google Archive the same as Azure Archive?** No. Google Archive is still online with millisecond access. Azure Archive is offline and must be rehydrated before reading.
**Which S3 class maps to Azure Archive?** S3 Glacier Flexible Retrieval and S3 Glacier Deep Archive are the closest behavioral matches because they are archived and require restore before normal access. S3 Glacier Instant Retrieval maps more closely to Azure Cold.
**Does the cheapest storage class always save money?** No. If you read the data more often than expected, retrieval, operation, early deletion, and restore costs can erase the storage savings. The cheapest class is usually only cheapest when the access pattern matches the class.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [How to Bulk Change Azure Blob Storage Access Tiers](/kb/articles/azure-blob-storage-mutations-change-tiers/)
* [How to Transfer Files from AWS S3 to Azure Blob Storage](/kb/articles/how-to-transfer-aws-s3-to-azure-blob/)
* [Cloud Storage Ingress vs Egress Fees](/kb/articles/cloud-storage-ingress-egress-fees-explained/)
* [S3-Compatible Storage Providers: The Complete List](/kb/articles/s3-compatible-storage-providers-complete-list/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Pick the right storage class before you move the data. Blober transfers between S3, S3-compatible storage, Azure Blob, Google Drive, Dropbox, local storage, and more, and can write Azure Blob data straight to the tier you choose.
**[Download Blober at blober.io](https://blober.io)**
# Back Up Your GoPro Cloud to Backblaze B2, AWS S3, or Local Storage
> Blober is the only tool that connects to GoPro Cloud. Move your GoPro footage to affordable, long-term storage before it's too late.
### The Problem
[Section titled "The Problem"](#the-problem)
GoPro's cloud storage (GoPro Plus / GoPro Premium) offers unlimited storage for GoPro camera media. It's a great perk, until you want your footage somewhere else.
The reality for most GoPro users:
* **Painfully limited batch download.** GoPro's web portal caps batch downloads at 25 files at a time, bundled into a ZIP. Large batches frequently fail or time out, and metadata like GPS data may be stripped during compression
* **No third-party tool support.** rclone, MultCloud, Flexify, and every other transfer tool do *not* support GoPro Cloud
* **Subscription dependency.** Cancel GoPro Plus and your cloud access disappears. Your footage remains hostage to a recurring charge
* **No "Download All" option.** If you have hundreds or thousands of files, you're stuck doing dozens of 25-file batch downloads manually, hoping none fail
GoPro community forums are filled with users asking the same question: *"How do I download all my GoPro Cloud content at once?"* The practical answer is: not without hours of manual work and frequent failures.
[**Blober**](https://blober.io/) changes that.
***
### Blober: The Only Tool That Connects to GoPro Cloud
[Section titled "Blober: The Only Tool That Connects to GoPro Cloud"](#blober-the-only-tool-that-connects-to-gopro-cloud)
[**Blober**](https://blober.io/) is the **only** desktop application that integrates with GoPro's cloud storage. No other migration tool, free or paid, supports GoPro Cloud as a source or destination.
With Blober, you can:
* **Browse all your GoPro Cloud media**: photos and videos, organized by date, camera, and type
* **Download everything at once** to your local drive, NAS, or external HDD
* **Transfer directly** to Backblaze B2, AWS S3, Wasabi, Cloudflare R2, Azure Blob Storage, or DigitalOcean Spaces
* **Use metadata-based path templates** to auto-organize files (e.g., by camera model, capture date, resolution)
* **Resume interrupted transfers**, with no need to start over if your connection drops
***
### Why Back Up GoPro Cloud?
[Section titled "Why Back Up GoPro Cloud?"](#why-back-up-gopro-cloud)
#### 1. Subscription Lock-In
[Section titled "1. Subscription Lock-In"](#1-subscription-lock-in)
GoPro Plus (now GoPro Premium) costs \~$59.99/year. As long as you pay, your footage stays accessible. The moment you cancel, your cloud media goes offline. For years of footage, that's a dangerous bet on a single subscription.
#### 2. No Redundancy
[Section titled "2. No Redundancy"](#2-no-redundancy)
GoPro Cloud is your only copy in the cloud. There is no built-in backup, no versioning, no geographic replication. If GoPro ever changes their terms, shuts down the service, or experiences data loss, your footage is gone.
#### 3. Cost Optimization
[Section titled "3. Cost Optimization"](#3-cost-optimization)
Long-term archival storage costs a fraction of ongoing subscriptions:
| Storage Option | Cost for 1 TB/year | Egress Fees |
| ----------------- | --------------------------- | ----------------------- |
| GoPro Plus | \~$59.99/year (ongoing) | N/A (limited downloads) |
| Backblaze B2 | \~$83/year ($6.95/TB/mo) | Free up to 3x stored |
| Wasabi | \~$83.88/year ($6.99/TB/mo) | Free |
| AWS S3 (Standard) | \~$276/year | $0.09/GB |
| Local NAS | One-time HDD cost | Free |
For most GoPro users, Backblaze B2 or Wasabi combined with a Blober one-time license is the most cost-effective long-term strategy.
#### 4. You Own Your Footage
[Section titled "4. You Own Your Footage"](#4-you-own-your-footage)
Your GoPro footage is yours. Keeping it locked behind a single provider's subscription model is not ownership. It is rental. Backing it up to storage you control gives you true data sovereignty.
***
### How It Works
[Section titled "How It Works"](#how-it-works)
#### Step 1: Connect GoPro Cloud in Blober
[Section titled "Step 1: Connect GoPro Cloud in Blober"](#step-1-connect-gopro-cloud-in-blober)
1. Open [**Blober**](https://blober.io/) and create a new workflow
2. Select **GoPro** as the source
3. Click **Open GoPro Login** - a browser window opens
4. Sign in with your GoPro account
5. Blober captures your session automatically
#### Step 2: Choose Your Destination
[Section titled "Step 2: Choose Your Destination"](#step-2-choose-your-destination)
Select where you want your footage to go:
* **Local disk**: your SSD, HDD, NAS, or external drive
* **Backblaze B2**: affordable, S3-compatible, free egress
* **AWS S3**: enterprise-grade, global availability
* **Wasabi**: hot storage with no egress fees
* **Cloudflare R2**: zero egress, fast edge delivery
* **Any other Blober-supported provider**
#### Step 3: Configure Path Templates (Optional)
[Section titled "Step 3: Configure Path Templates (Optional)"](#step-3-configure-path-templates-optional)
Use Blober's metadata-based path templates to auto-organize files as they transfer:
```plaintext
/{camera_model}/{capture_date}/{filename}
```
This turns a flat GoPro dump into a clean archive:
```plaintext
/HERO13 Black/2026-01-23/GX015742.MP4
/HERO13 Black/2026-01-23/gorp0001.JPG
/HERO12 Black/2025-12-15/GX014521.MP4
```
#### Step 4: Run and Monitor
[Section titled "Step 4: Run and Monitor"](#step-4-run-and-monitor)
Click **Start** and Blober handles the rest:
* Parallel downloads for maximum throughput
* Real-time progress tracking
* Automatic resume on interruption
* Full task history logged for every file
***
### Supported GoPro Media
[Section titled "Supported GoPro Media"](#supported-gopro-media)
| Type | Extensions |
| ------ | ------------------------------ |
| Videos | `.mp4`, `.mov`, `.avi`, `.mkv` |
| Photos | `.jpg`, `.png`, `.raw`, `.dng` |
Blober downloads the **highest available quality**, with no compression and no re-encoding.
***
### Metadata Available
[Section titled "Metadata Available"](#metadata-available)
Each GoPro file includes rich metadata that Blober can use for organization:
| Field | Example |
| ------------ | ------------- |
| Camera model | HERO13 Black |
| Capture date | 2026-01-23 |
| Resolution | 5312 × 2988 |
| File size | 142.5 MB |
| Duration | 0:32 (videos) |
***
### Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Can I upload to GoPro Cloud with Blober?** Yes. Blober supports uploads to GoPro Cloud (up to 5 TB per file) with multipart upload and progress tracking.
**Does Blober store my GoPro credentials?** No. Blober uses a browser-based login flow. Your session lasts approximately 20 hours, after which Blober prompts you to sign in again. Credentials are never stored or transmitted to any server.
**Can rclone, MultCloud, or Flexify do this?** No. As of February 2026, Blober is the only transfer tool that supports GoPro Cloud. rclone (70+ providers), MultCloud (30+ services), and Flexify (\~25 clouds) do not include GoPro Cloud integration.
**What if my transfer is interrupted?** Blober saves progress and resumes from the last successfully transferred file. No need to re-download everything.
***
### Take Control of Your GoPro Footage
[Section titled "Take Control of Your GoPro Footage"](#take-control-of-your-gopro-footage)
Your footage is irreplaceable: years of adventures, events, and memories sitting in a cloud you can only access through a subscription. [**Blober**](https://blober.io/) gives you a way out: move it all to storage you own and control, in the highest quality, organized exactly how you want.
[Get started with Blober =>](https://blober.io/)
# Back Up Cloud Storage Directly to Your NAS
> Transfer files from GoPro Cloud, Dropbox, Google Drive, or S3 straight to your Synology, QNAP, or any network drive - no double-copy, no CLI, no subscription.
## The Problem
[Section titled "The Problem"](#the-problem)
You have files in the cloud - GoPro footage, Dropbox archives, Google Drive projects, S3 buckets - and you want them on your NAS. Simple enough in theory. In practice, the available options are all some flavor of painful.

**Download then copy** is the default workflow. Download everything from the cloud to your PC, then manually copy it to the NAS. You need enough free space on your PC for the entire dataset, you do every byte twice, and if the NAS connection drops mid-copy you start over.
**CLI tools like rclone** can mount cloud storage or sync directly, but you need to configure remotes, write YAML, manage credentials, and troubleshoot provider-specific flags. It works - eventually. It's not something most people reach for on a Saturday afternoon.
**SaaS migration services** like MultCloud or Cloudsfer route your files through their servers. Your data leaves your network, passes through a third party, then comes back down to your NAS. It's slower, it's a privacy concern, and it costs a monthly subscription - usually with transfer caps.
**GoPro Cloud has no solution at all.** No migration tool supports it. rclone doesn't. MultCloud doesn't. You're stuck batch-downloading 25 files at a time through a web browser, manually.
***
## Blober Streams Directly to Your NAS
[Section titled "Blober Streams Directly to Your NAS"](#blober-streams-directly-to-your-nas)
[**Blober**](https://blober.io/) is a desktop app that connects to a growing list of cloud providers and transfers files to any local or network destination - including NAS drives.

The architecture is straightforward: Blober runs on your computer, pulls data from the cloud API, and writes it to whatever destination you select in the file picker. If that destination is a mapped network drive (`\\SYNOLOGY\backup` or `/Volumes/NAS/media`), the files go there.
No intermediate server. No extra copy on your local disk. No subscription.
### Supported NAS systems
[Section titled "Supported NAS systems"](#supported-nas-systems)
Blober works with **any NAS that your OS can see as a folder**:
* **Synology DiskStation** - map via SMB/CIFS (\synology\shared) or mount via NFS
* **QNAP** - same: SMB share or NFS mount
* **TrueNAS / FreeNAS** - SMB, NFS, or iSCSI-backed mount points
* **Unraid** - SMB shares show up as network folders
* **Western Digital My Cloud** - maps as a standard network drive
* **Any SMB/NFS share** - if your OS can browse it, Blober can write to it
There's nothing NAS-specific to configure in Blober. You just pick the folder.
***
## How It Works
[Section titled "How It Works"](#how-it-works)

1. **Connect your cloud source.** Blober supports GoPro Cloud, Dropbox, Google Drive, AWS S3, Azure Blob, Backblaze B2, Cloudflare R2, Wasabi, and DigitalOcean Spaces. Authenticate once.
2. **Pick your NAS folder.** The standard OS folder picker shows your mapped network drives. Select the target directory on your NAS.
3. **Transfer.** Blober streams the files and writes them directly to the network path. If your connection drops or the NAS goes to sleep, the transfer resumes from where it stopped.
### Auto-organize with path templates
[Section titled "Auto-organize with path templates"](#auto-organize-with-path-templates)
Blober supports path templates that sort files as they arrive:
```plaintext
{file_created_date}/{camera_model}/{media_type}/{filename}
```
This turns a flat cloud dump into an organized library:
```plaintext
2024-12-15/HERO12 Black/videos/GH010432.MP4
2024-12-15/HERO12 Black/photos/GOPR0900.JPG
2025-01-03/HERO7 Black/videos/GH010904.MP4
```
The template runs before the file is written - files land on your NAS already organized.
***
## Why NAS Users Specifically Benefit
[Section titled "Why NAS Users Specifically Benefit"](#why-nas-users-specifically-benefit)
NAS owners tend to be people who care about data ownership, long-term archival, and not paying recurring fees for storage they already bought. Blober aligns with all three.

**Your files stay on your network.** Unlike SaaS tools that route data through external servers, Blober pulls from the cloud API and writes locally. For NAS users who chose a NAS precisely to keep data under their control, this matters.
**One-time payment.** NAS users already rejected the subscription model when they bought hardware instead of renting cloud storage. Blober follows the same philosophy: pay once, use forever.
**Scale doesn't matter.** Whether you're backing up 50 GoPro clips or migrating 10 TB from S3, there are no transfer caps, no per-GB fees, and no throttling.
***
## Common NAS Backup Scenarios
[Section titled "Common NAS Backup Scenarios"](#common-nas-backup-scenarios)
| Scenario | Source | NAS destination |
| --------------------------- | ---------------------- | ----------------------------- |
| GoPro footage archive | GoPro Cloud | `\\NAS\media\gopro\` |
| Photo library consolidation | Google Drive + Dropbox | `\\NAS\photos\` |
| S3 cold storage migration | AWS S3 | `\\NAS\archive\s3-backup\` |
| Shared family photo vault | Dropbox | `\\SYNOLOGY\family-photos\` |
| Video production offload | Backblaze B2 | `\\NAS\projects\raw-footage\` |
Each of these is a single task in Blober. Set source, set destination, transfer.
***
## The 3-2-1 Rule, Applied to Your Cloud Accounts
[Section titled "The 3-2-1 Rule, Applied to Your Cloud Accounts"](#the-3-2-1-rule-applied-to-your-cloud-accounts)
The standard rule for data you cannot afford to lose is 3-2-1: keep three copies, on two kinds of media, with one of them offsite. Most people apply it to files on their computer and forget that a cloud account is just one copy, held on someone else's hardware, under someone else's terms.
A cloud account is not a backup. The provider can lock the account, change pricing, suffer an outage, or (as GoPro Cloud and rclone's Google Photos change both showed) alter API access overnight. Pulling your cloud data down to a NAS turns a single rented copy into a real backup you control.
Applied to cloud accounts, 3-2-1 looks like this:
1. **The cloud copy** you already have (Google Photos, Drive, Dropbox, S3, GoPro Cloud).
2. **A NAS copy** on hardware you own, pulled down with Blober.
3. **An offsite or second-cloud copy**, for example a cheap object-storage bucket, so a fire or theft at home does not take the only local copy.
Blober covers steps 2 and 3 from the same workflow: pick a source, pick your NAS or a second provider, run.
## Pulling Each Cloud Down to Your NAS
[Section titled "Pulling Each Cloud Down to Your NAS"](#pulling-each-cloud-down-to-your-nas)
The destination is the same NAS folder in every case. What differs is the source.
* **Google Photos.** Google has no "download all" button, and since March 2025 rclone can only see photos it uploaded. Blober connects to Google Photos directly and writes your whole library to the NAS. See [how to back up Google Photos without Takeout](/kb/articles/how-to-backup-google-photos-without-takeout/).
* **Google Drive.** Native Google Docs, Sheets, and Slides are not real files. Blober converts them to Office formats (`.docx`, `.xlsx`, `.pptx`) as it writes them to your NAS, and keeps your folder structure intact.
* **Dropbox.** Point the source at your Dropbox and the destination at the NAS share. Folder hierarchy is preserved exactly.
* **AWS S3 and other object storage.** Select a bucket or prefix and write it to a NAS archive folder. Useful for pulling cold S3 data onto cheaper local storage.
* **GoPro Cloud.** Blober is the only tool that connects to GoPro Cloud, so a NAS is the natural home for footage you want off a subscription. See [the GoPro Cloud guide](/kb/articles/gopro-cloud-storage-complete-guide/).
***
## Who Is This For?
[Section titled "Who Is This For?"](#who-is-this-for)
* **NAS owners** who want cloud backups on hardware they control
* **GoPro users** who need their footage off GoPro Cloud (Blober is the only tool that connects)
* **Photographers and videographers** archiving years of work to local network storage
* **Home lab users** consolidating data from multiple cloud services onto one NAS
* **Small businesses** migrating away from cloud storage subscriptions to on-premise drives
***
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Does Blober copy files to my NAS without storing them on my PC first?** Yes. Blober pulls from the cloud provider's API and writes directly to the network path you select. There is no second copy left on your local disk and no double transfer.
**Which NAS brands work?** Any NAS your operating system can see as a folder: Synology, QNAP, TrueNAS, Unraid, Western Digital My Cloud, or any SMB or NFS share. There is nothing NAS-specific to configure in Blober; you just pick the folder.
**Can I back up Google Photos to my NAS without Google Takeout?** Yes. Blober connects to Google Photos directly and writes your library to the NAS, with no Takeout zips and no manual selection. See [the Google Photos guide](/kb/articles/how-to-backup-google-photos-without-takeout/).
**What happens if the transfer is interrupted?** Blober resumes from where it stopped. If the NAS goes to sleep or the connection drops, you do not start over.
**Can I back up to a NAS and a second cloud at the same time?** Run two workflows: one to the NAS, one to a cheap object-storage provider like Backblaze B2. Together they give you the local and offsite copies of a 3-2-1 setup.
## Get Blober
[Section titled "Get Blober"](#get-blober)
One app. All your clouds. Any NAS.
**[Download Blober at blober.io](https://blober.io)**
# The Best Storage for GoPro and Action-Cam Footage in 2026
> The cheapest, most durable places to store large GoPro and action-cam video archives in 2026: Backblaze B2, Wasabi, Cloudflare R2, and local NAS compared on price, egress, and durability, with clear use-case picks.
## Where to Put Terabytes of GoPro Footage
[Section titled "Where to Put Terabytes of GoPro Footage"](#where-to-put-terabytes-of-gopro-footage)
**The problem:** GoPro Cloud is great for shooting, but its unlimited tier only holds GoPro footage, and only while you keep paying. Once you have a real archive (multiple terabytes of HERO and action-cam video you want to keep for years) you need a cheaper, permanent home that you own.
**The short answer:** for most people, Backblaze B2 is the best all-round home at $6.95/TB/month with free egress up to 3x what you store. If you download often, Wasabi removes egress math entirely. If you serve footage publicly, Cloudflare R2's zero egress wins. And a local NAS is cheapest over many years if you are willing to maintain it. Here is the full comparison.
## The Options at a Glance
[Section titled "The Options at a Glance"](#the-options-at-a-glance)
| Option | Price | Egress | Best for |
| ---------------------- | -------------------------------------------- | ----------------------------------- | -------------------------------------- |
| Backblaze B2 | $6.95/TB/mo (about $83/yr per TB) | Free up to 3x stored, then $0.01/GB | The best default for most archives |
| Wasabi | $6.99/TB/mo, rising to $7.99 on July 1, 2026 | Free (no egress or API fees) | Frequent downloads, predictable bills |
| Cloudflare R2 | $15/TB/mo (about $180/yr per TB) | Free (zero egress) | Serving or streaming footage publicly |
| Local drive or NAS | One-time hardware cost | Free | Largest archives, lowest long-run cost |
| GoPro Cloud (baseline) | $59.99/yr, unlimited GoPro footage | Bulk download is hard | Capturing and editing, not archiving |
Prices are current as of 2026 and change over time. Always confirm before committing a large library.
## Backblaze B2: The Best Default
[Section titled "Backblaze B2: The Best Default"](#backblaze-b2-the-best-default)
At $6.95 per TB per month, B2 is roughly a quarter of the price of Amazon S3 for storage, and egress is free up to three times the amount you store each month. For a footage archive, where you upload once and download occasionally, that free-egress allowance usually covers normal retrieval, so your bill is essentially just storage.
* **Cost for 5 TB:** about $35/month, or roughly $417/year.
* **Why it fits GoPro footage:** you store a lot and read a little, which is exactly what B2 prices for.
* **S3-compatible**, so it works with standard tools.
For most people archiving GoPro footage, B2 is the recommendation.
## Wasabi: No Egress Math
[Section titled "Wasabi: No Egress Math"](#wasabi-no-egress-math)
Wasabi charges one flat rate for capacity, with no egress or API request fees at all. The current rate is $6.99/TB/month, increasing to $7.99/TB/month on July 1, 2026. The trade-offs are a 1 TB minimum and a 90-day minimum storage duration per object, so it suits archives you keep rather than data you churn.
* **Best when** you pull footage back frequently and do not want to think about egress allowances.
* **Watch** the 90-day minimum retention: deleting footage early still bills for the remainder of the 90 days.
## Cloudflare R2: Zero Egress for Public Footage
[Section titled "Cloudflare R2: Zero Egress for Public Footage"](#cloudflare-r2-zero-egress-for-public-footage)
R2 costs more to store ($15/TB/month) but charges nothing for egress, ever. That is the opposite balance from B2: you pay more to hold the data and nothing to serve it.
* **Best when** you publish or stream footage to viewers, where egress on other providers would dominate the bill.
* **Not the cheapest** for a private cold archive you rarely read; B2 or Wasabi wins there.
## Local Drive or NAS: Cheapest Over Years
[Section titled "Local Drive or NAS: Cheapest Over Years"](#local-drive-or-nas-cheapest-over-years)
A hard drive or a NAS (Synology, QNAP, TrueNAS) is a one-time purchase. An 8 TB drive is well under the cost of a single year of cloud storage at that size, and a NAS gives you redundancy across multiple drives.
* **Best for** the largest archives and the lowest cost measured over five or ten years.
* **The catch:** a single local copy is not a backup. Drives fail, and a fire or theft takes everything. Use a NAS as one leg of a plan, not the whole plan.
There is a full walkthrough in [back up cloud storage directly to your NAS](/kb/articles/backup-cloud-to-nas-synology-network-drive/).
## The 3-2-1 Setup for Footage You Cannot Re-Shoot
[Section titled "The 3-2-1 Setup for Footage You Cannot Re-Shoot"](#the-3-2-1-setup-for-footage-you-cannot-re-shoot)
Action-cam footage is unrepeatable. The standard rule for irreplaceable data is 3-2-1: three copies, on two kinds of media, with one offsite. A practical version for GoPro footage:
1. **Working copy:** GoPro Cloud or your editing machine while a project is active.
2. **Local archive:** a NAS or external drive you own.
3. **Offsite copy:** Backblaze B2 or Wasabi.
That gives you cheap bulk storage, a fast local copy, and an offsite copy that survives a disaster, for far less than paying a 2 TB consumer plan forever.
## How Blober Gets Your Footage There
[Section titled "How Blober Gets Your Footage There"](#how-blober-gets-your-footage-there)
Whichever destination wins, Blober is what moves the footage into it. It is the only desktop app that connects to GoPro Cloud, so you can:
* Pull your entire GoPro Cloud library out (no 25-file zip limit) and push it to B2, Wasabi, R2, or a NAS
* Copy footage to two destinations to build the 3-2-1 setup
* Organize files on the way in with path templates, so a flat cloud dump lands as a clean `camera/date/file` archive
Connect GoPro Cloud as the source, pick your storage as the destination, run, and let it resume through any dropped connection.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**What is the cheapest cloud storage for GoPro videos?** For a private archive, Backblaze B2 ($6.95/TB/month) and Wasabi ($6.99/TB/month) are the cheapest credible options, both far below Amazon S3 or consumer plans. A local NAS is cheaper still over several years if you maintain it.
**Is GoPro Cloud good for long-term storage?** It is good for capturing and editing, not for archiving. It only stores GoPro footage cheaply, you lose access if you cancel, and there is no bulk export. Keep a copy elsewhere for the long term.
**How do I move footage from GoPro Cloud to Backblaze B2 or Wasabi?** Use Blober. It connects to GoPro Cloud and transfers your library directly to B2, Wasabi, or any supported destination, with no manual batching.
**Backblaze B2 or Wasabi, which is better for GoPro footage?** B2 if you mostly store and rarely download, thanks to its free 3x egress allowance. Wasabi if you download often and want zero egress math, keeping the 1 TB minimum and 90-day retention in mind.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [GoPro Cloud Storage: The Complete Guide](/kb/articles/gopro-cloud-storage-complete-guide/)
* [GoPro Cloud vs Dropbox vs Google Drive](/kb/articles/gopro-cloud-vs-dropbox-vs-google-drive/)
* [Back Up Your GoPro Cloud to Backblaze B2, AWS S3, or Local Storage](/kb/articles/back-up-gopro-cloud-to-backblaze-s3-or-local/)
* [Back Up Cloud Storage Directly to Your NAS](/kb/articles/backup-cloud-to-nas-synology-network-drive/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Move your GoPro footage to the storage that actually fits a large archive. Blober is the only app that connects to GoPro Cloud, and it is a one-time purchase with no subscription and no per-GB fees.
**[Download Blober at blober.io](https://blober.io)**
# Best S3-Compatible Object Storage Specialists (Independent Clouds)
> Independent clouds built only for S3-compatible object storage: Wasabi, Backblaze B2, Cloudflare R2, Storj, IDrive e2, Cubbit, Impossible Cloud, Seagate Lyve Cloud, Synology C2, and more, with endpoints and how to connect.
Some clouds do one thing: S3-compatible object storage, priced and tuned for it. These are the specialists to compare when you want predictable storage costs without the egress surprises of the hyperscalers. This page lists the independent object-storage clouds, their endpoint formats, and how to connect each one.
This is one category in our [complete list of S3-compatible storage providers](/kb/articles/s3-compatible-storage-providers-complete-list/). Several of these have a preconfigured connector in Blober; the rest use the generic [S3-Compatible connector](/kb/docs/providers/s3-compatible/). Confirm endpoints in each provider's dashboard, since regions change over time. The endpoint formats below come from each provider's own documentation, cross-checked against current S3 client references[\[1\]](https://rclone.org/s3/ "Source: rclone.org/s3/").
Each entry lists an **addressing style**. Virtual-hosted puts the bucket in the subdomain (`https://my-bucket.s3.example.com`); path-style puts it in the URL path (`https://s3.example.com/my-bucket`). Most providers here use virtual-hosted, and Blober picks the style from the endpoint field you fill in. The endpoint formats below show hostnames; in Blober, include `https://` in the endpoint field. The [endpoint setup notes](/kb/docs/providers/s3-compatible/#endpoint) explain it in full.
## Wasabi Hot Cloud Storage
[Section titled "Wasabi Hot Cloud Storage"](#wasabi-hot-cloud-storage)
Wasabi is flat-rate object storage with no egress fees and no API request charges, popular for backups and media archives.
* **Endpoint format:** `s3..wasabisys.com` (for example `s3.wasabisys.com` for US East 1, `s3.eu-central-1.wasabisys.com`).
* **Regions:** Virginia (US East 1 and 2), Texas, Oregon, San Jose, Toronto, Amsterdam, Frankfurt, London (two regions), Paris, Milan, Tokyo, Osaka, Singapore, and Sydney[\[2\]](https://docs.wasabi.com/docs/what-are-the-service-urls-for-wasabi-s-different-storage-regions "Source: docs.wasabi.com/docs/what-are-the-service-urls-for-wasabi-s-different-storage-regions").
* **Addressing:** virtual-hosted.
* **Notes:** egress and API requests are not separately billed under Wasabi's published pricing terms, but minimum storage rules still matter: a 1 TB minimum and a 90-day minimum storage duration apply[\[3\]](https://wasabi.com/pricing/ "Source: wasabi.com/pricing/"). Blober has a preconfigured [Wasabi connector](/kb/docs/providers/wasabi/).
## Backblaze B2 Cloud Storage
[Section titled "Backblaze B2 Cloud Storage"](#backblaze-b2-cloud-storage)
Backblaze B2 is among the lowest per-GB object storage prices, with an S3-compatible API alongside its native one.
* **Endpoint format:** `s3..backblazeb2.com` (for example `s3.us-west-004.backblazeb2.com`).
* **Regions:** US West, US East, and EU Central account regions; copy the exact endpoint from the bucket's **Endpoint** field, since Backblaze says an account is associated with a single region and S3 endpoints use `s3..backblazeb2.com`[\[4\]](https://www.backblaze.com/apidocs/introduction-to-the-s3-compatible-api "Source: www.backblaze.com/apidocs/introduction-to-the-s3-compatible-api").
* **Addressing:** virtual-hosted.
* **Notes:** free egress is up to 3x average monthly data stored, then additional egress is billed per GB[\[5\]](https://www.backblaze.com/cloud-storage/pricing "Source: www.backblaze.com/cloud-storage/pricing"). Blober has a preconfigured [Backblaze B2 connector](/kb/docs/providers/backblaze-b2/). See also [How to Switch Wasabi to Backblaze B2](/kb/articles/how-to-switch-wasabi-to-backblaze-b2/).
## Cloudflare R2
[Section titled "Cloudflare R2"](#cloudflare-r2)
Cloudflare R2 is object storage with zero egress fees, served from Cloudflare's global edge network.
* **Endpoint format:** `.r2.cloudflarestorage.com`.
* **Regions:** buckets are automatically distributed; the region is set to `auto`.
* **Addressing:** virtual-hosted.
* **Notes:** Cloudflare documents `auto` as the S3 API bucket region, with empty and `us-east-1` accepted as aliases for compatibility[\[6\]](https://developers.cloudflare.com/r2/api/s3/api/ "Source: developers.cloudflare.com/r2/api/s3/api/"). R2 has no egress bandwidth charges, though operation and Infrequent Access retrieval charges can still apply[\[7\]](https://developers.cloudflare.com/r2/pricing/ "Source: developers.cloudflare.com/r2/pricing/"). Blober has a preconfigured [Cloudflare R2 connector](/kb/docs/providers/cloudflare-r2/). See [How to Move Azure Blob to Cloudflare R2](/kb/articles/how-to-move-azure-blob-to-cloudflare-r2/).
## Rabata
[Section titled "Rabata"](#rabata)
Rabata is S3-compatible secure cloud storage with flat, transparent pricing and no API request fees.
* **Endpoint format:** `s3..rabata.io` (for example `s3.eu-west-2.rabata.io`).
* **Regions:** US East (`us-east-1`, N. Virginia) and EU West (`eu-west-2`, London); Rabata's quickstart examples use `s3.us-east-1.rabata.io`, and its billing page maps Hot Storage to `us-east-1` and Backup to `eu-west-2`[\[8\]](https://docs.rabata.io/billing "Source: docs.rabata.io/billing").
* **Addressing:** virtual-hosted.
* **Notes:** two flat-priced tiers. Hot Storage (`us-east-1`) is $0.01/GB and Backup (`eu-west-2`) is $49 per 10 TB block, with no API request charges and free ingress. Backup has no egress fees, with egress capped at 2x your stored volume[\[9\]](https://docs.rabata.io/billing "Source: docs.rabata.io/billing"). Blober has a preconfigured [Rabata connector](/kb/docs/providers/rabata/).
## Storj
[Section titled "Storj"](#storj)
Storj is decentralized cloud storage with an S3-compatible hosted gateway. Data is encrypted and erasure-coded across a global network of nodes.
* **Endpoint format:** `gateway.storjshare.io` (plus regional gateways `gateway.eu1.storjshare.io`, `gateway.us1.storjshare.io`, `gateway.ap1.storjshare.io`).
* **Regions:** global; set S3-compatible tools to `global` when they require a region[\[10\]](https://storj.dev/dcs/buckets/data-location "Source: storj.dev/dcs/buckets/data-location").
* **Addressing:** virtual-hosted.
* **Notes:** S3 credentials come from an access grant. Storj's S3 compatibility table calls out partial support for some listing and multipart-copy behavior, so treat advanced S3 semantics as provider-specific and verify workflows that depend on exact listing order, `ListMultipartUploads`, or `UploadPartCopy`[\[11\]](https://storj.dev/dcs/api/s3/s3-compatibility "Source: storj.dev/dcs/api/s3/s3-compatibility"). Storj also appears on our [decentralized storage page](/kb/articles/decentralized-web3-s3-compatible-storage/).
## IDrive e2
[Section titled "IDrive e2"](#idrive-e2)
IDrive e2 is low-cost S3-compatible object storage with free egress allowances, aimed at backup and archive.
* **Endpoint format:** `.idrivee2-XX.com`, where the host is shown in your console (for example `q9d9.la12.idrivee2-5.com`).
* **Regions:** many across the US, Europe, and Asia-Pacific[\[12\]](https://www.idrive.com/s3-storage-e2/region-endpoints "Source: www.idrive.com/s3-storage-e2/region-endpoints").
* **Addressing:** virtual-hosted.
* **Notes:** the endpoint host is account- and region-specific, so copy it from the IDrive e2 dashboard.
## Cubbit DS3
[Section titled "Cubbit DS3"](#cubbit-ds3)
Cubbit DS3 is a geo-distributed, S3-compatible object storage platform with European data residency.
* **Endpoint format:** `s3.cubbit.eu`, or `s3..cubbit.eu` for a custom tenant.
* **Regions:** geo-distributed; Cubbit describes DS3 as an S3-compatible object-storage platform that fragments data across its distributed network, so confirm the current region and tenant endpoint in your Cubbit console[\[13\]](https://docs.cubbit.io/getting-started/what-is-cubbit-ds3 "Source: docs.cubbit.io/getting-started/what-is-cubbit-ds3").
* **Addressing:** virtual-hosted.
* **Notes:** if you use a custom tenant endpoint, you must use the tenant-specific host; the generic one will not work in that case[\[14\]](https://www.cubbit.io/ds3-cloud "Source: www.cubbit.io/ds3-cloud").
## Impossible Cloud
[Section titled "Impossible Cloud"](#impossible-cloud)
Impossible Cloud is a European S3-compatible object storage provider with regions in Europe and the US.
* **Endpoint format:** `.storage.impossibleapi.net` (for example `eu-central-2.storage.impossibleapi.net`).
* **Regions:** Frankfurt (`eu-central-2`), Amsterdam (`eu-west-1`), London (`eu-west-2`), Paris (`eu-west-3`), Poznan (`eu-east-1`), Copenhagen (`eu-north-1`), and New York (`us-east-1`)[\[15\]](https://docs.impossiblecloud.com/impossible-cloud-help/impossible-cloud-storage-guide/storage-console-urls-and-api-endpoints.md "Source: docs.impossiblecloud.com/impossible-cloud-help/impossible-cloud-storage-guide/storage-console-urls-and-api-endpoints.md").
* **Addressing:** virtual-hosted.
* **Notes:** the public limitations page documents bucket/object limits and object-name conflict rules, not a blanket transfer problem. Browse, upload, download, and copy should be fine for ordinary transfers, but validate workflows that depend on exact AWS-only edge behavior or conflicting folder/object keys[\[16\]](https://docs.impossiblecloud.com/impossible-cloud-help/impossible-cloud-storage-guide/buckets-and-objects/limitations.md "Source: docs.impossiblecloud.com/impossible-cloud-help/impossible-cloud-storage-guide/buckets-and-objects/limitations.md").
## Seagate Lyve Cloud
[Section titled "Seagate Lyve Cloud"](#seagate-lyve-cloud)
Seagate Lyve Cloud is enterprise-grade S3-compatible storage from Seagate.
* **Endpoint format:** `s3...lyve.seagate.com`, where the account name is part of the host (for example `s3.us-west-1.global.lyve.seagate.com`).
* **Regions:** US West (California), EU West (Ireland), and more.
* **Addressing:** virtual-hosted.
* **Notes:** the distinctive setup detail is the account-specific host: copy the S3 endpoint from Lyve Cloud for your account and region instead of treating `lyve.seagate.com` as a generic endpoint[\[17\]](https://www.seagate.com/gb/en/services/cloud/storage/ "Source: www.seagate.com/gb/en/services/cloud/storage/").
## Synology C2 Object Storage
[Section titled "Synology C2 Object Storage"](#synology-c2-object-storage)
Synology C2 is S3-compatible object storage from the NAS maker, with no API request fees, download fees, or deletion penalties.
* **Endpoint format:** `.s3.synologyc2.net` (for example `eu-001.s3.synologyc2.net`, `us-001.s3.synologyc2.net`).
* **Regions:** Europe and the US; Synology documents these data centers on its object-storage overview and exposes C2 Object Storage through C2 OneStorage pricing[\[18\]](https://c2.synology.com/en-global/object-storage/overview "Source: c2.synology.com/en-global/object-storage/overview").
* **Addressing:** virtual-hosted.
* **Notes:** no charge for egress or API requests is listed for C2 Object Storage under C2 OneStorage pricing[\[19\]](https://c2.synology.com/en-global/pricing/object-storage "Source: c2.synology.com/en-global/pricing/object-storage"). It is a natural pairing for Synology NAS owners who want an off-site S3 copy.
## MEGA S4 Object Storage
[Section titled "MEGA S4 Object Storage"](#mega-s4-object-storage)
MEGA S4 is an S3-compatible object store with regional endpoints and a published free-egress allowance.
* **Endpoint format:** `s3..megas4.com` (for example `s3.eu-amsterdam.megas4.com`).
* **Regions:** Amsterdam, Luxembourg, Paris, Barcelona, Montreal, Vancouver, Tokyo[\[20\]](https://help.mega.io/megas4/setup-guides/mega-s4-endpoint-urls "Source: help.mega.io/megas4/setup-guides/mega-s4-endpoint-urls").
* **Addressing:** virtual-hosted.
* **Notes:** MEGA says buckets are not restricted to one region; pick the endpoint closest to your users or workloads. MEGA's object-storage page describes up to 5x average monthly stored data as free egress, so check the current plan terms before using it for high-volume delivery[\[21\]](https://mega.io/objectstorage "Source: mega.io/objectstorage").
## Tebi
[Section titled "Tebi"](#tebi)
Tebi is a geo-distributed S3-compatible object store with a global endpoint and optional regional endpoints.
* **Endpoint format:** `s3.tebi.io`.
* **Regions:** global endpoint via GeoDNS, plus Germany, US East, US West, and Singapore regional S3 endpoints[\[22\]](https://docs.tebi.io/intro/connection.html "Source: docs.tebi.io/intro/connection.html").
* **Addressing:** virtual-hosted.
* **Notes:** Tebi storage classes control where data is physically stored and how many copies are kept; use the console settings for current placement and performance choices[\[23\]](https://docs.tebi.io/intro/storage_class.html "Source: docs.tebi.io/intro/storage_class.html").
## Storadera
[Section titled "Storadera"](#storadera)
Storadera is a European S3-compatible object storage provider with flat, simple pricing.
* **Endpoint format:** `.s3.storadera.com` (for example `eu-east-1.s3.storadera.com`).
* **Regions:** Europe; confirm the current regional endpoint in the console.
* **Addressing:** virtual-hosted.
* **Notes:** Storadera publishes no upload charges and no download charges under fair use, where the allowed monthly download amount equals the stored amount[\[24\]](https://www.storadera.com/pricing "Source: www.storadera.com/pricing").
## Telnyx Cloud Storage
[Section titled "Telnyx Cloud Storage"](#telnyx-cloud-storage)
Telnyx Cloud Storage is S3-compatible object storage from the communications platform Telnyx.
* **Endpoint format:** `.telnyxcloudstorage.com` (for example `us-central-1.telnyxcloudstorage.com`).
* **Regions:** US Central, US East, US West, and EU Central[\[25\]](https://developers.telnyx.com/docs/cloud-storage/api-endpoints "Source: developers.telnyx.com/docs/cloud-storage/api-endpoints").
* **Addressing:** virtual-hosted.
* **Notes:** Telnyx billing is based on stored bytes and API operation counts; its docs list separate US and EU storage/operation pricing[\[26\]](https://developers.telnyx.com/docs/cloud-storage/billing "Source: developers.telnyx.com/docs/cloud-storage/billing").
## Tigris
[Section titled "Tigris"](#tigris)
Tigris is a globally distributed S3-compatible object store (built with Fly.io) that routes through a single endpoint.
* **Endpoint format:** `t3.storage.dev`.
* **Regions:** San Jose, Chicago, Ashburn, Amsterdam, Frankfurt, London, Singapore, Tokyo. Set the region to `auto`; the same page also lists additional Fly.io locations, so check the docs for the current list[\[27\]](https://www.tigrisdata.com/docs/concepts/regions/ "Source: www.tigrisdata.com/docs/concepts/regions/").
* **Addressing:** virtual-hosted.
* **Notes:** buckets can be global, multi-region, dual-region, or single-region; the single endpoint handles routing.
## FileLu S5
[Section titled "FileLu S5"](#filelu-s5)
FileLu S5 is an S3-compatible object store with a single global endpoint and regional options.
* **Endpoint format:** `s5lu.com` (global), with `us.s5lu.com`, `eu.s5lu.com`, `ap.s5lu.com`, and `me.s5lu.com` for regions.
* **Regions:** Global, US East, EU Central, AP Southeast, ME Central[\[28\]](https://filelu.com/pages/s5-object-storage/ "Source: filelu.com/pages/s5-object-storage/").
* **Addressing:** not explicitly documented; start with path-style in the generic connector unless your FileLu client configuration confirms virtual-hosted support.
* **Notes:** predictable pricing with no separate transfer or API charges.
## Petabox
[Section titled "Petabox"](#petabox)
Petabox is S3-compatible object storage with regions across several continents and free ingress.
* **Endpoint format:** `s3..petabox.io` (for example `s3.us-east-1.petabox.io`), or `s3.petabox.io` for US East.
* **Regions:** Virginia, Frankfurt, Singapore, Bahrain, Sao Paulo.
* **Addressing:** virtual-hosted.
* **Notes:** confirm the regional endpoint in the Petabox console[\[29\]](https://petabox.io/ "Source: petabox.io").
## Zata
[Section titled "Zata"](#zata)
Zata is an S3-compatible object storage gateway with a focus on South Asia.
* **Endpoint format:** `idr01.zata.ai`.
* **Regions:** Indore, India (South Asia endpoint).
* **Addressing:** virtual-hosted.
* **Notes:** confirm the endpoint in the Zata console[\[30\]](https://zata.ai/ "Source: zata.ai").
## Filebase
[Section titled "Filebase"](#filebase)
Filebase is an S3-compatible gateway that stores objects on decentralized networks (IPFS and others) behind a familiar S3 API.
* **Endpoint format:** `s3.filebase.io`.
* **Regions:** single global endpoint; Filebase uses region `auto` for SigV4 signing.
* **Addressing:** both path-style (`https://s3.filebase.io//`) and virtual-hosted (`https://.s3.filebase.io/`) are supported[\[31\]](https://filebase.com/docs/s3-api/overview "Source: filebase.com/docs/s3-api/overview").
* **Notes:** public-bucket reads should use the virtual-hosted URL. Filebase also appears on our [decentralized storage page](/kb/articles/decentralized-web3-s3-compatible-storage/).
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Which S3-compatible specialist has no egress fees?** Several limit or remove separate egress charges, but the details differ. Cloudflare R2, Wasabi, Synology C2, Impossible Cloud, and Telnyx publish zero-egress or no-separate-egress positioning; Backblaze B2 includes free egress up to 3x average monthly stored data; MEGA S4 publishes up to 5x; Rabata Backup and Storadera use fair-use caps. See [Cloud Storage Ingress vs Egress Fees](/kb/articles/cloud-storage-ingress-egress-fees-explained/) for the split.
**Are these as reliable as AWS S3?** Durability and availability are each provider's own design, and many publish strong durability figures. Compatibility refers to the API, not to a guarantee of identical reliability, so check the provider's SLA for your use case.
**Can I migrate from AWS S3 to one of these specialists?** Yes. Because they share the core S3 API, Blober copies directly from S3 to the specialist by setting the source and destination endpoints. Validate provider-specific behavior if you rely on advanced S3 features.
**Which preconfigured connectors does Blober include?** For this category, Wasabi, Backblaze B2, Cloudflare R2, and Rabata are preconfigured. The rest connect through the generic S3-Compatible connector.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [The Complete List of S3-Compatible Providers](/kb/articles/s3-compatible-storage-providers-complete-list/)
* [Cloud Object Storage Providers](/kb/articles/s3-compatible-object-storage-cloud-providers/)
* [Cloud Storage Ingress vs Egress Fees](/kb/articles/cloud-storage-ingress-egress-fees-explained/)
* [How to Switch Wasabi to Backblaze B2](/kb/articles/how-to-switch-wasabi-to-backblaze-b2/)
* [What S3-Compatible Really Means](/kb/articles/what-s3-compatible-really-means/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Connect to any S3-compatible specialist by URL and move data in or out directly, without filling your local disk.
**[Download Blober at blober.io](https://blober.io)**
# How the Blober file_dir Path Template Variable Really Works
> Learn where Blober's file_dir value comes from, when it is empty, and how it preserves nested folders in custom destination paths.
## The Short Definition
[Section titled "The Short Definition"](#the-short-definition)
`{file_dir}` is the directory path **relative to the folder you selected as the source boundary**. It is the part of the path that sits below that folder, not the file's full path and not always its immediate parent folder.
Blober works it out as it scans the files inside a folder you selected:
```text
file_dir = directory containing the file - selected folder path
```
This distinction determines whether a custom path template preserves nested source structure.
## Where You Use It
[Section titled "Where You Use It"](#where-you-use-it)
In a workflow:
1. Open **Source Configuration**.
2. Click **Browse Files and Folders**.
3. Select a folder and submit the selection.
4. Complete **Destination Configuration**.
5. Expand **Advanced Path Template (Optional)**.
6. Add `{file_dir}` to the **Template Pattern**.
A common preservation template is:
```text
{file_dir}/{filename}
```
This produces a clean filename when `{file_dir}` is empty and adds nested directories when it is not. Blober removes the empty path segment rather than creating a leading slash.
## Case 1: You Select an Individual File
[Section titled "Case 1: You Select an Individual File"](#case-1-you-select-an-individual-file)
Selected item:
```text
Clients/Acme/Final/report.pdf
```
Because you picked the file itself, Blober has no selected folder to measure it against. Its relative directory is `null`, which becomes an empty `{file_dir}` value.
```text
Template: {file_dir}/{filename}
Result: report.pdf
```
Blober does **not** produce:
```text
Clients/Acme/Final/report.pdf
```
The original parent path is not automatically inferred into `{file_dir}` for a directly selected file.
This matters when several individual files are selected from different folders. A `{file_dir}/{filename}` template will not recreate each file's original parent folder. If retaining those parent folders matters, select their containing folders instead.
## Case 2: You Select a Folder and the File Is at Its Root
[Section titled "Case 2: You Select a Folder and the File Is at Its Root"](#case-2-you-select-a-folder-and-the-file-is-at-its-root)
Selected folder:
```text
Shoots/Wedding-2026
```
File:
```text
Shoots/Wedding-2026/cover.jpg
```
The file's containing directory and the selected folder are the same. The relative path between them is empty.
```text
{file_dir} = ""
Template: {file_dir}/{filename}
Result: cover.jpg
```
The selected folder name `Wedding-2026` is not included in `{file_dir}`. The selected folder is the boundary, so relative calculation starts **inside** it.
If you want the selected folder name in the destination, add it as static text:
```text
Wedding-2026/{file_dir}/{filename}
```
or select the parent folder `Shoots`, which changes the relative boundary.
## Case 3: You Select a Folder and the File Is Nested
[Section titled "Case 3: You Select a Folder and the File Is Nested"](#case-3-you-select-a-folder-and-the-file-is-nested)
Selected folder:
```text
Shoots
```
Nested file:
```text
Shoots/Wedding-2026/Camera-A/RAW/DSC_4821.ARW
```
Now the directory between the selected folder and the file is:
```text
Wedding-2026/Camera-A/RAW
```
Therefore:
```text
{file_dir} = Wedding-2026/Camera-A/RAW
```
and:
```text
Template: originals/{file_dir}/{filename}
Result: originals/Wedding-2026/Camera-A/RAW/DSC_4821.ARW
```
`{file_dir}` can contain several levels. It holds the full relative path between the selected folder and the file, not only the single parent folder directly above it.
## Selection Changes the Result
[Section titled "Selection Changes the Result"](#selection-changes-the-result)
The same physical file can receive different `{file_dir}` values depending on the source selection.
File:
```text
Archive/2026/Client-A/Final/video.mp4
```
| Selected source | `{file_dir}` |
| ----------------------------- | --------------------- |
| The file itself | empty |
| `Archive/2026/Client-A/Final` | empty |
| `Archive/2026/Client-A` | `Final` |
| `Archive/2026` | `Client-A/Final` |
| `Archive` | `2026/Client-A/Final` |
This is intentional. Selection defines the root that should not be repeated at the destination.
## Why file\_dir Matters With Custom Templates
[Section titled "Why file\_dir Matters With Custom Templates"](#why-file_dir-matters-with-custom-templates)
Without a custom template, Blober can automatically preserve subdirectories when **Include Subdirectories** is enabled.
Once a custom template is entered, that automatic path is replaced. Consider:
```text
by-date/{file_created_date}/{filename}
```
Every qualifying file is grouped by date. Existing source subfolders disappear from the destination path.
To organize by date while retaining relative folders:
```text
by-date/{file_created_date}/{file_dir}/{filename}
```
For:
```text
Selected folder: Projects
File: Projects/Acme/Final/report.pdf
```
the result becomes:
```text
by-date/2026-07-18/Acme/Final/report.pdf
```
## Mixed File and Folder Selections
[Section titled "Mixed File and Folder Selections"](#mixed-file-and-folder-selections)
Blober allows multiple source selections. You can select one folder and several individual files.
Their `{file_dir}` values do not behave identically:
* Files discovered inside the folder receive a relative path beneath that folder.
* Files directly selected receive an empty value.
* Files at the selected folder's root also receive an empty value.
If the destination must retain a meaningful folder for every file, avoid mixing individual-file selection with a template that depends entirely on `{file_dir}`. Select common parent folders or add another stable prefix such as `{file_ext}` or `{file_created_date}`.
## Useful Templates
[Section titled "Useful Templates"](#useful-templates)
Preserve the relative hierarchy:
```text
{file_dir}/{filename}
```
Add an archive prefix:
```text
archive/{file_dir}/{filename}
```
Split by type while preserving hierarchy:
```text
{file_ext}/{file_dir}/{filename}
```
Group by creation date while preserving hierarchy:
```text
{file_created_date}/{file_dir}/{filename}
```
Rename while preserving hierarchy:
```text
{file_dir}/{file_created_datetime}_{filename}
```
## Common Mistakes
[Section titled "Common Mistakes"](#common-mistakes)
**Expecting the selected folder's name to appear.** It will not. `{file_dir}` starts below the selected folder.
**Selecting individual files and expecting parent folders.** Directly selected files have no relative selected-folder context, so `{file_dir}` is empty.
**Assuming Include Subdirectories adds folders to a custom template.** A custom path expression takes precedence. Add `{file_dir}` explicitly.
**Using `{file_dir}` without `{filename}`.** The variable describes directories, not the final filename. A template normally needs both.
## Verify It in Preview
[Section titled "Verify It in Preview"](#verify-it-in-preview)
Use a small test tree containing:
```text
Test/
root.txt
Level-1/
nested.txt
Level-2/
deep.txt
```
Select `Test` and preview `{file_dir}/{filename}`. Expected relative results:
```text
root.txt
Level-1/nested.txt
Level-1/Level-2/deep.txt
```
That one preview demonstrates the complete rule before it is applied to a large archive.
Continue with the [complete Blober path-template guide](/kb/articles/blober-path-templates-complete-guide/) or learn how [selection and glob filters define which files reach the template](/kb/articles/blober-file-selection-glob-filters/).
# Select Files With Glob Include and Exclude Filters in Blober
> Learn how Blober combines visual file selection, extension/date/size filters, recursive glob includes, glob exclusions, and subdirectory control.
## Selection Is the First Filter
[Section titled "Selection Is the First Filter"](#selection-is-the-first-filter)
Many cloud tools begin with a text rule and expect the user to know the exact path. Blober starts with a visual boundary.
In **Source Configuration**, click **Browse Files and Folders**. You can select:
* A single file
* Several files from different locations
* One folder
* Several folders
* An entire storage root when supported
Use **Add More Files and Folders** to extend the selection. The selected items appear in the workflow and can be removed individually.
This boundary matters for both performance and clarity. If the problem exists only inside `Client-Projects/2026`, do not ask the workflow to inspect an unrelated ten-year archive.
## Where Advanced Filters Appear
[Section titled "Where Advanced Filters Appear"](#where-advanced-filters-appear)
**Advanced Filters (Optional)** appears when the source selection contains a folder. Filters operate on files Blober finds as it scans that folder.
Directly selecting an individual file is already an exact instruction. Folder selection is what creates the need to decide which children qualify.
Available controls are:
* **File Types**
* **Created Date Range**
* **File Size**
* **Include Subdirectories**
* **Glob Filters: Include Pattern**
* **Glob Filters: Exclude Pattern**
All active criteria must allow the file. A `.mov` file can match the extension choice and still be rejected because it is older than the date range or sits inside an excluded proxy folder.
## What Glob Syntax Means
[Section titled "What Glob Syntax Means"](#what-glob-syntax-means)
A glob is a path pattern:
* `*` matches characters within one path level.
* `**` matches recursively across directory levels.
* `?` matches one character.
* `{jpg,png,webp}` matches one of the listed alternatives.
Blober matches glob rules case-insensitively against both the file's full decoded path and its filename.
Examples:
```text
*.jpg
```
matches a JPEG filename.
```text
**/*.jpg
```
matches JPEG files recursively at any depth.
```text
**/*.{jpg,jpeg,png,webp}
```
matches several image extensions recursively.
```text
**/proxies/**
```
matches everything beneath any folder named `proxies`.
## Include and Exclude Are Separate Fields
[Section titled "Include and Exclude Are Separate Fields"](#include-and-exclude-are-separate-fields)
The **Include Pattern** creates the candidate set. The **Exclude Pattern** removes unwanted matches from it.
For original video files without proxies:
```text
Include Pattern: **/*.{mp4,mov,mxf}
Exclude Pattern: **/{proxy,proxies,cache,temp}/**
```
Exclusion is evaluated first. A file rejected by the exclude rule stays rejected even when it also matches the include rule.
Type the pattern in the dedicated Exclude field. You do not need a leading `!`.
## Include Subdirectories
[Section titled "Include Subdirectories"](#include-subdirectories)
The **Include Subdirectories** checkbox controls whether the scan descends into nested folders.
Disable it when only the selected folder's immediate files matter. Enable it for project trees, archives, and buckets where matches may sit several levels deep.
This is separate from destination organization:
* Source **Include Subdirectories** controls which nested files are found.
* Destination `{file_dir}` controls whether their relative nested path appears in a custom destination template.
A workflow can search recursively but deliberately flatten the destination, or search recursively and preserve every level.
## Concrete Recipes
[Section titled "Concrete Recipes"](#concrete-recipes)
### Collect final media exports
[Section titled "Collect final media exports"](#collect-final-media-exports)
```text
Selected folder: Agency
Include: **/*.{mp4,mov,jpg,png}
Exclude: **/{draft,drafts,proxy,proxies,temp}/**
```
### Back up documents but not generated copies
[Section titled "Back up documents but not generated copies"](#back-up-documents-but-not-generated-copies)
```text
Selected folder: Business
Include: **/*.{pdf,doc,docx,xls,xlsx}
Exclude: **/{cache,temp,autosave}/**
```
### Copy source code without dependencies
[Section titled "Copy source code without dependencies"](#copy-source-code-without-dependencies)
```text
Selected folder: Projects
Include: **/*
Exclude: **/node_modules/**
```
One exclude field accepts one glob expression. Brace alternatives are useful when several folder names follow a consistent convention:
```text
**/{node_modules,dist,build,coverage}/**
```
### Find camera originals
[Section titled "Find camera originals"](#find-camera-originals)
Use the built-in **Raw Photos** extension choices or include:
```text
**/*.{cr2,nef,arw,dng,raw}
```
Then pair the filter with:
```text
raw/{file_created_date}/{file_dir}/{filename}
```
## Why This Helps When Storage Has Weak Search
[Section titled "Why This Helps When Storage Has Weak Search"](#why-this-helps-when-storage-has-weak-search)
Glob filters are not a permanent search index. They are repeatable selection rules applied while a workflow scans a known scope.
That distinction is useful for object storage:
* No separate catalog must stay synchronized.
* No full-text or media-analysis service is required.
* Rules work from names and paths already present.
* The matching files can be copied into a destination layout that is easier to browse next time.
If folder and filename conventions contain useful signals such as `Final`, `RAW`, `2026`, or `Client-A`, globs turn those signals into action.
## Preview Is the Query Result
[Section titled "Preview Is the Query Result"](#preview-is-the-query-result)
After source and destination are complete, **Preview & Summary** displays:
* Active extension, date, size, and glob filters
* Matching item count and known total size
* Example source paths
* Expected destination paths
Treat preview like the result page for your filter query. If expected files are missing, simplify the include rule. If unwanted files remain, refine the exclude rule or select a narrower folder.
## Avoid One Giant Pattern
[Section titled "Avoid One Giant Pattern"](#avoid-one-giant-pattern)
A visual selection plus a short pattern is easier to verify than a single glob encoding every client, year, extension, and exception.
Prefer:
```text
Select: Clients/Acme/2026
Include: **/*.{pdf,xlsx}
Exclude: **/drafts/**
```
over a long expression that starts at the account root. The smallest understandable scope is usually the safest one.
Next, learn how matched files can be [organized by date](/kb/articles/organize-files-by-date-path-templates/), [type](/kb/articles/organize-files-by-type-extension/), or [size](/kb/articles/organize-files-by-size/).
# Blober Path Templates: Organize Files During Transfer
> Learn how Blober destination paths work with source selection, folder preservation, path variables, filters, previews, copy, and move.
## What Path Templating Means in Blober
[Section titled "What Path Templating Means in Blober"](#what-path-templating-means-in-blober)
A file transfer normally answers two questions: what should move, and where should it go. Blober adds a third: **what destination path should each file receive?**
That matters because copying a disorganized source without thinking about paths creates a disorganized backup. A bucket containing `clip001.mp4`, `invoice.pdf`, `DSC_4821.ARW`, and years of nested project folders can be copied exactly as it is, filtered to a useful subset, or rearranged into a new structure while it moves.
Blober path templates are destination rules. They combine ordinary folder text with variables such as `{file_ext}`, `{file_created_date}`, and `{filename}`. Blober evaluates the template separately for every matching file and creates that file's relative destination path.
```text
media/{file_ext}/{file_created_date}/{filename}
```
For a video named `GX015742.MP4` with a reported creation date of July 18, 2026, the relative result is:
```text
media/mp4/2026-07-18/GX015742.MP4
```
If the selected destination folder is `studio-archive`, the complete destination becomes:
```text
studio-archive/media/mp4/2026-07-18/GX015742.MP4
```
No separate organizer, database, script, or integration platform is involved. The organization happens as part of the copy or move.
## Where the Feature Is in the App
[Section titled "Where the Feature Is in the App"](#where-the-feature-is-in-the-app)
Path setup spans three numbered sections in the workflow editor. For the step-by-step app reference, see the [Workflows guide](/kb/docs/desktop-app/workflows#path-templates).
### 1. Source Configuration
[Section titled "1. Source Configuration"](#1-source-configuration)
Choose the source provider, authenticate it, then click **Browse Files and Folders**. You can select individual files, multiple files, folders, or an entire storage root when the provider supports it.
If at least one folder is selected, **Advanced Filters (Optional)** appears. It can restrict files by:
* File extension
* Created-date range
* File-size range
* Whether subdirectories are included
* Include glob pattern
* Exclude glob pattern
Source selection defines **where Blober looks**. Filters define **which files inside that scope qualify**.
### 2. Destination Configuration
[Section titled "2. Destination Configuration"](#2-destination-configuration)
Choose the destination provider and **Select Destination Folder**. Once the destination is complete, expand **Advanced Path Template (Optional)**.
The **Template Pattern** field is appended beneath the destination folder. The variable list below the field can be clicked to add placeholders. Blober also shows an example output while the pattern is being edited.
### 3. Preview & Summary
[Section titled "3. Preview & Summary"](#3-preview--summary)
The preview shows active filters, the destination template, source items, and expected destination paths. This is where a path rule becomes understandable before files move.
Do not treat preview as decoration. A template can deliberately flatten a hierarchy, split files into new folders, or rename every destination. Preview is the check that the rule means what you think it means.
## The Three Path Modes
[Section titled "The Three Path Modes"](#the-three-path-modes)
### Mode 1: Copy the Structure As-Is
[Section titled "Mode 1: Copy the Structure As-Is"](#mode-1-copy-the-structure-as-is)
Leave **Advanced Path Template** empty and keep **Include Subdirectories** enabled. Blober automatically retains the relative directory structure beneath the selected folder.
Selected folder:
```text
Projects/
Client-A/
Final/
film.mp4
```
Destination result:
```text
Client-A/Final/film.mp4
```
This is the right mode for a faithful backup. You do not need a template merely because templates exist.
### Mode 2: Flatten the Selection
[Section titled "Mode 2: Flatten the Selection"](#mode-2-flatten-the-selection)
Leave the template empty and disable **Include Subdirectories**. Files are placed by filename without their relative source folders.
This can be useful when collecting documents into one destination, but duplicate filenames from different source folders may target the same destination name. Preview the result carefully.
### Mode 3: Build a Custom Path
[Section titled "Mode 3: Build a Custom Path"](#mode-3-build-a-custom-path)
Enter a path template. The template takes control of the relative destination path. Automatic subdirectory preservation no longer adds the source hierarchy behind the scenes.
That rule is easy to miss:
```text
{file_created_date}/{filename}
```
organizes by date but does **not** preserve source subfolders.
To retain relative source folders inside a custom path, explicitly include `{file_dir}`:
```text
{file_created_date}/{file_dir}/{filename}
```
Read the dedicated [`{file_dir}` guide](/kb/articles/blober-file-dir-path-template/) before relying on it. Its value depends on whether a file or folder was selected and how deeply the file sits beneath that selected folder.
## Every Available Variable
[Section titled "Every Available Variable"](#every-available-variable)
| Variable | Meaning | Example |
| -------------------------- | ---------------------------------------------- | --------------------- |
| `{current_date}` | Current processing date | `2026-07-20` |
| `{current_datetime}` | Current processing date and time | `2026-07-20_14-30-00` |
| `{file_created_date}` | Source-reported creation date | `2026-07-18` |
| `{file_created_datetime}` | Source-reported creation date and time | `2026-07-18_09-15-30` |
| `{file_modified_date}` | Source-reported modification date | `2026-07-19` |
| `{file_modified_datetime}` | Source-reported modification date and time | `2026-07-19_16-45-22` |
| `{file_accessed_date}` | Source-reported access date | `2026-07-20` |
| `{file_accessed_datetime}` | Source-reported access date and time | `2026-07-20_12-00-15` |
| `{filename}` | Complete filename | `GX015742.MP4` |
| `{filename_no_ext}` | Filename without extension | `GX015742` |
| `{file_ext}` | Extension without the dot | `mp4` |
| `{file_size}` | Exact size in bytes | `1572864` |
| `{file_size_mb}` | Exact size in MB, rounded to two decimals | `1.50` |
| `{file_dir}` | Relative directory beneath the selected folder | `Day-2/Camera-A` |
These are deterministic metadata substitutions, not AI classifications. Blober does not inspect an image and infer a client, location, or subject. If `Client-A` is not present in a selected path, filename, or available variable, a template cannot invent it.
## How Template Evaluation Works
[Section titled "How Template Evaluation Works"](#how-template-evaluation-works)
Suppose the destination folder is:
```text
Archive
```
The selected source folder is:
```text
Shoots
```
and one matching file is:
```text
Shoots/Wedding-2026/Camera-A/DSC_4821.ARW
```
For that file:
```text
{file_dir} = Wedding-2026/Camera-A
{filename} = DSC_4821.ARW
{filename_no_ext} = DSC_4821
{file_ext} = arw
```
This template:
```text
originals/{file_dir}/{filename}
```
produces:
```text
Archive/originals/Wedding-2026/Camera-A/DSC_4821.ARW
```
This template:
```text
by-type/{file_ext}/{filename}
```
produces:
```text
Archive/by-type/arw/DSC_4821.ARW
```
The second rule intentionally discards the source folder hierarchy because it does not contain `{file_dir}`.
## Variables and Filters Solve Different Problems
[Section titled "Variables and Filters Solve Different Problems"](#variables-and-filters-solve-different-problems)
Filters decide whether a file participates. Variables decide where a participating file lands.
For example:
```text
Include pattern: **/*.{jpg,png}
Exclude pattern: **/thumbnails/**
Template: images/{file_created_date}/{filename}
```
The include pattern rejects non-image extensions. The exclude pattern removes thumbnails. The path template organizes the remaining files by creation date.
Keeping those concepts separate makes workflows easier to reason about:
1. Select a source boundary.
2. Filter the files inside it.
3. Build the destination path for each match.
4. Preview.
5. Copy or move.
## Important Metadata Limits
[Section titled "Important Metadata Limits"](#important-metadata-limits)
Path templates use metadata supplied by the source provider or filesystem. Not every backend describes dates and sizes in exactly the same way.
* A cloud object may expose upload or modification time rather than the camera's original capture time.
* Access time may be unavailable or unhelpful on object storage.
* Unknown file size becomes `NO_SIZE` or `NO_SIZE_MB` when used in a template.
* `{file_size_mb}` creates an exact numeric folder such as `142.53`; it does not automatically create human categories such as `small` or `large`.
* File extensions come from filenames. A misleading extension is not content inspection.
These limits do not make templates unreliable. They define what the rule can truthfully know. Use preview to inspect real metadata from the selected source.
## Copy and Move
[Section titled "Copy and Move"](#copy-and-move)
Use **Copy** when:
* Creating a backup
* Testing a new destination structure
* Building a second organized library
* Keeping the source as the working location
Use **Move** when:
* The destination has been verified
* The source should be cleaned up
* Files are being retired from expensive active storage
A move deletes the source after successful transfer. For any new path rule, run a representative copy first.
Blober can also reorganize between supported locations on the same provider, but source and destination cannot overlap. Do not place a destination inside the selected source tree. Choose a separate folder, bucket, container, or account.
## Detailed Guides in This Series
[Section titled "Detailed Guides in This Series"](#detailed-guides-in-this-series)
* [How `{file_dir}` Really Works](/kb/articles/blober-file-dir-path-template/)
* [File Selection and Glob Include/Exclude Filters](/kb/articles/blober-file-selection-glob-filters/)
* [Organize Files by Created, Modified, Accessed, or Current Date](/kb/articles/organize-files-by-date-path-templates/)
* [Organize Files by Type and Extension](/kb/articles/organize-files-by-type-extension/)
* [Filter and Organize Files by Size](/kb/articles/organize-files-by-size/)
* [Organize Blob Storage Without Advanced Search](/kb/articles/organize-blob-storage-without-search/)
* [Media and Professional File-Organization Workflows](/kb/articles/media-file-organization-workflows/)
* [Copy As-Is, Organize During Backup, or Reorganize With Move](/kb/articles/copy-move-organize-files-during-transfer/)
## A Safe First Workflow
[Section titled "A Safe First Workflow"](#a-safe-first-workflow)
1. Create a new workflow and choose **Copy**.
2. Select one folder containing several levels, file types, and sizes.
3. Choose a separate destination folder.
4. Enter `{file_ext}/{file_dir}/{filename}`.
5. Inspect every example in **Preview & Summary**.
6. Save and run the workflow.
7. Verify the actual destination before scaling up.
That small test reveals exactly how the source provider reports dates, extensions, sizes, and relative folders. Once the output is correct, the same saved workflow can handle a much larger selection.
**[Download Blober at blober.io](https://blober.io)** to organize files as they move between cloud storage, object storage, local disks, and network drives.
# Blober vs Flexify
> Predictable pricing, local execution, and full credential ownership for serious cloud transfers
### Overview
[Section titled "Overview"](#overview)
Both [**Blober**](https://blober.io/) and **Flexify.io** solve the same core problem: moving large volumes of data between cloud storage providers. They approach the problem from fundamentally different architectural and economic philosophies.
Flexify.io (founded 2015, Tampa FL) is a managed, cloud-based migration and virtualization platform built for enterprises moving tens or hundreds of terabytes in controlled, one-time projects. [**Blober**](https://blober.io/) is a local-first desktop workflow engine designed for continuous, repeatable transfers, with no subscriptions, no per-GB fees, and no third-party servers touching your data.
***
### Architectural Philosophy
[Section titled "Architectural Philosophy"](#architectural-philosophy)
**Flexify.io**
* Cloud-hosted migration engines deployed on Flexify-managed infrastructure
* Data routes through Flexify servers (or, for managed 10 TB+ migrations, direct cloud-to-cloud)
* Usage-based pricing: you pay per GiB transferred
* Emphasis on API virtualization: translates Amazon S3 API to Azure Blob Storage on-the-fly
* Supports \~25 object-storage providers (S3-compatible, Azure, GCS, Alibaba, etc.)
[**Blober**](https://blober.io/)
* Runs entirely on your local machine (Windows, macOS, Linux)
* Transfers go directly between your machine and each storage provider - **no intermediary servers**
* All credentials stored locally and never transmitted to a third party
* Supports unique providers like **GoPro Cloud** that no other migration tool covers
This distinction matters for users who care about cost predictability, credential ownership, data sovereignty, and ongoing workflows rather than one-time migrations.
***
### Pricing Model Comparison
[Section titled "Pricing Model Comparison"](#pricing-model-comparison)
| Aspect | [**Blober**](https://blober.io/) | Flexify.io |
| -------------- | -------------------------------- | ----------------------------------------------------------- |
| Pricing style | ✅ One-time license | Usage-based (per GiB) |
| Current cost | Discounted beta pricing | \~$0.03/GiB Flexify fee + provider egress ($0.05-$0.09/GiB) |
| Subscription | ✅ None | Sign-up required ($20 free credit) |
| Long-term cost | ✅ Fixed forever | Grows with every transfer |
| 1 TB migration | ✅ One-time price | \~$80 to $120+ in fees |
For a single 1 TB migration from AWS S3 to Google Cloud Storage, Flexify's self-service rate is approximately $0.08 to $0.12 per GiB, which works out to **$80 to $120+** for that one job. With [**Blober**](https://blober.io/), only your provider's standard egress fees apply; there is no Blober per-GB charge.
***
### Feature Comparison
[Section titled "Feature Comparison"](#feature-comparison)
| Feature | [**Blober**](https://blober.io/) | Flexify.io |
| ------------------------------ | -------------------------------- | ----------------------- |
| Cloud-to-cloud transfer | ✅ Yes | Yes |
| Local filesystem integration | ✅ Yes | Limited |
| GoPro Cloud support | ✅ Yes | ❌ No |
| Metadata-based path templating | ✅ Yes | No |
| Persistent task history | ✅ Yes | Managed dashboard |
| Workflow reuse | ✅ Yes | Limited |
| Resumable workflows | ✅ Yes | Yes |
| API access | No | Yes |
| Virtual S3 endpoint | No | Yes |
| Credential storage | ✅ Local only | Cloud-managed |
| Data path | ✅ Direct | Through Flexify servers |
***
### Data Sovereignty and Privacy
[Section titled "Data Sovereignty and Privacy"](#data-sovereignty-and-privacy)
With Flexify, your storage credentials are stored on their servers and your data may transit through Flexify-managed infrastructure. For regulated industries, sensitive media archives, or personal data, this introduces a third-party dependency and potential compliance exposure.
[**Blober**](https://blober.io/) eliminates this concern entirely:
* **Credentials never leave your machine.** No third-party vault, no OAuth token stored in a SaaS dashboard
* **Data flows directly** between your local machine and each cloud provider
* Blober works offline with a one-time license
* Full control over when, where, and how your data moves
***
### Unique Provider Coverage
[Section titled "Unique Provider Coverage"](#unique-provider-coverage)
[**Blober**](https://blober.io/) is the only migration tool that supports **GoPro Cloud**, letting GoPro users back up or transfer their media archives to any supported provider (AWS S3, Backblaze B2, Wasabi, local disk, etc.). Neither Flexify, rclone, nor MultCloud offer GoPro Cloud integration.
This makes [**Blober**](https://blober.io/) the go-to choice for photographers, videographers, and agencies managing GoPro footage across storage tiers.
***
### Maturity and Risk Tradeoff
[Section titled "Maturity and Risk Tradeoff"](#maturity-and-risk-tradeoff)
Flexify.io is a mature enterprise platform (since 2015) with production-scale deployments and petabytes migrated. [**Blober**](https://blober.io/) is newer and currently in beta, with faster iteration and less operational overhead.
[**Blober**](https://blober.io/) offsets its maturity gap with:
* Aggressive beta pricing: lock in your license before prices go up
* Rapid feature development with direct community influence on the roadmap
* No lock-in to ongoing fees: one purchase, unlimited use
* Desktop-native architecture that is inherently simpler and more predictable
***
### When [**Blober**](https://blober.io/) Makes More Sense
[Section titled "When Blober Makes More Sense"](#when-blober-makes-more-sense)
Choose [**Blober**](https://blober.io/) if you:
* Transfer data regularly, not just once
* Want full control over credentials and data flow
* Need GoPro Cloud support (only Blober has it)
* Prefer a native desktop UI over enterprise SaaS dashboards
* Want predictable lifetime pricing with no per-GB surprises
* Care about data sovereignty, with no third-party servers touching your files
**[Download Blober at blober.io](https://blober.io)**
# Blober vs Flexify vs rclone
> Three tools, three philosophies, one decision. Compare Blober.io, Flexify.io, and rclone to find the best fit for your cloud data transfer needs in 2026.
### Overview
[Section titled "Overview"](#overview)
Three tools dominate cloud data transfer in 2026 - each solving the problem from a completely different angle. Here's how they compare.
***
### High-Level Comparison Table
[Section titled "High-Level Comparison Table"](#high-level-comparison-table)
| Dimension | [**Blober**](https://blober.io/) | Flexify.io | rclone |
| ----------------------- | -------------------------------- | ---------------------------------------- | --------------------- |
| Architecture | ✅ Local-first desktop | Managed SaaS | CLI utility |
| Pricing | ✅ One-time license | Usage-based (\~$0.03-$0.04/GiB + egress) | Free |
| Ease of use | ✅ High (native GUI) | Medium (web dashboard) | Low (terminal only) |
| Provider count | 9+ and growing | \~25 (object storage) | 70+ |
| GoPro Cloud support | ✅ **Yes (exclusive)** | ❌ No | ❌ No |
| Credential control | ✅ Local only | Cloud-managed | Local config file |
| Data path | ✅ Direct (no middleman) | Through Flexify servers | Direct (local) |
| Workflow persistence | ✅ Built-in | Dashboard-based | None (manual scripts) |
| Task history & resume | ✅ Built-in | Dashboard-based | Logs only |
| Metadata path templates | ✅ Yes | No | Manual scripting |
| Automation | Limited | High | Very high |
| API virtualization | No | Yes (S3-to-Azure gateway) | No |
| Enterprise scale | High | High | High |
| Open source | No | No | Yes |
| Best for | Agencies, creators, engineers | Enterprises (petabyte migrations) | Engineers, sysadmins |
***
### Pricing at a Glance
[Section titled "Pricing at a Glance"](#pricing-at-a-glance)
| Scenario | [**Blober**](https://blober.io/) | Flexify.io | rclone |
| ----------------- | -------------------------------- | ------------------- | ------ |
| 100 GB migration | ✅ One-time | \~$8 - $12 | Free |
| 1 TB migration | ✅ One-time | \~$80 - $120+ | Free |
| 10 TB migration | ✅ One-time | \~$800 - $1,200+ | Free |
| Recurring monthly | ✅ $0 | Compounds every run | Free |
Flexify charges per GiB transferred plus cloud provider egress fees. Costs add up fast for recurring workflows. rclone is free but demands engineering time. [**Blober**](https://blober.io/) sits in the sweet spot: pay once, transfer forever.
***
### Data Sovereignty
[Section titled "Data Sovereignty"](#data-sovereignty)
| Concern | [**Blober**](https://blober.io/) | Flexify.io | rclone |
| ----------------------- | -------------------------------- | ------------------- | ----------------- |
| Credentials stored | ✅ Local only | Flexify servers | Local config file |
| Data transits 3rd party | ✅ No | Yes (Flexify infra) | No |
| Account required | ✅ No | Yes | No |
| Offline operation | ✅ Yes | No | Yes |
For regulated industries, sensitive media archives, or personal data - avoiding third-party intermediaries is not a preference, it is a requirement. Both [**Blober**](https://blober.io/) and rclone keep your data path clean. Flexify introduces a managed middleman.
***
### The GoPro Factor
[Section titled "The GoPro Factor"](#the-gopro-factor)
[**Blober**](https://blober.io/) is the **only** transfer tool that supports **GoPro Cloud**. Neither Flexify nor rclone can access GoPro's storage. If you manage GoPro footage - whether as a creator, agency, or production house - Blober is the only option for migrating that media to professional storage like Backblaze B2, AWS S3, or your local NAS.
***
### Summary
[Section titled "Summary"](#summary)
* **rclone** is the most powerful tool if you are deeply technical, automation-driven, and comfortable with terminal workflows. It is free and supports 70+ providers.
* **Flexify.io** is ideal for enterprises running massive one-time migrations under strict SLAs, especially when virtual S3 endpoints or managed infrastructure are required. Budget accordingly - costs scale with data volume.
* [**Blober**](https://blober.io/) fills the gap between them: professional-grade transfers with a native desktop GUI, local credential control, visual workflows, predictable one-time pricing, and exclusive GoPro Cloud support.
[**Blober**](https://blober.io/)'s beta pricing locks in a lifetime license at a fraction of the cost competitors charge for a single large migration. For users who value simplicity, sovereignty, and long-term savings - Blober is the clear choice.
# Blober vs MultCloud
> One-time pricing and local control versus subscription-based cloud transfer with data caps
### Overview
[Section titled "Overview"](#overview)
[MultCloud](https://www.multcloud.com/) (founded 2012, Hong Kong) is a web-based platform for transferring, syncing, and managing files across 30+ cloud services. It is subscription-based and routes all data through MultCloud's servers.
[**Blober**](https://blober.io/) is a local-first desktop application that transfers data directly between your machine and cloud providers, with no middleman, no subscription, and no data caps.
Both tools target non-technical users who want cloud-to-cloud transfers without writing scripts. The difference lies in architecture, pricing, and trust.
***
### Architectural Difference
[Section titled "Architectural Difference"](#architectural-difference)
**MultCloud**
* Web-based SaaS: runs entirely in your browser
* All data routes through MultCloud's servers in Hong Kong
* Requires an account and OAuth access to your cloud accounts
* Subscription required for meaningful use (free tier: 5 GB/month)
[**Blober**](https://blober.io/)
* Native desktop application (Windows, macOS, Linux)
* Data flows directly between your machine and each cloud provider
* **No intermediary servers.** Your files never touch a third party
* Credentials stored locally, never transmitted
***
### Pricing Model Comparison
[Section titled "Pricing Model Comparison"](#pricing-model-comparison)
| Aspect | [**Blober**](https://blober.io/) | MultCloud |
| ------------------- | -------------------------------- | --------------------------------------- |
| Pricing style | ✅ One-time license | Subscription (annual) |
| Free tier | N/A (beta pricing) | 5 GB/month, 2 transfer threads |
| Mid-tier plan | - | **$59.99/year** for 1,200 GB/year |
| Top-tier plan | - | **$99.98/year** for 2,400 GB/year |
| Transfer threads | Automatic parallelism | Free: 2 threads, Paid: 10 threads |
| Data cap | ✅ **None** | Capped per plan (5 GB to 2,400 GB/year) |
| Long-term cost (3y) | ✅ One-time purchase | $180 to $300+ |
MultCloud's data traffic limits are a hard ceiling. Once you exhaust your annual quota, transfers stop until you renew. [**Blober**](https://blober.io/) has **no transfer caps**. Move as much data as your bandwidth allows.
***
### Feature Comparison
[Section titled "Feature Comparison"](#feature-comparison)
| Feature | [**Blober**](https://blober.io/) | MultCloud |
| ---------------------------- | -------------------------------- | ------------------------- |
| Cloud-to-cloud transfer | ✅ Yes | Yes |
| Local filesystem integration | ✅ Yes | No (web-only) |
| GoPro Cloud support | ✅ **Yes (exclusive)** | ❌ No |
| Storage-optimized transfers | ✅ Yes | Generic |
| Workflow persistence | ✅ Yes | Scheduled tasks |
| Task history and logs | ✅ Yes | Basic dashboard |
| Metadata path templates | ✅ Yes | No |
| Resumable transfers | ✅ Yes | Limited |
| Sync (two-way) | Planned | Yes |
| Email-to-cloud (PDF) | No | Yes |
| Credential storage | ✅ Local only | MultCloud servers (OAuth) |
| Data path | ✅ Direct | Through MultCloud servers |
***
### Data Sovereignty and Privacy
[Section titled "Data Sovereignty and Privacy"](#data-sovereignty-and-privacy)
This is where the difference is starkest. MultCloud requires OAuth access to your cloud accounts and routes all transferred data through its own servers. Their privacy page states data is "temporarily cached" during operations.
[**Blober**](https://blober.io/) takes the opposite approach:
* **Credentials never leave your machine.** No OAuth tokens stored on third-party servers
* **Data flows directly** between your local machine and each cloud provider
* **No account needed.** Blober works with a license key, offline
* **No data caching.** Nothing is stored, buffered, or logged on remote servers
For users transferring personal photos, sensitive business documents, or media archives, the question is simple: do you want your data flowing through servers in Hong Kong, or directly from your machine to your cloud provider?
***
### GoPro Cloud: Only on Blober
[Section titled "GoPro Cloud: Only on Blober"](#gopro-cloud-only-on-blober)
MultCloud supports 30+ consumer cloud services (Google Drive, Dropbox, OneDrive, etc.) but does **not** support GoPro Cloud. If you need to move GoPro footage to professional storage like Backblaze B2, AWS S3, or Wasabi, MultCloud cannot help.
[**Blober**](https://blober.io/) is the only transfer tool with native GoPro Cloud integration, which makes it essential for photographers, videographers, and agencies managing action camera footage.
***
### When [**Blober**](https://blober.io/) is the Sharper Tool
[Section titled "When Blober is the Sharper Tool"](#when-blober-is-the-sharper-tool)
Choose [**Blober**](https://blober.io/) if you:
* Need to move large volumes of data without annual caps
* Want predictable, one-time pricing, not $60 to $100/year forever
* Prefer local execution over web-based SaaS
* Require data sovereignty, with no files routing through third-party servers
* Need GoPro Cloud support (only Blober has it)
* Value detailed task history, resumable workflows, and metadata-based organization
* Care about credential security, with no OAuth tokens stored in the cloud
# Blober vs rclone
> rclone's raw power, without the scripts, flags, or fragile workflows
### Overview
[Section titled "Overview"](#overview)
rclone is the industry-standard CLI tool for cloud storage automation among developers and sysadmins. It is extremely powerful, supports over 70 storage providers, and is completely free and open-source. Its tradeoff is complexity - every job requires flags, config files, and terminal expertise.
[**Blober**](https://blober.io/) is built for users who want rclone-level capability without managing flags, scripts, or terminal state. It replaces stateless CLI execution with persistent, visual workflows that anyone can set up and repeat.
***
### Interface and Usability
[Section titled "Interface and Usability"](#interface-and-usability)
**rclone**
* Command-line only (experimental web GUI exists, but limited)
* Configuration files and flags - every job requires manual setup
* Excellent for scripting and cron-based automation
* Steep learning curve for non-technical users
* No built-in workflow persistence - you must manage your own scripts
[**Blober**](https://blober.io/)
* Native desktop GUI (Windows, macOS, Linux)
* Visual setup of sources, destinations, and filters
* Saved workflows with one-click execution
* Built-in task history with resumable state
* Designed for repeatability and clarity - no terminal required
***
### Feature Comparison
[Section titled "Feature Comparison"](#feature-comparison)
| Feature | [**Blober**](https://blober.io/) | rclone |
| ----------------------- | -------------------------------- | ------------------- |
| Interface | ✅ GUI | CLI |
| Provider count | Growing | 70+ |
| GoPro Cloud support | ✅ Yes | ❌ No |
| Local filesystem | ✅ Yes | Yes |
| Cloud-to-cloud | ✅ Yes | Yes |
| Workflow persistence | ✅ Yes | No (manual scripts) |
| Metadata path templates | ✅ Yes | Manual scripting |
| Task history & resume | ✅ Yes | Logs only |
| Encryption | Planned | Built-in |
| Automation | Limited | Extensive |
| Open source | No | Yes |
| Data path | ✅ Direct | Direct (local) |
***
### GoPro Cloud: A Blober Exclusive
[Section titled "GoPro Cloud: A Blober Exclusive"](#gopro-cloud-a-blober-exclusive)
rclone supports over 70 providers - but **GoPro Cloud is not one of them**. If you shoot with GoPro cameras and want to move your media from GoPro's cloud to Backblaze B2, AWS S3, Wasabi, or your local NAS, rclone simply cannot help.
[**Blober**](https://blober.io/) is the only transfer tool with native GoPro Cloud integration, making it the obvious choice for photographers, videographers, action sports creators, and agencies managing GoPro media libraries.
***
### Workflow Example
[Section titled "Workflow Example"](#workflow-example)
**rclone** requires upfront configuration, careful flag selection, and scripting discipline to safely repeat jobs:
```bash
rclone copy remote:bucket/path dest:bucket/path \
--transfers 4 --checkers 8 --retries 3 \
--filter-from filters.txt --log-file transfer.log
```
Forget a flag? Change a path? The job silently behaves differently. There is no built-in history of what ran, when, or whether it succeeded.
[**Blober**](https://blober.io/) stores each workflow as a durable configuration with immutable execution history. If a transfer is interrupted, Blober resumes based on stored state rather than re-running a stateless command.
This difference becomes critical for:
* Long-running transfers over unreliable connections
* Media archives with thousands of files
* Users who run transfers infrequently and forget the exact flags
* Teams where multiple people need to trigger the same workflow
***
### Data Sovereignty
[Section titled "Data Sovereignty"](#data-sovereignty)
Both rclone and [**Blober**](https://blober.io/) are local-first tools - your credentials stay on your machine. This is a shared advantage over SaaS competitors like Flexify and MultCloud where credentials and potentially data flow through third-party servers.
Where [**Blober**](https://blober.io/) adds value over rclone:
* **No terminal exposure** - credentials are managed in a secured desktop app, not plaintext config files
* **Encrypted credential storage** - not a `~/.config/rclone/rclone.conf` file on disk
* **Visual audit trail** - every transfer logged with timestamps, file counts, and status
***
### Cost and Support
[Section titled "Cost and Support"](#cost-and-support)
| Aspect | [**Blober**](https://blober.io/) | rclone |
| ----------- | -------------------------------- | -------------------- |
| Cost | One-time license | Free |
| Support | Product support | Community forums |
| Updates | Included with license | Community-driven |
| Target user | Creators, agencies, engineers | Engineers, sysadmins |
rclone being free is a genuine advantage. [**Blober**](https://blober.io/) earns its price by saving time, reducing errors, and opening cloud transfers to users who would never touch a terminal.
***
### When [**Blober**](https://blober.io/) Makes More Sense
[Section titled "When Blober Makes More Sense"](#when-blober-makes-more-sense)
Choose [**Blober**](https://blober.io/) if you:
* Prefer visual tools over terminal commands
* Want repeatable workflows without writing scripts
* Need GoPro Cloud support (only Blober has it)
* Need clarity, task history, and one-click resumption
* Transfer data occasionally but need it to work reliably every time
* Value convenience and productivity over maximum flexibility
* Want credentials stored securely - not in a plaintext config file
**[Download Blober at blober.io](https://blober.io)**
# How to Cancel GoPro Plus Without Losing Your Footage
> Thinking about cancelling GoPro Plus? Download all your GoPro Cloud footage to your computer or move it to cheaper storage before your subscription ends. Here's how.
## The GoPro Plus Trap
[Section titled "The GoPro Plus Trap"](#the-gopro-plus-trap)
GoPro Plus (now sold as GoPro Premium) costs $59.99/year. It gives you unlimited cloud storage for your GoPro footage, camera replacement coverage, and discounts on accessories. For active GoPro users, that's a reasonable deal.
The problem shows up when you want to leave.
GoPro Plus auto-uploads your footage to GoPro Cloud. Over time, you might have hundreds of gigabytes sitting there. When you cancel, you lose access to those files. GoPro does not give you a bulk export tool, there's no API, and the web interface lets you download at most 25 files at a time in zip bundles.
If you have 500 videos from two years of travel, surfing, or family events, downloading them 25 at a time is not practical. And the zip downloads often fail on larger batches.
## What Happens When You Cancel
[Section titled "What Happens When You Cancel"](#what-happens-when-you-cancel)
When your GoPro Plus subscription ends:
* You can no longer view or access your cloud footage
* Your files remain on GoPro's servers for a limited time (the exact retention policy is not published)
* No third-party tool has API access to help you
* You lose camera replacement coverage and store discounts
The footage does not transfer anywhere. It sits in GoPro's cloud until they delete it. If you did not download it before cancelling, it may be gone.
## How to Save Everything Before Cancelling
[Section titled "How to Save Everything Before Cancelling"](#how-to-save-everything-before-cancelling)
Blober is the only desktop app that connects to GoPro Cloud. It was built specifically because no other tool can access GoPro's proprietary storage system.
### Step 1: Download Blober and Connect GoPro Cloud
[Section titled "Step 1: Download Blober and Connect GoPro Cloud"](#step-1-download-blober-and-connect-gopro-cloud)
Install Blober on your Mac, Windows, or Linux computer. Add GoPro Cloud as a provider and sign in with your GoPro account. Blober captures your session and gives you a visual file browser showing your entire cloud library.
### Step 2: Choose Where to Save Your Footage
[Section titled "Step 2: Choose Where to Save Your Footage"](#step-2-choose-where-to-save-your-footage)
You have several options:
**Local hard drive or SSD** The simplest option. Select all your GoPro Cloud files, pick a local folder as the destination, and transfer. Your footage downloads to your computer at full quality.
**External drive or NAS** If your internal drive does not have enough space, point Blober to an external drive, SD card, or network-attached storage (Synology, QNAP, etc.).
**Backblaze B2 (cheapest cloud option)** If you want your footage in the cloud but do not want to pay $59.99/year, Backblaze B2 stores data at $6.95/TB/month. For 1 TB of GoPro footage, that is about $83/year with no subscription lock-in, no download limits, and full API access.
**Dropbox, Google Drive, or AWS S3** If you already use another cloud provider, Blober can transfer your GoPro footage directly there. No double-download needed.
### Step 3: Transfer
[Section titled "Step 3: Transfer"](#step-3-transfer)
Select your files (or select all), choose the destination, and click run. Blober transfers with parallel streams, auto-resume on failure, and progress tracking. For large libraries, you can leave it running overnight.
### Step 4: Cancel GoPro Plus
[Section titled "Step 4: Cancel GoPro Plus"](#step-4-cancel-gopro-plus)
Once your footage is safely stored elsewhere, cancel your subscription through the GoPro app or website. Your files are yours, on storage you control.
## Cost Comparison: GoPro Plus vs Alternatives
[Section titled "Cost Comparison: GoPro Plus vs Alternatives"](#cost-comparison-gopro-plus-vs-alternatives)
| Storage Option | Cost (1 TB/year) | Download Limits | API Access |
| ------------------ | ------------------------ | ------------------ | ------------- |
| GoPro Plus | $59.99/year | 25 files at a time | None |
| Backblaze B2 | \~$83/year | Unlimited | S3-compatible |
| Wasabi | \~$84/year | Unlimited | S3-compatible |
| Local hard drive | One-time \~$40 (4TB HDD) | N/A | N/A |
| Google Drive (2TB) | $100/year | Unlimited | Yes |
GoPro Plus is actually the cheapest cloud option per TB, but it comes with restrictions that the others do not have: no bulk downloads, no third-party tool access, and your footage is inaccessible the moment you cancel.
## Why No Other Tool Works
[Section titled "Why No Other Tool Works"](#why-no-other-tool-works)
This is not a case of "just use rclone" or "try MultCloud." GoPro Cloud is a proprietary system with no published API. No transfer tool, CLI, or cloud sync service has ever supported it.
* **rclone**: No GoPro backend. Never had one.
* **MultCloud**: Does not list GoPro Cloud as a provider.
* **Flexify**: No GoPro support.
* **CloudHQ, Mover, Movebot**: None support GoPro Cloud.
Blober connects to GoPro Cloud through the same authentication path as GoPro's own web app. It is the only third-party tool that can read, download, and transfer your GoPro Cloud files.
## What If You Want to Keep GoPro Cloud?
[Section titled "What If You Want to Keep GoPro Cloud?"](#what-if-you-want-to-keep-gopro-cloud)
Not everyone needs to cancel. If you shoot regularly and use GoPro's highlight tools, Plus is a solid deal. But even if you keep your subscription, having a backup somewhere else is just good practice.
Use Blober to mirror your GoPro Cloud to a local drive or Backblaze B2 as a safety net. That way, if GoPro changes their terms, raises prices, or has a service issue, your footage is protected.
## Get Blober
[Section titled "Get Blober"](#get-blober)
Blober is a one-time purchase with a lifetime license. No subscription, no per-GB fees.
**[Download Blober at blober.io](https://blober.io)**
# How Freelancers Keep Client Files Organized Across Clouds
> A practical workflow for freelancers juggling client Dropbox folders, a personal Google Drive, and old project buckets: consolidate, archive, and keep handoffs clean.
## The Freelancer File Problem
[Section titled "The Freelancer File Problem"](#the-freelancer-file-problem)
Freelancers end up with files scattered across every client's cloud plus their own, and the fix is a simple routine: work from your own organized storage, archive each project when it closes, and hand off a clean copy. The trick is making the moves between all those clouds painless enough that you actually keep up with them.
If you freelance, you know the mess. One client lives in Dropbox, another shares through Google Drive, a third dropped files in an S3 bucket two years ago. Your own work sits somewhere else again. Finding a single old deliverable means logging into four accounts.
## A Workflow That Holds Up
[Section titled "A Workflow That Holds Up"](#a-workflow-that-holds-up)
**1. Pull each project into your own organized storage.** Whether that is a NAS, a drive, or your own cloud, give every client and project a consistent folder. You work from a structure you control, not from whatever each client happened to set up.
**2. Archive when a project closes.** Finished work does not need to sit in fast, active storage. Move it to a cheaper archive, object storage like Backblaze B2 or a NAS, and keep your working space lean. You still have it if the client comes back a year later.
**3. Hand off a clean copy.** When a project wraps, deliver a tidy copy into the client's cloud of choice, with the folder structure intact, so the handoff looks professional and nothing is missing.
## Where Blober Fits the Routine
[Section titled "Where Blober Fits the Routine"](#where-blober-fits-the-routine)
Blober is the part that moves files between all these places without the download-and-reupload slog. It connects to every major cloud provider plus local storage, preserves folder structure, and copies directly between accounts. A few ways freelancers use it:
* Pull a client's Dropbox or Drive into your own organized archive at the start of a job.
* Move a finished project from active storage to a cheaper archive when it closes.
* Deliver the final files into the client's cloud, structured the way they expect.
Because it runs on your machine rather than a third-party server, client files are not passing through someone else's relay, which matters when the work is under NDA.
## Keep the Originals, Protect the Relationship
[Section titled "Keep the Originals, Protect the Relationship"](#keep-the-originals-protect-the-relationship)
One habit that saves freelancers repeatedly: keep your own archived copy of every project even after handoff. Clients lose files, ask for a re-send months later, or come back for a follow-up. An organized archive turns those moments into a two-minute favor instead of a scramble, and that reliability is part of why they rehire you.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**How should freelancers organize files across multiple clients?** Work from your own consistent folder structure rather than each client's setup. Pull projects into your storage, archive them when they close, and keep an organized copy of everything.
**How do I move a client's files out of their Dropbox or Drive?** With access to the account, Blober copies the files directly into your own storage, keeping the folder structure intact, without downloading and re-uploading.
**Where should I archive finished freelance projects?** Cheaper, durable storage such as a NAS or object storage like Backblaze B2. Keep active projects in fast storage and move closed ones to the archive.
**Is it safe to move client files with a transfer tool?** Blober runs on your own machine with your credentials, so files are not routed through a third-party server. That keeps client work out of an external relay.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [Consolidating Multiple Cloud Accounts Into One](/kb/articles/consolidate-multiple-cloud-accounts/)
* [How to Move Files from Dropbox to Google Drive](/kb/articles/how-to-move-dropbox-to-google-drive/)
* [Your Files, Your Machine: No Middleman](/kb/articles/your-files-your-machine-no-middleman/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Keep client work organized across every cloud you touch. Blober moves files directly between the major cloud providers and local storage, preserves folder structure, and runs on your own machine.
**[Download Blober at blober.io](https://blober.io)**
# Cloud Storage Ingress vs Egress Fees: Which Providers Are Free?
> Ingress and egress fees explained for cloud object storage: which providers offer free uploads, zero egress, allowance-based egress, or paid outbound transfer, and when to optimize for each.
Ingress is data going **into** a cloud. Egress is data coming **out** of a cloud. That sounds simple until you move data between providers: the source sees egress, the destination sees ingress, and both sides may also charge for requests, retrieval, minimum storage duration, or storage-class transitions.
For a migration from AWS S3 to Cloudflare R2, for example, AWS is the egress side and R2 is the ingress side. R2's zero-egress pricing helps after the move, but it does not erase the source provider's charge for reading data out. A direct transfer avoids a relay and a second full local copy; it does not make source egress disappear.
## Ingress Is Usually Free, Egress Is Not
[Section titled "Ingress Is Usually Free, Egress Is Not"](#ingress-is-usually-free-egress-is-not)
Most object-storage providers make **network ingress** free, or close to it. Uploading data is how they get storage revenue, so they rarely put a bandwidth toll at the door. But writes can still create API, PUT, multipart, replication, or storage-class charges. AWS S3, for example, says S3 costs include request, retrieval, data transfer, transfer acceleration, replication, transform, and query components, and it separately calls out per-request ingest charges for some writes and lifecycle transitions[\[1\]](https://aws.amazon.com/s3/pricing/ "Source: aws.amazon.com/s3/pricing/").
Egress is the expensive side. It is what you pay when users download files, an app serves media, a backup restore reads data out, or a migration leaves a provider. Azure lists data transfer in as free, but internet egress from Azure data centers is priced by zone and volume[\[2\]](https://azure.microsoft.com/en-us/pricing/details/bandwidth/ "Source: azure.microsoft.com/en-us/pricing/details/bandwidth/"). Google Cloud Storage lists inbound data transfer as free, while general outbound transfer to the internet is billable after any free-tier allowance[\[3\]](https://cloud.google.com/storage/pricing "Source: cloud.google.com/storage/pricing").
Use that difference to decide what to optimize for:
* Prioritize **ingress** for backup targets, one-time imports, camera dumps, and upload-heavy workflows.
* Prioritize **egress** for public assets, media delivery, AI training reads, frequent restores, and any data you may need to leave with later.
* Prioritize **both** when the same bucket is active in both directions: teams moving data between clouds, hot archives, shared datasets, or migration staging buckets.
## Provider Groups by Transfer Pricing
[Section titled "Provider Groups by Transfer Pricing"](#provider-groups-by-transfer-pricing)
Pricing changes, and providers define "free" differently. Use this as a map, then verify the current pricing page before committing production data.
| Group | Providers | What is free or included | Watch for |
| -------------------------------------- | ------------------------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Zero-egress or no separate egress line | Cloudflare R2, Wasabi, Synology C2, Impossible Cloud, Telnyx | R2 publishes no egress bandwidth charges[\[4\]](https://developers.cloudflare.com/r2/pricing/ "Source: developers.cloudflare.com/r2/pricing/"). Wasabi publishes no egress or API request fees, with minimum storage rules[\[5\]](https://wasabi.com/pricing/ "Source: wasabi.com/pricing/"). Synology C2 advertises free data retrieval and no API request or deletion fees[\[6\]](https://c2.synology.com/en-global/object-storage/overview "Source: c2.synology.com/en-global/object-storage/overview"). Impossible Cloud publishes free egress and API calls[\[7\]](https://www.impossiblecloud.com/pricing "Source: www.impossiblecloud.com/pricing"). Telnyx markets Cloud Storage as an S3-compatible alternative with zero egress fees[\[8\]](https://telnyx.com/products/cloud-storage "Source: telnyx.com/products/cloud-storage"). | Operation fees, retrieval processing fees, minimum storage duration, support tiers, and fair-use terms can still matter. Impossible Cloud's docs say monthly egress should not exceed active storage volume under its fair-use policy[\[9\]](https://docs.impossiblecloud.com/impossible-cloud-help/impossible-cloud-storage-guide/billing/fair-use-policy.md "Source: docs.impossiblecloud.com/impossible-cloud-help/impossible-cloud-storage-guide/billing/fair-use-policy.md"). |
| Allowance-based free egress | Backblaze B2, MEGA S4, IDrive e2, Storadera, Rabata Backup | Backblaze B2 includes free egress up to 3x average monthly stored data, then bills additional egress[\[10\]](https://www.backblaze.com/cloud-storage/pricing "Source: www.backblaze.com/cloud-storage/pricing"). MEGA S4 describes up to 5x average monthly stored data as free egress[\[11\]](https://mega.io/objectstorage "Source: mega.io/objectstorage"). IDrive e2 says there are no additional ingress, egress, deletion, or API-request charges, but its page also notes charges beyond free egress limits[\[12\]](https://www.idrive.com/s3-storage-e2/pricing "Source: www.idrive.com/s3-storage-e2/pricing"). Storadera allows downloads equal to stored amount under fair use[\[13\]](https://www.storadera.com/pricing "Source: www.storadera.com/pricing"). Rabata Backup has no additional egress fee, with egress expected to stay under 2x stored amount[\[14\]](https://docs.rabata.io/billing "Source: docs.rabata.io/billing"). | These can be excellent for backups and normal restores, but not for unlimited media delivery. Read the multiplier, overage price, and fair-use language. |
| Bundled outbound transfer | DigitalOcean Spaces, Vultr Object Storage | DigitalOcean Spaces includes 1 TiB outbound transfer, then charges additional transfer[\[15\]](https://www.digitalocean.com/pricing/spaces-object-storage "Source: www.digitalocean.com/pricing/spaces-object-storage"). Vultr Object Storage pricing bundles selected storage with selected bandwidth, then charges for additional transferred data[\[16\]](https://www.vultr.com/pricing/#objectstorage "Source: www.vultr.com/pricing/"). | Good for predictable app storage when the included bandwidth matches your traffic. Less good if traffic can spike far beyond the bundle. |
| Paid egress baseline | AWS S3, Azure Blob, Google Cloud Storage | Uploading data is usually the easier side, but outbound data transfer is a major pricing dimension. AWS S3 data transfer pricing has explicit in/out components[\[17\]](https://aws.amazon.com/s3/pricing/ "Source: aws.amazon.com/s3/pricing/"). Azure data transfer in is free, while internet egress is priced by region and volume[\[18\]](https://azure.microsoft.com/en-us/pricing/details/bandwidth/ "Source: azure.microsoft.com/en-us/pricing/details/bandwidth/"). Google Cloud Storage inbound data transfer is free, while general outbound transfer is priced by destination and volume[\[19\]](https://cloud.google.com/storage/pricing "Source: cloud.google.com/storage/pricing"). | These platforms can be the right choice for deep ecosystem integration, analytics, identity, compliance, and managed services. Do not pick them on storage price alone if your workload reads heavily. |
## When Ingress Should Decide
[Section titled "When Ingress Should Decide"](#when-ingress-should-decide)
Ingress matters most when your workload mostly writes data and rarely reads it back. Examples:
* Nightly backups into object storage.
* Camera, drone, or GoPro footage uploaded after shoots.
* One-time imports into a long-term archive.
* Logs and machine-generated data flowing into cold storage.
* Migration into a destination you plan to keep using.
Free ingress is useful, but it is rarely enough by itself. For upload-heavy work, also check the provider's region list, multipart upload limits, request pricing, small-object behavior, and minimum storage duration. A provider with free uploads but a distant region may still be slower and less reliable than a provider close to your source.
If the upload is a one-time migration, the destination's ingress policy is only half the bill. The source provider's egress and read/retrieval charges are usually the part that hurts.
## When Egress Should Decide
[Section titled "When Egress Should Decide"](#when-egress-should-decide)
Egress matters when data leaves storage often. Examples:
* Public downloads, app assets, images, and videos.
* CDN origin storage.
* AI or analytics jobs that repeatedly read training datasets.
* Backup restores that are tested often.
* Customer exports and data portability.
* Any archive you may need to leave later.
This is where zero-egress and allowance-based providers earn attention. Cloudflare R2 is built around no egress bandwidth charges. Backblaze B2's 3x allowance is generous for many backup and archive patterns. Wasabi, Synology C2, Impossible Cloud, and similar providers can make bills easier to predict, but their minimums and fair-use terms decide whether they fit your exact workload.
If you serve a 10 TB media library once a month, a 1x egress fair-use policy may be enough. If users download the same 10 TB library ten times a month, you need true zero egress, a CDN strategy, or a negotiated plan.
## When You Need Both
[Section titled "When You Need Both"](#when-you-need-both)
Some workloads are both write-heavy and read-heavy:
* Active media teams ingest footage, review it, deliver it, and archive it.
* AI teams upload new datasets and read them repeatedly during experiments.
* Agencies move client files in and out of storage every week.
* Multi-cloud teams use an object store as a staging area between providers.
* Backup teams run frequent restore tests instead of treating backups as write-only.
For these, compare the whole transfer loop:
1. Source egress and read/retrieval fees.
2. Destination ingress, write, and operation fees.
3. Storage cost and minimum retention.
4. Destination egress for future reads, restores, or exits.
5. Tool cost and whether it adds a relay hop.
The common mistake is optimizing only for the first upload. A cheap destination that charges heavily when you read data back may be fine for a legal archive and wrong for a media workflow.
## How Blober Fits
[Section titled "How Blober Fits"](#how-blober-fits)
Blober does not charge per GB and does not relay your files through Blober servers. It runs on your machine, reads from the source, and writes to the destination. That keeps the route local and avoids an extra transfer-service bill.
Provider fees still apply. If the source charges egress, you pay the source. If the destination charges PUT requests, retrieval, or storage, you pay the destination. The value of a direct desktop transfer is that it avoids an additional middle service, keeps your credentials local, and lets you choose the storage provider whose ingress and egress model fits the job.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Does free ingress mean a migration is free?** No. Free ingress only describes the destination side. The source can still charge egress, retrieval, or read requests.
**Does zero egress mean there are no storage costs?** No. You still pay for storage, operations, retrieval processing if the provider has it, minimum duration, and any add-on services. Zero egress means the provider does not bill outbound bandwidth as a separate line item.
**Should backups optimize for ingress or egress?** Both, but for different reasons. You write backups often, so ingress performance matters. You restore rarely but urgently, so egress cost and restore speed matter when something goes wrong.
**Can a transfer tool avoid egress fees?** Not source-provider egress. A tool can avoid an extra relay, subscription, or duplicate local staging step, but the source provider still sees data being read out.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [Best S3-Compatible Object Storage Specialists](/kb/articles/best-s3-compatible-object-storage-specialists/)
* [The Complete List of S3-Compatible Storage Providers](/kb/articles/s3-compatible-storage-providers-complete-list/)
* [Server-to-Server vs Download-and-Reupload](/kb/articles/server-to-server-vs-download-reupload/)
* [The True Cost of Cloud Data Migration](/kb/articles/true-cost-of-cloud-data-migration/)
* [How to Move Azure Blob to Cloudflare R2](/kb/articles/how-to-move-azure-blob-to-cloudflare-r2/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Compare providers on the bill that matters, then move the data directly. Blober connects S3, S3-compatible storage, Azure Blob, Dropbox, Google Drive, GoPro Cloud, and more without per-GB transfer fees.
**[Download Blober at blober.io](https://blober.io)**
# Cloudflare R2 for AI Training Data: Why Zero Egress Changes the Math
> Why Cloudflare R2's zero egress fees make it a strong home for AI and ML training data, how it changes read-heavy workloads, and how to stage a dataset into R2.
## Why Egress Is the Hidden Tax on Training Data
[Section titled "Why Egress Is the Hidden Tax on Training Data"](#why-egress-is-the-hidden-tax-on-training-data)
Training a model means reading the same dataset over and over, once per epoch, often from GPUs that sit outside your storage provider's network. On most object stores you pay an egress fee every time that data leaves the bucket. Cloudflare R2 does not charge egress fees, so reading a dataset a hundred times costs the same in transfer as reading it once. For read-heavy AI work, that quietly changes the math.
People size storage by the price per terabyte and then get surprised by the transfer line on the bill. For an archive you rarely open, egress barely matters. For a training set you stream through a data loader thousands of times, egress is the cost.
## What Makes Training Data Different From an Archive
[Section titled "What Makes Training Data Different From an Archive"](#what-makes-training-data-different-from-an-archive)
Training data has a few traits that make egress the deciding factor:
* **It is read many times.** Every epoch reads the whole set again. Hyperparameter sweeps and multiple runs multiply that.
* **It is large.** Image, video, audio, and text corpora run to terabytes, and embeddings pile on more.
* **The compute is often elsewhere.** GPUs in another cloud or a rented cluster mean the data crosses a network boundary on every read, which is exactly what egress charges for.
Put those together and a metered-egress store can cost more to read than to hold.
## Why R2 Fits the Job
[Section titled "Why R2 Fits the Job"](#why-r2-fits-the-job)
Two properties do the work. First, R2 does not charge egress fees, so repeated reads from outside Cloudflare do not accumulate transfer cost. Second, R2 is S3-compatible, so the data loaders, SDKs, and tools your pipeline already uses point at it by changing the endpoint and the keys. You do not rewrite your training code to adopt it.
A couple of honest caveats, because the math is not free in every direction. R2 has its own operation and request considerations, and throughput depends on how your loader and network are set up. If your training compute lives in the same cloud as your current data, reads inside that cloud may already avoid egress, so R2's advantage is largest when storage and compute would otherwise sit on different networks. Confirm Cloudflare's current terms before you commit a pipeline to them.
## Getting a Dataset Into R2
[Section titled "Getting a Dataset Into R2"](#getting-a-dataset-into-r2)
A training corpus rarely starts life in one place. It is scraped to a local disk, staged in an S3 bucket, or scattered across a few accounts from different collaborators. Consolidating it into one R2 bucket is the setup step.
Blober moves data into R2 directly from AWS S3, Backblaze B2, Wasabi, DigitalOcean Spaces, Azure Blob, Dropbox, Google Drive, or local storage. It copies in parallel, keeps the folder structure intact, and has skip-existing, so the first run stages the whole corpus and later runs only carry the new files as the dataset grows. You are not downloading the set to a laptop and pushing it back up, which matters when the corpus is bigger than any one machine's disk.
## A Practical Setup
[Section titled "A Practical Setup"](#a-practical-setup)
1. Choose R2 as the dataset home if your training compute reads it repeatedly from outside Cloudflare.
2. Stage the corpus into an R2 bucket with Blober, in parallel and with structure preserved.
3. Point your S3-compatible data loader at the R2 endpoint and train.
4. Re-run Blober with skip-existing as you add data, so only the new files move.
Keep a second copy somewhere else as well. One bucket is one copy, and the 3-2-1 rule applies to a dataset you cannot easily recreate just as much as to family photos.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Does Cloudflare R2 charge egress fees?** No. R2 does not charge egress fees for reading your data out, which is its main draw for read-heavy workloads like model training. Confirm the current terms on Cloudflare's site before committing.
**Is Cloudflare R2 good for machine learning datasets?** Yes, especially when your training compute reads the dataset repeatedly from outside Cloudflare's network. Zero egress removes the per-read transfer cost that dominates training storage bills.
**Is R2 S3-compatible for data loaders?** Yes. R2 exposes an S3-compatible API, so existing S3 data loaders, SDKs, and tools work by changing the endpoint and credentials.
**How do I move my training data into R2?** Use a tool that transfers directly and in parallel. Blober stages datasets into R2 from S3, B2, Wasabi, Spaces, Azure Blob, and local storage, with skip-existing for incremental updates.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [What S3-Compatible Really Means](/kb/articles/what-s3-compatible-really-means/)
* [How to Move Azure Blob to Cloudflare R2](/kb/articles/how-to-move-azure-blob-to-cloudflare-r2/)
* [Archiving Large Research and Scientific Datasets Across Clouds](/kb/articles/archiving-large-research-datasets-across-clouds/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Stage your training data into R2 without a scripting project. Blober moves datasets into R2 from S3, B2, Wasabi, Spaces, Azure Blob, and local storage, in parallel and with structure intact.
**[Download Blober at blober.io](https://blober.io)**
# Cloudinary: Where It Fits and Where It Doesn't
> Cloudinary's credit model, what each tier covers, where the product wins, where it doesn't, and how it compares to Cloudflare Images, ImageKit, Imgix, Bunny Optimizer, and Uploadcare.
## What Cloudinary Is
[Section titled "What Cloudinary Is"](#what-cloudinary-is)
[Cloudinary](https://cloudinary.com/) is an image and video platform. You upload a file, you get a URL like `res.cloudinary.com/your-cloud/image/upload/w_400,c_fill,f_auto,q_auto/photo.jpg`, and Cloudinary handles resizing, format conversion (WebP, AVIF), CDN caching, and delivery. Change a URL parameter, get a new version on demand. The same model covers video, with transcoding and adaptive streaming.
Two other products sit alongside the API: a **digital asset management (DAM)** tool for marketing teams, sold separately, and **MediaFlows** for no-code workflow automation. Files are stored on AWS S3 and Google Cloud, in US regions by default.
## How the Credit Model Works
[Section titled "How the Credit Model Works"](#how-the-credit-model-works)
Cloudinary does not bill storage, bandwidth, and processing separately. Everything goes through one shared pool of **credits** ([\[source\]](https://cloudinary.com/documentation/pricing.md "Source: cloudinary.com/documentation/pricing.md")):
**1 credit equals** 1,000 transformations, OR 1 GB stored, OR 1 GB delivered, OR 500 seconds of SD video processing, OR 250 seconds of HD video processing.
The pool is flexible: a quiet month uses fewer credits, a viral month uses more. The trade-off is that a single popular video can drain your monthly budget in hours, and you cannot price any one file in isolation.
Two counting details worth knowing:
* Transformations count **once per unique URL** in a month. Repeat views of the same URL are free at the transformation layer (bandwidth still counts).
* Bandwidth counts **net file bytes served**, not HTTPS overhead or retransmits.
### The Tiers
[Section titled "The Tiers"](#the-tiers)
All prices monthly. Annual billing saves about 10%.
| Plan | Monthly | Annual (per mo) | Credits/mo | Max image | Max video |
| -------------- | ------- | --------------- | ---------- | --------- | --------- |
| Free | $0 | $0 | 25 | 10 MB | 100 MB |
| Plus | $99 | $89 | 225 | 20 MB | 2 GB |
| Advanced | $249 | $224 | 600 | 40 MB | 4 GB |
| Advanced Extra | $549 | $494 | 1,350 | 40 MB | 4 GB |
| Pro PAYG | $1,099 | $989 | 2,750 | 40 MB | 4 GB |
| Enterprise | Custom | Custom | Custom | Custom | Custom |
The Free plan is permanent, not a trial, and Cloudinary states you can run production on it as long as you stay under 25 credits a month. No credit card required to sign up. 25 credits is roughly 5 GB stored, 10 GB delivered, and 10,000 transformations.
Things that surprise people:
* **Overages exist only on Pro PAYG** ($0.45 per extra credit). On every other paid plan, going over triggers warnings, then partial disable, then full disable. There is no grace period.
* **Custom domain (CNAME) and HTTPS** start at Advanced, not Plus. Many teams hit Plus then jump to Advanced just for `cdn.example.com`.
* **SAML SSO, multi-CDN, EU data residency, and AI-powered search** are Enterprise-only.
* **DAM is a separate product.** A paid API plan does not raise your DAM limits. Full DAM means a second Enterprise contract.
* **Add-ons** (AI tagging, OCR, Rekognition) have free evaluation tiers; production volume requires a paid Cloudinary plan plus paid add-on tiers.
## Where Cloudinary Wins
[Section titled "Where Cloudinary Wins"](#where-cloudinary-wins)
**URL-based transformations.** Resize, crop, smart-crop on faces, watermark, overlay text, change format and quality, all by editing the URL. No build step.
**Automatic format and quality.** Add `f_auto,q_auto` and Cloudinary picks the smallest format and quality the requesting browser supports. Usually 30 to 70 percent smaller than the original with no manual work.
**Video without your own pipeline.** HLS and DASH adaptive streaming, transcoding, thumbnails, clipping, captions via add-ons. Video burns credits faster than images (250 to 500 seconds per credit), but you do not need to run FFmpeg.
**AI features.** Auto-tagging, OCR, content moderation, background removal, generative fill. Most are add-ons, integrated into the upload pipeline.
**Migration in is well supported.** Lazy auto-upload pulls from your existing URLs the first time anyone requests a file, plus the CLI and Upload API for batch jobs. See the [Cloudinary migration guide](https://cloudinary.com/documentation/migration).
## Where It Doesn't Fit
[Section titled "Where It Doesn't Fit"](#where-it-doesnt-fit)
**Getting files back out.** There is no "export everything" button. The Admin API lists assets and lets you download originals one at a time. Backup to your own S3 starts at the Plus tier and only mirrors new uploads. Moving an existing catalog off Cloudinary is a scripting job, or a workflow in [Blober](https://blober.io/).
**Cost predictability under traffic spikes.** Shared credits mean one popular asset can blow the monthly budget. The only plan that pays overage in cash instead of suspension warnings is Pro PAYG at $989/month annual.
**Pure CDN serving.** If you have pre-optimized files and just need a CDN, you are paying for the transformation engine you are not using. [Cloudflare R2](https://developers.cloudflare.com/r2/) (zero egress) or [Bunny CDN](https://bunny.net/cdn/) ($0.005 to $0.01/GB) will be much cheaper.
**Data residency.** US-only storage by default. EU or other regions require Enterprise.
**Self-hosted control.** Originals live in Cloudinary's AWS and GCS accounts. You can mirror to your own S3 from Plus upward, but the source of truth is theirs.
## Cloudinary vs Alternatives
[Section titled "Cloudinary vs Alternatives"](#cloudinary-vs-alternatives)
**[Cloudflare Images](https://developers.cloudflare.com/images/pricing/)** is the cheapest serious option. Free plan covers 5,000 unique transformations per month, no card needed. Paid is $5 per 100,000 images stored, $1 per 100,000 images delivered, $0.50 per 1,000 transformations beyond the free 5,000. Less polish on transformations, no DAM, no add-ons. Video is a separate product ([Cloudflare Stream](https://developers.cloudflare.com/stream/pricing/), $5 per 1,000 minutes stored, $1 per 1,000 minutes delivered). Much cheaper than Cloudinary at most scales.
**[ImageKit](https://imagekit.io/)** is the closest direct competitor. Same URL transformation model, integrated DAM, video processing. Free tier with 20 GB bandwidth, paid from around $49/month with explicit storage and bandwidth caps instead of credits. Pulls from your existing origin (S3, GCS, your server), so files do not have to live in their storage. Easier to leave than Cloudinary.
**[Imgix](https://imgix.com/)** is transformation and delivery only. No DAM, no widget, no AI. Points at your existing bucket and serves transformed URLs. Per-master-image plus per-GB pricing. Smaller feature set, originals stay where they are.
**[Bunny Optimizer](https://bunny.net/optimizer/)** adds image transformations on top of Bunny CDN. $9.50/month flat per pull zone plus standard Bunny bandwidth. URL-based transformations and format conversion. Weaker on video and AI than Cloudinary, roughly 10x cheaper at scale.
**[Uploadcare](https://uploadcare.com/)** focuses on upload widget plus transformation pipeline. Per-upload and per-GB pricing, more predictable than credits. Smaller feature set.
**[Imagor](https://github.com/cshum/imagor)** and **[Thumbor](https://www.thumbor.org/)** are open source. You host them yourself in front of your own storage. Free in software cost, you pay for servers and ops time. No DAM, no AI, no managed CDN.
## Using Cloudinary with Blober
[Section titled "Using Cloudinary with Blober"](#using-cloudinary-with-blober)
[Blober](https://blober.io/) supports [Cloudinary as a source and a destination](/kb/docs/providers/cloudinary). Connect with your Cloud Name, API Key, and API Secret from the [Cloudinary Console](https://console.cloudinary.com/app) and Blober can browse your folders, upload from any other supported provider (Google Drive, Dropbox, AWS S3, Backblaze, Cloudflare R2, Wasabi, Rabata, Proton Drive, GoPro Cloud, NAS, local disk), download to any destination, and delete in bulk.
The most useful case is moving **out** of Cloudinary. Because Cloudinary has no bulk export tool, leaving means listing the catalog, downloading every original, and re-uploading somewhere else. Blober runs that as a single workflow: pick Cloudinary as source, pick the destination, select the files, run it. Transfers stream through your own machine, folders and filenames are preserved, and you can re-run the workflow later to pick up anything new.
The same workflow runs in the other direction if you want to move an existing folder tree from Dropbox or S3 into Cloudinary.
For setup details, see the [Cloudinary provider documentation](/kb/docs/providers/cloudinary).
# Consolidating Multiple Cloud Accounts Into One (Without Losing Folder Structure)
> How to merge files scattered across Dropbox, Google Drive, and old object-storage buckets into one home, keeping your folder structure intact.
## Merging Scattered Cloud Accounts, Done Right
[Section titled "Merging Scattered Cloud Accounts, Done Right"](#merging-scattered-cloud-accounts-done-right)
To consolidate files spread across several clouds, pick one destination, then copy each source into its own folder there so nothing collides, keeping the original folder tree intact. The hard part is not the copying. It is doing it without flattening your structure or creating a thousand duplicates.
Most people accumulate clouds by accident: a personal Dropbox, a work Google Drive, an old S3 bucket from a project, a free account that came with a device. Finding one file means remembering which silo it is in. Consolidating fixes that, if you do it carefully.
## Decide the Destination First
[Section titled "Decide the Destination First"](#decide-the-destination-first)
Before moving anything, choose where everything will live. Match it to how you work:
* **Google Drive or Dropbox** if you mostly open and share documents and want easy collaboration.
* **A NAS or external drive** if you want the files under your own roof and off a subscription.
* **Object storage like Backblaze B2 or Wasabi** if it is mostly a large archive you rarely touch.
Pick one. Splitting the destination defeats the point.
## Preserve the Structure, Avoid Collisions
[Section titled "Preserve the Structure, Avoid Collisions"](#preserve-the-structure-avoid-collisions)
This is where consolidations go wrong. Two sources both have a folder named "Projects," they merge, and now you cannot tell which file came from where. The fix is simple: give each source its own top-level folder in the destination, for example `from-dropbox/`, `from-drive/`, `from-old-s3/`, and copy each source's tree underneath. You keep every original path, and nothing overwrites anything.
Blober preserves folder structure when it copies, so the tree you had in each source lands intact in the destination. Point it at a source, choose the destination folder, and it recreates the hierarchy rather than dumping files into one flat pile.
## Watch for the Native-Format Trap
[Section titled "Watch for the Native-Format Trap"](#watch-for-the-native-format-trap)
If one of your sources is Google Drive, remember that Google Docs, Sheets, and Slides are not real files. They are pointers to Google's editor, and copying them without exporting leaves you with empty links. Decide how those should come across before you move them, so your consolidated library holds real documents, not dead shortcuts.
## Do It Once, Then Verify
[Section titled "Do It Once, Then Verify"](#do-it-once-then-verify)
Run the moves source by source rather than all at once, so you can check each as it lands. When everything is in place, open a few files from each `from-*` folder and confirm the counts look right. Once you trust the consolidated copy, you can retire the old accounts on your own schedule.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**How do I combine files from different cloud accounts?** Choose one destination, then copy each source into its own folder there so nothing collides. A tool like Blober copies between accounts directly and keeps the folder structure intact.
**Will consolidating clouds create duplicate files?** Not if you give each source its own top-level folder in the destination. That keeps same-named folders from merging and overwriting each other.
**Does moving files between clouds keep my folder structure?** With Blober, yes. It recreates the source's folder tree in the destination rather than flattening everything into one folder.
**What happens to Google Docs when I consolidate?** Google Docs, Sheets, and Slides are editor links, not files. Export them to a real format as part of the move, or you will copy empty pointers.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [How to Move Files from Dropbox to Google Drive](/kb/articles/how-to-move-dropbox-to-google-drive/)
* [How to Switch Google Drive to Dropbox](/kb/articles/how-to-switch-google-drive-to-dropbox/)
* [Server-to-Server vs Download-and-Reupload: Why the Difference Decides Your Transfer](/kb/articles/server-to-server-vs-download-reupload/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Pull files from every cloud you use into one home, with the folder structure intact. Blober connects to a wide and growing range of cloud providers plus local storage and copies between them directly.
**[Download Blober at blober.io](https://blober.io)**
# Copy, Organize, or Move Files With Blober
> Choose the right Blober workflow for a faithful copy, filtered backup, organized second library, or verified move between cloud and local storage.
## One Feature, Four Different Intentions
[Section titled "One Feature, Four Different Intentions"](#one-feature-four-different-intentions)
The same file browser and destination controls can serve very different goals. Problems occur when the action does not match the intention.
Before choosing filters or a path template, decide which statement is true:
1. "I need another copy exactly as this is."
2. "I need a backup, but only of useful files."
3. "I need a second copy arranged more clearly."
4. "I need the files relocated and removed from the source."
Blober supports all four, but the safest settings differ.
## 1. Faithful Copy As-Is
[Section titled "1. Faithful Copy As-Is"](#1-faithful-copy-as-is)
Use this for disaster recovery, provider migration, or preservation when changing paths would make verification harder.
```text
Action: Copy
Source: selected files or folders
Advanced Filters: unchanged
Include Subdirectories: enabled
Path Template: empty
```
Blober preserves the relative folder structure under the selected source folder. This is the simplest workflow and often the correct one.
Do not add a path template just to appear organized. A backup's first job may be fidelity.
## 2. Filtered Backup
[Section titled "2. Filtered Backup"](#2-filtered-backup)
Use this when the source contains rebuildable or irrelevant material:
```text
Action: Copy
Selection: broad project folder
Include: required extensions or paths
Exclude: proxies, caches, temp files, dependencies
Path Template: empty or {file_dir}/{filename}
```
The destination can preserve the original hierarchy while omitting noise.
This approach is useful for:
* Source code without installed dependencies
* Video originals without proxies
* Business records without autosaves
* Approved exports without drafts
An exclusion rule is a recovery-policy decision. Confirm that omitted files can truly be rebuilt or discarded.
## 3. Organize While Backing Up
[Section titled "3. Organize While Backing Up"](#3-organize-while-backing-up)
Use this when the source should remain untouched but the new copy should be easier to browse.
```text
Action: Copy
Template: {file_ext}/{file_created_date}/{file_dir}/{filename}
```
This can split a mixed source by type and date while preserving nested project context.
It is especially valuable when copying from:
* Flat object-storage prefixes
* Camera-cloud libraries
* Shared drives with inconsistent top-level folders
* Old disks accumulated over many years
The organized destination is a second interpretation of the source, not proof that the original can be deleted.
## 4. Reorganize With Move
[Section titled "4. Reorganize With Move"](#4-reorganize-with-move)
Use **Move** only when the files should disappear from the source after successful transfer.
Appropriate examples:
* Retiring completed projects from expensive active storage
* Moving approved files out of an intake area
* Relocating files into a final archive after verification
* Cleaning up a provider after a completed migration
Move combines transfer and deletion. A wrong include rule may leave files behind; a wrong path rule may place them somewhere unexpected; a broad selection may relocate more than intended.
The safe sequence is:
1. Build the intended workflow as Copy.
2. Test a representative folder.
3. Verify destination paths and open sample files.
4. Confirm counts and task results.
5. Use Move only for the verified scope.
## Organizing Into Another Folder on the Same Provider
[Section titled "Organizing Into Another Folder on the Same Provider"](#organizing-into-another-folder-on-the-same-provider)
Blober can use the same supported provider on both sides when the adapter and action allow it. This is useful for reorganizing one bucket, container, drive, or account into another location.
The destination must not be:
* The same folder as the source
* Inside a selected source folder
An overlapping destination could be picked up again while Blober scans the source, or cause a file to be copied onto itself, so Blober blocks it.
Choose:
* A sibling folder
* A different bucket or container
* A separate account
* Another provider
Example:
```text
Source: incoming-media
Destination: organized-media
Action: Copy
Template: {file_ext}/{file_created_date}/{file_dir}/{filename}
```
## What Saved Workflows Add
[Section titled "What Saved Workflows Add"](#what-saved-workflows-add)
A workflow records the source, selection, filters, destination, action, and path expression. That makes a proven organization rule repeatable.
Examples:
* Run the same camera ingest after each shoot.
* Copy each month's reports into a dated archive.
* Move completed exports from intake to delivery.
* Archive large files after projects close.
Repeatability is valuable only when the rule remains appropriate. Preview changes in source data before assuming an old filter still represents current folders and naming conventions.
## Preview Before Saving and Running
[Section titled "Preview Before Saving and Running"](#preview-before-saving-and-running)
**Preview & Summary** answers:
* Which filters are active?
* Which files currently match?
* How many items and known bytes are represented?
* What destination path will each example receive?
* Is `{file_dir}` preserving the expected relative structure?
The workflow is saved before it is run. Saving the configuration does not itself transfer files. Running it creates a task that tracks per-file progress and results.
## Choosing the Minimum Necessary Workflow
[Section titled "Choosing the Minimum Necessary Workflow"](#choosing-the-minimum-necessary-workflow)
| Goal | Action | Filters | Template |
| ------------------------ | ------ | -------- | ------------- |
| Exact second copy | Copy | None | Empty |
| Exclude noise | Copy | Yes | Usually empty |
| Create organized library | Copy | Optional | Yes |
| Relocate verified files | Move | Optional | Optional |
Start at the leftmost simple solution that meets the actual need. Filters and templates are powerful because they are optional.
Read the [complete path-template guide](/kb/articles/blober-path-templates-complete-guide/) for path behavior, or explore [professional workflow examples](/kb/articles/media-file-organization-workflows/).
# Data Holders: How Blober Fits Your Workflow
> Managing terabytes across multiple clouds is the norm for data holders. Learn how Blober centralizes, migrates, and backs up your data without per-GB fees.
### Who Are Data Holders?
[Section titled "Who Are Data Holders?"](#who-are-data-holders)
Data holders are individuals and organizations that accumulate, manage, and preserve large volumes of digital files as a core part of their work. They aren't just storing files - they're responsible for keeping data accessible, organized, and safe across years and even decades.
Data holders include:
* **Photographers and videographers** with terabytes of RAW footage and project archives
* **Researchers and academics** maintaining datasets, papers, and experimental outputs
* **Small businesses** managing client records, invoices, contracts, and media assets
* **IT administrators** responsible for infrastructure backups and compliance archives
* **Content creators** with libraries of video, audio, and design files across platforms
* **Legal and medical professionals** bound by retention requirements for sensitive records
* **Personal archivists** preserving family photos, home videos, and documents
What unites them is a common problem: **data grows, scatters, and becomes harder to manage over time.**
***
### The Data Holder's Problem
[Section titled "The Data Holder's Problem"](#the-data-holders-problem)
Most data holders didn't plan to end up with files in five different places. It happens organically:
1. **Files start local** - on a laptop, NAS, or external drive
2. **Cloud adoption fragments storage** - Google Drive for sharing, Dropbox for syncing, an S3 bucket for backups
3. **Platform lock-in creeps in** - GoPro Cloud holds your footage, iCloud holds your photos, OneDrive holds your documents
4. **Manual management breaks down** - folder naming conventions drift, backups become inconsistent, some files have three copies while others have none
The result is a **scattered, fragile data footprint** where no single tool gives you visibility across all your storage.
| Symptom | Root Cause |
| -------------------------------------------- | ----------------------------------------------------------- |
| "I know I have that file somewhere" | Files spread across 3-5 providers with no unified view |
| "My backup is months out of date" | Manual backup processes that require constant attention |
| "I'm paying for storage I barely use" | Redundant copies in expensive tiers that should be archived |
| "I can't move my data without paying egress" | Provider lock-in via egress fees and proprietary APIs |
| "Organizing everything would take weeks" | Flat folder structures with no metadata-driven automation |
***
### How Blober Solves This
[Section titled "How Blober Solves This"](#how-blober-solves-this)
[**Blober**](https://blober.io/) is a desktop application purpose-built for data holders who need to move, organize, and back up files across cloud providers and local storage - without recurring fees.
#### 1. One Interface for All Your Storage
[Section titled "1. One Interface for All Your Storage"](#1-one-interface-for-all-your-storage)
Blober connects to the storage providers data holders actually use:
| Provider | Typical Use Case |
| -------------------- | --------------------------------------------- |
| AWS S3 | Production infrastructure, enterprise backups |
| Backblaze B2 | Affordable long-term archive |
| Wasabi | Hot storage with no egress fees |
| Cloudflare R2 | CDN-adjacent delivery, zero egress |
| Google Cloud Storage | Workspace-integrated projects |
| Azure Blob Storage | Enterprise and compliance workloads |
| DigitalOcean Spaces | Dev team object storage |
| GoPro Cloud | Action camera footage (Blober exclusive) |
| Dropbox | File sharing and synchronization |
| Local / NAS | On-premise primary storage |
No other single tool covers this range - especially GoPro Cloud, which [**Blober**](https://blober.io/) is the only application to support.
#### 2. Direct Cloud-to-Cloud Transfers
[Section titled "2. Direct Cloud-to-Cloud Transfers"](#2-direct-cloud-to-cloud-transfers)
Instead of downloading files to your machine and re-uploading them, Blober transfers data directly between providers. This matters for data holders because:
* **Saves time** - a 2 TB migration doesn't bottleneck on your home internet
* **Saves bandwidth** - your ISP data cap stays intact
* **Reduces failure points** - no half-downloaded files sitting on your local disk
#### 3. Metadata-Driven Organization
[Section titled "3. Metadata-Driven Organization"](#3-metadata-driven-organization)
Data holders accumulate files over years. Manually sorting them into folders is unsustainable. Blober supports path templates that use file metadata to auto-organize during transfer:
```plaintext
/{year}/{month}/{camera_model}/{filename}
```
A flat dump of 50,000 files becomes a clean archive:
```plaintext
/2025/06/HERO13 Black/GX015742.MP4
/2025/06/Canon EOS R5/IMG_4521.CR3
/2026/01/iPhone 15 Pro/IMG_0032.HEIC
```
This works for any transfer - cloud-to-cloud, cloud-to-local, or local-to-cloud.
#### 4. Scheduled and Resumable Transfers
[Section titled "4. Scheduled and Resumable Transfers"](#4-scheduled-and-resumable-transfers)
Backup workflows for data holders need to be reliable, not heroic. Blober supports:
* **Resumable transfers** - if your connection drops or your machine restarts, pick up where you left off
* **Incremental syncs** - only transfer files that are new or changed since the last run
* **Large-file handling** - multi-part uploads for files in the tens of gigabytes
No babysitting required. Set up a transfer, let it run, and come back to a completed job.
#### 5. One-Time Pricing
[Section titled "5. One-Time Pricing"](#5-one-time-pricing)
Most cloud migration tools charge per-GB or require annual subscriptions with data caps. For data holders who move terabytes regularly, those costs compound:
| Tool | Pricing Model | Cost for 10 TB/year |
| ---------- | -------------------------- | --------------------------------------- |
| Flexify.io | \~$0.03/GiB per migration | **\~$300+** (plus egress) |
| MultCloud | $99.98/year for 2.4 TB cap | **\~$400+** (need multiple renewals) |
| rclone | Free but manual | **$0** (but hours of CLI configuration) |
| **Blober** | **One-time purchase** | **One price, unlimited transfers** |
You buy [**Blober**](https://blober.io/) once. Transfer 1 TB or 100 TB - the price doesn't change.
***
### Real-World Workflows
[Section titled "Real-World Workflows"](#real-world-workflows)
#### The Freelance Videographer
[Section titled "The Freelance Videographer"](#the-freelance-videographer)
**Setup:** 8 TB of footage across GoPro Cloud, a local NAS, and Google Drive. Delivers finals via Dropbox.
**With Blober:**
* Connects GoPro Cloud and pulls all footage to Backblaze B2 as a cold archive
* Moves finished projects from local NAS to Cloudflare R2 for client delivery
* Uses path templates to organize by project date and camera model
* Runs periodic syncs from Google Drive to B2 to keep a second backup
**Result:** One tool replaces four manual processes. Total cost: one Blober license.
#### The Small Business IT Admin
[Section titled "The Small Business IT Admin"](#the-small-business-it-admin)
**Setup:** 500 GB of compliance documents in Azure Blob Storage. Daily operational files in Google Workspace. Regulatory requirement for off-site backup.
**With Blober:**
* Transfers compliance archive from Azure to Backblaze B2 as a secondary backup
* Syncs critical Google Drive folders to a local NAS nightly
* Uses Blober's incremental sync so only changed files move each day
**Result:** Meets audit requirements for geographic redundancy without provisioning a second enterprise cloud account.
#### The Research Lab
[Section titled "The Research Lab"](#the-research-lab)
**Setup:** 12 TB of experimental datasets in AWS S3. New data generated weekly. Grants require data preservation for 10 years.
**With Blober:**
* Migrates completed datasets from S3 Standard to Backblaze B2 (80% storage cost reduction)
* Keeps active datasets in S3 for compute-adjacent access
* Uses metadata templates to organize by experiment ID and date
* Resumable transfers handle multi-GB dataset files without corruption
**Result:** Storage costs drop dramatically while preservation requirements are met.
***
### Why Not Just Use rclone?
[Section titled "Why Not Just Use rclone?"](#why-not-just-use-rclone)
rclone is a powerful open-source CLI tool, and many data holders start there. But it has real limitations for ongoing data management:
| Capability | rclone | Blober |
| ---------------------------- | ------------------------- | ----------------------- |
| GUI for browsing files | No (CLI only) | Yes |
| GoPro Cloud support | No | Yes (exclusive) |
| Dropbox support | Yes | Yes |
| Visual transfer progress | Limited | Full progress dashboard |
| Resumable multi-part uploads | Partial | Built-in |
| Path template organization | Manual scripting | Visual template builder |
| Error handling and retry | Config flags | Automatic |
| Setup time | Hours (config per remote) | Minutes (OAuth flows) |
rclone is great for scripted, automated pipelines. [**Blober**](https://blober.io/) is built for data holders who want reliable transfers without writing shell scripts.
***
### Getting Started as a Data Holder
[Section titled "Getting Started as a Data Holder"](#getting-started-as-a-data-holder)
1. **Audit your storage** - list every provider and local device where you keep files
2. **Identify your archive tier** - choose an affordable destination like Backblaze B2 or Wasabi for long-term storage
3. **Connect everything in Blober** - add each provider via OAuth or API key
4. **Set up your first migration** - pick a source, pick a destination, configure a path template
5. **Let Blober handle the rest** - resumable transfers, incremental syncs, and metadata organization do the heavy lifting
***
### Your Data, Your Infrastructure
[Section titled "Your Data, Your Infrastructure"](#your-data-your-infrastructure)
Data holders shouldn't need a subscription to manage their own files. [**Blober**](https://blober.io/) runs locally on your machine - your credentials never pass through third-party servers, your transfer bandwidth isn't metered, and your workflow isn't gated by monthly caps.
One license. Unlimited providers. Unlimited data.
**[Get Blober](https://blober.io/)** and take control of your data workflow.
# Data Sovereignty: Why Your Cloud Transfer Tool Matters
> Where your credentials live, where your data flows, and why local-first architecture is a trust advantage - not just a technical detail.
### Your Transfer Tool Is a Trust Decision
[Section titled "Your Transfer Tool Is a Trust Decision"](#your-transfer-tool-is-a-trust-decision)
When you move data between cloud providers, your transfer tool has access to everything: your storage credentials, your file contents, your metadata. The architecture of that tool - where it runs, where credentials are stored, where data flows - determines whether you maintain control or hand it to a third party.
Most people evaluate migration tools on speed and features. Few ask the harder question: **who else can see my data while it's in transit?**
***
### The Three Architectures
[Section titled "The Three Architectures"](#the-three-architectures)
#### 1. SaaS (Cloud-Hosted)
[Section titled "1. SaaS (Cloud-Hosted)"](#1-saas-cloud-hosted)
Tools like **Flexify.io** and **MultCloud** run on their own servers. Your credentials are stored in their infrastructure. Your data routes through their systems during transfer.
| Concern | Flexify.io | MultCloud |
| -------------------- | ------------------------------ | ----------------------------- |
| Credential storage | Flexify servers | MultCloud servers (Hong Kong) |
| Data path | Through Flexify infrastructure | Through MultCloud servers |
| Account required | Yes | Yes |
| OAuth token storage | Server-side | Server-side |
| Offline operation | No | No |
| Privacy policy scope | US (Florida) | Hong Kong |
This doesn't mean these services are malicious. But it means:
* A **third party stores your cloud credentials** - API keys, OAuth tokens, or access grants
* Your **data transits infrastructure you don't control** - introducing a man-in-the-middle by design
* You're subject to **their privacy policy and jurisdiction** - which may change without notice
* A **breach of their systems exposes your credentials** and potentially your data
For personal photos, this might feel acceptable. For business data, media archives, legal documents, or HIPAA/GDPR-adjacent workloads - it's a serious risk.
#### 2. CLI (Local, But Exposed)
[Section titled "2. CLI (Local, But Exposed)"](#2-cli-local-but-exposed)
**rclone** runs locally on your machine. Your data goes directly to and from each cloud provider. This is a genuine trust advantage over SaaS tools.
However, rclone stores credentials in a **plaintext configuration file** (`~/.config/rclone/rclone.conf`). Anyone with access to your filesystem - malware, another user, a compromised backup - can read your cloud credentials directly.
rclone does offer an encryption option for the config file, but it's opt-in and requires manual setup. Most users leave it in plaintext.
#### 3. Desktop App (Local + Secured)
[Section titled "3. Desktop App (Local + Secured)"](#3-desktop-app-local--secured)
[**Blober**](https://blober.io/) runs entirely on your machine with encrypted credential storage. Your data flows directly between your machine and each cloud provider. No intermediary.
| Concern | [**Blober**](https://blober.io/) |
| ------------------- | -------------------------------- |
| Credential storage | ✅ Local, encrypted |
| Data path | ✅ Direct (no middleman) |
| Account required | ✅ No (license key only) |
| OAuth token storage | ✅ Local only |
| Offline operation | ✅ Yes |
| Jurisdiction | ✅ Your machine, your rules |
***
### Why This Matters
[Section titled "Why This Matters"](#why-this-matters)
#### Credential Exposure
[Section titled "Credential Exposure"](#credential-exposure)
Your cloud storage credentials are the keys to your kingdom. An AWS access key or a Google OAuth token doesn't just grant transfer access - it grants **full access** to your storage: read, write, delete, list. If a SaaS provider's database is breached, your credentials are in that breach.
With [**Blober**](https://blober.io/), credentials never leave your machine. There is no remote database to breach.
#### Data in Transit
[Section titled "Data in Transit"](#data-in-transit)
When a SaaS tool transfers your files, those files pass through their servers. Even with SSL encryption in transit, the data is **decrypted on their infrastructure** before being re-encrypted and sent to the destination. This is not end-to-end encryption - it's hop-by-hop.
With [**Blober**](https://blober.io/), data flows directly from source to your machine to destination. No hops through third-party infrastructure.
#### Jurisdiction and Compliance
[Section titled "Jurisdiction and Compliance"](#jurisdiction-and-compliance)
MultCloud operates from Hong Kong. Flexify.io from Florida, USA. Each jurisdiction has different data protection laws, government access rules, and breach notification requirements. When your data or credentials live on their servers, you're subject to their jurisdiction - not yours.
[**Blober**](https://blober.io/) runs on your hardware, in your jurisdiction. No foreign servers. No cross-border data flow through third parties.
#### Subscription as Leverage
[Section titled "Subscription as Leverage"](#subscription-as-leverage)
SaaS tools require active accounts. Cancel your subscription, and you lose access to your workflows, task history, and potentially your configured connections. This creates a soft lock-in that has nothing to do with the quality of the tool.
[**Blober**](https://blober.io/) is a one-time purchase. No account, no subscription, no leverage.
***
### Comparison Summary
[Section titled "Comparison Summary"](#comparison-summary)
| Dimension | SaaS (Flexify, MultCloud) | CLI (rclone) | [**Blober**](https://blober.io/) |
| --------------------- | ------------------------- | -------------------- | -------------------------------- |
| Credentials | Third-party servers | Plaintext local file | ✅ Encrypted local |
| Data path | Through vendor servers | Direct | ✅ Direct |
| Account required | Yes | No | ✅ No |
| Offline capable | No | Yes | ✅ Yes |
| Risk of vendor breach | Exposes your credentials | N/A | ✅ N/A |
| Jurisdiction | Vendor's country | Your machine | ✅ Your machine |
| Subscription lock-in | Yes | No | ✅ No |
***
### Who Should Care?
[Section titled "Who Should Care?"](#who-should-care)
* **Freelancers and agencies** handling client data - you have a professional duty to control where that data flows
* **Photographers and videographers** with irreplaceable media - GoPro footage, wedding archives, production masters
* **Small businesses** without dedicated security teams - reducing your attack surface matters
* **Anyone under GDPR, HIPAA, or SOC 2 obligations** - third-party data processors require disclosure and contractual agreements
* **Privacy-conscious individuals** who simply want to own their data pipeline
***
### So What?
[Section titled "So What?"](#so-what)
Your migration tool is not a neutral pipe. It's an active participant in your data flow. Its architecture determines whether your credentials are stored remotely, whether your files transit foreign servers, and whether you maintain sovereignty over your data.
[**Blober**](https://blober.io/) is designed around a simple principle: **your data, your machine, your rules.**
No accounts. No SaaS intermediaries. No credential exposure. One-time purchase, local execution, direct transfers.
[Get Blober =>](https://blober.io/)
# Decentralized and Web3 S3-Compatible Storage (Storj, Filebase, and More)
> S3-compatible object storage backed by decentralized networks: Storj, Filebase, 4everland, Akave, and the gateway pattern that lets standard S3 tools write to IPFS, Sia, and node networks.
Decentralized storage spreads your data across a network of independent nodes instead of one company's data centers. What makes them usable day to day is the S3-compatible gateway: it puts a standard S3 API in front of the decentralized backend, so your existing S3 tools write to IPFS, Sia, or a node network without touching the underlying protocol. This page lists the decentralized and Web3 S3-compatible providers and how to connect each one.
This is one category in our [complete list of S3-compatible storage providers](/kb/articles/s3-compatible-storage-providers-complete-list/). These connect to Blober through the generic [S3-Compatible connector](/kb/docs/providers/s3-compatible/) when the gateway supports the common S3 operations Blober uses: you point it at the gateway endpoint with the keys the network issues.
## Storj
[Section titled "Storj"](#storj)
Storj is decentralized cloud storage where files are encrypted, split, and erasure-coded across thousands of independent nodes worldwide. Its S3-compatible hosted gateway makes all of that invisible to S3 tools.
* **Endpoint format:** `gateway.storjshare.io`, with regional gateways `gateway.eu1.storjshare.io`, `gateway.us1.storjshare.io`, and `gateway.ap1.storjshare.io`.
* **Addressing:** virtual-hosted.
* **Notes:** S3 credentials are generated from an access grant in the Storj console. Storj is globally distributed by default; when an S3-compatible tool requires a region, set it to `global`[\[1\]](https://storj.dev/dcs/buckets/data-location "Source: storj.dev/dcs/buckets/data-location"). Use a large multipart cutoff for very large files. Storj also appears on our [object storage specialists page](/kb/articles/best-s3-compatible-object-storage-specialists/).
## Filebase
[Section titled "Filebase"](#filebase)
Filebase is an S3-compatible gateway that stores objects on decentralized networks (IPFS, and historically Sia and Storj) while presenting a familiar S3 API and console.
* **Endpoint format:** `s3.filebase.io`.
* **Addressing:** both path-style (`https://s3.filebase.io//`) and virtual-hosted (`https://.s3.filebase.io/`) are supported.
* **Notes:** Filebase uses a single global endpoint and region `auto`; public-bucket reads should use the virtual-hosted URL served by the Filebase CDN[\[2\]](https://filebase.com/docs/s3-api/overview "Source: filebase.com/docs/s3-api/overview").
## 4everland
[Section titled "4everland"](#4everland)
4everland is a Web3 infrastructure platform whose Bucket service offers an S3-compatible API backed by IPFS and Arweave.
* **Endpoint format:** `endpoint.4everland.co`.
* **Addressing:** virtual-hosted.
* **Notes:** designed for hosting and pinning assets to decentralized networks while keeping the S3 workflow. Generate keys in the 4everland dashboard; the documented S3-compatible endpoint is `https://endpoint.4everland.co`[\[3\]](https://docs.4everland.org/storage/bucket/bucket-api-s3-compatible.md "Source: docs.4everland.org/storage/bucket/bucket-api-s3-compatible.md").
## Akave
[Section titled "Akave"](#akave)
Akave provides decentralized object storage with an S3-compatible interface (Akave O3) aimed at data availability for AI and Web3 workloads.
* **Endpoint format:** the S3-compatible gateway endpoint issued in your Akave account.
* **Addressing:** virtual-hosted.
* **Notes:** confirm the current endpoint host and credentials in the Akave console, as the production gateway address is account-specific. Akave's docs list `akave-network` as the region value for its decentralized S3 interface and show hosted endpoints such as `https://o3-rc2.akave.xyz` for specific environments[\[4\]](https://docs.akave.xyz/akave-o3/introduction/akave-environment/ "Source: docs.akave.xyz/akave-o3/introduction/akave-environment/").
## How the Gateway Pattern Works
[Section titled "How the Gateway Pattern Works"](#how-the-gateway-pattern-works)
Most decentralized networks were not designed around the S3 API. What makes them usable from ordinary tools is a gateway that translates S3 calls into the network's native operations: pinning to IPFS, contracts on Sia, erasure-coding across Storj nodes, and so on. From your side, it is just an endpoint and a pair of keys.
That is the same reason Blober can treat a decentralized gateway like a normal S3 target for common object operations. You do not interact with the network protocol; you point the [S3-Compatible connector](/kb/docs/providers/s3-compatible/) at the gateway and transfer as usual.
A few practical points for decentralized targets:
* **Server-side copy may be limited.** Some gateways do not implement S3 server-side copy. Blober falls back to streaming the copy through, so transfers still work.
* **Listing and metadata can differ.** Treat these stores as S3-compatible for the common operations (browse, upload, download) and confirm any advanced behavior with the provider.
* **Encryption is often built in, but check where it happens.** Networks like Storj encrypt and erasure-code data before it leaves the hosted gateway, but the gateway still handles the upload. Add client-side encryption if your threat model requires the gateway itself not to see plaintext.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Is decentralized storage really S3-compatible?** The storage networks themselves are not S3, but their gateways are. You connect to the gateway endpoint with S3 keys, and standard S3 tools work. That is what "S3-compatible" means here.
**Can I move data from AWS S3 to Storj or Filebase?** Yes. Because the gateways speak S3, Blober copies directly from an S3 bucket to the decentralized gateway by setting the source and destination endpoints.
**Do these keep my data private?** Several encrypt data before it is distributed (Storj is a notable example). Check each provider's encryption model, since the details differ between networks.
**Why might a transfer behave differently than to AWS?** Some gateways limit server-side copy or return listings differently. Blober handles the copy fallback automatically, so the transfer completes even when native copy is unavailable.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [The Complete List of S3-Compatible Providers](/kb/articles/s3-compatible-storage-providers-complete-list/)
* [Object Storage Specialists](/kb/articles/best-s3-compatible-object-storage-specialists/)
* [Self-Hosted and Open-Source S3 Storage](/kb/articles/self-hosted-open-source-s3-compatible-storage/)
* [What S3-Compatible Really Means](/kb/articles/what-s3-compatible-really-means/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Connect Blober to a decentralized S3 gateway by URL and move data between Web3 storage and the rest of your clouds directly, without filling your local disk.
**[Download Blober at blober.io](https://blober.io)**
# Large Cloud Transfers: When a Desktop App Is the Right Tool
> A desktop app beats a browser-based tool for big transfers, but a provider's own migration can win for one-time bulk moves. Where each fits, and why compliance often decides.
Moving a few files is easy anywhere. Moving terabytes is a question of where the work runs, and the answer depends on the job. For most transfers, a desktop app on your own machine beats a browser-based or hosted tool. For a single bulk move of a very large dataset into one provider, that provider's own migration service can be faster. This page sorts out which is which.
## The Ceiling Inside a Browser Tab
[Section titled "The Ceiling Inside a Browser Tab"](#the-ceiling-inside-a-browser-tab)
A browser-based transfer happens inside a tab, and a tab is a small, supervised space. It has a memory budget, it can be paused or discarded when you switch away, and it usually holds only a handful of connections. For a dozen photos this is invisible. For a media library it is the wall the transfer hits: the tab slows, the laptop heats up, and a job that should run for an hour cannot stay awake long enough to finish.
## The Timeout and the Bandwidth Bill
[Section titled "The Timeout and the Bandwidth Bill"](#the-timeout-and-the-bandwidth-bill)
Hosted services move work onto their own machines, which sounds like an upgrade until you look at the path. The data has to travel from the source into their infrastructure, and then back out to the destination. You wait for both legs, and the company pays for the bandwidth in the middle. That cost does not disappear. It comes back as a subscription, a per-GB charge, or a monthly transfer cap.
Server functions also run on a clock. AWS Lambda, for example, documents a maximum function timeout of 900 seconds, or 15 minutes[\[1\]](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html "Source: docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html"). Many serverless jobs are designed to finish in seconds or minutes, not the hours a large migration needs. When the clock runs out mid-file, the job has to be broken into pieces and stitched back together; if that orchestration is wrong, gaps and duplicates are the failure mode.
## What a Desktop Process Can Actually Do
[Section titled "What a Desktop Process Can Actually Do"](#what-a-desktop-process-can-actually-do)
A desktop app is not boxed in the same way. It can use the memory and processor your machine actually has, open many transfers in parallel, and keep running for as long as the work takes. If the connection drops, Blober can retry failed records; if you stop and rerun a workflow, skip-existing keeps completed files from being sent again.
[Blober](/kb/docs/how-blober-works/) also streams rather than stages. Instead of saving a full copy of every file to your disk and uploading it again, it flows the data through and writes it straight to the destination, so disk space stops being the limit. The difference between a streamed transfer and download-and-reupload is small for ten files and decisive for ten thousand, which is covered in [Server-to-Server vs Download-and-Reupload](/kb/articles/server-to-server-vs-download-reupload/).
## Your Connection, Your Rules
[Section titled "Your Connection, Your Rules"](#your-connection-your-rules)
Because the transfer runs from your machine, it uses your own connection and your own IP address. There is no shared relay address for a provider to throttle or block for every user of the tool at once. A hosted service, by contrast, reaches every provider from the same pool of company servers, which is the traffic pattern most likely to attract shared-service limits. Your own account and API limits still apply either way.
## When a Provider's Own Migration Wins
[Section titled "When a Provider's Own Migration Wins"](#when-a-providers-own-migration-wins)
For a single move of a very large dataset, tens of terabytes or tens of millions of files, into one destination, the fastest path is often not your machine at all. Some providers run datacenter-to-datacenter migration, where the data never makes the round trip through your home or office connection. Backblaze, for example, lists assisted data migration as available for B2 Cloud Storage[\[2\]](https://www.backblaze.com/cloud-storage/pricing "Source: www.backblaze.com/cloud-storage/pricing"), and what can take weeks streaming through your own link can take far less over a datacenter one. If you are doing one big move into one provider and you can grant that service access, start there. There is a worked 25 TB example in [Migrating 100M+ Files from DigitalOcean Spaces to Backblaze B2](/kb/articles/migrating-100-million-files-digitalocean-to-backblaze/).
This is not a flaw in any one tool. Any client-side transfer, a desktop app or a command-line tool alike, has to pull the data down to your machine and push it back up, which is two trips through your connection. For the very largest one-time moves, skipping those trips is the whole point.
## Where a Desktop App Is the Right Tool
[Section titled "Where a Desktop App Is the Right Tool"](#where-a-desktop-app-is-the-right-tool)
A provider migration helps in a narrow case: one big move, into one provider that offers it, when you can hand that provider access. Outside that case, a desktop app like Blober is usually the better fit, and for some teams it is the only acceptable one.
* **When you cannot share credentials with anyone.** Assisted migration means granting a third party access to your storage. For regulated data, client data under NDA, or anything inside a SOC 2 or ISO 27001 boundary, that is often ruled out. A team in that position cannot hand its keys to a destination provider's migration service any more than it could hand them to a relay. Blober keeps your credentials on your own machine and adds no third party to the path, so the transfer stays inside the controls you already have. See [How Blober Works](/kb/docs/how-blober-works/).
* **When the move is ongoing, not one-time.** Migration services are built for a single bulk lift. New uploads, folder moves, periodic refreshes, and re-running a saved job are what a desktop tool is for.
* **When no assisted path exists.** Provider migration almost always moves data into that one provider. Moving between two arbitrary providers, or pulling a library out of a consumer cloud like GoPro Cloud or Google Photos, has no assisted option. A desktop app that speaks each provider directly is the practical route.
* **When the scale is moderate.** For gigabytes or a few terabytes, arranging an assisted migration is more trouble than it is worth. A desktop app just runs.
* **When you want to watch it happen.** A desktop transfer stays visible and under your control, so you can pause, resume, and verify on your own machine.
## What a Desktop App Does and Does Not Solve
[Section titled "What a Desktop App Does and Does Not Solve"](#what-a-desktop-app-does-and-does-not-solve)
A desktop app is not magic, and it is not always the fastest option. The bytes travel over your own connection, so a slow link is still slow, and for the very largest one-time moves a provider's datacenter migration can beat it outright. What a desktop app gives you is control and privacy: no relay, no third party holding your keys, and the reach to move between any providers you connect, including the ones with no migration service at all.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Is a desktop app the fastest way to move a very large dataset?** Not always. For a one-time move of tens of terabytes into a single provider that offers datacenter migration, that route is usually faster, because it skips the trip through your connection. A desktop app wins on control, privacy, ongoing use, and moves between providers that have no assisted option.
**What if I cannot give a third party access to my storage?** Then a desktop app is the right choice. Blober uses your credentials on your own machine and adds no outside party to the transfer, so it fits inside compliance boundaries that rule out both hosted relays and assisted migration services.
**Does the data still go through my computer?** Yes. A desktop tool streams the data through your machine to the destination. The point is that it does not also route through a separate company's servers, and it does not save a second full copy to your disk.
**What happens if my transfer is interrupted?** Blober retries failed records during a run. If you stop and rerun the workflow, skip-existing avoids sending files already written at the destination, so the job continues at file level instead of starting the whole migration again.
## Next Steps
[Section titled "Next Steps"](#next-steps)
* For a very large one-time move, read [Migrating 100M+ Files from DigitalOcean Spaces to Backblaze B2](/kb/articles/migrating-100-million-files-digitalocean-to-backblaze/).
* See how the pieces fit in [How Blober Works](/kb/docs/how-blober-works/).
* Read the mechanic behind direct transfers in [Server-to-Server vs Download-and-Reupload](/kb/articles/server-to-server-vs-download-reupload/).
* Ready to move your files? [Get Blober](https://blober.io).
# DigitalOcean Spaces: Regions, Cross-Region Replication, and Backup
> DigitalOcean Spaces regions (NYC3, SFO3, AMS3, FRA1, SGP1, SYD1, BLR1), whether Spaces does cross-region replication (it does not), and how to copy a Space to another region or provider for a real backup.
## Spaces Regions and the Replication Question
[Section titled "Spaces Regions and the Replication Question"](#spaces-regions-and-the-replication-question)
**The problem:** people assume DigitalOcean Spaces replicates across regions the way Amazon S3 can, so a single Space feels like a backup. It is not. A Space lives in one region, and DigitalOcean does not copy it to another region for you.
**The short answer:** pick the region closest to your users when you create a Space, and if you want a second copy in another region or another provider, you have to make it yourself. This page lists the regions, explains what Spaces does and does not replicate, and shows how to create a real backup copy.
## DigitalOcean Spaces Regions
[Section titled "DigitalOcean Spaces Regions"](#digitalocean-spaces-regions)
Each Space is tied to one datacenter region, chosen at creation and fixed afterward. The current Spaces regions and their locations:
| Region code | Location |
| ----------- | ---------------------------- |
| NYC3 | New York City, United States |
| SFO3 | San Francisco, United States |
| AMS3 | Amsterdam, Netherlands |
| FRA1 | Frankfurt, Germany |
| SGP1 | Singapore |
| SYD1 | Sydney, Australia |
| BLR1 | Bangalore, India |
DigitalOcean adds regions over time, so check their documentation for the latest availability. The practical rule is unchanged: choose the region nearest the people who read the data most, because a Space only serves from its own region's endpoint.
## Does DigitalOcean Spaces Do Cross-Region Replication?
[Section titled "Does DigitalOcean Spaces Do Cross-Region Replication?"](#does-digitalocean-spaces-do-cross-region-replication)
No. DigitalOcean Spaces does not offer built-in cross-region replication. There is no setting that mirrors a Space in NYC3 to a Space in FRA1, and no automatic failover to another region.
This is the main difference from Amazon S3, which has Cross-Region Replication (CRR) as a bucket feature. On Spaces, if you want the same objects in two regions, you copy them there yourself and keep them in sync by re-copying when things change.
A few consequences worth knowing:
* **A region outage affects a single Space directly.** With no replica, you cannot fail over to another region automatically.
* **Compliance or latency in a second geography** means creating a second Space and populating it yourself.
* **There is no native "backup to another region" button.** Backup is something you set up, not something Spaces does for you.
## The CDN Is Not a Backup
[Section titled "The CDN Is Not a Backup"](#the-cdn-is-not-a-backup)
DigitalOcean Spaces includes a built-in CDN that caches your objects at edge locations for faster delivery. This is easy to mistake for replication, but it is not. The CDN caches copies for performance and can expire them at any time. The authoritative copy still lives in one region, and if that object is lost, the cache does not protect you. Edge caching speeds up reads; it does not give you a durable second copy.
## How to Copy a Space to Another Region or Provider
[Section titled "How to Copy a Space to Another Region or Provider"](#how-to-copy-a-space-to-another-region-or-provider)
Since Spaces will not replicate for you, the job is a straightforward copy, and Blober handles it without scripts or AWS-CLI loops.
* **Spaces to another Spaces region.** Connect your DigitalOcean account in Blober. It detects every Space across all regions in one view, so you can copy objects from a Space in one region into a Space you create in another. Run it again later to refresh the copy, skipping objects that already exist.
* **Spaces to another provider.** Use the same flow to copy a Space to AWS S3, Backblaze B2, Wasabi, Cloudflare R2, Azure Blob, Google Drive, Dropbox, or local and NAS storage, for an offsite backup that does not depend on DigitalOcean at all.
* **Resumable.** Large copies survive a dropped connection and continue where they stopped.
This gives you the second copy that Spaces does not provide on its own, in whichever region or provider you choose.
## Migrating Off DigitalOcean
[Section titled "Migrating Off DigitalOcean"](#migrating-off-digitalocean)
If the goal is not a backup but a move, the steps are the same, just pointed at one destination. The most common move is to Amazon S3, which has the storage tiers and ecosystem Spaces lacks. There is a full walkthrough in [How to Migrate from DigitalOcean Spaces to AWS S3](/kb/articles/how-to-migrate-digitalocean-spaces-to-aws-s3/), including how Blober detects Spaces across all seven regions and maps them to S3 storage classes.
For very large Spaces with millions of objects, see [Migrating 100 Million Files from DigitalOcean to Backblaze](/kb/articles/migrating-100-million-files-digitalocean-to-backblaze/).
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Does DigitalOcean Spaces support cross-region replication?** No. There is no built-in cross-region replication. To have a Space's objects in a second region, you copy them yourself, which Blober can do across all regions in one workflow.
**Which regions can I create a Space in?** Currently NYC3, SFO3, AMS3, FRA1, SGP1, SYD1, and BLR1. DigitalOcean occasionally adds regions, so confirm on their site.
**Can I move a Space from one region to another?** Not in place. You create a new Space in the target region and copy the objects over. Blober copies between regions directly without downloading everything to your computer first.
**Is the Spaces CDN a backup?** No. The CDN caches objects at the edge for faster delivery and can evict them at any time. The durable copy still sits in one region. For a backup, make a separate copy in another region or provider.
**How do I migrate from DigitalOcean to AWS?** Connect both in Blober, set DigitalOcean as the source and S3 as the destination, and run. The [DigitalOcean Spaces to AWS S3 guide](/kb/articles/how-to-migrate-digitalocean-spaces-to-aws-s3/) covers it step by step.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [How to Migrate from DigitalOcean Spaces to AWS S3](/kb/articles/how-to-migrate-digitalocean-spaces-to-aws-s3/)
* [Migrating 100 Million Files from DigitalOcean to Backblaze](/kb/articles/migrating-100-million-files-digitalocean-to-backblaze/)
* Provider setup: [DigitalOcean Spaces](/kb/docs/providers/digitalocean-spaces/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Make the second copy that DigitalOcean Spaces will not make for you, to another region or another provider. Blober is a one-time purchase with no per-GB fees.
**[Download Blober at blober.io](https://blober.io)**
# Dropbox and Google Drive: Sync, Transfer, or Migrate?
> Sync, transfer, or migrate between Dropbox and Google Drive? A plain decision guide, what auto-sync tools actually do, and the fastest way to move files without downloading them first.
## Sync, Transfer, or Migrate: Which One Do You Need?
[Section titled "Sync, Transfer, or Migrate: Which One Do You Need?"](#sync-transfer-or-migrate-which-one-do-you-need)
**The problem:** "sync Dropbox to Google Drive," "transfer Dropbox to Google Drive," and "migrate Dropbox to Google Drive" sound like the same task, so people pick the wrong tool and end up with duplicates, a full hard drive, or a subscription they did not need.
**The short answer:** they are three different jobs. Pick by how often the files need to move.
| You want to... | That is called | How often it runs | Right tool |
| ------------------------------------------------------------ | ------------------------------ | --------------------------- | --------------------------------------------------------- |
| Move everything once and leave Dropbox behind | Migrate | One time | A direct transfer app like Blober |
| Keep both accounts and copy new files over now and then | Transfer / incremental refresh | On demand, repeated | Blober (re-run the workflow, it skips what already moved) |
| Keep both accounts mirrored automatically, in the background | Live sync | Continuous, both directions | A dedicated sync service (see below) |
Most people who type "sync Dropbox to Google Drive" actually want the first or second one. They are switching providers or making a backup copy, not running a permanent mirror. If that is you, a migration is simpler, cheaper, and leaves nothing running in the background.
## Migrate: A Clean One-Time Move
[Section titled "Migrate: A Clean One-Time Move"](#migrate-a-clean-one-time-move)
A migration moves your files from Dropbox to Google Drive once. After it finishes, you verify everything arrived, then cancel or downgrade Dropbox. There is no ongoing connection.
This is the right choice when:
* Your company moved to Google Workspace and Dropbox is being retired
* You are consolidating two accounts into one
* You want your files out of a provider you are leaving
The fastest way to do this without filling your local disk is a direct cloud-to-cloud transfer. Blober streams each file from Dropbox straight to Google Drive, so you do not download the whole library to your computer first. Step-by-step guides:
* [How to Move Dropbox to Google Drive](/kb/articles/how-to-move-dropbox-to-google-drive/)
* [How to Switch Google Drive to Dropbox](/kb/articles/how-to-switch-google-drive-to-dropbox/) for the reverse direction
## Transfer (Incremental Refresh): Copy New Files When You Want
[Section titled "Transfer (Incremental Refresh): Copy New Files When You Want"](#transfer-incremental-refresh-copy-new-files-when-you-want)
Sometimes you keep using both accounts but want one to receive copies of the other. For example, you work in Dropbox but keep a copy of finished projects in Google Drive.
Blober handles this with saved workflows. You set Dropbox as the source and Google Drive as the destination once. When you want to copy the latest files, you open the workflow and run it again. Blober skips any file that already exists at the destination, so a re-run only moves what is new. This gives you a manual, on-demand refresh without re-copying your whole library every time.
What this is not: it does not watch your folders and copy changes the instant they happen, and it does not run on a schedule by itself. You start each run. For many people that is enough, because they refresh the copy once a week or after a project wraps, not every minute.
## Live Sync: When You Genuinely Need a Background Mirror
[Section titled "Live Sync: When You Genuinely Need a Background Mirror"](#live-sync-when-you-genuinely-need-a-background-mirror)
Live sync keeps two locations matched automatically and continuously. Add a file on one side and it appears on the other within minutes, without anyone pressing a button. True two-way sync also handles edits and deletions in both directions.
Blober does not do continuous background sync today. Two-way sync is on the roadmap, but right now Blober is built for migrations and on-demand transfers, not always-on mirroring. If what you need is a real-time mirror between Dropbox and Google Drive, be honest with yourself about that and use a tool built for it:
* **Dropbox and Google Drive do not sync to each other natively.** Neither company offers a built-in bridge to the other.
* **Dedicated sync services** (for example MultCloud or similar cloud-to-cloud sync tools) can run scheduled or near-real-time syncs between the two. They work, but they route your files through their servers, and they charge a recurring subscription, often with a monthly data cap.
If you only need the mirror for a short project, a sync service on a free or trial tier may cover it. If you need it forever, weigh the ongoing cost against simply doing a clean migration and standardizing on one provider.
## "Integration" Usually Means Something Else
[Section titled ""Integration" Usually Means Something Else"](#integration-usually-means-something-else)
A lot of "Dropbox Google Drive integration" searches are really about connecting Dropbox or Drive to a third app: pulling a Dropbox file into Google Sheets, or attaching Drive files in another service. That is an app connector or an automation tool (such as a no-code automation platform), not a storage transfer. If that is what you are after, you do not need a migration tool at all. If you want the actual files to live in the other service, you are back to migrate or transfer above.
## How to Decide in One Minute
[Section titled "How to Decide in One Minute"](#how-to-decide-in-one-minute)
* **Moving off one provider for good?** Migrate. Run a one-time transfer, verify, then cancel the old account.
* **Keeping both but want copies kept fresh?** Use a re-runnable transfer (Blober workflow with skip-existing) and run it when you need it.
* **Need changes mirrored automatically, both ways, all the time?** Use a dedicated live-sync service, and accept the subscription that comes with it.
For the first two, here is the fastest path that does not fill your disk or charge per gigabyte: [move Dropbox to Google Drive](/kb/articles/how-to-move-dropbox-to-google-drive/) with a direct transfer.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Can I auto-sync Dropbox to Google Drive?** Not with Blober today. Blober runs migrations and on-demand transfers: you start each run, and it skips files that already moved. For continuous background sync in both directions you need a dedicated sync service. Two-way sync is on Blober's roadmap, but it is not live yet.
**Is there a Dropbox to Google Drive migration tool that does not download everything first?** Yes. Blober streams each file from Dropbox to Google Drive through your computer's memory, so you do not need free disk space equal to your whole library. Nothing is saved to your local disk during the transfer.
**Will transferring create duplicates?** On a first run, every file is copied once. On a re-run, Blober skips files that already exist at the destination, so you do not get duplicates as long as you keep the same source and destination.
**Can I move just one folder instead of my whole account?** Yes. You browse your Dropbox in Blober and select a single folder, several folders, or everything. The choice is yours per workflow.
**Do I need to keep Blober running for the transfer to continue?** The transfer runs while Blober is open. If your connection drops, it resumes from where it stopped. Once a migration finishes, you can close the app. There is no background service left running.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [How to Move Dropbox to Google Drive](/kb/articles/how-to-move-dropbox-to-google-drive/)
* [How to Switch Google Drive to Dropbox](/kb/articles/how-to-switch-google-drive-to-dropbox/)
* Provider setup: [Dropbox](/kb/docs/providers/dropbox/) and [Google Drive](/kb/docs/providers/google-drive/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
For a clean one-time move or a repeatable copy between Dropbox and Google Drive, Blober is a one-time purchase. No subscription, no per-GB fees, no background service.
**[Download Blober at blober.io](https://blober.io)**
# Dropbox to Google Drive Without Downloading: What That Really Means
> Understand how Dropbox-to-Google-Drive transfers route file bytes, and the difference between streaming, local disk staging, and a hosted relay.
## The file bytes still have to move
[Section titled "The file bytes still have to move"](#the-file-bytes-still-have-to-move)
"Transfer without downloading" usually means "do not make me save the whole library to my disk and upload it again by hand."
It does not mean the file jumps from Dropbox into Google Drive without any computer reading and uploading the bytes.
The Google Drive API supports simple, multipart, and resumable uploads. Each method sends file data to Google in the request body. Google does not provide a Drive endpoint where a migration tool submits a Dropbox URL and asks Drive to fetch it.[\[1\]](https://developers.google.com/workspace/drive/api/guides/manage-uploads "Source: developers.google.com/workspace/drive/api/guides/manage-uploads")
Some computer must read the Dropbox file and push those bytes to Drive.
## Three routes
[Section titled "Three routes"](#three-routes)
### Full local download and upload
[Section titled "Full local download and upload"](#full-local-download-and-upload)
The manual method stores a full local copy first:
```text
Dropbox -> local disk -> Google Drive
```
It is easy to understand and uses no migration service. It also needs free disk space for the library and creates two separate jobs to monitor.
### Stream through your computer
[Section titled "Stream through your computer"](#stream-through-your-computer)
A desktop transfer can read part of a Dropbox file and upload that part to Drive while the rest is still arriving:
```text
Dropbox -> your computer's memory -> Google Drive
```
The data uses your internet connection, but the app does not need to stage the entire library on disk. Blober uses this model.
### Stream through a hosted relay
[Section titled "Stream through a hosted relay"](#stream-through-a-hosted-relay)
A hosted migration service can run the same read-and-upload work on its own server:
```text
Dropbox -> migration provider -> Google Drive
```
Your laptop does not need to stay online. The provider's server, credentials, transfer limits, and retention practices become part of the route.
Do not assume every hosted service stores a full second copy. Ask the provider. The relevant question is where the bytes and credentials pass, not whether the marketing page uses the phrase "cloud to cloud."
## Streaming does not remove provider limits
[Section titled "Streaming does not remove provider limits"](#streaming-does-not-remove-provider-limits)
A streamed transfer still follows both APIs. Dropbox must allow the download. Google Drive must accept the upload. Rate limits, large-file rules, name conflicts, and provider-native records can still affect the result.
Google Docs, Sheets, and Slides need special handling in the reverse direction because they are not ordinary downloadable files in the same way as a PDF or JPEG.
## Migration is not sync
[Section titled "Migration is not sync"](#migration-is-not-sync)
A migration copies or moves a selected set. Two-way sync watches both providers and reconciles later changes.
If you need a one-time provider switch, use a migration workflow and keep the source until the destination is verified. If you need both accounts to mirror every future edit, choose a sync product and define conflict rules before enabling it.
## A safer migration sequence
[Section titled "A safer migration sequence"](#a-safer-migration-sequence)
1. Transfer one representative folder.
2. Check nested folders and filenames.
3. Open small documents and large media files.
4. Review failures and provider-native records.
5. Copy the rest.
6. Keep Dropbox unchanged until the Drive copy is trusted.
"Without downloading" can describe a useful convenience. The honest version should always say where the transfer runs and whether a full local copy is stored.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [How to Move Files from Dropbox to Google Drive](/kb/articles/how-to-move-dropbox-to-google-drive/)
* [Dropbox and Google Drive: Sync vs Migrate](/kb/articles/dropbox-google-drive-sync-vs-migrate/)
* [Where Cloud Transfer Tools Route Your Data](/kb/articles/where-cloud-transfer-tools-route-your-data/)
* [Server-to-Server vs Download and Reupload](/kb/articles/server-to-server-vs-download-reupload/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Blober streams each file from Dropbox through your computer to Google Drive without staging the whole library on disk. Your credentials stay local and no Blober server sits in the path.
**[Download Blober at blober.io](https://blober.io)**
# Enterprise and On-Premises S3-Compatible Storage Systems
> Enterprise S3-compatible storage appliances and platforms: NetApp StorageGRID, Dell ECS, Cloudian HyperStore, Pure FlashBlade, Hitachi HCP, Scality, Quantum ActiveScale, Zadara, and more, with how to connect.
Behind the cloud services, there is a large market of enterprise storage platforms that expose an S3-compatible endpoint inside the data center. These are the systems that hold petabytes for media companies, banks, research labs, and government, and they all speak S3 so that standard tools can read and write to them. This page lists the enterprise and on-premises S3-compatible platforms and how to connect each one.
This is one category in our [complete list of S3-compatible storage providers](/kb/articles/s3-compatible-storage-providers-complete-list/). All of these connect to Blober through the generic [S3-Compatible connector](/kb/docs/providers/s3-compatible/): you point it at the system's S3 endpoint (often a data VIP or load-balanced address inside your network) with your keys. Most on-premises systems prefer path-style addressing. The endpoint notes below come from each vendor's own documentation, cross-checked against current S3 client references[\[1\]](https://rclone.org/s3/ "Source: rclone.org/s3/"). The [endpoint setup notes](/kb/docs/providers/s3-compatible/#endpoint) explain path-style and virtual-hosted addressing.
## NetApp StorageGRID
[Section titled "NetApp StorageGRID"](#netapp-storagegrid)
NetApp StorageGRID is a widely deployed enterprise object store with a mature S3 implementation, used for backup targets, archives, and data lakes.
* **Endpoint format:** your StorageGRID gateway or load-balancer address (your own deployment).
* **Addressing:** both styles are supported; path-style is common on-prem.
* **Notes:** StorageGRID supports S3 features like versioning, object lock, and lifecycle, which makes it a strong compliance and ransomware-recovery target[\[2\]](https://www.netapp.com/data-storage/storagegrid/ "Source: www.netapp.com/data-storage/storagegrid/").
## NetApp ONTAP S3
[Section titled "NetApp ONTAP S3"](#netapp-ontap-s3)
NetApp ONTAP, the operating system behind FAS and AFF arrays and Cloud Volumes ONTAP, includes an S3 object server.
* **Endpoint format:** the S3 server address you configure on the ONTAP system.
* **Addressing:** path-style is the safe default.
* **Notes:** beginning with ONTAP 9.8, you can enable an ONTAP S3 object storage server in an ONTAP cluster and manage it with System Manager or the ONTAP CLI[\[3\]](https://docs.netapp.com/us-en/ontap/s3-config/index.html "Source: docs.netapp.com/us-en/ontap/s3-config/index.html").
## Dell ECS and ObjectScale
[Section titled "Dell ECS and ObjectScale"](#dell-ecs-and-objectscale)
Dell ECS (Elastic Cloud Storage) and its containerized successor ObjectScale are enterprise object platforms with a full S3 API.
* **Endpoint format:** your ECS or ObjectScale data node or load-balancer address.
* **Addressing:** both styles; path-style is common on-prem.
* **Notes:** designed for multi-site, geo-distributed deployments with active-active access[\[4\]](https://www.dell.com/en-us/shop/storage-servers-and-networking-for-business/sf/objectscale "Source: www.dell.com/en-us/shop/storage-servers-and-networking-for-business/sf/objectscale").
## Cloudian HyperStore
[Section titled "Cloudian HyperStore"](#cloudian-hyperstore)
Cloudian HyperStore is an S3-native enterprise object store sold as software or as an appliance, known for close S3 API fidelity.
* **Endpoint format:** your HyperStore S3 endpoint (data VIP or load balancer).
* **Addressing:** both styles supported.
* **Notes:** Cloudian markets very high S3 API compatibility, including object lock for immutability[\[5\]](https://cloudian.com/ "Source: cloudian.com").
## Pure Storage FlashBlade
[Section titled "Pure Storage FlashBlade"](#pure-storage-flashblade)
Pure Storage FlashBlade is a high-performance, all-flash platform with an S3-compatible object store.
* **Endpoint format:** `https://` (the FlashBlade S3 data VIP).
* **Addressing:** path-style works everywhere; virtual-hosted needs DNS so that `bucket.` resolves to the data VIP.
* **Notes:** supports ListObjectsV2, multipart with AWS-compatible ETags, versioning, and advanced checksums on recent Purity releases[\[6\]](https://www.purestorage.com/products/unstructured-data-storage.html "Source: www.purestorage.com/products/unstructured-data-storage.html").
## Hitachi Content Platform (HCP)
[Section titled "Hitachi Content Platform (HCP)"](#hitachi-content-platform-hcp)
Hitachi Content Platform is an enterprise object store for long-term retention and compliance, with an S3-compatible API.
* **Endpoint format:** `https://`.
* **Addressing:** path-style is the safe default.
* **Notes:** HCP supports namespace access through REST, the Hitachi API for Amazon S3, WebDAV, CIFS, and NFS; in the S3-compatible API, namespaces are called buckets[\[7\]](https://docs.hitachivantara.com/r/en-us/mk-95hcph002/latest "Source: docs.hitachivantara.com/r/en-us/mk-95hcph002/latest").
## Spectra Logic BlackPearl
[Section titled "Spectra Logic BlackPearl"](#spectra-logic-blackpearl)
Spectra Logic BlackPearl is an on-premises S3-compatible gateway that tiers data to disk, tape, and public clouds under one namespace.
* **Endpoint format:** `https://`.
* **Addressing:** path-style.
* **Notes:** popular for media archives and backup where tape economics matter[\[8\]](https://www.spectralogic.com/blackpearl-nearline-object-gateway "Source: www.spectralogic.com/blackpearl-nearline-object-gateway").
## Scality RING and ARTESCA
[Section titled "Scality RING and ARTESCA"](#scality-ring-and-artesca)
Scality RING is a petabyte-scale software-defined object store; ARTESCA is its lighter, cloud-native sibling. Both expose S3.
* **Endpoint format:** your RING or ARTESCA S3 endpoint (load balancer or connector address).
* **Addressing:** both styles supported.
* **Notes:** Scality also maintains the open-source Zenko CloudServer, so the S3 lineage runs deep[\[9\]](https://www.scality.com/ "Source: www.scality.com").
## Quantum ActiveScale
[Section titled "Quantum ActiveScale"](#quantum-activescale)
Quantum ActiveScale (formerly Western Digital ActiveScale) is an enterprise object system tuned for large-capacity archives and cold data.
* **Endpoint format:** your ActiveScale S3 endpoint (load-balanced address).
* **Addressing:** path-style is common.
* **Notes:** often paired with tape for very long-term retention[\[10\]](https://www.quantum.com/ "Source: www.quantum.com").
## DataCore Swarm (formerly Caringo Swarm)
[Section titled "DataCore Swarm (formerly Caringo Swarm)"](#datacore-swarm-formerly-caringo-swarm)
DataCore Swarm is an object storage platform with an S3-compatible gateway, used for archives and content repositories.
* **Endpoint format:** your Swarm S3 gateway address.
* **Addressing:** path-style is common.
* **Notes:** focuses on long-term data protection and large media libraries[\[11\]](https://www.datacore.com/ "Source: www.datacore.com").
## Nutanix Objects
[Section titled "Nutanix Objects"](#nutanix-objects)
Nutanix Objects is the S3-compatible object service in the Nutanix hyperconverged platform.
* **Endpoint format:** the Objects store endpoint you configure in Prism.
* **Addressing:** both styles supported.
* **Notes:** integrates object storage into existing Nutanix clusters[\[12\]](https://www.nutanix.com/ "Source: www.nutanix.com").
## VAST Data
[Section titled "VAST Data"](#vast-data)
VAST Data is an all-flash, scale-out platform that exposes S3 alongside file protocols.
* **Endpoint format:** your VAST S3 endpoint (virtual IP or load balancer).
* **Addressing:** path-style is the safe default.
* **Notes:** aimed at high-throughput analytics and AI pipelines[\[13\]](https://www.vastdata.com/ "Source: www.vastdata.com").
## WekaFS (Weka)
[Section titled "WekaFS (Weka)"](#wekafs-weka)
Weka is a high-performance data platform with an S3 protocol front end over its parallel file system.
* **Endpoint format:** your Weka S3 endpoint (cluster address).
* **Addressing:** path-style is common.
* **Notes:** built for GPU and HPC workloads that also need object access[\[14\]](https://www.weka.io/ "Source: www.weka.io").
## Zadara
[Section titled "Zadara"](#zadara)
Zadara is fully managed, enterprise-grade S3-compatible storage with on-prem, hybrid, and cloud deployment options.
* **Endpoint format:** `https://.zadarazios.com` (for example `https://vsa-00000001-public-zadara-cloud-01.zadarazios.com`).
* **Addressing:** virtual-hosted, with `us-east-1` as the default region.
* **Notes:** fetch the endpoint and region from the Zadara Object Storage management interface[\[15\]](https://www.zadara.com/ "Source: www.zadara.com").
## A Note on IBM Cloud Object Storage and MinIO On-Premises
[Section titled "A Note on IBM Cloud Object Storage and MinIO On-Premises"](#a-note-on-ibm-cloud-object-storage-and-minio-on-premises)
Two systems span the cloud and on-prem worlds. IBM Cloud Object Storage (covered on the [cloud providers page](/kb/articles/s3-compatible-object-storage-cloud-providers/)) is also sold as on-premises software descended from Cleversafe. MinIO (covered on the [self-hosted page](/kb/articles/self-hosted-open-source-s3-compatible-storage/)) is deployed in many enterprises as a production object tier, not just for testing. Both connect to Blober the same way: point the generic S3-Compatible connector at the endpoint.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Can Blober connect to an on-premises storage array?** Yes, as long as the array exposes an S3 endpoint your machine can reach. Use the system's data VIP or load-balanced address with your keys, and pick path-style addressing if browsing fails.
**Do enterprise systems support S3 object lock and versioning?** Many do (StorageGRID, Cloudian, Dell ECS, and others), which is why they are used as immutable backup and compliance targets. Confirm the specific features with your vendor.
**Why do these prefer path-style addressing?** Virtual-hosted addressing needs DNS so that every `bucket.` name resolves to the storage. On-prem systems often skip that, so path-style (bucket in the URL path) is the reliable default.
**Can I move data from an on-prem array to the cloud?** Yes. Blober copies directly between your on-prem S3 endpoint and cloud S3 endpoints that support the normal object operations it uses, or to non-S3 targets like Azure Blob, without staging a full copy on your disk.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [The Complete List of S3-Compatible Providers](/kb/articles/s3-compatible-storage-providers-complete-list/)
* [Self-Hosted and Open-Source S3 Storage](/kb/articles/self-hosted-open-source-s3-compatible-storage/)
* [Cloud Object Storage Providers](/kb/articles/s3-compatible-object-storage-cloud-providers/)
* [What S3-Compatible Really Means](/kb/articles/what-s3-compatible-really-means/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Connect Blober to your enterprise S3 endpoint by URL and move data between on-prem storage and the cloud directly, without filling your local disk.
**[Download Blober at blober.io](https://blober.io)**
# GoPro Cloud Auto Upload Not Working: A Practical Checklist
> Check the power, Wi-Fi, subscription, and upload conditions that prevent a GoPro camera from sending footage to GoPro Cloud.
## Start with the two requirements
[Section titled "Start with the two requirements"](#start-with-the-two-requirements)
GoPro auto upload is not a background cellular upload. The normal camera workflow starts when the camera is charging and connected to a Wi-Fi network it knows.
GoPro's subscription terms confirm the Wi-Fi requirement.[\[1\]](http://web.archive.org/web/20260728173022/https://gopro.com/en/us/shop/subscriptions "Source: web.archive.org/web/20260728173022/https://gopro.com/en/us/shop/subscriptions") If either power or Wi-Fi is missing, waiting longer will not fix the upload.
Check these first:
1. Connect the camera to power.
2. Confirm that the camera is using a saved Wi-Fi network.
3. Leave the camera connected while it finds and uploads new media.
4. Confirm that the GoPro subscription on the account is active.
Do not treat a phone's cellular connection as proof that the camera has internet access. The camera needs its own working Wi-Fi connection.
## Confirm that the network is the one the camera expects
[Section titled "Confirm that the network is the one the camera expects"](#confirm-that-the-network-is-the-one-the-camera-expects)
A camera can be beside a working router and still fail to upload. The saved network name or password may have changed. Guest networks and sign-in pages can also block devices that cannot complete a browser login.
Test with the same ordinary home or office network that previously worked. If that succeeds, the problem is probably the other network rather than the camera or cloud library.
Avoid changing several settings at once. One controlled test tells you more than resetting the camera, app, router, and account together.
## Check whether the footage is already in the library
[Section titled "Check whether the footage is already in the library"](#check-whether-the-footage-is-already-in-the-library)
Open Quik and check the cloud library before restarting the upload. A clip may have uploaded even if the camera or app did not show the progress you expected.
Compare a small, recent recording with the cloud library. A one-minute test clip is easier to trace than a full card from a weekend shoot.
## Separate camera upload problems from library download problems
[Section titled "Separate camera upload problems from library download problems"](#separate-camera-upload-problems-from-library-download-problems)
Auto upload sends new camera media into GoPro Cloud. Downloading an existing cloud library is a different job.
If the footage is already in GoPro Cloud, reconnecting the camera will not help you copy it to a computer, NAS, Google Drive, or another storage provider. For that job, use the GoPro web download in small batches or a transfer tool that connects to the existing cloud library.
Blober connects to GoPro Cloud as a source. It streams the selected files through your computer to a local drive, NAS, or another provider. The files do not need to be downloaded as ZIP archives first.
## Do not use one cloud copy as the test
[Section titled "Do not use one cloud copy as the test"](#do-not-use-one-cloud-copy-as-the-test)
An auto-upload feature is convenient, but it should not be the only place where years of footage live. Once the upload starts working again, copy important media to storage you control and open a sample from the destination.
A useful backup check is simple:
* The expected number of files arrived.
* Recent and old clips both open.
* Large videos play past the first few seconds.
* The destination is not tied to the same subscription.
Fix the upload first. Then make sure the next camera or account problem cannot take the archive with it.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [GoPro Cloud, in Plain English](/kb/articles/gopro-cloud-how-it-works/)
* [GoPro Cloud Storage: The Complete Guide](/kb/articles/gopro-cloud-storage-complete-guide/)
* [How to Download All Your GoPro Cloud Videos](/kb/articles/how-to-download-all-gopro-cloud-videos/)
* [GoPro Plus Cloud Media Download and Backup](/kb/docs/providers/gopro/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Once the upload works again, keep a copy that does not depend on the subscription. Blober connects to GoPro Cloud and writes your library to a local drive, a NAS, or another cloud provider.
**[Download Blober at blober.io](https://blober.io)**
# GoPro Cloud Backup: 6 Methods Compared (and the Best for Each Job)
> GoPro Cloud backup methods compared: the website ZIP, the Quik app, ASUS StoryCube, JDownloader, CLI scripts, and Blober. The pros and cons of each, and the one method that moves your library straight to another cloud or a NAS.
## Backing Up a Full GoPro Cloud Library
[Section titled "Backing Up a Full GoPro Cloud Library"](#backing-up-a-full-gopro-cloud-library)
**The problem:** GoPro Cloud has no "Download All" button. The website lets you grab about 25 files at a time as a ZIP, and large batches often stall. For a year of 5.3K footage, clicking through 25-file batches is not a real plan.
**The short answer:** there are five honest ways to get your whole library out, and they split into two camps. Most of them download your footage to your computer first and leave the rest to you. One of them, [Blober](https://blober.io/), moves the library straight from GoPro Cloud to another cloud or a NAS with no download-and-reupload round trip. Which one is "best" depends on where you want the footage to land. Below is each option, what it does well, and where it slows down.
## Why Bulk Download Is Hard in the First Place
[Section titled "Why Bulk Download Is Hard in the First Place"](#why-bulk-download-is-hard-in-the-first-place)
GoPro Cloud is built around the capture-and-edit loop, not around handing you your raw archive. Three facts shape every method here:
* The web portal caps batch downloads at roughly 25 files, bundled into a ZIP. Big batches time out, and you repeat the process by hand.
* There is no public API and no official cloud-to-cloud export.
* Your library is tied to the subscription. Cancel it and access ends, so a copy you own matters.
Keep those in mind and the trade-offs between the methods make sense.
## Method 1: The GoPro Website (Manual ZIP Download)
[Section titled "Method 1: The GoPro Website (Manual ZIP Download)"](#method-1-the-gopro-website-manual-zip-download)
How it works: sign in at gopro.com, open your media library, select up to 25 items, and download the batch as a ZIP. Repeat until you have everything.
**Good for:** a small number of clips, or grabbing one shoot. It is official, free with your subscription, and needs nothing installed.
**Watch for:** the 25-file cap turns a large library into dozens of manual rounds. Large ZIPs can fail or time out, and you only find out after the wait. Everything lands on your local disk, so getting it into another cloud later is a separate job.
## Method 2: The GoPro Quik App (Phone or Tablet)
[Section titled "Method 2: The GoPro Quik App (Phone or Tablet)"](#method-2-the-gopro-quik-app-phone-or-tablet)
How it works: open Quik, go to Media then Cloud, select your files (you can select all), tap share, and save them to your device. From there you move them off the phone.
**Good for:** people who mostly shoot and review on a phone and only need a modest number of clips on the camera roll. Official and free with the subscription.
**Watch for:** the files land in phone storage first, which fills fast with 5.3K video, and you still have to move them to a computer or another cloud afterward. It runs one device at a time and is slow over a phone connection. Not practical for hundreds of gigabytes.
## Method 3: ASUS StoryCube (Windows)
[Section titled "Method 3: ASUS StoryCube (Windows)"](#method-3-asus-storycube-windows)
How it works: StoryCube is an ASUS-engineered, AI-powered media manager. As of October 2025 it is the first Windows app to connect to GoPro Cloud, including `.360` footage. It auto-organizes clips by activity, previews and reframes GoPro MAX footage, and lets you drag clips into editors like Adobe Premiere Pro or CapCut.
**Good for:** Windows creators who want to organize and edit, especially 360 video. The AI sorting and 360 reframing are genuinely useful, and ASUS laptop buyers may get a GoPro Premium subscription included. If your goal is to edit on a PC, this is a strong, official option.
**Watch for:** it runs on Windows only, so Mac and Linux users are out. It is built to organize and edit on your machine, not to migrate your library into Dropbox, Google Drive, a NAS, or object storage. As a back-up-to-anywhere tool, that is the gap.
## Method 4: JDownloader 2 (Free Download Manager)
[Section titled "Method 4: JDownloader 2 (Free Download Manager)"](#method-4-jdownloader-2-free-download-manager)
How it works: JDownloader is a free, open-source download manager with a GoPro Plus Media Library plugin. You add your GoPro account, paste the media-library link, and it scans your whole library and batch-downloads it to a local folder with no 25-file cap.
**Good for:** a free way to pull your entire library down to your computer in one pass. It is open source, cross-platform, and removes the batch limit. If local disk is your destination and you do not mind a busy interface, it does the job at no cost.
**Watch for:** you type your GoPro password directly into the app's account manager, and an active subscription is required. It downloads to local storage only, so footage destined for Dropbox or a NAS still needs a manual upload after. The general-purpose interface takes a little learning.
## Method 5: Open-Source CLI Scripts (e.g. GoPro Plus Downloader)
[Section titled "Method 5: Open-Source CLI Scripts (e.g. GoPro Plus Downloader)"](#method-5-open-source-cli-scripts-eg-gopro-plus-downloader)
How it works: community projects such as the GoPro Plus Downloader run from the command line or Docker. You supply an auth token and user ID pulled from your browser session, and the script pages through your library and downloads everything, which suits unattended NAS and Synology jobs.
**Good for:** developers and homelab users who like automation. It is free, open source, has no 25-file limit, and drops cleanly into a Docker or NAS routine.
**Watch for:** you extract a JWT token and user ID from your browser dev tools, and the token expires, so you redo it now and then. It is command-line first with no graphical browser, and it downloads to a local volume, so onward delivery to another cloud is on you. Maintenance follows the project's author.
## Method 6: Blober (Straight to Another Cloud, NAS, or Local)
[Section titled "Method 6: Blober (Straight to Another Cloud, NAS, or Local)"](#method-6-blober-straight-to-another-cloud-nas-or-local)
How it works: Blober is a desktop app for Mac, Windows, and Linux that connects to GoPro Cloud as a first-class provider. You sign in through a normal browser login, Blober captures the session, and you get a visual file browser of your whole library. Select one file, a folder, or your entire storage, choose a destination, and run.
Here is what sets it apart from every method above: the destination can be another cloud or a NAS, and the transfer goes directly there. Blober moves GoPro Cloud footage to Dropbox, Google Drive, Backblaze B2, Wasabi, AWS S3, Cloudflare R2, Azure Blob, or DigitalOcean Spaces, as well as to a local drive or a Synology or QNAP share. The files never have to be downloaded to your computer and re-uploaded by hand.
**Good for:** backing up or migrating a full library to storage you own, or to another cloud, in one step. The parts that matter:
* No 25-file limit. Transfer 10 files or 10,000 in a single run.
* Direct cloud-to-cloud movement, so there is no download-then-reupload round trip.
* Parallel transfers that keep your connection busy, roughly four times faster than GoPro's one-at-a-time app, with auto-resume if the connection drops.
* A browser-based login, so your credentials are not stored or sent to any server. Everything runs on your machine.
* Path templates like `/{camera_model}/{capture_date}/{filename}` that turn a flat dump into a tidy archive.
* Full original quality, with no re-encoding.
**Watch for:** Blober is a one-time purchase rather than free. It runs workflows on demand with skip-existing for repeat runs, so it is a refresh you trigger yourself, not a scheduled background sync. If your only goal is a single local copy and cost is the deciding factor, the free tools above also work.
[Move your GoPro Cloud library straight to Dropbox, a NAS, or Backblaze B2. Download Blober.](https://blober.io)
## Every Method at a Glance
[Section titled "Every Method at a Glance"](#every-method-at-a-glance)
| Method | Platform | Beats the 25-file cap | Straight to another cloud or NAS | Setup | Cost |
| ------------------- | --------------- | --------------------- | -------------------------------- | ----------- | ---------------------- |
| GoPro website (ZIP) | Any browser | No | No (local ZIP) | None | Free with subscription |
| GoPro Quik app | iOS, Android | Yes | No (via phone) | None | Free with subscription |
| ASUS StoryCube | Windows only | Yes | No (organize and edit) | App install | Free, ASUS-tied |
| JDownloader 2 | Win, Mac, Linux | Yes | No (local only) | Moderate | Free |
| CLI scripts | Docker, CLI | Yes | No (local only) | Technical | Free |
| Blober | Win, Mac, Linux | Yes | Yes | App install | One-time |
Prices and features change, so confirm current details with each provider.
## Which One Should You Pick?
[Section titled "Which One Should You Pick?"](#which-one-should-you-pick)
* **You want a few clips fast with nothing installed:** the GoPro website is fine.
* **You live in the Quik app and only need some footage on your phone:** use Quik.
* **You are on Windows and mainly want to organize and edit, especially 360:** StoryCube is a great fit.
* **You want a free full download to your computer and do not mind setup:** JDownloader, or a CLI script if you automate a NAS.
* **You want your whole library on another cloud, a NAS, or cheap object storage in one step:** Blober, because it is the only option that moves it there directly.
The honest framing: if local disk is your final destination and free is the priority, the free tools are good, and you should use them. The moment your destination is another cloud or a NAS, every other method makes you download first and upload second. That is the step Blober removes.
## A Direct Transfer, Start to Finish
[Section titled "A Direct Transfer, Start to Finish"](#a-direct-transfer-start-to-finish)
1. Open Blober and create a workflow. Pick GoPro as the source and click the GoPro login. Sign in, and Blober captures your session.
2. Browse your library and tick what you want, or select the entire storage.
3. Choose a destination: Dropbox, Google Drive, Backblaze B2, a NAS, or any supported provider.
4. Optionally set a path template so files arrive organized by camera and date.
5. Run it. Watch live progress, and let auto-resume handle any dropouts.
For a large archive you can start it and leave it running overnight.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Can I download my entire GoPro library at once?** Not through the GoPro website, which limits you to roughly 25 files per ZIP. JDownloader, CLI scripts, and Blober all remove that cap. Blober also sends the library straight to another cloud or a NAS instead of only to your local disk.
**How do I move GoPro Cloud footage to another cloud?** Blober transfers GoPro Cloud directly to Dropbox, Google Drive, Backblaze B2, Wasabi, AWS S3, Cloudflare R2, Azure Blob, or DigitalOcean Spaces, with no download-and-reupload step.
**What is the best way to download GoPro Cloud videos for free?** JDownloader's GoPro Plus plugin, or an open-source CLI script. Both pull your full library to local storage at no cost. You handle any later upload yourself.
**Will I lose my footage if I cancel GoPro?** Access to the cloud library ends when the subscription ends, and GoPro does not publish how long files are kept afterward. Back up everything before you cancel. See [How to Cancel GoPro Plus Without Losing Your Footage](/kb/articles/cancel-gopro-plus-save-your-footage/).
**Does anything handle 360 footage?** StoryCube previews and reframes GoPro MAX 360 footage on Windows. Blober transfers the `.360` files themselves to your chosen destination at full quality.
**Is the browser login safe?** Blober uses GoPro's own browser login and keeps the session on your machine. Your password is not stored or sent to any server. The session lasts about 20 hours, then you sign in again.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [How to Download All Your GoPro Cloud Videos to Your Computer](/kb/articles/how-to-download-all-gopro-cloud-videos/)
* [Back Up Your GoPro Cloud to Backblaze B2, AWS S3, or Local Storage](/kb/articles/back-up-gopro-cloud-to-backblaze-s3-or-local/)
* [How to Move GoPro Cloud Media to Dropbox](/kb/articles/move-gopro-cloud-media-to-dropbox/)
* [GoPro Cloud Storage: The Complete Guide](/kb/articles/gopro-cloud-storage-complete-guide/)
* [GoPro Cloud vs Dropbox vs Google Drive](/kb/articles/gopro-cloud-vs-dropbox-vs-google-drive/)
* Provider setup: [GoPro](/kb/docs/providers/gopro/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Keep a copy of your footage on storage you control. Blober is the only app that moves your GoPro Cloud library straight to another cloud, a NAS, or a local drive, and it is a one-time purchase with no subscription and no per-GB fees.
**[Download Blober at blober.io](https://blober.io)**
# Upload to GoPro Cloud 4x Faster with Parallel Transfers
> GoPro's app uploads one file at a time. Blober uploads multiple files simultaneously using parallel streams, making GoPro Cloud uploads more than 4 times faster.
## GoPro's Upload Problem
[Section titled "GoPro's Upload Problem"](#gopros-upload-problem)
If you shoot with a GoPro, you know the routine. After a day of riding, diving, or traveling, your camera has anywhere from 20 to 200 GB of footage. You plug your camera in or connect via Wi-Fi, and the GoPro app starts uploading to GoPro Cloud.
The upload is slow. Not because your internet is slow, but because GoPro's app sends files one at a time. It picks a file, uploads it, waits for confirmation, then starts the next one. If you have 100 clips from a weekend trip, each one sits in a queue while the previous clip finishes.
This sequential approach means you are never using your full upload bandwidth. Most internet connections can handle several simultaneous uploads. A connection with 50 Mbps upload speed could be pushing four or five files at once, but GoPro's app uses it for just one.
## How Blober Handles GoPro Cloud Uploads
[Section titled "How Blober Handles GoPro Cloud Uploads"](#how-blober-handles-gopro-cloud-uploads)
Blober uses parallel upload streams when transferring files to GoPro Cloud. Instead of sending one file at a time, Blober opens multiple concurrent connections and uploads several files simultaneously.
The result is straightforward: if your connection can handle four simultaneous uploads (and most can), you finish in roughly a quarter of the time.
This is not a theoretical number. It comes down to basic network utilization. GoPro's sequential uploads leave bandwidth idle between files and during handshake overhead. Blober keeps the pipe full by starting the next upload before the previous one finishes its server-side confirmation.
### What This Looks Like in Practice
[Section titled "What This Looks Like in Practice"](#what-this-looks-like-in-practice)
| Scenario | GoPro App | Blober |
| ---------------------------------- | ---------- | ----------- |
| 50 GB weekend trip (100 clips) | \~4 hours | \~1 hour |
| 120 GB week-long shoot (300 clips) | \~10 hours | \~2.5 hours |
| 8 GB quick session (15 clips) | \~35 min | \~8 min |
*Times based on a typical 30 Mbps upload connection. Actual speeds depend on your connection, file sizes, and GoPro Cloud server conditions.*
## No 25-File Batch Limit
[Section titled "No 25-File Batch Limit"](#no-25-file-batch-limit)
GoPro's web interface limits downloads to 25 files at a time. If you want to download 500 clips, you need to repeat the process 20 times.
Blober has no batch limit. Select 10 files or 10,000 and start the transfer. Blober works through the entire queue without stopping to ask you to select the next batch.
## Auto-Resume When Transfers Fail
[Section titled "Auto-Resume When Transfers Fail"](#auto-resume-when-transfers-fail)
Uploads fail. Connections drop, laptops go to sleep, Wi-Fi switches networks. When a GoPro Cloud upload fails through the app, it often starts the file over from scratch.
Blober tracks progress per file. If a transfer is interrupted, Blober resumes from where it stopped. For large files (GoPro's 5.3K videos can easily be 5-10 GB each), this saves real time. You do not re-upload 4 GB of a 5 GB file because your connection dropped at 80%.
## Upload From Anywhere, Not Just Your Camera
[Section titled "Upload From Anywhere, Not Just Your Camera"](#upload-from-anywhere-not-just-your-camera)
GoPro's app expects you to upload from the camera or phone. If your footage is on an SD card, a NAS, or already in another cloud provider, you cannot use the app to get it into GoPro Cloud.
Blober lets you upload to GoPro Cloud from any source it supports:
* **Local drives and SD cards**: Import footage from your card reader directly to GoPro Cloud
* **NAS devices**: Upload from Synology, QNAP, or any network drive
* **Other cloud providers**: Move files from Dropbox, Google Drive, or AWS S3 into GoPro Cloud
* **DJI or Insta360 footage**: Consolidate action camera media from multiple brands in one cloud
## Why GoPro Cloud?
[Section titled "Why GoPro Cloud?"](#why-gopro-cloud)
Some people ask why you would upload to GoPro Cloud at all. Fair question. Here is when it makes sense:
* You already have a GoPro Plus subscription and want to use the cloud highlight reels and editing features
* You want automatic camera-to-cloud backup but need a faster way to bulk-upload existing footage
* You shoot with DJI or other cameras and want all your action footage in one place with GoPro's editing tools
If you are moving away from GoPro Cloud, Blober handles that too. Transfer your entire library to Backblaze B2, AWS S3, Dropbox, or a local drive.
## Get Blober
[Section titled "Get Blober"](#get-blober)
Blober is a one-time purchase with a lifetime license. No subscription, no per-GB charges.
**[Download Blober at blober.io](https://blober.io)**
# GoPro Cloud, in Plain English: How It Actually Works
> A clear, no-jargon explanation of how GoPro Cloud works: auto-upload on Wi-Fi, what the Quik app does, what it stores, and how to keep a copy you own.
## How GoPro Cloud Works, in One Minute
[Section titled "How GoPro Cloud Works, in One Minute"](#how-gopro-cloud-works-in-one-minute)
GoPro Cloud is an auto-backup service that comes with a GoPro subscription. When your camera charges on a Wi-Fi network, it uploads the day's footage on its own, at full quality. You then watch, edit, and share those clips from the Quik app on your phone.
**The part that trips people up:** the cloud copy is a benefit of the subscription, not a permanent locker. While you pay, it is convenient. Stop paying and the access goes with it. The useful way to think about it is "a fast, automatic staging area," not "my one safe copy."
This page walks through each piece in plain terms, then shows how to keep a copy that stays yours.
## The Auto-Upload Loop
[Section titled "The Auto-Upload Loop"](#the-auto-upload-loop)
The whole system is built around one habit: charging the camera.
Plug a GoPro in on a Wi-Fi network it knows, and while it sits there powered up, the new footage uploads itself to the cloud at full resolution. Once a clip is safely up, you can clear the SD card and keep shooting. That loop, shoot then charge then upload, is the reason people like the service. It removes the manual offload step that every action-cam owner used to dread.
Two conditions have to be true for it to run: the camera needs power, and it needs a Wi-Fi network it has been set up to use. On cellular or a strange network, it waits.
## What the Quik App Does
[Section titled "What the Quik App Does"](#what-the-quik-app-does)
Quik is the front end for everything in the cloud. It is where you browse what has uploaded, where the automatic highlight edits appear, and where you share a clip or a finished cut. For most owners, Quik *is* GoPro Cloud, because it is the only place they ever see the footage.
That is also the catch. Quik streams a compressed preview for fast playback, not the original file. It is fine for picking a moment or sending a quick highlight, and it is frustrating the day you want the full-quality clip on a real editing timeline.
## What GoPro Cloud Stores, and What It Does Not
[Section titled "What GoPro Cloud Stores, and What It Does Not"](#what-gopro-cloud-stores-and-what-it-does-not)
The headline feature, unlimited storage, applies to media captured on a GoPro camera. Footage from other cameras counts against a separate, capped allowance. So the cloud is tuned for the GoPro workflow, not as a general file drive for everything you own.
It keeps your GoPro video and photos, plus media you add through Quik. It does not give you a public way to pull everything back down in one move. The web portal downloads in small zipped batches, and there is no single "download all" button. For a handful of clips that is fine. For a few thousand, it is the weak point of the whole system.
## Why People Treat It as Their One Copy, and Why That Is Risky
[Section titled "Why People Treat It as Their One Copy, and Why That Is Risky"](#why-people-treat-it-as-their-one-copy-and-why-that-is-risky)
Because the upload is automatic and the storage is unlimited, it is easy to assume the footage is safe forever. It is one copy, in one company's cloud, reachable only while the subscription is active. There is no second copy and no third-party tool with open access if something goes wrong.
That is not a reason to avoid GoPro Cloud. It is a reason to keep a copy of your own next to it, so a cancelled card, a changed plan, or a new camera does not put your footage out of reach.
## How to Keep a Copy You Own
[Section titled "How to Keep a Copy You Own"](#how-to-keep-a-copy-you-own)
Blober is the only desktop app that connects to GoPro Cloud, because no other transfer tool supports it. You sign in to GoPro through Blober, see your whole library, pick a destination, and let it run in parallel:
* A local drive, an external disk, or a NAS you own
* Object storage like Backblaze B2, Wasabi, or Cloudflare R2 for a long-term archive
* Dropbox, Google Drive, AWS S3, Azure Blob, or DigitalOcean Spaces
No 25-file batches and no scripts. Keep your subscription or cancel it later; either way the footage now also lives somewhere you control.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Does GoPro Cloud upload automatically?** Yes. When the camera charges on a Wi-Fi network it knows, it uploads new footage at full quality on its own. It needs both power and that Wi-Fi connection to run.
**Does GoPro Cloud store full-quality footage?** Yes, it stores your originals. The Quik app plays a compressed preview for speed, but the full-resolution file is what was uploaded.
**Can I see GoPro Cloud on a computer?** You can sign in at gopro.com to view and download media, though the web portal only downloads about 25 files at a time. To pull your whole library to a computer or another cloud in one pass, use Blober.
**Is GoPro Cloud a backup?** Treat it as one copy, not a full backup. It is a single copy tied to your subscription. A real backup means a second copy on storage you control.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [GoPro Cloud Storage: The Complete Guide](/kb/articles/gopro-cloud-storage-complete-guide/)
* [How to Download All Your GoPro Cloud Videos](/kb/articles/how-to-download-all-gopro-cloud-videos/)
* [Leaving GoPro Cloud: A Calm, Complete Exit Checklist](/kb/articles/leaving-gopro-cloud-exit-checklist/)
* Provider setup: [GoPro](/kb/docs/providers/gopro/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Keep your GoPro footage on storage you own. Blober is the only app that connects to GoPro Cloud, so you can move your whole library out whenever you want.
**[Download Blober at blober.io](https://blober.io)**
# GoPro Cloud Storage: The Complete Guide (Plans, File Types, Sharing, Limits)
> GoPro Cloud storage explained: Premium and Premium+ plans and pricing, supported file types, sharing options, storage limits, account management, and how to cancel without losing your footage.
## GoPro Cloud Storage, Explained
[Section titled "GoPro Cloud Storage, Explained"](#gopro-cloud-storage-explained)
**The short version:** GoPro Cloud is the storage that comes with a GoPro Premium or Premium+ subscription. When your camera charges on Wi-Fi, it auto-uploads your footage at full quality, and you edit and share it from the Quik app. Storage for GoPro-captured video and photos is unlimited; storage for footage from other cameras is capped.
**The one limit that matters most:** your cloud footage is tied to the subscription. Stop paying and you lose access to it. Everything below explains the plans, file types, sharing, and limits in plain terms, and how to keep a copy you own.
This is a reference page. Each section answers one common question, so jump to whichever one you came for.
## What Is GoPro Cloud Storage?
[Section titled "What Is GoPro Cloud Storage?"](#what-is-gopro-cloud-storage)
GoPro Cloud is an auto-upload and backup service bundled with a GoPro subscription. The idea is simple: plug your camera in to charge, and while it sits on Wi-Fi, the day's footage uploads itself to the cloud at 100% quality. The camera's SD card can then clear, and the Quik app turns your clips into highlight videos you can watch and share from your phone.
It is built around the GoPro workflow, not as a general file locker. The headline feature, unlimited storage, applies only to media captured on a GoPro camera.
## GoPro Premium and Premium+: Plans and Features
[Section titled "GoPro Premium and Premium+: Plans and Features"](#gopro-premium-and-premium-plans-and-features)
GoPro sells two subscription tiers (the service was previously called GoPro Plus). Here is what each one includes and how the cloud allowance compares to general storage services.
| Plan | Price | GoPro footage | Non-GoPro footage |
| ------------------------------ | ---------- | ----------------------- | ----------------- |
| GoPro Premium | $59.99/yr | Unlimited cloud storage | 100 GB |
| GoPro Premium+ | $99.99/yr | Unlimited cloud storage | 500 GB |
| Google One (for comparison) | $99.99/yr | n/a | 2 TB total |
| Apple iCloud+ (for comparison) | $119.88/yr | n/a | 2 TB total |
Beyond storage, a GoPro Premium subscription also includes:
* **Auto-upload** to the cloud at full quality while the camera charges on Wi-Fi
* **Automatic highlight videos** generated in the Quik app
* **Guaranteed camera replacement** for any reason (subject to GoPro's terms)
* **Up to 50% off accessories** at gopro.com
* **Up to $150 off** two cameras per year
* **Live streaming**
Premium+ adds the larger 500 GB allowance for non-GoPro footage and some advanced editing features in Quik. Prices and inclusions change, so confirm the current numbers on GoPro's subscription page before you buy.
## Supported File Types
[Section titled "Supported File Types"](#supported-file-types)
GoPro Cloud stores what your camera produces, plus media you add through the Quik app.
| Source | Typical formats |
| ------------------ | ----------------------------------------------------- |
| GoPro video | `.mp4` (HEVC or H.264), `.360` on Max and 360 cameras |
| GoPro photo | `.jpg`, and `.gpr` RAW (GoPro's DNG-based RAW) |
| Added through Quik | Photos and videos from your phone or other cameras |
The unlimited allowance is for content captured on a GoPro device (Fusion is excluded). Footage from other cameras counts against the 100 GB (Premium) or 500 GB (Premium+) non-GoPro allowance.
## Sharing Options
[Section titled "Sharing Options"](#sharing-options)
Sharing happens mainly through the Quik app and your GoPro account:
* **Highlight videos.** Quik auto-edits your uploaded clips into a shareable video you can post or send as a link.
* **Shared links.** You can share individual media or edits as links to people who do not have a GoPro account.
* **Social export.** Quik exports directly to the usual social platforms at chosen resolutions.
Sharing is designed for finished edits and individual clips, not for handing someone your entire raw library. There is no public API and no bulk export-and-share.
## Storage Limits and Upgrades
[Section titled "Storage Limits and Upgrades"](#storage-limits-and-upgrades)
The limits people run into:
* **Unlimited is GoPro-only.** Non-GoPro footage is capped at 100 GB on Premium and 500 GB on Premium+. To raise that, upgrade from Premium to Premium+.
* **Auto-upload needs Wi-Fi and power.** The camera uploads while charging on a Wi-Fi network. Cellular data fees may apply if you tether.
* **Downloading in bulk is the weak point.** The web portal lets you download roughly 25 files at a time as a zip, and large batches frequently fail. There is no "download everything" button.
Upgrading or downgrading between Premium and Premium+ is done in your account settings.
## Account Management and Login
[Section titled "Account Management and Login"](#account-management-and-login)
You manage your subscription and view cloud media by signing in at gopro.com and through the Quik mobile app. From your account you can see your plan, change between Premium and Premium+, update billing, and start or stop auto-renew. The Quik app is where you browse uploaded media, build edits, and share.
## How to Cancel GoPro Cloud
[Section titled "How to Cancel GoPro Cloud"](#how-to-cancel-gopro-cloud)
You cancel a GoPro subscription from your account settings on gopro.com or in the app, by turning off auto-renew. Two things to know before you do:
* **You lose access to your cloud footage when the subscription ends.** The cloud library is a benefit of the subscription, not a permanent store.
* **GoPro does not publish an exact retention window** for how long already-uploaded media stays on its servers after you cancel. The safe assumption is that you should treat it as gone once your access ends.
The practical takeaway: download or move your footage somewhere you control before you cancel. There is a step-by-step walkthrough in [How to Cancel GoPro Plus Without Losing Your Footage](/kb/articles/cancel-gopro-plus-save-your-footage/).
## The Limit Nobody Mentions: Your Footage Lives and Dies With the Subscription
[Section titled "The Limit Nobody Mentions: Your Footage Lives and Dies With the Subscription"](#the-limit-nobody-mentions-your-footage-lives-and-dies-with-the-subscription)
GoPro Cloud is convenient, and for an active shooter the unlimited tier is genuinely a good deal. But it is one copy, in one company's cloud, that you can only reach while you keep paying. There is no second copy, no versioning, and no third-party tool with API access if something goes wrong. If you stop paying, change cameras, or GoPro changes its terms, the footage you cannot easily bulk-download is the footage you can lose.
That is not an argument against GoPro Cloud. It is an argument for having a copy of your own alongside it.
## How to Keep a Copy You Own
[Section titled "How to Keep a Copy You Own"](#how-to-keep-a-copy-you-own)
Blober is the only desktop app that connects to GoPro Cloud, because no other transfer tool (rclone, MultCloud, Flexify, and the rest) supports it. You sign in to GoPro through Blober, browse your entire library, and send it wherever you want:
* Your local drive, an external disk, or a NAS
* Backblaze B2 or Wasabi for cheap long-term storage
* Dropbox, Google Drive, AWS S3, Azure Blob, Cloudflare R2, or DigitalOcean Spaces
No 25-file zip limit, no manual batches. Connect, select everything, pick a destination, and run, with auto-resume if your connection drops. Keep your GoPro subscription or cancel it; either way the footage is now also on storage you control.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Is GoPro Cloud storage really unlimited?** For content captured on a GoPro camera (Fusion excluded), yes. Footage from other cameras counts against a separate allowance: 100 GB on Premium, 500 GB on Premium+.
**What file types does GoPro Cloud store?** GoPro video (`.mp4`, and `.360` on 360 cameras), GoPro photos (`.jpg` and `.gpr` RAW), and media you add through Quik from your phone or other cameras.
**How much does GoPro Cloud cost?** GoPro Premium is $59.99/year and Premium+ is $99.99/year. Confirm current pricing on GoPro's site, since it changes.
**Can I download all my GoPro Cloud footage at once?** Not through GoPro's website, which limits you to small zip batches. Blober is the only tool that can browse your full GoPro Cloud library and download or transfer all of it in one workflow.
**What happens to my footage if I cancel?** You lose access to the cloud library when the subscription ends, and GoPro does not publish how long the data is retained afterward. Download or move it before cancelling.
**Does any tool other than Blober connect to GoPro Cloud?** No. As of 2026, GoPro Cloud has no public API, and Blober is the only third-party desktop app that supports it as a source.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [How to Cancel GoPro Plus Without Losing Your Footage](/kb/articles/cancel-gopro-plus-save-your-footage/)
* [Back Up Your GoPro Cloud to Backblaze B2, AWS S3, or Local Storage](/kb/articles/back-up-gopro-cloud-to-backblaze-s3-or-local/)
* [GoPro Cloud vs Dropbox vs Google Drive: Where Should Your Footage Live?](/kb/articles/gopro-cloud-vs-dropbox-vs-google-drive/)
* Provider setup: [GoPro](/kb/docs/providers/gopro/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Keep your GoPro footage on storage you own. Blober is the only app that connects to GoPro Cloud, and it is a one-time purchase with no subscription and no per-GB fees.
**[Download Blober at blober.io](https://blober.io)**
# GoPro Cloud vs Dropbox vs Google Drive: Where Should Your Footage Live?
> An honest comparison of GoPro Cloud, Dropbox, and Google Drive for action-cam footage: cost per TB, upload friction, sharing, and what happens to your video long-term, with a clear recommendation.
## Where Should Your GoPro Footage Live?
[Section titled "Where Should Your GoPro Footage Live?"](#where-should-your-gopro-footage-live)
**The problem:** action-cam footage is big. A day of HERO video is tens of gigabytes, and a couple of seasons fills terabytes. GoPro Cloud, Dropbox, and Google Drive all want to hold it, but they are built for different jobs and priced very differently.
**The short answer:** GoPro Cloud is the best place to *capture and edit* footage because of auto-upload, but it locks your files to a subscription. Dropbox and Google Drive are better for *sharing and mixing footage with other files*, but their 2 TB tiers fill up fast and get expensive. For a large archive you rarely touch, none of the three is the cheapest home. Here is the full comparison.
## The Three at a Glance
[Section titled "The Three at a Glance"](#the-three-at-a-glance)
| | GoPro Cloud | Dropbox | Google Drive |
| -------------------------- | --------------------------- | ------------------------------- | ---------------------------- |
| Typical price | $59.99/yr (Premium) | $119.88/yr (Plus, 2 TB) | $99.99/yr (Google One, 2 TB) |
| Capacity | Unlimited for GoPro footage | 2 TB | 2 TB |
| GoPro auto-upload | Yes, built in | No | No |
| Works with non-GoPro files | Limited (100 GB on Premium) | Yes, any file | Yes, any file |
| Bulk download | Hard (25-file zips) | Yes | Yes (or Takeout) |
| Sharing | Quik edits and links | Strong link sharing | Strong, Workspace-friendly |
| If you stop paying | Lose cloud access | Account read-only, then limited | Over-quota, read-only |
Prices and allowances change; check each provider before deciding.
## Cost Per Terabyte Is the First Filter
[Section titled "Cost Per Terabyte Is the First Filter"](#cost-per-terabyte-is-the-first-filter)
The math flips depending on how much footage you have.
* **Under 2 TB, actively shooting GoPro:** GoPro Cloud's unlimited tier at $59.99/yr is the cheapest and least hassle, because it also auto-uploads and edits.
* **Under 2 TB, mixed with other work files:** Dropbox or Google Drive at roughly $100 to $120/yr make sense, since your footage sits next to everything else and shares cleanly.
* **Over 2 TB:** all three get awkward. GoPro Cloud stays unlimited but only for GoPro footage and only while you pay. Dropbox and Google Drive push you to pricier tiers. At this size, dedicated object storage is far cheaper, which is the subject of [the best storage for GoPro and action-cam footage](/kb/articles/best-cloud-storage-for-gopro-footage/).
## Upload Friction: GoPro Cloud Wins, Until You Want Out
[Section titled "Upload Friction: GoPro Cloud Wins, Until You Want Out"](#upload-friction-gopro-cloud-wins-until-you-want-out)
GoPro Cloud is the only one of the three that uploads your footage for you. Plug the camera in on Wi-Fi and the day's clips go up at full quality, then Quik builds a highlight reel. Dropbox and Google Drive have no GoPro integration, so you offload the SD card to a computer first, then upload by hand.
The friction reverses when you want your footage *out*. GoPro Cloud has no bulk export and caps web downloads at small zip batches. Dropbox and Google Drive both let you pull everything back down (Drive via the app or Takeout). So GoPro Cloud is the smoothest in, and the hardest out.
## Sharing
[Section titled "Sharing"](#sharing)
* **GoPro Cloud** shines for finished edits. Quik turns clips into shareable videos and links without you touching an editor.
* **Dropbox** is the strongest for sending raw files and folders to people, with reliable shared links and large-file support.
* **Google Drive** is best if your collaborators live in Google Workspace, with comments and in-place previews.
If your goal is a polished clip for social, GoPro Cloud is built for it. If your goal is handing a client or editor the raw footage, Dropbox or Drive is easier.
## What Happens Long-Term
[Section titled "What Happens Long-Term"](#what-happens-long-term)
This is the dimension people forget until it bites.
* **GoPro Cloud** is one copy that disappears when you stop paying, with no easy bulk export. It is a working cache, not an archive.
* **Dropbox and Google Drive** keep your files if you downgrade, but they go read-only or over-quota, and large libraries cost real money every year, forever.
None of the three gives you an owned, offline copy. For footage you want in ten years, you need a copy on storage you control, regardless of which service you shoot into.
## The Recommendation
[Section titled "The Recommendation"](#the-recommendation)
* **Actively shooting and want zero-effort backup plus quick edits:** keep GoPro Cloud. It is cheap and frictionless for that. But pair it with an owned copy so you are not one cancelled subscription away from losing everything.
* **You want footage alongside other files and easy sharing:** Dropbox or Google Drive, as long as you stay under 2 TB. Past that, the price climbs.
* **You have a large archive you rarely touch:** skip all three as the primary home and use cheap object storage or a NAS. See [the best storage for GoPro footage](/kb/articles/best-cloud-storage-for-gopro-footage/).
Whichever you choose for shooting, the smart setup is shoot in one place, archive in another.
## Blober Moves Footage Between All of Them
[Section titled "Blober Moves Footage Between All of Them"](#blober-moves-footage-between-all-of-them)
The reason you do not have to marry one service: Blober connects to GoPro Cloud (the only desktop app that does), Dropbox, Google Drive, and cheaper object storage like Backblaze B2 and Wasabi. You can:
* Pull your GoPro Cloud library down before cancelling and push it to Dropbox, Drive, B2, or a NAS
* Keep shooting into GoPro Cloud and run Blober now and then to copy new footage into an archive you own
* Move a Dropbox or Drive video library into cheaper storage when it outgrows the 2 TB tier
Connect a source, pick a destination, run. Auto-resume if the connection drops, no per-GB fee.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Is GoPro Cloud cheaper than Dropbox or Google Drive?** For GoPro footage under the unlimited tier, yes: $59.99/yr beats Dropbox (about $120/yr) and Google One (about $100/yr) for 2 TB. The catch is that GoPro Cloud only stores GoPro footage cheaply, and you lose access if you cancel.
**Can I move my footage from GoPro Cloud to Dropbox or Google Drive?** Yes, with Blober. It is the only app that connects to GoPro Cloud, so you can transfer your library straight to Dropbox, Google Drive, or anywhere else. Follow the [GoPro Cloud to Google Drive transfer guide](/kb/articles/move-gopro-cloud-to-google-drive/) for the complete setup.
**Which is best for sharing GoPro videos?** GoPro Cloud for polished highlight edits, Dropbox for sending raw files and folders, Google Drive if your collaborators use Google Workspace.
**What is the best cloud storage for a large GoPro archive?** For terabytes of footage you rarely touch, object storage like Backblaze B2 or Wasabi is far cheaper than any of these three. See [the best storage for GoPro and action-cam footage](/kb/articles/best-cloud-storage-for-gopro-footage/).
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [GoPro Cloud Storage: The Complete Guide](/kb/articles/gopro-cloud-storage-complete-guide/)
* [How to Transfer GoPro Cloud to Google Drive Without ZIP Files](/kb/articles/move-gopro-cloud-to-google-drive/)
* [The Best Storage for GoPro and Action-Cam Footage](/kb/articles/best-cloud-storage-for-gopro-footage/)
* [Back Up Your GoPro Cloud to Backblaze B2, AWS S3, or Local Storage](/kb/articles/back-up-gopro-cloud-to-backblaze-s3-or-local/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Shoot wherever you like and keep a copy you own. Blober is the only app that connects to GoPro Cloud, and it moves your footage to Dropbox, Google Drive, or cheaper storage. One-time purchase, no subscription.
**[Download Blober at blober.io](https://blober.io)**
# GoPro Cloud vs iCloud, OneDrive, and an External Drive
> Compare GoPro Cloud with iCloud, OneDrive, and external storage for camera upload, editing, sharing, and long-term video archives.
## These storage options solve different jobs
[Section titled "These storage options solve different jobs"](#these-storage-options-solve-different-jobs)
GoPro Cloud, iCloud, OneDrive, and an external drive can all hold video. That does not make them interchangeable.
GoPro Cloud is built around camera upload and Quik. iCloud is built around Apple devices and photo libraries. OneDrive is built around ordinary files, Windows, and Microsoft 365. An external drive is local storage that you own and manage.
The useful comparison is not "which one is best?" It is "which one should capture, share, and archive the footage?"
## GoPro Cloud: easiest camera workflow
[Section titled "GoPro Cloud: easiest camera workflow"](#gopro-cloud-easiest-camera-workflow)
GoPro Cloud has the cleanest path from a compatible GoPro camera into an online library. When the camera charges on a saved Wi-Fi network, it can upload new footage for use in Quik.
The tradeoff is account dependence. The cloud benefit follows the subscription. Unlimited storage also applies to compatible GoPro-captured footage, not every file from every camera.[\[1\]](http://web.archive.org/web/20260728173022/https://gopro.com/en/us/shop/subscriptions "Source: web.archive.org/web/20260728173022/https://gopro.com/en/us/shop/subscriptions")
Use it when automatic camera ingestion and Quik editing matter. Keep another copy when the footage matters beyond the current subscription.
## iCloud: strong inside the Apple photo library
[Section titled "iCloud: strong inside the Apple photo library"](#icloud-strong-inside-the-apple-photo-library)
iCloud Photos keeps full-resolution originals in the cloud and can leave smaller device copies when Optimize Storage is enabled. Apple documents support for HEIF, JPEG, RAW, PNG, GIF, TIFF, HEVC, and MP4.[\[2\]](https://support.apple.com/en-us/108782 "Source: support.apple.com/en-us/108782")
That covers common GoPro MP4 and HEVC video, but Apple's published list does not include GoPro's GPR RAW format or 360 project formats. Check a real sample before moving an unusual camera library.
iCloud is a good fit when the footage belongs in an Apple Photos workflow. It is less useful when editors, clients, or archive machines work outside that ecosystem.
## OneDrive: ordinary folders and Microsoft sharing
[Section titled "OneDrive: ordinary folders and Microsoft sharing"](#onedrive-ordinary-folders-and-microsoft-sharing)
OneDrive treats footage as files inside folders. That makes it easier to place video beside project documents and share it through Microsoft 365.
Microsoft currently documents a 250 GB maximum per file. It also recommends keeping normal sync workloads below 300,000 items for best performance, with a newer Windows-only preview raising the supported count for qualifying systems.[\[3\]](https://support.microsoft.com/en-US/onedrive/restrictions-and-limitations-in-onedrive-and-sharepoint "Source: support.microsoft.com/en-US/onedrive/restrictions-and-limitations-in-onedrive-and-sharepoint")
OneDrive is practical for active projects and familiar Windows folders. A large archive may need more planning around capacity, item counts, and sync behavior.
## External drive: simple ownership, single-device risk
[Section titled "External drive: simple ownership, single-device risk"](#external-drive-simple-ownership-single-device-risk)
An external drive has no cloud subscription and works without internet access. It is often the fastest place to edit large video files.
One drive is not a complete backup. Drives fail, cables are pulled, and portable disks are easy to lose. Keep at least one more copy in another physical location or cloud account.
## A practical split
[Section titled "A practical split"](#a-practical-split)
For many GoPro users, the clean setup uses more than one destination:
* GoPro Cloud receives footage from the camera.
* A computer or fast external SSD handles editing.
* OneDrive or iCloud holds active shared work when it fits the team.
* A second drive, NAS, or object-storage account holds the long-term archive.
Blober can move the GoPro Cloud library into local storage or another provider. That lets the camera workflow stay convenient without making the subscription the archive's only home.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [GoPro Cloud vs Dropbox vs Google Drive](/kb/articles/gopro-cloud-vs-dropbox-vs-google-drive/)
* [Best Cloud Storage for GoPro Footage](/kb/articles/best-cloud-storage-for-gopro-footage/)
* [GoPro Cloud Storage: The Complete Guide](/kb/articles/gopro-cloud-storage-complete-guide/)
* [Back Up GoPro Cloud to Backblaze, S3, or Local](/kb/articles/back-up-gopro-cloud-to-backblaze-s3-or-local/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Let each service do the job it is good at, then keep the archive somewhere you control. Blober moves your GoPro Cloud library to local storage, a NAS, or another cloud provider.
**[Download Blober at blober.io](https://blober.io)**
# Transfer GoPro Cloud Files in 45 Seconds with Blober
> Connect GoPro Cloud, browse your media, select individual files, multiple files, or an entire directory, and create a transfer workflow in 45 seconds.
## 45-Second Demo
[Section titled "45-Second Demo"](#45-second-demo)
This video shows the full process of creating a Blober workflow with GoPro Cloud as the source.
[Play](https://youtube.com/watch?v=TLvZ4Xo9c-g)
## What's Shown
[Section titled "What's Shown"](#whats-shown)
### 1. Connect GoPro Cloud
[Section titled "1. Connect GoPro Cloud"](#1-connect-gopro-cloud)
Select **GoPro Cloud** as your source, click **Open GoPro Login**, and sign in. Blober captures your session. No API keys, no config files, no CLI.
### 2. Browse Your Media
[Section titled "2. Browse Your Media"](#2-browse-your-media)
Click **Browse Files and Folders**. Blober loads your GoPro Cloud library. Files are listed with date and size.

You can select:
* **Individual files** by clicking a single file
* **Multiple files** by checking several files across folders
* **Entire directory** by ticking the **/ (Entire Storage)** checkbox
### 3. Create the Workflow
[Section titled "3. Create the Workflow"](#3-create-the-workflow)
Click **Submit Selection**. The workflow editor shows your GoPro Cloud source with the selected items. Pick your destination (local disk, Backblaze B2, AWS S3, Dropbox, or another supported provider), configure options, and click **Save Workflow**.

### 4. Run It
[Section titled "4. Run It"](#4-run-it)
Close the workflow editor with the **X** button in the top-right corner. On the Workflows page, click the green **Run** button on your workflow card. Blober starts the transfer with parallel downloads, progress tracking, and automatic resume.
## Why It Matters
[Section titled "Why It Matters"](#why-it-matters)
GoPro's web portal limits batch downloads to 25 files at a time, bundled as ZIPs. Large downloads often fail. There is no bulk export and no "Download All" button.
**Blober is the only tool that connects to GoPro Cloud.** rclone, MultCloud, and Flexify do not support GoPro as a source.
* **No manual downloads.** Files move directly from GoPro Cloud to your destination.
* **No file limits.** Transfer 10 files or 10,000 in one run.
* **No subscription.** Blober is a one-time purchase.
* **No middleman.** Everything runs on your machine. Your credentials stay local.
## Get Started
[Section titled "Get Started"](#get-started)
1. [Download Blober](https://blober.io/) (macOS, Windows, Linux)
2. Connect your GoPro Cloud account
3. Create a workflow and run it
# How to Backup Google Photos Without Google Takeout (After rclone Lost Access)
> Google Photos has no bulk download button. Takeout is slow and clumsy. rclone lost full library access in March 2025. Blober is the only desktop app that downloads and backs up your entire Google Photos library without Takeout.
## Google Photos Does Not Have a "Download All" Button
[Section titled "Google Photos Does Not Have a "Download All" Button"](#google-photos-does-not-have-a-download-all-button)
If you have 10,000 or 50,000 photos in Google Photos and you want them on your computer, Google gives you two options:
1. **Select photos manually** in the web interface. You can select up to 500 at a time, click download, and receive a zip file. Then repeat until you have covered your entire library.
2. **Use Google Takeout** to request an export of your entire library. Google will prepare zip archives and email you a download link. This process can take hours or even days depending on library size.
Neither option lets you browse your library, pick a destination, and transfer everything in one step. There is no sync, no resume, and no way to send files directly to another cloud provider.

***
## Google Takeout: The Problems Nobody Talks About
[Section titled "Google Takeout: The Problems Nobody Talks About"](#google-takeout-the-problems-nobody-talks-about)
Google Takeout is the official way to export your Google Photos library. On paper it works. In practice, it has real limitations:
* **Wait time.** Google creates your archive in the background. For large libraries, this can take 12 to 48 hours.
* **Zip file format.** Your photos arrive in multiple zip archives, often split into 2 GB chunks. You have to download each zip and extract them manually.
* **No folder structure.** Takeout dumps all photos into flat directories organized by date. If you had albums, those names may appear as metadata JSON files next to the images, not as actual folders.
* **No resume.** If a download fails, you start over. There is no incremental sync.
* **No direct cloud transfer.** You cannot send Takeout exports directly to Dropbox, Backblaze, or a NAS. Everything goes through your browser first.
For someone with 200 GB of family photos, Google Takeout means hours of waiting followed by hours of downloading and extracting.

***
## rclone Lost Full Library Access in March 2025
[Section titled "rclone Lost Full Library Access in March 2025"](#rclone-lost-full-library-access-in-march-2025)
Until early 2025, rclone had a Google Photos backend that could list and download your photo library. Then Google changed their API access policy.
Starting March 31, 2025, rclone can only download photos that were uploaded through the rclone API itself. If you uploaded your photos through the Google Photos app, the web interface, or any other method, rclone cannot access them anymore.
The rclone documentation states it clearly: "From March 31, 2025 rclone can only download photos it uploaded."
This means rclone is no longer a viable tool for backing up or migrating an existing Google Photos library. Other transfer tools like MultCloud, Flexify, and various CLI utilities face the same restriction or never supported Google Photos at all.

***
## Blober Downloads Your Entire Google Photos Library
[Section titled "Blober Downloads Your Entire Google Photos Library"](#blober-downloads-your-entire-google-photos-library)
Blober is a desktop application that connects to Google Photos and gives you a visual file browser showing your entire library. From there, you can:
* **Download all photos and videos** to your local disk, external drive, or NAS
* **Transfer your library to Dropbox**, Google Drive, Backblaze B2, AWS S3, or any other supported provider
* **Browse by album, date, or folder** with a familiar file manager interface
* **Resume interrupted transfers** automatically if your connection drops
* **Optionally skip files with existing filenames** by setting [Local destination deduplication](/kb/docs/providers/local/#option-deduplication) to **Filename**
No Google Takeout. No zip files. No manual selection. You connect your Google Photos account, pick a destination, and Blober handles the rest.
### How It Compares to Takeout
[Section titled "How It Compares to Takeout"](#how-it-compares-to-takeout)
| Feature | Google Takeout | Blober |
| ------------------------- | --------------------------- | ----------------------------------------------- |
| Bulk download | Yes, after hours of waiting | Yes, immediate |
| Folder structure | Flat zip archives | Albums and dates preserved |
| Resume on failure | No | Yes, automatic |
| Transfer to another cloud | No, browser download only | Yes, direct to any provider |
| Real-time browsing | No | Yes, visual file browser |
| Incremental sync | No | Optional filename deduplication for repeat runs |
For repeat exports, see [how task resume and Local filename deduplication prevent duplicate downloads](/kb/articles/avoid-duplicate-files-long-running-backups/). Resume an interrupted task to preserve its per-file progress; use the Local **Filename** option when intentionally starting a new export into the same folder.

***
## Common Use Cases
[Section titled "Common Use Cases"](#common-use-cases)
### Back Up Google Photos to a Local Drive
[Section titled "Back Up Google Photos to a Local Drive"](#back-up-google-photos-to-a-local-drive)
Connect Google Photos in Blober, select your local disk as the destination, and transfer. Every photo and video downloads to a folder on your computer. If you have 100 GB of photos, Blober will transfer them without creating zip files or requiring extraction.
### Migrate Google Photos to Dropbox or iCloud
[Section titled "Migrate Google Photos to Dropbox or iCloud"](#migrate-google-photos-to-dropbox-or-icloud)
If you are leaving Google Photos for another service, Blober lets you transfer your library directly. Connect Google Photos as the source and Dropbox as the destination. Your photos move from one cloud to the other without touching your local disk (or through it, if you prefer a local copy).
### Create a Cold Backup on Backblaze B2
[Section titled "Create a Cold Backup on Backblaze B2"](#create-a-cold-backup-on-backblaze-b2)
Pair Google Photos with Backblaze B2 in Blober. Your entire photo library gets copied to B2 at $6.95/TB/month for storage. This gives you an independent backup that does not depend on Google.
***
## Why This Matters
[Section titled "Why This Matters"](#why-this-matters)
Google Photos is not a backup. It is a service that can change its terms, adjust its storage pricing, or restrict access at any time. The March 2025 API change proved that: tools that worked for years stopped working overnight.
Having a local copy of your photos, or a copy in a second cloud provider, means you are not dependent on a single company to access your own memories.
Blober makes that transfer possible without the pain of Google Takeout, without CLI configuration, and without selecting 500 photos at a time.
***
## Who Is This For?
[Section titled "Who Is This For?"](#who-is-this-for)
* **Anyone with a large Google Photos library** who wants a local backup
* **Users leaving Google Photos** for Dropbox, iCloud, or another service
* **Parents and families** with years of photos who want a second copy on a hard drive
* **Photographers** who used Google Photos as a sync target and need to migrate
* **Privacy-conscious users** who want their photos on storage they control
***
## Get Blober
[Section titled "Get Blober"](#get-blober)
Blober is a one-time purchase with a lifetime license. No subscriptions. No transfer fees. No transfer limits. It runs on Mac, Windows, and Linux.
**[Download Blober at blober.io](https://blober.io)**
# How to Download All Your GoPro Cloud Videos to Your Computer
> No tool supports GoPro Cloud file transfers. Not rclone, not MultCloud, not any CLI. Blober is the only desktop app that connects to GoPro Cloud to download all your videos and photos to your computer, NAS, or any cloud provider.
## GoPro Cloud Is a One-Way Street
[Section titled "GoPro Cloud Is a One-Way Street"](#gopro-cloud-is-a-one-way-street)
GoPro Cloud stores your footage after it auto-uploads from your camera. But once your videos and photos land there, getting them out is a different story. There is no public API, no bulk download feature, and no way to transfer your media directly to another cloud provider.
If you want to move a single clip, you open the GoPro app on your phone, download it to your device, then manually upload it somewhere else. For a handful of files, that works. For hundreds of gigabytes of 5.3K footage from a year of riding, surfing, or travel, it does not.

***
## No Other Tool Supports GoPro Cloud
[Section titled "No Other Tool Supports GoPro Cloud"](#no-other-tool-supports-gopro-cloud)
This is not a matter of choosing the right CLI command or configuring a remote. GoPro Cloud is a proprietary system with no documented API for third-party developers.
* **rclone** has never had a GoPro Cloud backend. It does not appear in any version of the changelog going back to 2012.
* **MultCloud** and **Flexify** list dozens of cloud providers but GoPro Cloud is not among them.
* **CLI tools** for GoPro focus on camera firmware and settings, not cloud storage transfers.
The result: if your footage lives in GoPro Cloud, every other transfer tool on the market leaves you stranded.

***
## Blober Connects Directly to GoPro Cloud
[Section titled "Blober Connects Directly to GoPro Cloud"](#blober-connects-directly-to-gopro-cloud)
Blober is a desktop application (Mac, Windows, Linux) that connects to GoPro Cloud as a first-class provider. You sign in with your GoPro account, and Blober gives you a visual file browser showing all your uploaded media.
From there, you can:
* **Download all your GoPro footage** to your local disk or NAS in one transfer
* **Transfer GoPro Cloud media to Dropbox**, Google Drive, or any other supported provider
* **Upload DJI media to GoPro Cloud**, letting you consolidate action camera footage from multiple brands in one place
* **Copy files between any two providers** without routing data through a remote server
Blober runs entirely on your machine. Files stream directly between your computer and the provider APIs. No middleman, no SaaS relay, no monthly subscription.

***
## How a Typical Transfer Works
[Section titled "How a Typical Transfer Works"](#how-a-typical-transfer-works)
Without Blober, backing up GoPro Cloud footage to Dropbox looks like this:
1. Open the GoPro app on your phone
2. Select a video
3. Download it to your phone storage
4. Open the Dropbox app
5. Upload the video
6. Repeat for every file
With Blober:
1. Open Blober on your computer
2. Connect your GoPro Cloud account and your Dropbox account
3. Select the files (or select all)
4. Click transfer
Blober handles the rest, including auto-resume if your connection drops.

***
## DJI Users: Consolidate Your Footage
[Section titled "DJI Users: Consolidate Your Footage"](#dji-users-consolidate-your-footage)
If you shoot with both a GoPro and a DJI drone or action camera, your footage ends up scattered across local drives, SD cards, and cloud services. Blober lets you upload DJI media directly to GoPro Cloud, Google Drive, Dropbox, or any combination of providers.
This means you can keep all your action camera footage in one place, regardless of which brand captured it.
***
## Why This Matters for Backup
[Section titled "Why This Matters for Backup"](#why-this-matters-for-backup)
GoPro Cloud is not a backup if you cannot get your files out. A backup requires that you can retrieve your data when you need it. Without a download or transfer mechanism, GoPro Cloud is storage you cannot control.
Blober turns GoPro Cloud into a real part of your backup workflow:
* Pull footage from GoPro Cloud to a local drive as a cold backup
* Mirror GoPro Cloud to Backblaze B2 or Wasabi for cheap long-term archival
* Sync GoPro Cloud with Google Drive so your footage is accessible from any device
***
## Who Is This For?
[Section titled "Who Is This For?"](#who-is-this-for)
* **GoPro users** who want to download their entire cloud library to a computer or external drive
* **Content creators** who shoot on GoPro and DJI and need to consolidate footage
* **Travelers and adventurers** who auto-upload to GoPro Cloud and want a second copy elsewhere
* **Photographers** switching away from GoPro Cloud who need to migrate their media
* **Anyone** who tried to bulk-download from GoPro Cloud and found there is no option
***
## Get Blober
[Section titled "Get Blober"](#get-blober)
Blober is a one-time purchase with a lifetime license. No subscriptions. No transfer fees. No transfer limits.
**[Download Blober at blober.io](https://blober.io)**
# How to Migrate from DigitalOcean Spaces to AWS S3
> Transfer your DigitalOcean Spaces data to AWS S3 with Blober. Multi-region aware, tier detection, and parallel uploads included.
## Growing Out of DigitalOcean Spaces
[Section titled "Growing Out of DigitalOcean Spaces"](#growing-out-of-digitalocean-spaces)
DigitalOcean Spaces is a good starting point for object storage. It is simple, affordable ($5/month for 250 GB + 1 TB transfer), and S3-compatible. For small to mid-size projects, it does the job.
But as your storage needs grow, you run into limitations:
* **Region constraints.** Spaces are region-scoped. Each region only sees its own Spaces. Cross-region replication is not available.
* **No storage tiers.** Everything is stored at the same tier. There is no equivalent to S3's Glacier or Intelligent-Tiering for cost optimization.
* **Limited ecosystem.** AWS S3 integrates with hundreds of services: Lambda, CloudFront, Athena, Step Functions, SageMaker. DigitalOcean's ecosystem is smaller.
* **Bandwidth limits.** The included 1 TB transfer can be burned through quickly on busy applications.
When a project outgrows Spaces, AWS S3 is the most common destination.
## Multi-Region Complexity
[Section titled "Multi-Region Complexity"](#multi-region-complexity)
DigitalOcean runs Spaces across 7 regions: NYC3, SFO3, AMS3, SGP1, FRA1, SYD1, and BLR1. If you have Spaces in multiple regions, you need to handle each region separately.
Blober detects all your Spaces across all DigitalOcean regions automatically. When you connect your DigitalOcean account, Blober probes all 7 regions in parallel and presents a unified view of all your Spaces. You do not need to configure each region separately.
## Tier Detection
[Section titled "Tier Detection"](#tier-detection)
DigitalOcean recently introduced cold storage tiers for Spaces. Blober detects whether a Space is using Standard or Cold storage and flags it accordingly. This helps you make informed decisions about which S3 storage class to target.
## How to Transfer
[Section titled "How to Transfer"](#how-to-transfer)
### Step 1: Connect DigitalOcean Spaces
[Section titled "Step 1: Connect DigitalOcean Spaces"](#step-1-connect-digitalocean-spaces)
Add DigitalOcean Spaces as a provider in Blober. You can use either:
* **S3-compatible credentials** (Access Key + Secret Key) for basic access
* **Personal Access Token** for richer bucket listing with project metadata
Blober discovers all your Spaces across all regions.
### Step 2: Connect AWS S3
[Section titled "Step 2: Connect AWS S3"](#step-2-connect-aws-s3)
Add AWS S3 with your Access Key ID, Secret Access Key, and preferred region. Blober lists your S3 buckets.
### Step 3: Map and Transfer
[Section titled "Step 3: Map and Transfer"](#step-3-map-and-transfer)
Create a workflow with DigitalOcean as the source and S3 as the destination. Browse your Spaces, select files or entire Spaces, and choose the target S3 bucket and storage class.
Options for the destination:
* **Storage class**: Standard, Intelligent-Tiering, Standard-IA, Glacier Instant Retrieval, Glacier, or Deep Archive
* **Target bucket**: Any existing S3 bucket (or create one in the AWS console first)
### Step 4: Run
[Section titled "Step 4: Run"](#step-4-run)
Blober handles the transfer with parallel multipart uploads on both sides. S3-to-S3-compatible transfers are efficient because both services speak the same protocol.
## Cost Comparison
[Section titled "Cost Comparison"](#cost-comparison)
| | DigitalOcean Spaces | AWS S3 Standard | AWS S3 Standard-IA |
| ------------------- | -------------------------------------- | --------------- | ------------------ |
| Storage (1 TB) | $5/mo (250 GB included) + $20/mo extra | $23/mo | $12.50/mo |
| Bandwidth (1 TB) | Included | $90/mo | $90/mo |
| PUT requests (100K) | $0.50 | $0.50 | $1.00 |
DigitalOcean is cheaper for simple, low-traffic use cases. S3 is more cost-effective at scale with its tiering options, especially if you use Intelligent-Tiering or Glacier for archival data.
## Get Blober
[Section titled "Get Blober"](#get-blober)
One-time purchase. Transfer as much as you need.
**[Download Blober at blober.io](https://blober.io)**
# How to Migrate from Google Drive to Backblaze B2
> Step-by-step guide to transfer files from Google Drive to Backblaze B2 using Blober. Google Docs convert automatically, no Takeout needed.
## Why Move from Google Drive to Backblaze B2?
[Section titled "Why Move from Google Drive to Backblaze B2?"](#why-move-from-google-drive-to-backblaze-b2)
Google Drive is a collaboration tool with storage built in. Backblaze B2 is pure storage built for scale. The reasons people move between them usually come down to one or more of these:
* **Cost.** Google One charges $100/year for 2 TB. Backblaze B2 charges $6.95/TB/month, but for archival or backup data you access rarely, the math works differently. If you are storing 5+ TB of media, raw footage, or project archives, B2 can be significantly cheaper depending on your access patterns.
* **Control.** B2 gives you S3-compatible API access, which means you can integrate it with backup tools, CDNs, media workflows, and custom applications. Google Drive's API is more limited for bulk operations.
* **Redundancy.** Keeping a copy of your Google Drive data in B2 means you are not dependent on a single provider. If Google changes pricing, restricts your account, or has an outage, your files are safe elsewhere.
## The Google Drive Challenge
[Section titled "The Google Drive Challenge"](#the-google-drive-challenge)
Google Drive stores native files (Docs, Sheets, Slides) as cloud-only application states, not as downloadable files. When you need them outside of Google, they must be converted to Office formats first.
Google Takeout can export your Drive, but it takes hours, produces fragmented zip archives, and flattens your folder structure. For a migration to B2 specifically, Takeout is especially awkward because you would need to download everything locally, extract it, then upload it to B2 using a separate tool.
## How Blober Handles It
[Section titled "How Blober Handles It"](#how-blober-handles-it)
Blober connects to both Google Drive and Backblaze B2. It handles the tricky parts automatically:
* **Google Docs become .docx files** during transfer
* **Google Sheets become .xlsx files** during transfer
* **Google Slides become .pptx files** during transfer
* **Regular files** (photos, videos, PDFs) transfer as-is
* **Folder structure** is preserved in your B2 bucket
* **Shared files** are accessible through a "Shared with me" virtual folder
### Steps
[Section titled "Steps"](#steps)
1. **Connect Google Drive**: Add Google Drive as a provider in Blober. OAuth login through your browser.
2. **Connect Backblaze B2**: Add B2 with your Application Key ID and Application Key. Blober auto-detects your bucket regions.
3. **Create a workflow**: Set Google Drive as source, B2 as destination. Browse and select files or folders.
4. **Run**: Blober streams files from Google Drive to B2 through your machine. No local storage needed for intermediate files.
## Storage Cost Comparison
[Section titled "Storage Cost Comparison"](#storage-cost-comparison)
| | Google One (2 TB) | Backblaze B2 (2 TB) |
| ------- | ------------------------------- | -------------------- |
| Monthly | $8.33 | \~$14 |
| Annual | $100 | \~$167 |
| 5 TB | $25/month (Google One Premium) | \~$35/month |
| 10 TB+ | Not available on consumer plans | \~$70/month |
| Egress | Free (via Drive sync/download) | Free up to 3x stored |
For small amounts of active data, Google Drive is the better deal. For large archives, backups, and media libraries that you rarely access, B2's pay-for-what-you-use model wins.
## A Common Setup
[Section titled "A Common Setup"](#a-common-setup)
Many people do not fully leave Google Drive. Instead, they keep it for active collaboration (shared documents, team folders) and move everything else to B2:
* Current projects stay in Google Drive for real-time editing
* Completed projects, old photos, and archives go to Backblaze B2
* Blober handles the transfer once, then you adjust your Google storage plan
This hybrid approach gives you the best of both: Google's collaboration features for active work and B2's affordable storage for everything else.
## Get Blober
[Section titled "Get Blober"](#get-blober)
One-time purchase. No subscription, no per-GB fees.
**[Download Blober at blober.io](https://blober.io)**
# How to Migrate Google Drive Files to AWS S3
> Transfer your Google Drive files to Amazon S3 with Blober. Google Docs auto-convert to Office formats, folder structure is preserved, and no Takeout required.
## When Google Drive Is Not Enough
[Section titled "When Google Drive Is Not Enough"](#when-google-drive-is-not-enough)
Google Drive works great as a collaboration tool. Real-time editing, sharing links, 15 GB free storage. But when your data grows past a few hundred gigabytes, or when you need programmatic access, versioning policies, or storage tiering, Google Drive starts showing its limits.
AWS S3 is built for exactly those use cases. It handles petabytes, offers multiple storage classes, integrates with hundreds of AWS services, and gives you full API control. The gap between Google Drive and S3 is not about which is "better." It is about what each one is built for.
Moving from one to the other is where things get complicated.
## The Google Drive Export Problem
[Section titled "The Google Drive Export Problem"](#the-google-drive-export-problem)
Google Drive stores some files as native Google formats: Google Docs, Google Sheets, Google Slides. These are not actual files on disk. They are application states stored in Google's cloud. You cannot download a "Google Doc file" the way you download a PDF.
When you export from Google Drive (or use Google Takeout), these files get converted to their Microsoft Office equivalents: DOCX, XLSX, PPTX. But this conversion is often inconsistent with Takeout, and the folder structure gets flattened.
## How Blober Handles Google Drive to S3
[Section titled "How Blober Handles Google Drive to S3"](#how-blober-handles-google-drive-to-s3)
Blober connects to Google Drive via OAuth and to AWS S3 via access keys. It solves the two biggest pain points of this migration:
### Automatic Google Docs Conversion
[Section titled "Automatic Google Docs Conversion"](#automatic-google-docs-conversion)
When Blober encounters a Google Doc, Sheet, or Slide, it automatically converts it to the corresponding Office format (DOCX, XLSX, PPTX) during transfer. This happens on the fly. You do not need to manually export anything.
The converted files land in your S3 bucket in a usable format that any application can read.
### Folder Structure Preserved
[Section titled "Folder Structure Preserved"](#folder-structure-preserved)
Blober recreates your Google Drive folder hierarchy in S3. If you have `Work/Projects/2025/Proposal.docx` in Google Drive, it becomes `Work/Projects/2025/Proposal.docx` in your S3 bucket. No flat dumps, no reorganization needed.
### Shared Files Included
[Section titled "Shared Files Included"](#shared-files-included)
Google Drive has a "Shared with me" section that is separate from your main drive. Blober shows this as a browsable folder, so you can include shared files in your migration if needed.
### Steps
[Section titled "Steps"](#steps)
1. **Connect Google Drive**: Add Google Drive as a provider. Blober opens a browser window for OAuth authorization. Sign in and grant access.
2. **Connect AWS S3**: Add S3 with your Access Key ID, Secret Access Key, and region.
3. **Create a workflow**: Set Google Drive as source, S3 as destination. Browse your Drive, select files and folders.
4. **Choose S3 options**: Pick the storage class (Standard, Intelligent-Tiering, Standard-IA, Glacier, etc.) and target bucket.
5. **Run**: Blober transfers with progress tracking and auto-resume.
## S3 Storage Class Selection
[Section titled "S3 Storage Class Selection"](#s3-storage-class-selection)
One advantage of moving to S3 is choosing the right storage class for your data:
| Storage Class | Use Case | Cost (per TB/mo) |
| -------------------- | --------------------------------- | ---------------------- |
| Standard | Frequently accessed files | \~$23 |
| Intelligent-Tiering | Unknown access patterns | \~$23 (auto-optimizes) |
| Standard-IA | Infrequent access, fast retrieval | \~$12.50 |
| Glacier Instant | Archive with instant access | \~$4 |
| Glacier Deep Archive | Long-term cold storage | \~$1 |
With Blober, you set the storage class when creating the workflow. All transferred files land on the tier you choose. If you want different tiers for different data, create multiple workflows.
## Who Does This
[Section titled "Who Does This"](#who-does-this)
* **Startups** growing out of Google Workspace who need infrastructure-grade storage
* **Data teams** that need to run analytics on files currently in Google Drive
* **Companies** consolidating storage to AWS for compliance or integration reasons
* **Developers** who want S3's API and event-driven architecture instead of Google Drive's sync model
## Get Blober
[Section titled "Get Blober"](#get-blober)
One-time purchase. No per-GB fees, no subscription.
**[Download Blober at blober.io](https://blober.io)**
# How to Move Data from Azure Blob Storage to Cloudflare R2
> Transfer files from Azure Blob to Cloudflare R2 and eliminate egress fees. Blober handles the migration with parallel uploads and S3-compatible writes.
## The Egress Problem
[Section titled "The Egress Problem"](#the-egress-problem)
Azure Blob Storage charges $0.087 per GB for data leaving their network. If you serve 1 TB of files per month to users or external systems, that is $87/month in egress alone, on top of storage costs.
Cloudflare R2 charges $0 for egress. Zero. Nothing. You pay for storage ($0.015/GB/month) and operations, but downloading data from R2 is free. For applications that serve files to users, APIs, CDNs, or other services, switching to R2 can cut your cloud bill significantly.
## Why People Make This Move
[Section titled "Why People Make This Move"](#why-people-make-this-move)
The most common reason is cost. If your Azure Blob account is mostly used for serving static assets, media files, backups that get restored frequently, or API responses, the egress fees can dwarf your storage costs. R2 removes that variable entirely.
Another reason is simplicity. R2 is S3-compatible, meaning any tool or SDK that works with S3 works with R2. If your application already uses the S3 API (many do, even on Azure), the migration is mostly about moving data and updating the endpoint.
## How to Transfer with Blober
[Section titled "How to Transfer with Blober"](#how-to-transfer-with-blober)
Blober supports both Azure Blob Storage and Cloudflare R2 as native providers. The transfer works like any other Blober workflow: connect both accounts, select files, run.
### Step 1: Connect Azure Blob Storage
[Section titled "Step 1: Connect Azure Blob Storage"](#step-1-connect-azure-blob-storage)
Add Azure Blob as a provider with your connection string. Blober lists your containers and their contents.
### Step 2: Connect Cloudflare R2
[Section titled "Step 2: Connect Cloudflare R2"](#step-2-connect-cloudflare-r2)
Add Cloudflare R2 as a provider. You will need your Account ID along with an S3-compatible Access Key ID and Secret Access Key from the Cloudflare dashboard. If you also provide a Cloudflare API token, Blober can list your buckets through Cloudflare's native API with server-side pagination, which is more efficient for accounts with many buckets.
### Step 3: Create a Workflow
[Section titled "Step 3: Create a Workflow"](#step-3-create-a-workflow)
Set Azure Blob as the source and Cloudflare R2 as the destination. Browse your Azure containers, select the files or containers you want to migrate, and choose the destination bucket in R2.
### Step 4: Run
[Section titled "Step 4: Run"](#step-4-run)
Blober streams data from Azure through your machine to R2. It uses parallel uploads on both ends, so large files move efficiently. If the transfer is interrupted, Blober resumes from where it stopped.
## What About Azure Egress Fees During Migration?
[Section titled "What About Azure Egress Fees During Migration?"](#what-about-azure-egress-fees-during-migration)
This is the unavoidable part. Moving data out of Azure means paying egress. For the initial migration, you will pay $0.087/GB to get your data from Azure to your machine (where Blober runs), and from there to R2.
For 1 TB, that is about $87 in egress fees. That is a one-time cost. After the migration, your ongoing egress from R2 is $0.
If you were paying $87/month in Azure egress, the migration pays for itself in the first month.
### Migration Cost Estimate
[Section titled "Migration Cost Estimate"](#migration-cost-estimate)
| Data Size | Azure Egress Cost (one-time) | Monthly Savings on R2 |
| --------- | ---------------------------- | ------------------------- |
| 500 GB | \~$43 | Depends on egress pattern |
| 1 TB | \~$87 | Up to $87/month |
| 5 TB | \~$435 | Up to $435/month |
| 10 TB | \~$870 | Up to $870/month |
## R2 Is S3-Compatible
[Section titled "R2 Is S3-Compatible"](#r2-is-s3-compatible)
This matters because your application code likely uses the AWS SDK or an S3-compatible client. After migrating data to R2, updating your app is often as simple as changing the endpoint URL and credentials. No SDK changes, no API rewrites.
Blober connects to R2 using the same S3 protocol, so the transfer is seamless.
## When Azure Is Still the Right Choice
[Section titled "When Azure Is Still the Right Choice"](#when-azure-is-still-the-right-choice)
R2 is excellent for serving files and eliminating egress. But Azure has features that R2 does not:
* **Storage tiers** (Hot, Cool, Cold, Archive) for lifecycle cost optimization
* **Geo-redundant replication** built into the platform
* **Azure Functions and event triggers** tied to blob operations
* **Enterprise compliance certifications** that some industries require
If you need those features, Azure is worth the egress premium. Many teams keep some data on Azure (for processing and compliance) and move the served/public data to R2 (for cost savings).
## Get Blober
[Section titled "Get Blober"](#get-blober)
One-time purchase. Transfer as much data as you need.
**[Download Blober at blober.io](https://blober.io)**
# How to Move Files from Dropbox to Backblaze B2
> Step-by-step guide to transfer your Dropbox files to Backblaze B2 using Blober. Save on storage costs without downloading everything to your computer first.
## Why People Leave Dropbox for Backblaze B2
[Section titled "Why People Leave Dropbox for Backblaze B2"](#why-people-leave-dropbox-for-backblaze-b2)
Dropbox works well as a file sync tool. You drop files in a folder and they show up on all your devices. But as your data grows, Dropbox gets expensive. The Plus plan costs $120/year for 2 TB. If you have 5 TB or more, you need Dropbox Business at $180/year per user.
Backblaze B2 charges $6.95 per TB per month for storage. For 2 TB, that is about $14/month or $167/year. But here is where it gets interesting: most of the data sitting in Dropbox is not being actively synced. It is old projects, archives, backups, photos from three years ago. That data does not need instant sync to every device. It needs to be stored cheaply and retrieved when needed.
For archival and backup storage, Backblaze B2 is significantly cheaper. And unlike Dropbox, you only pay for what you use. No fixed plans, no storage ceilings.
## The Problem with Moving Data Out of Dropbox
[Section titled "The Problem with Moving Data Out of Dropbox"](#the-problem-with-moving-data-out-of-dropbox)
The obvious approach is to download everything from Dropbox to your computer, then upload it to Backblaze B2. This works for small amounts of data. For 500 GB or more, it becomes painful:
* You need enough free space on your local disk to hold the download
* Downloading takes hours or days depending on your connection
* Uploading to B2 takes equally long
* If anything fails midway, you start over
Some people try rclone for this. rclone works, but you need to configure both remotes in a text file, understand the command syntax, and handle errors yourself. If you are comfortable with the terminal, rclone is a solid choice. If you are not, it is a wall.
## How to Transfer with Blober
[Section titled "How to Transfer with Blober"](#how-to-transfer-with-blober)
Blober connects to both Dropbox and Backblaze B2. You set up both providers, select the files you want to move, and Blober handles the transfer. Files stream from Dropbox through your computer to Backblaze B2 without needing to store them locally.
### Step 1: Connect Dropbox
[Section titled "Step 1: Connect Dropbox"](#step-1-connect-dropbox)
Add Dropbox as a provider in Blober. Click the OAuth login button and authorize Blober with your Dropbox account. Blober stores your credentials locally on your machine, not on any server.
### Step 2: Connect Backblaze B2
[Section titled "Step 2: Connect Backblaze B2"](#step-2-connect-backblaze-b2)
Add Backblaze B2 as a provider. You will need your Application Key ID and Application Key from the Backblaze dashboard. Blober verifies the connection and lists your buckets.
### Step 3: Create a Workflow
[Section titled "Step 3: Create a Workflow"](#step-3-create-a-workflow)
Create a new workflow with Dropbox as the source and Backblaze B2 as the destination. Browse your Dropbox files, select what you want to transfer, and choose which B2 bucket to send it to.
### Step 4: Run
[Section titled "Step 4: Run"](#step-4-run)
Click run. Blober transfers files with parallel uploads, progress tracking, and automatic resume if your connection drops.
## What About Folder Structure?
[Section titled "What About Folder Structure?"](#what-about-folder-structure)
Blober preserves your folder structure. If you have `Projects/2024/Client-A/` in Dropbox, it creates the same path in your B2 bucket. You do not end up with a flat pile of files.
## Cost Comparison
[Section titled "Cost Comparison"](#cost-comparison)
| | Dropbox Plus | Backblaze B2 (2 TB) |
| ------------ | -------------------------------- | ----------------------------------------------- |
| Monthly cost | $10/month | \~$14/month |
| 5 TB | Need Business plan ($15/user/mo) | \~$35/month |
| 10 TB | Need Business plan | \~$70/month |
| Egress | Free (sync) | Free to Cloudflare partners, $0.01/GB otherwise |
| API access | OAuth | S3-compatible |
For pure storage (not sync), B2 wins at every tier above 2 TB. And if you pair B2 with Cloudflare CDN through the Bandwidth Alliance, egress is free.
## When to Keep Dropbox
[Section titled "When to Keep Dropbox"](#when-to-keep-dropbox)
This is not about abandoning Dropbox entirely. Dropbox is great for active files you need on every device. The move that makes sense for most people is:
* Keep Dropbox for current projects and actively used files
* Move archives, old projects, and large media to Backblaze B2
* Use Blober to transfer the archival data once, then cancel the upgraded Dropbox plan
## Get Blober
[Section titled "Get Blober"](#get-blober)
Blober is a one-time purchase. No subscription, no per-GB transfer fees.
**[Download Blober at blober.io](https://blober.io)**
# How to Move Files from Dropbox to Google Drive
> Transfer your Dropbox files to Google Drive with Blober. Direct cloud-to-cloud transfer without downloading everything to your computer first.
## Move Dropbox to Google Drive Without Filling Your Disk
[Section titled "Move Dropbox to Google Drive Without Filling Your Disk"](#move-dropbox-to-google-drive-without-filling-your-disk)
**The problem:** there is no built-in transfer between Dropbox and Google Drive. The manual route makes you download your entire Dropbox to your computer, then upload all of it to Drive. That needs free disk space equal to your whole library and sends every file over the network twice.
**The short answer:** you have three realistic options. Drag and drop through the desktop apps, upload through the browser, or run a direct cloud-to-cloud transfer with Blober that streams each file from Dropbox to Google Drive without saving it to your disk. Here is how they compare.
| Method | Local disk needed | Speed | Folder structure | Best for |
| -------------------------------- | --------------------------------- | -------------------------------- | --------------------------------- | --------------------------------------- |
| Manual (desktop sync, then drag) | Full library size | Slow: download, then upload | You may have to rebuild it | A single small folder |
| Browser upload | Enough to download first | Slow | Preserved if you recreate folders | A few gigabytes |
| Blober (direct) | None, files stream through memory | About half the time, single pass | Preserved automatically | Whole-account moves and large libraries |
People switch from Dropbox to Google Drive for a few common reasons:
* Their company standardized on Google Workspace and needs everything in Drive
* Google One pricing is more competitive for their storage needs (2 TB for $100/year vs Dropbox Plus at $120/year)
* They want the Google Docs, Sheets, and Slides collaboration features
* They are consolidating everything under one Google account
The actual move is where friction shows up.
## The Manual Way
[Section titled "The Manual Way"](#the-manual-way)
Without a migration tool, moving from Dropbox to Google Drive looks like this:
1. Install the Dropbox desktop client
2. Wait for all files to sync to your computer
3. Drag those files into your Google Drive folder (if using the desktop client) or upload them through the browser
4. Wait for everything to upload
5. Verify nothing was missed
This requires enough local disk space to hold your entire Dropbox. If you have 500 GB in Dropbox and a 256 GB laptop, you are stuck.
Even with enough space, the process is slow. You are downloading everything from Dropbox's servers to your local disk, then uploading everything from your local disk to Google's servers. That is double the transfer time.
## How Blober Does It
[Section titled "How Blober Does It"](#how-blober-does-it)
Blober connects to both Dropbox and Google Drive. Files stream from Dropbox through your computer to Google Drive without being stored on your local disk. You need just enough memory to buffer the current file being transferred, not enough disk space for your entire library.
### What This Means Practically
[Section titled "What This Means Practically"](#what-this-means-practically)
* **No disk space worries.** A 1 TB Dropbox migrates to Google Drive even on a laptop with 128 GB of storage.
* **Half the network time.** Instead of download + upload (two trips), Blober streams the data through in a single pass. The download from Dropbox and upload to Google Drive happen simultaneously.
* **Folder structure preserved.** Your Dropbox folder hierarchy recreates exactly in Google Drive.
### Steps
[Section titled "Steps"](#steps)
1. **Connect Dropbox**: OAuth login in your browser. Blober supports both long-term OAuth tokens (with refresh) and direct access tokens.
2. **Connect Google Drive**: OAuth login in your browser. Blober accesses your Drive files.
3. **Browse and select**: Navigate your Dropbox in Blober's file browser. Select specific folders or your entire Dropbox.
4. **Create a workflow**: Set Dropbox as source, Google Drive as destination.
5. **Run**: Blober transfers with auto-resume and progress tracking.
Moving your whole Dropbox? Blober streams it straight into Google Drive without filling your laptop. [Download Blober](https://blober.io), connect both accounts, and start the transfer.
## Copy and Move Support
[Section titled "Copy and Move Support"](#copy-and-move-support)
Dropbox is one of the providers where Blober supports native copy and move operations. This means:
* **Copy** duplicates files within Dropbox without re-downloading them
* **Move** relocates files within Dropbox without a round-trip transfer
For the cross-cloud transfer to Google Drive, files stream through your machine as described above. But if you also need to reorganize files within Dropbox before or after the migration, Blober handles that natively.
## After the Migration
[Section titled "After the Migration"](#after-the-migration)
Once your files are in Google Drive:
* They are accessible from any device with a Google account
* Google automatically indexes content for search
* Office files (DOCX, XLSX, PPTX) can be edited natively in Google Docs/Sheets/Slides
* Files sync across devices via the Google Drive desktop app
You can keep Dropbox installed alongside Google Drive if you need a transition period. Once you verify everything transferred correctly, you can downgrade or cancel Dropbox.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Can I transfer files from Dropbox to Google Drive without downloading them first?** Yes. Blober streams each file directly from Dropbox to Google Drive through your computer. Nothing is saved to your local disk, so you do not need free space equal to your library size.
**Does Blober preserve my Dropbox folder structure in Google Drive?** Yes. Your Dropbox folder hierarchy is recreated exactly in Google Drive, including nested folders.
**How long does a Dropbox to Google Drive migration take?** It depends on how much data you have and your upload speed. Because Blober downloads and uploads in a single pass instead of two separate trips, it finishes in roughly half the time of a manual download-then-upload.
**Can I sync Dropbox to Google Drive automatically?** Blober moves and copies files on demand through workflows that you start when you need them. You can re-run a workflow at any time to move newly added files. It is built for migrations and repeat transfers rather than always-on background sync.
**Can I move from Dropbox to Google Workspace or a Shared Drive?** Yes. Google Workspace accounts and Shared Drives appear in Blober once you connect Google Drive, so you can set either as the destination.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [Switch from Google Drive to Dropbox](/kb/articles/how-to-switch-google-drive-to-dropbox/) for the reverse direction
* [Move Dropbox to Backblaze B2](/kb/articles/how-to-move-dropbox-to-backblaze-b2/) for cheaper long-term storage
* Provider setup: [Dropbox](/kb/docs/providers/dropbox/) and [Google Drive](/kb/docs/providers/google-drive/)
## One Move, Not a Monthly Bill
[Section titled "One Move, Not a Monthly Bill"](#one-move-not-a-monthly-bill)
Most cloud-to-cloud services bill per gigabyte or charge a monthly fee for as long as you keep them. Blober is a one-time purchase. Moving 50 GB costs the same as moving 5 TB, and there is nothing to cancel once the migration is done. For a one-off move from Dropbox to Google Drive, that is the difference between paying once and renting a tool for a weekend.
## Get Blober
[Section titled "Get Blober"](#get-blober)
Move your Dropbox into Google Drive without filling your disk or paying per gigabyte. One-time purchase, no subscription, no per-GB fees.
**[Download Blober at blober.io](https://blober.io)**
# How to Switch from Google Drive to Dropbox
> Transfer all your Google Drive files to Dropbox with Blober. Google Docs convert to Office formats automatically, folder structure stays intact.
## Move Google Drive to Dropbox Without the Google Docs Trap
[Section titled "Move Google Drive to Dropbox Without the Google Docs Trap"](#move-google-drive-to-dropbox-without-the-google-docs-trap)
**The problem:** Google Docs, Sheets, and Slides are not real files. They live only inside Google, so you cannot drag them into Dropbox, and Google Takeout exports your library as flat date-stamped zips that lose your folder names.
**The short answer:** you have three realistic options. Export each native file by hand, use Google Takeout and reorganize the zips afterward, or run a direct transfer with Blober that converts Google Docs to Office formats and rebuilds your folders in Dropbox automatically. Here is how they compare.
| Method | Google Docs handling | Folder structure | Local disk needed | Best for |
| -------------------------- | ------------------------------------ | ---------------------------- | --------------------------------- | ---------------------------------- |
| Manual export, then upload | Open and export each one | Rebuild by hand | Full library size | A handful of files |
| Google Takeout | Exports to Office, inside flat zips | Lost in date-stamped folders | Space for every zip | A full archive you will sort later |
| Blober (direct) | Auto-converts to .docx, .xlsx, .pptx | Preserved automatically | None, files stream through memory | Moving your account intact |
## Google Drive vs Dropbox: Different Strengths
[Section titled "Google Drive vs Dropbox: Different Strengths"](#google-drive-vs-dropbox-different-strengths)
Google Drive is tightly integrated with Google Workspace. If your team lives in Gmail and Google Docs, Drive is the natural file storage. But if you work with non-Google tools, or you need reliable desktop sync, offline access, and smart file management, Dropbox has a stronger desktop experience.
People switch from Google Drive to Dropbox for a few reasons:
* Dropbox's desktop sync is more reliable for large file sets
* Better support for non-Google file formats and creative tools
* Dropbox Paper, Smart Sync, and team folder management
* Moving away from Google Workspace entirely
Whatever the reason, the migration is the part nobody looks forward to.
## Why the Switch Is Harder Than It Sounds
[Section titled "Why the Switch Is Harder Than It Sounds"](#why-the-switch-is-harder-than-it-sounds)
Google Drive stores some files as native Google formats. Google Docs, Sheets, and Slides are not files in the traditional sense. They exist only in Google's cloud. You cannot drag a Google Doc into Dropbox.
If you try to move files manually, you need to:
1. Open each Google Doc, Sheet, or Slide
2. Download it as DOCX, XLSX, or PPTX
3. Upload it to Dropbox
4. Repeat for every native Google file
For regular files (PDFs, images, videos), you download from Google Drive and upload to Dropbox. But you still need enough local disk space to hold everything, and you need to recreate the folder structure manually.
Google Takeout exports everything as flat zip archives. Your carefully organized folder structure disappears into date-stamped directories.
## How Blober Makes This Painless
[Section titled "How Blober Makes This Painless"](#how-blober-makes-this-painless)
Blober connects to both Google Drive and Dropbox. When it encounters Google Docs, Sheets, or Slides, it automatically converts them to their Office equivalents (DOCX, XLSX, PPTX) during the transfer. Regular files pass through as-is.
### What You Get
[Section titled "What You Get"](#what-you-get)
* **Google Docs become .docx files** that open in Word, Dropbox Paper, or any text editor
* **Google Sheets become .xlsx files** that open in Excel or Numbers
* **Google Slides become .pptx files** that open in PowerPoint or Keynote
* **Regular files** (PDFs, images, videos) transfer without conversion
* **Folder structure preserved** exactly as it appears in Google Drive
* **Shared files accessible** through the "Shared with me" virtual folder
### Steps
[Section titled "Steps"](#steps)
1. **Connect Google Drive**: OAuth login through your browser
2. **Connect Dropbox**: OAuth login (or paste an access token)
3. **Browse and select**: Navigate your Google Drive in Blober's file browser, select everything or specific folders
4. **Run the transfer**: Files move from Google Drive to Dropbox through your computer
No local disk space needed for intermediate storage. Blober streams files directly from one cloud to the other.
Leaving Google Drive? Blober converts your Docs to Office files and rebuilds your folders in Dropbox in one pass. [Download Blober](https://blober.io), connect both accounts, and run it.
## After the Switch
[Section titled "After the Switch"](#after-the-switch)
Once your files are in Dropbox, you can:
* Install Dropbox on your devices for desktop sync
* Share folders and files with Dropbox's sharing tools
* Use Smart Sync to keep files in the cloud until you need them locally
* Edit Office files directly (Dropbox has built-in Office integration)
The converted Google Docs are fully editable Office files. They are not locked into any format.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Can I move Google Drive to Dropbox without downloading everything first?** Yes. Blober streams files directly from Google Drive to Dropbox through your computer, so you do not need local disk space for the whole library.
**What happens to my Google Docs, Sheets, and Slides?** Blober converts them automatically during the transfer. Docs become .docx, Sheets become .xlsx, and Slides become .pptx, all fully editable in Office, Dropbox Paper, or similar tools.
**Does Blober transfer files shared with me?** Yes. Files shared with your Google account appear under the "Shared with me" folder in Blober and can be included in the transfer.
**Can I sync Google Drive to Dropbox automatically?** Blober transfers files on demand through workflows that you run when you need them, and you can re-run a workflow to move new files. It is designed for migrations and repeat transfers rather than continuous background sync.
**Can I switch from Google Workspace or a Shared Drive to Dropbox?** Yes. Workspace accounts and Shared Drives show up in Blober after you connect Google Drive, so you can use either as the source.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [Move from Dropbox to Google Drive](/kb/articles/how-to-move-dropbox-to-google-drive/) for the reverse direction
* Provider setup: [Google Drive](/kb/docs/providers/google-drive/) and [Dropbox](/kb/docs/providers/dropbox/)
## One Move, Not a Monthly Bill
[Section titled "One Move, Not a Monthly Bill"](#one-move-not-a-monthly-bill)
Most cloud-to-cloud services bill per gigabyte or charge a monthly fee for as long as you keep them. Blober is a one-time purchase. Moving 50 GB costs the same as moving 5 TB, and there is nothing to cancel once the switch is done. For a one-off move from Google Drive to Dropbox, that is the difference between paying once and renting a tool for a weekend.
## Get Blober
[Section titled "Get Blober"](#get-blober)
Move your Google Drive into Dropbox with your folders and Office files intact. One-time purchase, no subscription, no per-GB fees.
**[Download Blober at blober.io](https://blober.io)**
# How to Switch from Wasabi to Backblaze B2
> Move your data from Wasabi to Backblaze B2 with Blober. Both are S3-compatible, making the transfer seamless.
## Two S3-Compatible Providers, Different Tradeoffs
[Section titled "Two S3-Compatible Providers, Different Tradeoffs"](#two-s3-compatible-providers-different-tradeoffs)
Wasabi and Backblaze B2 both position themselves as affordable alternatives to AWS S3. Both are S3-compatible. Both offer low-cost storage. But they have meaningful differences that lead people to switch from one to the other.
### Wasabi's Model
[Section titled "Wasabi's Model"](#wasabis-model)
Wasabi charges $6.99/TB/month with no egress fees. Sounds perfect, until you read the fine print:
* **90-day minimum retention.** If you delete or overwrite a file within 90 days, you still pay for the full 90 days of storage.
* **Egress is "free" with conditions.** Your monthly egress cannot exceed your stored data. If you store 1 TB and download 1.5 TB in a month, Wasabi may contact you about their "reasonable use" policy.
* **No native CDN partnerships.** Wasabi does not have bandwidth alliance partnerships like Backblaze does.
### Backblaze B2's Model
[Section titled "Backblaze B2's Model"](#backblaze-b2s-model)
Backblaze B2 charges $6.95/TB/month for storage and $0.01/GB for egress. But:
* **Free egress through Cloudflare.** Through the Bandwidth Alliance, egress from B2 to Cloudflare is free. If you use Cloudflare as your CDN (many do), egress is effectively $0.
* **No minimum retention.** Store and delete whenever you want.
* **Free egress allowance.** B2 includes 3x your storage amount in free egress each month. If you store 1 TB, you get 3 TB of free downloads.
For most use cases, Backblaze B2 ends up cheaper or equivalent to Wasabi, with fewer restrictions.
## Moving the Data
[Section titled "Moving the Data"](#moving-the-data)
Both Wasabi and Backblaze B2 speak the S3 protocol. This means Blober uses the same underlying S3 operations for both providers, making the transfer clean and predictable.
### Steps
[Section titled "Steps"](#steps)
1. **Connect Wasabi**: Add Wasabi as a provider with your Access Key, Secret Key, and region (Wasabi uses region-specific endpoints like `s3.us-east-1.wasabisys.com`).
2. **Connect Backblaze B2**: Add B2 with your Application Key ID and Application Key. Blober auto-detects your bucket regions.
3. **Create a workflow**: Source = Wasabi, Destination = B2. Browse your Wasabi buckets, select what to move.
4. **Run**: Blober transfers with parallel multipart uploads and automatic resume.
### What Blober Handles
[Section titled "What Blober Handles"](#what-blober-handles)
* **Multi-region detection for B2.** Backblaze B2 buckets can be in different regions. Blober fetches all buckets via B2's native API to determine the correct region for each, then configures the S3 endpoint accordingly.
* **Region-aware endpoints for Wasabi.** Wasabi uses different endpoints per region. Blober maps your chosen region to the correct endpoint.
* **Large file support.** Both providers handle multipart uploads. Blober chunks large files and uploads them in parallel.
## Watch the 90-Day Window
[Section titled "Watch the 90-Day Window"](#watch-the-90-day-window)
When migrating from Wasabi, keep in mind the 90-day minimum retention policy. If you uploaded files to Wasabi less than 90 days ago, you will be charged for the full 90 days even after you delete them.
The practical approach:
1. Transfer everything to Backblaze B2
2. Wait until the oldest files in Wasabi pass the 90-day mark
3. Then delete and close the Wasabi account
This avoids paying both Wasabi and B2 for the same data longer than necessary.
## Pricing Side-by-Side
[Section titled "Pricing Side-by-Side"](#pricing-side-by-side)
| | Wasabi | Backblaze B2 |
| --------------------- | -------------------- | ----------------------------- |
| Storage per TB/mo | $6.99 | $6.95 |
| Egress per GB | $0 (with conditions) | $0.01 (free via Cloudflare) |
| Min retention | 90 days | None |
| Free egress allowance | Equal to storage | 3x storage |
| CDN partnership | None | Cloudflare Bandwidth Alliance |
## Get Blober
[Section titled "Get Blober"](#get-blober)
One-time purchase. No recurring fees, no per-GB charges.
**[Download Blober at blober.io](https://blober.io)**
# How to Transfer Files from AWS S3 to Azure Blob Storage
> Migrate or copy data from AWS S3 to Azure Blob Storage with Blober. Direct S3 to Azure transfer with parallel uploads, tier selection, and no AzCopy scripts.
## Moving Between AWS S3 and Azure Blob
[Section titled "Moving Between AWS S3 and Azure Blob"](#moving-between-aws-s3-and-azure-blob)
AWS S3 and Azure Blob Storage are the two most popular object storage services in the world. Companies move data between them for all sorts of reasons: switching primary cloud vendors, setting up multi-cloud redundancy, following compliance requirements, or simply taking advantage of Azure's pricing for certain workloads.
The transfer itself is the hard part. Both providers have their own tools (AWS DataSync, Azure Data Box, AzCopy), but those tools are designed for their own ecosystem. Cross-cloud transfers with native tools usually require intermediate steps, scripting, or third-party managed services that charge per-GB.
## The Usual Approaches
[Section titled "The Usual Approaches"](#the-usual-approaches)
### AzCopy + AWS CLI
[Section titled "AzCopy + AWS CLI"](#azcopy--aws-cli)
You can download from S3 using the AWS CLI and upload to Azure using AzCopy. This requires local disk space for the intermediate files, separate authentication for each tool, and scripting to coordinate the two.
### Managed Migration Services
[Section titled "Managed Migration Services"](#managed-migration-services)
Services like Flexify charge per-GiB transferred. For large migrations (10 TB+), the fees add up. Your data also routes through their infrastructure, which may not meet compliance requirements.
### rclone
[Section titled "rclone"](#rclone)
rclone supports both S3 and Azure Blob. It works, but you need to configure both remotes, handle multipart upload settings, and manage the transfer from the command line.
## How Blober Handles It
[Section titled "How Blober Handles It"](#how-blober-handles-it)
Blober connects to both AWS S3 and Azure Blob Storage natively. You configure both providers with their respective credentials, create a workflow, and run the transfer. Files stream from S3 through your machine to Azure without intermediate storage.
### What Blober Does That Matters for This Transfer
[Section titled "What Blober Does That Matters for This Transfer"](#what-blober-does-that-matters-for-this-transfer)
**Parallel uploads to Azure.** Blober uses Azure's `uploadStream` with configurable concurrency. Large files are streamed in parallel chunks, which makes a noticeable difference on fast connections.
**S3 streamed reads.** On the source side, Blober reads S3 objects as streams through the AWS SDK. Large objects do not need to be staged as full local files before Azure upload begins.
**Azure tier selection.** When setting up Azure as your destination, you choose which storage tier new blobs land on: Hot, Cool, Cold, or Archive. This means you can migrate directly to the tier that matches your access pattern without a second step to change tiers after upload.
**Write behavior options.** You can configure Blober to overwrite existing blobs, skip files that already exist at the destination, or skip only archived blobs. This is useful for incremental migrations where you want to resume without re-transferring what is already there.
### Step-by-Step
[Section titled "Step-by-Step"](#step-by-step)
1. **Connect AWS S3**: Add S3 as a provider with your Access Key ID, Secret Access Key, and region. Blober lists your buckets.
2. **Connect Azure Blob**: Add Azure Blob Storage with your connection string. Blober verifies and lists your containers.
3. **Create a workflow**: Set S3 as source, Azure Blob as destination. Browse and select files or entire buckets.
4. **Choose Azure options**: Pick the storage tier and write behavior.
5. **Run**: Blober transfers with progress tracking. If you stop and rerun later, skip-existing avoids sending blobs that already landed.
## Migrating Buckets in Bulk
[Section titled "Migrating Buckets in Bulk"](#migrating-buckets-in-bulk)
Most S3-to-Azure jobs are not a single file, they are whole buckets or whole prefixes. Blober is built for that.
* **Select an entire bucket or prefix.** Browse your S3 bucket in Blober, select everything at the top level or drill into a prefix, and queue it all in one workflow. You do not enumerate keys by hand or script a loop.
* **Mass transfers run in parallel.** Blober reads from S3 as streams and uploads to Azure with parallel streams, so a bucket with thousands of objects moves as a continuous pipeline rather than one object at a time.
* **Repeatable with skip-existing.** Set the write behavior to skip blobs that already exist at the destination. If a multi-terabyte run is interrupted, or you stop and continue tomorrow, re-running the workflow picks up only what has not transferred yet. That is what makes a mass migration practical: you are not forced to start the whole job over.
* **Land directly on the right tier.** Pick the Azure tier for the whole job, so a bulk archive migration writes straight to Cool, Cold, or Archive instead of landing on Hot and needing a second pass.
For a move of 5 TB across 200,000 objects from `us-east-1` to `westeurope`, you point Blober at the bucket, choose the destination container and tier, turn on skip-existing, and let it run. Progress is tracked per file, and rerunning the workflow after an interruption skips blobs that already completed.
## Cross-Region Awareness
[Section titled "Cross-Region Awareness"](#cross-region-awareness)
If your S3 bucket is in `us-east-1` and your Azure storage account is in `westeurope`, Blober handles the cross-region transfer. S3's cross-region copy limitations (which affect native S3-to-S3 copies) do not apply here because the data flows through your machine.
The tradeoff is that transfer speed depends on your internet connection. For very large migrations (50 TB+), this is usually slower than a datacenter-to-datacenter transfer. But for gigabytes to a few terabytes, running through Blober on a fast connection can be simpler than coordinating a managed migration service.
## Pricing Comparison
[Section titled "Pricing Comparison"](#pricing-comparison)
For an S3-to-Azure move, price the transfer in parts instead of trusting a single headline number:
* **AWS S3 source cost:** data transfer out, source reads, and any retrieval fees if the source objects are in an infrequent-access or archive class[\[1\]](https://aws.amazon.com/s3/pricing/ "Source: aws.amazon.com/s3/pricing/").
* **Azure destination cost:** Blob Storage usually does not charge for inbound data transfer, but new writes, storage tier, redundancy, and operation charges still matter[\[2\]](https://azure.microsoft.com/pricing/details/storage/blobs/ "Source: azure.microsoft.com/pricing/details/storage/blobs/").
* **Future Azure egress:** if the data later leaves Azure, outbound bandwidth is priced separately by route, zone, and volume[\[3\]](https://azure.microsoft.com/pricing/details/bandwidth/ "Source: azure.microsoft.com/pricing/details/bandwidth/").
Azure can be cheaper for some storage-heavy workloads, while S3 can be better when the surrounding AWS ecosystem matters. The right choice depends on access pattern, region, redundancy, tier, request volume, and where the data will go next.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**How do I copy data from S3 to Azure Blob without AzCopy or scripts?** Connect both providers in Blober, create a workflow with S3 as the source and Azure Blob as the destination, select your buckets, and run. There is no AzCopy command, no AWS CLI loop, and no intermediate download to your disk. Files stream from S3 straight to Azure.
**Can I migrate a whole bucket, or only individual files?** Either. Select a single object, a prefix, or an entire bucket. Whole-bucket and mass-data migrations are the common case.
**Does the data land on the tier I want?** Yes. You choose the Azure access tier (Hot, Cool, Cold, or Archive) for the destination, and new blobs are written to that tier on arrival. There is no second pass to re-tier after upload.
**Who pays for the data transfer?** AWS charges egress (data transfer out) when data leaves S3, billed per GB. Azure lists data transfer in as free, while outbound bandwidth is priced separately[\[4\]](https://azure.microsoft.com/pricing/details/bandwidth/ "Source: azure.microsoft.com/pricing/details/bandwidth/"). So the transfer cost usually sits on the AWS side, the same as it would with any tool that reads from S3. Blober adds no per-GB fee of its own.
**How large a migration can this handle?** Transfers run through your machine, so speed depends on your connection. For moderate migrations, Blober avoids managed-service setup and can be rerun with skip-existing if interrupted. For datacenter-scale moves of 50 TB and up, a provider appliance or assisted migration may finish sooner.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [Azure Blob Tiers vs AWS S3 Storage Classes](/kb/articles/azure-blob-tiers-vs-s3-storage-classes/) for choosing the right destination tier
* [How to Bulk Change Azure Blob Storage Access Tiers](/kb/articles/azure-blob-storage-mutations-change-tiers/) once your data is on Azure
* [How to Move Azure Blob to Cloudflare R2](/kb/articles/how-to-move-azure-blob-to-cloudflare-r2/) for moving off Azure later
* Provider setup: [AWS S3](/kb/docs/providers/aws-s3/) and [Azure Blob](/kb/docs/providers/azure-blob/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Migrate S3 buckets to Azure Blob in bulk, with no AzCopy scripts and no per-GB transfer fee from us. One-time purchase, no subscription.
**[Download Blober at blober.io](https://blober.io)**
# Leaving GoPro Cloud: A Calm, Complete Exit Checklist
> Planning to cancel GoPro? Follow this step-by-step checklist to export your full library, verify it, and cancel without losing a single clip.
## Before You Cancel, Read This
[Section titled "Before You Cancel, Read This"](#before-you-cancel-read-this)
When a GoPro subscription ends, access to the footage in GoPro Cloud ends with it. The safe order is always the same: export everything first, check that the copy is complete, then cancel. Do it in that order and leaving is painless.
This is the checklist, start to finish. Work through it once and your library is yours no matter what you decide about the subscription.
## Step 1: Take Stock of What Is Up There
[Section titled "Step 1: Take Stock of What Is Up There"](#step-1-take-stock-of-what-is-up-there)
Open the Quik app or sign in at gopro.com and get a rough count. How many clips, roughly how many gigabytes, and how far back does it go? You do not need an exact number. You need to know whether you are dealing with a weekend of footage or three years of it, because that changes how long the export will take and where it should land.
## Step 2: Pick Where the Footage Will Live
[Section titled "Step 2: Pick Where the Footage Will Live"](#step-2-pick-where-the-footage-will-live)
Decide the destination before you start moving anything. Good options, depending on how you work:
* A NAS or an external drive if you want the files close and under your own roof.
* Object storage like Backblaze B2, Wasabi, or Cloudflare R2 for a durable long-term archive.
* Dropbox or Google Drive if you mainly want to share the footage afterward.
If you are not sure, a NAS or an external drive is the simplest first home. You can always move it onward later.
## Step 3: Export the Whole Library in One Pass
[Section titled "Step 3: Export the Whole Library in One Pass"](#step-3-export-the-whole-library-in-one-pass)
This is the step the GoPro website makes hard. The web portal downloads about 25 files at a time as a zip, and large batches stall, so a big library turns into dozens of manual rounds.
Blober is the only desktop app that connects to GoPro Cloud. Sign in through it, select your entire library, choose the destination from step 2, and start the transfer. It runs in parallel and resumes if your connection drops, so even a multi-thousand-clip library finishes in one sitting rather than fifty.
## Step 4: Verify the Copy Before You Cancel
[Section titled "Step 4: Verify the Copy Before You Cancel"](#step-4-verify-the-copy-before-you-cancel)
Do not skip this. Once the transfer finishes, spot-check the destination: open a few clips from different dates, confirm the file count looks right against your step 1 estimate, and make sure the folders came across the way you expected. A backup you have not opened is a hope, not a backup.
## Step 5: Cancel the Subscription
[Section titled "Step 5: Cancel the Subscription"](#step-5-cancel-the-subscription)
Now it is safe. Turn off auto-renew from your account settings on gopro.com or in the app. GoPro does not publish exactly how long it keeps already-uploaded media after a subscription lapses, so treat the cloud copy as gone the moment access ends. Because you finished steps 3 and 4, that no longer matters.
## A Note on Timing
[Section titled "A Note on Timing"](#a-note-on-timing)
If your renewal date is close, give yourself a buffer. Start the export a few days before, not the night before. Large libraries and slower connections take time, and you want room to re-run the verify step without racing a billing date.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Do I lose my footage if I cancel GoPro?** You lose access to the cloud copy when the subscription ends. If you exported it first, your own copy is unaffected.
**How do I get all my footage off GoPro before cancelling?** The website only downloads small batches. Blober connects to GoPro Cloud and exports your entire library in one pass to a drive, a NAS, or another cloud.
**How long does GoPro keep my media after I cancel?** GoPro does not publish a fixed retention window, so the safe assumption is that the cloud copy is gone once access ends. Export before you cancel.
**Can I cancel and keep using my GoPro?** Yes. The camera works without a subscription. You lose the cloud and the subscription perks, not the camera.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [How to Cancel GoPro Plus Without Losing Your Footage](/kb/articles/cancel-gopro-plus-save-your-footage/)
* [How to Download All Your GoPro Cloud Videos](/kb/articles/how-to-download-all-gopro-cloud-videos/)
* [GoPro Cloud, in Plain English: How It Actually Works](/kb/articles/gopro-cloud-how-it-works/)
* [Back Up Your GoPro Cloud to Backblaze B2, AWS S3, or Local Storage](/kb/articles/back-up-gopro-cloud-to-backblaze-s3-or-local/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Export your full GoPro Cloud library before you cancel. Blober is the only app that connects to GoPro Cloud, so you can leave on your terms with every clip in hand.
**[Download Blober at blober.io](https://blober.io)**
# File Organization Workflows for Creators, SMEs, and IT
> Concrete Blober workflows for photographers, videographers, designers, agencies, small businesses, researchers, IT teams, and personal archives.
## Organization Must Fit the Work, Not Replace It
[Section titled "Organization Must Fit the Work, Not Replace It"](#organization-must-fit-the-work-not-replace-it)
Most people do not need another platform where work must be imported, tagged, and maintained. They need files to move between the tools they already use without arriving as another unstructured dump.
Blober fits at that boundary. A source can be local storage, network storage, cloud drive, camera cloud, or object storage. A destination can serve editing, collaboration, delivery, or archive needs. Selection, filters, and path templates define what crosses that boundary and how it lands.
The examples below are starting points, not fictional one-size-fits-all systems. Each one names the pain, source scope, filter, path, and safe action.
## Photographer: Separate Originals From Deliverables
[Section titled "Photographer: Separate Originals From Deliverables"](#photographer-separate-originals-from-deliverables)
**Pain:** A shoot folder contains RAW files, JPEG previews, edited TIFFs, contracts, and exports. Sending or archiving the whole folder wastes storage and exposes internal work.
**RAW archive workflow**
```text
Selection: the shoot folder
File Types: CR2, NEF, ARW, DNG, RAW
Action: Copy
Destination: object storage
Template: originals/{file_created_date}/{file_dir}/{filename}
```
**Client delivery workflow**
```text
Selection: the same shoot folder
Include: **/*.{jpg,jpeg,png,tif,tiff}
Exclude: **/{preview,previews,draft,drafts}/**
Action: Copy
Destination: client cloud folder
Template: delivery/{file_dir}/{filename}
```
One source supports two outcomes without moving the working library.
## Videographer: Protect Masters, Ignore Rebuildable Proxies
[Section titled "Videographer: Protect Masters, Ignore Rebuildable Proxies"](#videographer-protect-masters-ignore-rebuildable-proxies)
**Pain:** Original camera media, proxies, render caches, review files, and masters are mixed across nested project folders. Proxy media may be large but replaceable.
```text
Selection: all completed project folders
Include: **/*.{mp4,mov,mxf,braw,r3d}
Exclude: **/{proxy,proxies,cache,temp,render-cache}/**
Size: Large
Action: Copy
Template: masters/{file_created_date}/{file_dir}/{filename}
```
The glob exclusion is more meaningful than size alone. A large proxy is still a proxy. Combining path conventions, type, and size produces a better candidate set.
## YouTube or Social Creator: Consolidate Several Services
[Section titled "YouTube or Social Creator: Consolidate Several Services"](#youtube-or-social-creator-consolidate-several-services)
**Pain:** GoPro footage is in GoPro Cloud, finished edits are in Google Drive, thumbnails are in Dropbox, and old projects are on a NAS.
Create one workflow per source and point them to one archive:
```text
GoPro destination path: gopro/{file_created_date}/{filename}
Edited-video path: edited/{file_modified_date}/{file_dir}/{filename}
Thumbnail path: thumbnails/{file_modified_date}/{filename}
NAS project path: projects/{file_dir}/{filename}
```
The services do not need to integrate with one another. Blober connects to each endpoint, and the common destination layout provides consistency.
## Design Studio: Collect Approved Exports
[Section titled "Design Studio: Collect Approved Exports"](#design-studio-collect-approved-exports)
**Pain:** Editable design sources and exported assets sit beside drafts, autosaves, and review versions. Developers or clients need only approved SVG, PNG, PDF, and WebP files.
```text
Selection: approved campaign or client folders
Include: **/*.{svg,png,pdf,webp}
Exclude: **/{draft,drafts,review,autosave}/**
Action: Copy
Template: assets/{file_ext}/{file_dir}/{filename}
```
Use visual folder selection for approval state when possible. It is safer to select a known `Approved` folder than to infer approval from every possible filename.
## Agency: Standardize Client Handoffs
[Section titled "Agency: Standardize Client Handoffs"](#agency-standardize-client-handoffs)
**Pain:** Every client uses a different destination: Dropbox, Google Drive, object storage, or a local drive. Internal project folders should not be handed over wholesale.
Build a reusable handoff workflow:
* Select final and legal-release folders.
* Include deliverable media and documents.
* Exclude internal notes, proxies, and drafts.
* Copy to the client's destination.
* Use `Client-Delivery/{file_dir}/{filename}`.
The workflow can be edited for each client's credentials and destination while preserving the agency's selection discipline.
## Small Business: Archive Records Without Moving Daily Work
[Section titled "Small Business: Archive Records Without Moving Daily Work"](#small-business-archive-records-without-moving-daily-work)
**Pain:** A shared drive mixes current records, old invoices, scans, spreadsheets, and temporary office files. Staff need the shared drive unchanged, but the business needs a second durable copy.
```text
Selection: Finance, Contracts, Reports
Include: **/*.{pdf,doc,docx,xls,xlsx,csv}
Exclude: **/{temp,autosave,draft,drafts}/**
Action: Copy
Template: business-records/{file_ext}/{file_modified_date}/{file_dir}/{filename}
```
The date and type layers make future browsing easier while `{file_dir}` retains departmental context beneath each selected folder.
## Research Team: Separate Datasets From Documentation
[Section titled "Research Team: Separate Datasets From Documentation"](#research-team-separate-datasets-from-documentation)
**Pain:** One study tree contains large datasets, notebooks, papers, charts, and documentation. Collaboration storage is convenient for papers but expensive or awkward for multi-terabyte data.
Use two workflows:
1. **Large dataset archive:** size Large, relevant binary/data extensions, destination object storage.
2. **Research documentation:** PDF, Markdown, notebooks, CSV summaries, destination collaboration drive.
Preserve `{file_dir}` so experiment and study structure survives both transfers.
## IT Team: Back Up What Cannot Be Rebuilt
[Section titled "IT Team: Back Up What Cannot Be Rebuilt"](#it-team-back-up-what-cannot-be-rebuilt)
**Pain:** Application trees contain source, configuration, uploaded assets, dependencies, caches, builds, and logs. Copying everything increases cost and recovery noise.
```text
Selection: application and service folders
Include: **/*
Exclude: **/{node_modules,cache,tmp,temp,dist,build,coverage}/**
Action: Copy
Template: systems/{file_dir}/{filename}
```
Adjust exclusions to the actual recovery plan. Never exclude a directory merely because its name sounds generated if the organization cannot rebuild it.
## Enterprise Migration: Split a Large Move Into Verifiable Rules
[Section titled "Enterprise Migration: Split a Large Move Into Verifiable Rules"](#enterprise-migration-split-a-large-move-into-verifiable-rules)
**Pain:** A monolithic migration is difficult to estimate, validate, and retry. Different data classes have different owners and destinations.
Create separate workflows by:
* Department or selected prefix
* File type
* Size class
* Date window
* Include/exclude convention
Each workflow has a smaller preview, clearer ownership, and a destination path aligned to that data class. This is often easier to audit than one huge transfer rule.
## Personal Archive: Make Old Media Browsable
[Section titled "Personal Archive: Make Old Media Browsable"](#personal-archive-make-old-media-browsable)
**Pain:** Family photos and videos are spread across disks and clouds with inconsistent folders.
```text
Selection: camera uploads and old media folders
Include: **/*.{jpg,jpeg,heic,png,mp4,mov}
Action: Copy
Template: personal-media/{file_created_date}/{file_dir}/{filename}
```
Preview the creation dates. A cloud provider may report upload time rather than original capture time. If dates are poor, use `{file_dir}` and filenames instead of forcing a misleading chronology.
## The Common Safety Pattern
[Section titled "The Common Safety Pattern"](#the-common-safety-pattern)
Across every profession:
1. Select the smallest meaningful scope.
2. Use Copy first.
3. Combine only filters that express a real rule.
4. Preserve `{file_dir}` when project hierarchy matters.
5. Inspect Preview & Summary.
6. Verify actual destination files.
7. Scale or move only after the result is trusted.
For technical details, read the [complete path-template guide](/kb/articles/blober-path-templates-complete-guide/). For operational choices, read [Copy As-Is, Organize During Backup, or Reorganize With Move](/kb/articles/copy-move-organize-files-during-transfer/).
# Proton Drive Is Hard to Migrate To or From. Blober Makes It Easy.
> Proton Drive ships great sync clients, but no migration tool. Here's where Blober fits in, what it does well, and where rclone is still the right choice.
## The Privacy-First Cloud Storage That's Hard to Move Files Into
[Section titled "The Privacy-First Cloud Storage That's Hard to Move Files Into"](#the-privacy-first-cloud-storage-thats-hard-to-move-files-into)
[Proton Drive](https://proton.me/drive) is one of the most privacy-respecting cloud storage services available. End-to-end PGP encryption. Swiss jurisdiction. Open-source clients. Zero-access architecture, so not even Proton can read your files. Over 100 million accounts trust it. If privacy is your priority, Proton Drive is a strong choice.
But there's a catch: **Proton built great sync clients, not transfer tools.**
Their official apps sync a folder between your device and Proton Drive. That works perfectly when Proton Drive is your *only* cloud. The moment you need to move files *from* Google Drive, *from* Dropbox, *from* AWS S3, or *to* Proton Drive from another provider, you're on your own. Download everything locally, then re-upload. For a few gigabytes, that's fine. For 500 GB of photos across three Google accounts, it's a weekend you don't get back.
## Where Proton Drive Is Officially Supported
[Section titled "Where Proton Drive Is Officially Supported"](#where-proton-drive-is-officially-supported)
Proton offers native clients on four platforms, plus web access:
| Platform | Client | Sync | File Browser | Bulk Transfer From Other Clouds |
| ----------- | --------------- | -------------- | ------------ | ------------------------------- |
| **Windows** | ✅ Desktop app | ✅ Folder sync | ✅ Via web | ❌ |
| **macOS** | ✅ Desktop app | ✅ Folder sync | ✅ Via web | ❌ |
| **iOS** | ✅ Mobile app | ✅ Photo backup | ✅ In-app | ❌ |
| **Android** | ✅ Mobile app | ✅ Photo backup | ✅ In-app | ❌ |
| **Linux** | ❌ **No client** | ❌ | ✅ Web only | ❌ |
| **Web** | ✅ Browser | ❌ | ✅ | ❌ |
Notice the last column. Across every platform, on every client, there is no built-in way to transfer files from another cloud provider into Proton Drive. The official path is: download to your machine, then let the sync client pick it up. That means you need enough free local storage to hold everything in transit.
And if you're on Linux, there is no desktop client at all. You get the web interface, which works but doesn't support drag-and-drop bulk uploads from other services either.
## What The Proton Client Does Well (And What It Doesn't)
[Section titled "What The Proton Client Does Well (And What It Doesn't)"](#what-the-proton-client-does-well-and-what-it-doesnt)
The Proton Drive clients are well-built for their intended purpose, which is sync, not migration:
**What they do well:**
* Folder sync between your device and Proton Drive
* Automatic photo backup on mobile
* End-to-end encryption handled transparently
* Proton Docs and Sheets integration
**What they're not built for:**
* Moving files between Proton Drive and another cloud
* Browsing or selecting files from another cloud as part of a transfer
* Repeatable transfer workflows
* Linux without a browser
That's the gap Blober fills.
## What About rclone?
[Section titled "What About rclone?"](#what-about-rclone)
[rclone](https://rclone.org/protondrive/) is the canonical open-source tool for cloud storage. It supports 70+ backends and is genuinely excellent at what it does. Its Proton Drive backend works, with a couple of things worth knowing up front:
* **Tier 4 (Experimental).** rclone classifies its Proton Drive support as [Tier 4](https://rclone.org/tiers/), meaning it's community-maintained and flagged as *"use with care."* Known gaps include unsupported modification times, draft conflicts on retries, and stale caching when other clients touch the same files. The underlying [Proton-API-Bridge](https://github.com/henrybear327/Proton-API-Bridge) library notes there are "likely quite a few errors."
* **Password-based auth.** To set up rclone with Proton Drive, you provide your Proton email, password, 2FA, and (if applicable) mailbox password through `rclone config`. These end up in rclone's config file on disk.
If you're already in the rclone ecosystem and these tradeoffs work for you, rclone is a perfectly good fit. Blober is a different style of tool for a different style of user, and the rest of this article is about that.
## How Blober Handles Proton Drive Differently
[Section titled "How Blober Handles Proton Drive Differently"](#how-blober-handles-proton-drive-differently)
[Blober](https://blober.io/) takes a different approach to Proton Drive: instead of asking for your credentials in a config file, it asks Proton for them.
### You Just Log In. Normally.
[Section titled "You Just Log In. Normally."](#you-just-log-in-normally)
When you connect Proton Drive in Blober, a browser window opens to `account.proton.me`, which is Proton's own login page. You sign in with your email, password, and 2FA exactly as you would in any browser. **Your password never touches Blober.** It stays inside the isolated browser session, the same way it does when you log in at `drive.proton.me`.
### What Blober Supports With Proton Drive
[Section titled "What Blober Supports With Proton Drive"](#what-blober-supports-with-proton-drive)
| Operation | Supported | Details |
| --------------------- | --------- | ------------------------------------------------------------ |
| **Browse** | ✅ | Navigate your full folder tree |
| **Download** | ✅ | Parallel, resumable downloads |
| **Upload** | ✅ | Parallel uploads, auto-creates folders |
| **Delete** | ✅ | Moves to Proton Trash (recoverable) |
| **Metadata** | ✅ | Filename, size, created/modified dates |
| **Multiple accounts** | ✅ | Each account gets its own session. Run transfers in parallel |
### What Blober Does That Proton's Client Can't
[Section titled "What Blober Does That Proton's Client Can't"](#what-blober-does-that-protons-client-cant)
1. **Transfer from any supported provider directly to Proton Drive.** Google Drive, Dropbox, AWS S3, Azure Blob, Backblaze B2, Cloudflare R2, DigitalOcean Spaces, Wasabi, Rabata, GoPro Cloud, local disk. No intermediate downloads.
2. **Transfer from Proton Drive to any other provider.** Moving away from Proton? Moving a subset of files to cold storage on Backblaze? Blober handles it.
3. **Selective file transfer.** Browse your source, pick exactly the files you want, transfer only those. Not a full sync of everything.
4. **Saved workflows.** Set up "Dropbox to Proton Drive" once, run it whenever you want. The workflow remembers your source path, destination path, filters, and file naming templates.
5. **Works on Linux.** Blober runs on Windows, macOS, and Linux. Since Proton doesn't ship a Linux desktop client, Blober is one of the few ways to get a desktop-native Proton Drive experience on Linux without using a browser.
6. **Resumable transfers.** If your session expires mid-transfer, Blober prompts you to re-authenticate and picks up where it left off. No files are lost or duplicated.
## The Migration Scenario
[Section titled "The Migration Scenario"](#the-migration-scenario)
Here's the situation Blober is built for:
You're on Google Drive or Dropbox. You've decided to move to Proton Drive for privacy. You have 200 GB of documents and photos spread across folders. Today, your options are:
**Option A: Manual download and re-upload**
1. Download 200 GB from Google Drive to your local machine (hours, needs free disk space)
2. Wait for Proton Drive sync client to upload it all (hours more, CPU-intensive due to encryption)
3. Repeat for Dropbox
4. Hope nothing failed silently
**Option B: Google Takeout + manual upload**
1. Request a Takeout archive (can take days)
2. Download the archive(s)
3. Extract, organize, upload to Proton Drive
4. Storage used: 3× (source cloud + local archive + Proton)
**Option C: rclone**
1. Run `rclone config` to set up your Google/Dropbox and Proton remotes
2. Provide your Proton credentials when prompted
3. Run `rclone copy gdrive: protondrive:` with the flags that fit your scenario
4. Drive everything from the CLI, including monitoring and restart
**Option D: Blober**
1. Sign in to Google Drive (OAuth) or Dropbox (OAuth)
2. Sign in to Proton Drive (browser login)
3. Select the files you want
4. Start the transfer, then come back and re-run the same workflow whenever you need to
## Blober vs rclone for Proton Drive: Side by Side
[Section titled "Blober vs rclone for Proton Drive: Side by Side"](#blober-vs-rclone-for-proton-drive-side-by-side)
| | **Blober** | **rclone** |
| ---------------------------- | ---------------------------------------- | ------------------------------ |
| **Auth method** | Browser login via Proton's own page | Credentials in `rclone config` |
| **Interface** | Native desktop GUI | CLI |
| **Modification times** | Preserved from source | Not preserved |
| **Resume on failure** | Automatic | Manual restart |
| **Linux** | Native desktop app | CLI |
| **Cross-provider transfer** | Built-in (select source and destination) | `rclone copy source: dest:` |
| **Multiple Proton accounts** | Each one its own session | Separate config remotes |
| **Scriptable automation** | Workflows, no cron | Cron-friendly CLI |
| **Mount as filesystem** | Not supported | Supported (FUSE) |
## Who This Is For
[Section titled "Who This Is For"](#who-this-is-for)
**Blober is a good fit if:**
* You're migrating into Proton Drive from Google Drive, Dropbox, or another cloud
* You're moving out of Proton Drive to another provider, or shifting a subset to cold storage
* You're on Linux and want a desktop-native way to manage Proton Drive files
* You'd rather log in through a browser than configure credentials in a file
* You want a repeatable, named workflow you can re-run later
**rclone is a good fit if:**
* You're already in the rclone ecosystem and want one tool for everything
* You need scriptable, cron-based automation
* You want to mount Proton Drive as a filesystem (FUSE)
* You prefer CLI control over a GUI
## Using Proton Drive with Blober
[Section titled "Using Proton Drive with Blober"](#using-proton-drive-with-blober)
Proton Drive is a genuine privacy-first storage service. End-to-end PGP. Zero-knowledge architecture. Open clients. The trade-off Proton makes for that privacy is that getting files in or out, at scale, isn't a first-class experience.
That's where Blober comes in. You sign in to Proton Drive through Proton's own login page, pick the cloud you're moving from or to (Google Drive, Dropbox, S3, Backblaze B2, R2, Wasabi, GoPro, NAS, or local disk), choose what you want to move, and let it run. No config files, no CLI, no separate sync clients to install. The same workflow runs on Linux, macOS, and Windows.
If you have files in other clouds and you want them in Proton Drive, or files in Proton Drive you want elsewhere: [that's what Blober is for](https://blober.io/).
# Migrating 100M+ Files from DigitalOcean Spaces to Backblaze B2
> A practical breakdown of costs, timelines, and the smartest approach for moving a massive object storage dataset to Backblaze B2.
### The Scenario
[Section titled "The Scenario"](#the-scenario)
A media company has **25TB** of data spread across **120 million files** in DigitalOcean Spaces. Monthly bill: roughly **$500/month**. They want to move everything to Backblaze B2 to cut costs and get more flexibility.
This is a real-world pattern we see a lot. Let's walk through what it actually takes.
***
### What It Costs
[Section titled "What It Costs"](#what-it-costs)
| Item | Details | Estimated Cost |
| ----------------------------- | --------------------------------------------------- | ----------------------------------------- |
| **Blober License** | One-time purchase, no subscription | [See pricing](https://blober.io/#pricing) |
| **DigitalOcean Egress** | \~24TB billable at $0.01/GiB (first 1TB free) | **\~$240** |
| **Backblaze Ingress** | Free. Backblaze never charges for uploads | **$0** |
| **Backblaze API Calls** | Uploads are free Class A calls, minor listing costs | **\~$2** |
| **Total (excluding license)** | | **\~$242** |
After migrating, the monthly bill drops from \~$500 on DigitalOcean to \~$150 on Backblaze B2. With a one-time license and no per-GB transfer fees, the move pays for itself within the first month.
***
### About Egress Fees
[Section titled "About Egress Fees"](#about-egress-fees)
This is where it gets interesting. Backblaze actively wants people to switch to their platform and they back that up with real programs:
* **Free egress up to 3x your average monthly storage** on B2, which means once you're on Backblaze, downloading your own data doesn't cost extra in most scenarios.
* **Unlimited free egress** through CDN and compute partners like Cloudflare, Fastly, Bunny.net, and Vultr.
* **Assisted data migration** is listed as a standard B2 feature on their [pricing page](https://www.backblaze.com/cloud-storage/pricing).
* **Universal Data Migration** is available for larger committed contracts (50TB+ on pay-as-you-go, or included with B2 Reserve annual plans).
Backblaze explains their philosophy well in this blog post: [Cloud Egress Fees: What They Are and How to Reduce Them](https://www.backblaze.com/blog/cloud-101-data-egress-fees-explained/). The short version is that they believe egress fees are vendor lock-in, and they want to make switching easy.
Even if your dataset is under the 50TB threshold, it's worth contacting their [sales team](https://www.backblaze.com/contact-sales/cloud-storage). With a 25TB dataset and willingness to commit for 12 months, there's a solid chance they'll help reduce or cover the DigitalOcean egress fees to get you onboarded.
***
### How Long Does It Take
[Section titled "How Long Does It Take"](#how-long-does-it-take)
Let's be honest here. 25TB is a lot of data.
Every file needs its own set of API calls: list from the source, download, then upload to the destination. Each round-trip carries network latency regardless of file size. When you multiply that per-object overhead across 120 million files with 25TB of bandwidth on top, the aggregate time adds up fast.
For a client-side migration where data streams through your local machine, you're looking at:
* **Several weeks of continuous runtime** depending on your connection speed and latency
* Your machine needs to stay on and connected the entire time
* If your ISP has a monthly data cap, 25TB will almost certainly exceed it
* 16GB+ RAM recommended for handling the file listing at this scale
This isn't a Blober limitation. Any client-side tool (rclone, Cyberduck, whatever) will face the same physics. Data has to travel from DigitalOcean's datacenter to your machine, then from your machine to Backblaze's datacenter. That's two full trips through your ISP.
***
### The Smart Approach: Two Phases
[Section titled "The Smart Approach: Two Phases"](#the-smart-approach-two-phases)
#### Phase 1: Let the Datacenters Do the Heavy Lifting
[Section titled "Phase 1: Let the Datacenters Do the Heavy Lifting"](#phase-1-let-the-datacenters-do-the-heavy-lifting)
Contact Backblaze's sales team and ask about their assisted migration options. For datasets at this scale, they partner with migration services that can move data directly between datacenters at speeds your home connection can't match. What takes weeks on a home connection can take hours on a datacenter link.
Reach out here: [Backblaze Sales](https://www.backblaze.com/contact-sales/cloud-storage)
#### Phase 2: Use Blober for Everything After
[Section titled "Phase 2: Use Blober for Everything After"](#phase-2-use-blober-for-everything-after)
Once the initial bulk migration is done, [Blober](https://blober.io/) becomes your daily tool for managing files across providers. New uploads, folder syncs, log rotations, moving files between buckets, all handled from your desktop with no per-GB fees and no subscriptions. Your credentials stay on your machine and never touch a third-party server.
***
### Monthly Cost Comparison (Post-Migration)
[Section titled "Monthly Cost Comparison (Post-Migration)"](#monthly-cost-comparison-post-migration)
| | DigitalOcean Spaces | Backblaze B2 |
| ------------------- | ------------------- | -------------------------- |
| **Storage (25TB)** | \~$500/mo | \~$174/mo |
| **Egress (3TB/mo)** | \~$30/mo | Free (within 3x allowance) |
| **Total** | **\~$530/mo** | **\~$174/mo** |
| **Annual** | **\~$6,360/yr** | **\~$2,088/yr** |
That's about **$4,200 saved per year**, every year.
***
### Bottom Line
[Section titled "Bottom Line"](#bottom-line)
For large-scale one-time migrations, use Backblaze's own migration programs. They want your business and they'll often help you get there.
For everything after that, [Blober](https://blober.io/) gives you a [one-time license](https://blober.io/#pricing) to manage, sync, and move files across any supported provider, with no recurring costs and no third party ever touching your credentials.
# How to Move GoPro Cloud Media to Dropbox the Easy Way
> GoPro Cloud makes it hard to get your own footage out. Blober connects directly to GoPro Cloud and transfers your photos and videos to Dropbox in minutes, with no manual downloads or ZIP files.
## Why Move Your GoPro Footage to Dropbox?
[Section titled "Why Move Your GoPro Footage to Dropbox?"](#why-move-your-gopro-footage-to-dropbox)
GoPro Cloud (included with GoPro Plus / GoPro Premium) stores your camera footage automatically. It's convenient, until you need to actually do something with it.
**The problems with keeping everything in GoPro Cloud:**
* **No easy bulk export.** GoPro's web portal limits batch downloads to 25 files at a time, bundled as a ZIP. Large downloads frequently fail or time out.
* **No third-party integrations.** No other file transfer tool (rclone, MultCloud, Flexify) can connect to GoPro Cloud. You're stuck with the GoPro web interface.
* **Subscription lock-in.** Cancel GoPro Plus and you lose access to your footage. Your media is held hostage by a recurring charge.
* **No redundancy.** If GoPro changes their cloud offering or shuts it down, you have no backup unless you've already downloaded everything manually.
**Why Dropbox makes a good destination:**
* **Accessible everywhere.** Desktop, mobile, web. Dropbox works across all devices.
* **Selective sync.** Keep large video files in the cloud and only download what you need locally.
* **Sharing built in.** Send footage to clients, collaborators, or editors with a link.
* **Established and reliable.** Dropbox has been around since 2007 and isn't going anywhere.
* **Integration with editing tools.** Many video editors and photo apps integrate directly with Dropbox.
Moving your footage from GoPro Cloud to Dropbox gives you a second copy in a provider you control, one that doesn't depend on a GoPro subscription to access.
## How Blober Makes It Easy
[Section titled "How Blober Makes It Easy"](#how-blober-makes-it-easy)
[Blober](https://blober.io/) is the only desktop app that connects directly to GoPro Cloud. No browser extensions, no manual downloads, no CLI config files. You create a workflow, press play, and your media transfers automatically.
[Play](https://youtube.com/watch?v=NTqqf4sKbpk)
### Step 1: Create a Workflow
[Section titled "Step 1: Create a Workflow"](#step-1-create-a-workflow)
Open Blober, go to the **Workflows** page, and click **New Workflow**. Select **GoPro** as the source and **Dropbox** as the destination. Pick the folders you want to transfer from and where they should land.

### Step 2: Run It
[Section titled "Step 2: Run It"](#step-2-run-it)
Click the play button on your workflow. Blober connects to both providers and starts transferring files immediately. Every file (photos, videos, time-lapses) gets moved directly from GoPro Cloud to Dropbox without touching your local disk first (unless you want it to).

### Step 3: Monitor Progress
[Section titled "Step 3: Monitor Progress"](#step-3-monitor-progress)
The **Progress** page shows exactly what's happening: files transferred, bytes moved, current speed, and estimated time remaining. If something goes wrong, you can pause, retry, or cancel at any time.

### What Makes This Different
[Section titled "What Makes This Different"](#what-makes-this-different)
* **No manual work.** You don't download ZIPs, unzip them, then re-upload to Dropbox. Blober handles the entire pipeline.
* **No file limits.** Transfer 10 files or 10,000. Blober processes them all in one run.
* **No subscription.** Blober is a one-time purchase. No monthly fees, no per-GB transfer charges, no limits on how many times you run a workflow.
* **Runs locally.** Your credentials stay on your machine. Files transfer directly between providers. Nothing passes through Blober's servers.
## When to Use This
[Section titled "When to Use This"](#when-to-use-this)
* **Before canceling GoPro Plus.** Get your footage out before you lose access.
* **Regular backups.** Set up a workflow now and run it whenever you want a fresh copy in Dropbox.
* **Switching providers.** Moving off GoPro Cloud entirely? Transfer everything to Dropbox first, then cancel.
* **Sharing with a team.** Put footage in a shared Dropbox folder so editors and collaborators can access it immediately.
## Get Started
[Section titled "Get Started"](#get-started)
1. [Download Blober](https://blober.io/) (available for macOS, Windows, and Linux)
2. Connect your GoPro and Dropbox accounts
3. Create a workflow and press play
That's it. Your GoPro footage in Dropbox in minutes, not hours.
# How to Transfer GoPro Cloud to Google Drive Without ZIP Files
> Move your full GoPro Cloud library directly to Google Drive with Blober. Keep original quality, monitor long transfers, and resume the same task after interruptions.
## Can You Move GoPro Cloud Files Directly to Google Drive?
[Section titled "Can You Move GoPro Cloud Files Directly to Google Drive?"](#can-you-move-gopro-cloud-files-directly-to-google-drive)
Yes. Blober connects GoPro Cloud as a source and Google Drive as a destination, then streams each photo or video from one provider to the other. You do not have to select 25 files at a time, wait for ZIP archives, extract them, and upload them again.
This is useful when you want:
* A second copy outside your GoPro subscription
* GoPro footage beside other project files in Google Drive
* Easier sharing with people who already use Google Workspace
* A way to transfer a library that is too large for manual browser downloads
## What You Need
[Section titled "What You Need"](#what-you-need)
* Blober installed on Windows, macOS, or Linux
* A GoPro Premium or GoPro Plus account with media in GoPro Cloud
* A Google account with enough available Drive storage
* Google Drive OAuth credentials configured for Blober
If Google Drive is not connected yet, follow the [Google Drive setup guide](/kb/docs/providers/google-drive/). The [GoPro provider guide](/kb/docs/providers/gopro/) explains GoPro login and media selection.
## Step 1: Open a New Workflow
[Section titled "Step 1: Open a New Workflow"](#step-1-open-a-new-workflow)
1. Open Blober and select **Workflows** in the left navigation.
2. On the **Workflows** page, click **New Workflow**.
3. Enter a **Workflow Name**, such as `GoPro Cloud to Google Drive`.
4. Enter a **Workflow Description** that will help you recognize the backup later.
5. Under **Select Action**, choose **Copy - Duplicate files to destination**.
Use **Copy**, not **Move**, for a backup. Copy leaves the original media in GoPro Cloud after it reaches Google Drive.
## Step 2: Connect the GoPro Source
[Section titled "Step 2: Connect the GoPro Source"](#step-2-connect-the-gopro-source)
In the numbered **1 Source Configuration** panel:
1. Open **Source Type** and choose **GoPro Cloud**.
2. Under **GoPro Account**, choose an account you have already connected.
3. To connect another account, click **Add account**, then **Open GoPro Login**.
4. Sign in to GoPro in the window that opens. Return to the workflow after authentication finishes.
The **Refresh** button reloads the account list if a newly connected account does not appear immediately.
## Step 3: Select the GoPro Media
[Section titled "Step 3: Select the GoPro Media"](#step-3-select-the-gopro-media)
1. Click **Browse Files and Folders** under **Select Source**.
2. Use the checkboxes to select the date folders, camera folders, photos, or videos you want to copy.
3. Click **Submit Selection**.
Your selections appear in **Source Configuration**. Use **Add More Files and Folders** if you need to include another part of the library, or remove an item from the selection list if it should not be copied.
You can also expand **Advanced Filters (Optional)** to restrict the transfer by file type, creation date, file size, subdirectories, or include/exclude patterns. Leave these settings unchanged to copy everything inside the selected folders.
GoPro media is organized into paths such as:
```text
/2026-01-23/HERO13 Black/videos/GX015742.MP4
/2026-01-23/HERO13 Black/photos/GOPR0001.JPG
```
## Step 4: Connect Google Drive
[Section titled "Step 4: Connect Google Drive"](#step-4-connect-google-drive)
The numbered **2 Destination Configuration** panel appears after you submit at least one GoPro source selection.
1. Open **Destination Type** and choose **Google Drive**.
2. Under **Google OAuth Credentials**, choose the OAuth credentials JSON file created during [Google Drive setup](/kb/docs/providers/google-drive/).
3. When the instructions appear beneath the field, click **Authorize Google Drive Access**.
4. Sign in to the Google account that will receive the GoPro backup and approve access.
5. Return to Blober and wait for **Authentication successful** to appear.
Google Drive has a 750 GB daily upload limit for most accounts. A multi-terabyte GoPro library may therefore take several days even on a fast connection.
## Step 5: Choose the Google Drive Folder
[Section titled "Step 5: Choose the Google Drive Folder"](#step-5-choose-the-google-drive-folder)
1. Click **Browse Folder** under **Select Destination Folder**.
2. Navigate to the Google Drive folder where the backup should be stored.
3. Select that folder using its checkbox. Google Drive must have one destination folder for the workflow.
4. Click **Submit Selection**.
The chosen folder appears as the **Destination Path**. You can expand **Advanced Path Template (Optional)** if you want Blober to build additional paths from variables such as the filename or file date. Leave it closed for a straightforward copy into the selected folder.
## Step 6: Review and Save
[Section titled "Step 6: Review and Save"](#step-6-review-and-save)
The numbered **3 Preview & Summary** panel appears when both sides are complete. Check that it shows GoPro media going to the intended Google Drive path.
1. Review the estimated items and size.
2. Click **Save Workflow**.
3. Wait for **Workflow created successfully!** before closing the editor.
Saving creates the reusable workflow but does not start a transfer.
## Step 7: Run and Monitor the Transfer
[Section titled "Step 7: Run and Monitor the Transfer"](#step-7-run-and-monitor-the-transfer)
1. Find the new workflow on the **Workflows** page.
2. Confirm its card shows **GoPro Cloud** as the source and **Google Drive** as the destination.
3. Click the green **Run** button.
4. Blober creates a task and opens the **Progress** page.
The **Progress** page shows transferred files, bytes moved, current activity, and individual file results.
Blober runs on your computer, but the files stream from GoPro Cloud to Google Drive rather than being saved as a permanent local copy first. Your credentials remain on your machine, and the media does not pass through Blober's servers.
## How Long GoPro Transfers Resume
[Section titled "How Long GoPro Transfers Resume"](#how-long-gopro-transfers-resume)
Authentication sessions can expire during a large transfer. Network interruptions, provider throttling, app restarts, and computer restarts are also normal during multi-day jobs.
Blober stores the task and its per-file progress locally. If the transfer is interrupted:
1. Reopen Blober.
2. Return to the existing task on the **Progress** page.
3. Resume that task if it was paused. An active pending or running task can be rediscovered after launch.
4. If GoPro asks you to sign in again, complete the login to obtain a fresh session.
Do not create a replacement workflow or start a new task just to recover from an interruption. The existing task knows which source paths it has already processed; a new task has separate progress state.
Installing a newer Blober version also preserves existing workflows, task history, and task state.
For a deeper explanation, see [How Blober Handles Duplicate Files in Long-Running Backups](/kb/articles/avoid-duplicate-files-long-running-backups/).
## How Blober Handles Individual File Errors
[Section titled "How Blober Handles Individual File Errors"](#how-blober-handles-individual-file-errors)
During a large library transfer, GoPro may occasionally list a file or part that is not ready to download or is temporarily unavailable.
Blober records the affected item and continues with the rest of the library instead of allowing one unavailable file to block every file that follows.
Review skipped and failed items when the task finishes. A skipped item remains in GoPro Cloud and can be checked there or retried later when it becomes available.
## Will a Restart Create Duplicate Files in Google Drive?
[Section titled "Will a Restart Create Duplicate Files in Google Drive?"](#will-a-restart-create-duplicate-files-in-google-drive)
Not when you continue the same task. Completed source paths are remembered within that task and are not processed again.
A deliberate rerun of the workflow creates a new task. Google Drive allows multiple files with the same name, and the Local destination's **Filename** deduplication option does not apply to Google Drive. If a transfer stops, resume its original task rather than starting over.
## GoPro Cloud to Google Drive vs Manual Download
[Section titled "GoPro Cloud to Google Drive vs Manual Download"](#gopro-cloud-to-google-drive-vs-manual-download)
| Step | Manual GoPro download | Blober workflow |
| ------------------------- | ----------------------------- | ------------------------------------ |
| Select media | Small browser batches | Individual folders or entire storage |
| Download format | ZIP archives | Original media stream |
| Local extraction | Required | Not required |
| Google Drive upload | Separate manual step | Same workflow |
| Resume after interruption | Repeat manual work | Continue the existing task |
| Long-session re-login | Start over or rebuild batches | Sign in and continue the task |
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
### Does Blober delete the files from GoPro Cloud?
[Section titled "Does Blober delete the files from GoPro Cloud?"](#does-blober-delete-the-files-from-gopro-cloud)
Not when the workflow action is **Copy**. The source media remains in GoPro Cloud after it reaches Google Drive.
### Does the transfer reduce video or photo quality?
[Section titled "Does the transfer reduce video or photo quality?"](#does-the-transfer-reduce-video-or-photo-quality)
No. Blober requests the highest-quality downloadable GoPro variant and transfers the file without transcoding it.
### Must Blober remain open?
[Section titled "Must Blober remain open?"](#must-blober-remain-open)
Yes, Blober performs the transfer on your computer. It prevents system sleep while a task is active, but the computer must remain powered on and connected to the network.
### What happens when GoPro login expires?
[Section titled "What happens when GoPro login expires?"](#what-happens-when-gopro-login-expires)
Blober requests a new login. Authenticate again and continue the existing task; its completed-file state is preserved.
### Can I cancel GoPro Premium immediately after starting?
[Section titled "Can I cancel GoPro Premium immediately after starting?"](#can-i-cancel-gopro-premium-immediately-after-starting)
Wait until the task is finished and you have verified the files in Google Drive. Your GoPro subscription must remain active while Blober reads the source library.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [GoPro Plus Cloud Media Download and Backup](/kb/docs/providers/gopro/)
* [Google Drive Setup with OAuth and Transfers](/kb/docs/providers/google-drive/)
* [GoPro Cloud vs Dropbox vs Google Drive](/kb/articles/gopro-cloud-vs-dropbox-vs-google-drive/)
* [How to Download All GoPro Cloud Videos](/kb/articles/how-to-download-all-gopro-cloud-videos/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Move your GoPro Cloud library to Google Drive without browser batches or ZIP files. Blober is a one-time purchase with no per-GB transfer fee.
**[Download Blober at blober.io](https://blober.io)**
# OneDrive or Google Drive: moving between Microsoft 365 and Google Workspace
> When it makes sense to switch from OneDrive to Google Drive or back again, what happens to Office and Google files, and how to move them.
Changing cloud storage is usually part of a bigger move. A company adopts Google Workspace, a school issues Microsoft 365 accounts, or a family decides it no longer wants to pay for two storage plans. The files are only one part of that decision, but they are the part that has to come with you.
Blober transfers files in either direction between OneDrive and Google Drive. It streams them through your computer, so you do not need enough free disk space to download the entire account first.
## When OneDrive to Google Drive makes sense
[Section titled "When OneDrive to Google Drive makes sense"](#when-onedrive-to-google-drive-makes-sense)
Google Drive fits best when most work already happens in Gmail, Google Docs, Meet, and Calendar. A move from OneDrive can make sense when:
* your company or school has standardized on Google Workspace;
* people collaborate mainly in Docs, Sheets, and Slides;
* Chromebooks or browser-based work have replaced Windows desktops;
* you want storage billed under an existing Google One or Workspace plan.
Office files do not have to be converted during the transfer. Word, Excel, and PowerPoint files arrive in Google Drive as `.docx`, `.xlsx`, and `.pptx` files. Google can open and edit them, and you can choose later whether to convert them to native Google formats.
## When Google Drive to OneDrive makes sense
[Section titled "When Google Drive to OneDrive makes sense"](#when-google-drive-to-onedrive-makes-sense)
OneDrive is the more natural home when work revolves around Windows, Microsoft 365, Teams, and the desktop versions of Office. People commonly move in this direction because:
* their organization has moved to Microsoft 365;
* Office formatting needs to survive round trips without surprises;
* Teams and SharePoint are now the main places where people collaborate;
* OneDrive storage is already included in a Microsoft 365 plan.
The main catch is Google's native file formats. A Google Doc is not a normal `.docx` file sitting in Drive. When Blober moves native Google files out of Drive, it exports Docs to `.docx`, Sheets to `.xlsx`, and Slides to `.pptx`. Those copies open in Microsoft Office, but Google comments, revision history, sharing rules, and some format-specific features do not come with them.
## What moves in each direction
[Section titled "What moves in each direction"](#what-moves-in-each-direction)
| Source | Destination | File behavior |
| -------------- | ----------------- | ------------------------------------------------------------------------------------------ |
| OneDrive | Google Drive | Office files and other regular files keep their existing formats |
| Google Drive | OneDrive | Native Docs, Sheets, and Slides export to Microsoft Office formats |
| Either service | The other service | Folder structure is recreated; sharing rules, links, comments, and version history are not |
There is one difference around shared files. Blober exposes Google Drive's "Shared with me" list as a read-only source. OneDrive does not offer an equivalent usable root through the narrow permission Blober requests, so its shared items and cross-drive shortcuts are not shown.
## How to move from OneDrive to Google Drive
[Section titled "How to move from OneDrive to Google Drive"](#how-to-move-from-onedrive-to-google-drive)
1. [Connect OneDrive](/kb/docs/providers/onedrive/) with a Microsoft app client ID.
2. [Connect Google Drive](/kb/docs/providers/google-drive/).
3. Create a workflow with OneDrive as the source and Google Drive as the destination.
4. Select the source folder and destination folder.
5. Run the workflow and keep Blober open until it finishes.
After the transfer, open a sample of Word, Excel, and PowerPoint files in Google Drive before closing the old account. Decide whether to leave them in Office format or convert the files you still edit.
## How to move from Google Drive to OneDrive
[Section titled "How to move from Google Drive to OneDrive"](#how-to-move-from-google-drive-to-onedrive)
Use the same process in reverse: choose Google Drive as the source and OneDrive as the destination. Include "Shared with me" only for files you are allowed to copy and want to keep. Native Google files are exported during the transfer.
Check a few converted documents, spreadsheets, and presentations in Microsoft Office afterward. Complex layouts, formulas, fonts, and embedded Google-only features deserve a manual look.
## Before you cancel the old account
[Section titled "Before you cancel the old account"](#before-you-cancel-the-old-account)
Compare file counts and inspect the folders that matter most. Keep the old account available until you have checked converted documents and confirmed that other people can reach the new location.
Then recreate sharing permissions in the destination. File ownership, organization policies, public links, and team memberships belong to the old service and cannot be carried over as ordinary files.
## Frequently asked questions
[Section titled "Frequently asked questions"](#frequently-asked-questions)
**Can I move between OneDrive and Google Drive without downloading everything?**
Yes. Blober streams each file through the computer running the app instead of staging the whole library on disk.
**Will Google Docs work in OneDrive?**
Blober exports Google Docs, Sheets, and Slides to Word, Excel, and PowerPoint formats. Check complex files after conversion because the two editors do not support every feature in exactly the same way.
**Will Office files become Google Docs automatically?**
No. They arrive in Google Drive as Office files. Google Drive can edit them in that format, or you can convert selected files later.
**Does the migration copy shared files?**
Google Drive's "Shared with me" items can be selected as a read-only source. OneDrive's "Shared with me" items and shortcuts to other drives are not available in Blober.
## Get Blober
[Section titled "Get Blober"](#get-blober)
Move the files once, check the result, and finish the ecosystem switch without renting a permanent sync service.
**[Download Blober at blober.io](https://blober.io)**
# How to back up OneDrive to Backblaze B2
> Copy OneDrive files directly to Backblaze B2 without downloading the whole library or getting caught by Files On-Demand placeholders.
OneDrive is good at keeping files available across your devices. It is not a separate backup. A deleted folder, a compromised account, or a bad sync can reach every device connected to the same account.
Backblaze B2 gives you a copy outside Microsoft's ecosystem. Blober can now read OneDrive through Microsoft Graph and write those files directly to B2, so you do not need to download the whole library first.
## Why the desktop folder is a poor backup source
[Section titled "Why the desktop folder is a poor backup source"](#why-the-desktop-folder-is-a-poor-backup-source)
OneDrive Files On-Demand keeps online-only files as placeholders on your disk. They look like ordinary files in Finder or File Explorer, but the content stays in Microsoft's cloud until something opens the file.
That saves disk space. It also means a backup tool that reads only the local OneDrive folder may see a placeholder instead of the file itself. The usual workaround is to select "Always keep on this device" and wait for OneDrive to download everything. For a large account, that can take hours and may not fit on the computer at all.
Blober avoids the local folder. It requests each file from OneDrive through Microsoft Graph, then streams it to Backblaze B2 through your computer. Files On-Demand does not enter the path.
## Why use B2 for a OneDrive backup
[Section titled "Why use B2 for a OneDrive backup"](#why-use-b2-for-a-onedrive-backup)
The useful part is separation. Your working files stay in OneDrive, while the backup lives under a different provider and account. B2 also uses S3-compatible object storage, which suits archives that you expect to keep longer than you actively edit them.
This transfer copies files and folders. It does not reproduce Microsoft sharing permissions, version history, comments, or recycle-bin contents.
## How to copy OneDrive to Backblaze B2
[Section titled "How to copy OneDrive to Backblaze B2"](#how-to-copy-onedrive-to-backblaze-b2)
1. [Connect Microsoft OneDrive](/kb/docs/providers/onedrive/) in Blober.
2. Connect Backblaze B2 with your key ID, application key, and bucket.
3. Create a workflow with OneDrive as the source and B2 as the destination.
4. Choose the OneDrive folder and the destination path in your bucket.
5. Start the workflow and keep Blober open until it finishes.
Blober recreates the folder structure in B2. The data passes through the computer running Blober, but it is not staged as a second full copy on disk.
## What the OneDrive connection can see
[Section titled "What the OneDrive connection can see"](#what-the-onedrive-connection-can-see)
Blober reads the signed-in user's default OneDrive. That includes ordinary files and folders in "My files." It does not include "Shared with me," SharePoint or Teams libraries, OneNote notebooks, Personal Vault, or shortcuts to another drive.
If a shared file must be part of the backup, first download it and upload it to your own OneDrive as an ordinary file. An "Add shortcut to My files" shortcut is still a reference to another drive, so Blober skips it.
## Frequently asked questions
[Section titled "Frequently asked questions"](#frequently-asked-questions)
**Do I need to mark every OneDrive file "Always keep on this device"?**
No. Blober reads the cloud copy through Microsoft Graph rather than backing up the local OneDrive sync folder.
**Does the transfer need free disk space equal to my OneDrive library?**
No. Files stream through the computer running Blober and are not stored there as a complete intermediate copy.
**Is Backblaze B2 a full OneDrive clone?**
No. It receives the files and folder structure. OneDrive permissions, links, comments, version history, and deleted items do not transfer.
**Can Blober include files shared with me?**
Not from OneDrive. Microsoft's old "Shared with me" Graph endpoint is deprecated, requires broader access to read remote items, and will stop returning data after November 2026. Blober keeps the narrower `Files.ReadWrite` permission and reads only the signed-in user's drive.
## Related guides
[Section titled "Related guides"](#related-guides)
* [The 3-2-1 backup rule for people who live in the cloud](/kb/articles/3-2-1-backup-rule-for-cloud/)
* [What S3-compatible really means](/kb/articles/what-s3-compatible-really-means/)
* [OneDrive setup](/kb/docs/providers/onedrive/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Move your OneDrive files to Backblaze B2 without first filling your disk.
**[Download Blober at blober.io](https://blober.io)**
# Organize Blob and Object Storage Without File Search
> Turn S3 buckets and Azure Blob containers into usable archives with Blober selection, glob filters, transfer workflows, and destination paths.
## Object Storage Is Not a Digital Asset Manager
[Section titled "Object Storage Is Not a Digital Asset Manager"](#object-storage-is-not-a-digital-asset-manager)
S3-compatible object storage and Azure Blob Storage are excellent at durable, scalable storage. Their basic model is intentionally simple: a bucket or container holds objects identified by keys.
That model creates a familiar pain. The data is safe, but finding a useful subset can be difficult.
A typical bucket may contain:
* Camera originals and edited exports
* Client deliverables and internal drafts
* Application uploads with generated names
* Logs, reports, backups, and temporary artifacts
* Years of prefixes created by different teams
Provider consoles commonly support listing by prefix and basic properties. They are not necessarily designed for visual multi-folder selection, reusable include/exclude rules, or reorganizing objects into a new human structure.
Blober does not turn object storage into full-text or AI search. It solves a narrower, practical problem: **identify files from paths and metadata, then copy or move them into a better layout.**
## The Blober Model
[Section titled "The Blober Model"](#the-blober-model)
An organization workflow has four layers:
1. **Browse and select a scope.** Choose a bucket area, folder-like prefix, several folders, or specific files.
2. **Filter the scope.** Restrict by extension, creation age, size, recursive inclusion, or glob rules.
3. **Choose a destination.** Use another provider, bucket, container, account, local disk, NAS, or supported non-overlapping folder.
4. **Build paths.** Preserve the hierarchy or create a custom destination with metadata variables.
The source provider does not need a native integration with the destination provider. Blober connects to both endpoints locally.
## What This Can and Cannot Search
[Section titled "What This Can and Cannot Search"](#what-this-can-and-cannot-search)
Blober can target:
* Paths and filenames
* File extensions
* Source-reported created date
* Source-reported file size
* Folder depth through recursive selection
* Include and exclude glob patterns
Blober path workflows do not provide:
* OCR inside scanned documents
* Full-text search inside PDFs
* Face, object, or scene recognition
* Speech transcription
* Semantic search such as "all beach videos"
That boundary matters. If filenames and paths contain useful conventions, Blober can act on them immediately. If the only useful information exists inside file contents, a dedicated indexing system is still required.
## Example: Recover a Flat Media Bucket
[Section titled "Example: Recover a Flat Media Bucket"](#example-recover-a-flat-media-bucket)
Suppose a bucket contains:
```text
uploads/GX015742.MP4
uploads/GOPR0001.JPG
uploads/DSC_4821.ARW
uploads/contract.pdf
uploads/proxies/GX015742-low.mp4
```
Select `uploads`, then configure:
```text
Include: **/*.{mp4,mov,jpg,jpeg,arw,dng}
Exclude: **/proxies/**
Template: media/{file_ext}/{file_created_date}/{filename}
```
The destination becomes browseable by extension and source-reported creation date. The source can remain unchanged if the action is **Copy**.
## Example: Extract Business Records
[Section titled "Example: Extract Business Records"](#example-extract-business-records)
A company bucket mixes customer uploads, generated reports, and temporary processing artifacts.
```text
Selected prefix: production
Include: **/*.{pdf,csv,xlsx,json}
Exclude: **/{tmp,temp,cache,failed}/**
Template: records/{file_modified_date}/{file_dir}/{filename}
```
This creates a separate records archive while retaining relative source context.
## Example: Split Active and Archive Storage
[Section titled "Example: Split Active and Archive Storage"](#example-split-active-and-archive-storage)
Large inactive files can remain expensive in active storage.
Create a workflow that:
* Selects completed project prefixes
* Filters to large files
* Excludes current working or proxy folders
* Copies to a lower-cost archive provider
* Preserves `{file_dir}/{filename}`
Verify the archive before considering a move or source cleanup.
## Reorganizing on the Same Provider
[Section titled "Reorganizing on the Same Provider"](#reorganizing-on-the-same-provider)
Where the adapter supports the selected source and destination action, Blober can copy or move between separate locations on the same provider.
The destination cannot be the same as the source or nested inside a selected source folder. That overlap could make the scan loop over its own output or overwrite files. Choose a sibling prefix, separate bucket/container, or separate account.
For example:
```text
Source: messy-imports
Destination: organized-archive
Template: {file_ext}/{file_created_date}/{file_dir}/{filename}
```
Copy first. Compare counts and sample files. Move only when deleting the source is intentional.
## Why Not Build an Index First?
[Section titled "Why Not Build an Index First?"](#why-not-build-an-index-first)
A search index is appropriate when users need ongoing content discovery. It also introduces ingestion, synchronization, schemas, permissions, infrastructure, and recurring cost.
Blober is useful when the immediate pain is operational:
* "Copy every final MP4 but not proxies."
* "Move PDFs older than the working set into an archive."
* "Separate RAW files from exports."
* "Preserve every project subfolder while changing the top-level layout."
* "Collect large files into cheaper storage."
Those are transfer-and-path problems. They do not need a permanent search service.
## Make the Destination Easier to Search Next Time
[Section titled "Make the Destination Easier to Search Next Time"](#make-the-destination-easier-to-search-next-time)
Organization during transfer can encode the metadata users actually browse:
```text
archive/{file_ext}/{file_created_date}/{file_dir}/{filename}
```
The destination now supports useful prefix browsing:
* Start at type
* Narrow to a date
* Retain project hierarchy
* End at the original filename
This is not semantic search, but it converts an opaque dump into predictable paths using information already available.
## Safe Rollout
[Section titled "Safe Rollout"](#safe-rollout)
1. Choose one painful prefix rather than the whole bucket.
2. Use **Copy**.
3. Add the smallest useful include/exclude rule.
4. Add a path template only if the preserved structure is insufficient.
5. Review **Preview & Summary**.
6. Run and verify object counts and samples.
7. Expand the selection after the rule proves itself.
See [selection and glob filters](/kb/articles/blober-file-selection-glob-filters/) for pattern details and the [complete path-template guide](/kb/articles/blober-path-templates-complete-guide/) for destination behavior.
# Organize Cloud Files by Created, Modified, or Backup Date
> Choose a Blober date variable, understand metadata limits, filter by creation age, and build date-based paths for media and business archives.
## Why Date Organization Solves Real Retrieval Problems
[Section titled "Why Date Organization Solves Real Retrieval Problems"](#why-date-organization-solves-real-retrieval-problems)
Dates are one of the few metadata fields shared by photos, videos, documents, exports, and cloud objects. When filenames are meaningless and folders are inconsistent, a date-based destination gives users a predictable place to start.
Examples:
* A photographer needs all files created during a shoot.
* An agency needs exports modified during the current campaign.
* A business needs monthly snapshots of reports.
* An IT team needs each backup run separated from previous runs.
* A creator needs footage grouped by the date supplied by the source.
Blober supports two different date operations: **filtering which files qualify** and **placing qualified files into date-based paths**.
## Where Date Controls Live
[Section titled "Where Date Controls Live"](#where-date-controls-live)
After selecting a source folder, expand **Advanced Filters (Optional)** in **Source Configuration**. **Created Date Range** can restrict the source to any time, the last 24 hours, 7 days, 30 days, or 90 days.
After selecting the destination folder, expand **Advanced Path Template (Optional)**. Date variables can then appear anywhere in the destination path.
The source date filter currently evaluates file creation time. Choosing a path variable is independent: matching files can be arranged by created, modified, accessed, or current processing date.
## The Four Date Concepts
[Section titled "The Four Date Concepts"](#the-four-date-concepts)
### Current date
[Section titled "Current date"](#current-date)
Use:
```text
{current_date}
{current_datetime}
```
These represent when Blober processes the file. They answer, "When did this workflow place the file here?"
```text
backup-runs/{current_date}/{file_dir}/{filename}
```
This is useful for snapshots and migration batches. It is not the file's historical creation date.
### File creation date
[Section titled "File creation date"](#file-creation-date)
Use:
```text
{file_created_date}
{file_created_datetime}
```
These use creation metadata reported by the source adapter.
```text
created/{file_created_date}/{filename}
```
This is often suitable for camera media and newly produced documents, but cloud providers may interpret "created" as the time an object entered that service rather than the original camera capture time.
### File modification date
[Section titled "File modification date"](#file-modification-date)
Use:
```text
{file_modified_date}
{file_modified_datetime}
```
Modification time is useful for edited deliverables, reports, design exports, and files whose important event is the last save rather than initial creation.
```text
last-edited/{file_modified_date}/{file_dir}/{filename}
```
### File access date
[Section titled "File access date"](#file-access-date)
Use:
```text
{file_accessed_date}
{file_accessed_datetime}
```
Access time can be useful on filesystems that maintain it accurately. It is often weaker for object storage, where an access timestamp may not be exposed, may not mean "last viewed," or may be mapped from other provider metadata.
Do not choose access date merely because it exists in the variable list. Preview real values from the intended source first.
## Date Versus Datetime
[Section titled "Date Versus Datetime"](#date-versus-datetime)
The date form creates broader groups:
```text
2026-07-20
```
The datetime form includes hours, minutes, and seconds:
```text
2026-07-20_14-30-00
```
Use a date for browsable daily folders. Use a datetime when separating runs, reducing filename collisions, or preserving event ordering matters.
For example:
```text
exports/{file_modified_date}/{filename}
```
creates one folder per modification day, while:
```text
exports/{file_modified_datetime}_{filename}
```
adds the timestamp to each filename.
## Preserve Source Context
[Section titled "Preserve Source Context"](#preserve-source-context)
A date-only template can merge files from unrelated source folders:
```text
{file_created_date}/{filename}
```
To keep project or camera subfolders beneath the selected source boundary:
```text
{file_created_date}/{file_dir}/{filename}
```
Remember that `{file_dir}` is empty for directly selected files and files at a selected folder's root. Read [how file\_dir is calculated](/kb/articles/blober-file-dir-path-template/) before using it as the only project identifier.
## Real Scenarios
[Section titled "Real Scenarios"](#real-scenarios)
### Wedding photographer
[Section titled "Wedding photographer"](#wedding-photographer)
Select the whole wedding folder, include RAW and video extensions, and use:
```text
originals/{file_created_date}/{file_dir}/{filename}
```
This groups media by source-reported creation day while retaining nested camera folders.
### Monthly business archive
[Section titled "Monthly business archive"](#monthly-business-archive)
Select the reports folder and use:
```text
report-archive/{current_date}/{file_dir}/{filename}
```
Each workflow run enters a dated snapshot folder. Use **Copy** so the working reports remain untouched.
### Finished design exports
[Section titled "Finished design exports"](#finished-design-exports)
Select campaign folders, include PDF/SVG/PNG/WebP, exclude draft folders, and use:
```text
deliverables/{file_modified_date}/{file_dir}/{filename}
```
The destination reflects when deliverables were last changed.
### Incident or compliance export
[Section titled "Incident or compliance export"](#incident-or-compliance-export)
When an export must be tied to the exact transfer:
```text
exported/{current_datetime}/{file_dir}/{filename}
```
The workflow time is explicit even if source dates are inconsistent.
## What Blober Can and Cannot Know From a Date
[Section titled "What Blober Can and Cannot Know From a Date"](#what-blober-can-and-cannot-know-from-a-date)
Blober organizes from the metadata each source provides. It does not read EXIF capture dates from inside an image or work out a date from what the photo shows.
Before a large transfer:
1. Select a representative folder.
2. Enter the intended date template.
3. Review several source and destination examples.
4. Check files from different providers or upload histories.
5. Use **Copy** for the first run.
If the source reports upload time as creation time, the preview will reveal it. Choose modified date, current date, or a simpler preserved hierarchy based on the actual data rather than the variable's name alone.
See the [complete path-template guide](/kb/articles/blober-path-templates-complete-guide/) for every variable and the [copy-versus-move guide](/kb/articles/copy-move-organize-files-during-transfer/) for a safe rollout.
# How to Filter and Organize Cloud Files by Size With Blober
> Separate large media from small files using Blober size filters, understand file_size and file_size_mb path variables, and handle unknown source sizes safely.
## Why Size Is an Organization Decision
[Section titled "Why Size Is an Organization Decision"](#why-size-is-an-organization-decision)
Size changes cost, transfer time, storage choice, and retrieval behavior.
* A videographer may want multi-gigabyte masters in object storage and small proxies on a collaboration drive.
* An IT team may separate large database dumps from small configuration backups.
* A business may need to find oversized attachments consuming expensive shared storage.
* A researcher may move large datasets to archive storage while keeping papers and README files easy to access.
Blober exposes size in two different ways: broad source filters and exact destination variables.
## Source Size Filters
[Section titled "Source Size Filters"](#source-size-filters)
Select a source folder, then expand **Advanced Filters (Optional)**. **File Size** offers:
* Small: under approximately 1 MB
* Medium: approximately 1-10 MB
* Large: over approximately 10 MB
* Any size
The filter decides which files enter the workflow. It does not rename them or create size folders.
For example, to copy only large videos:
1. Select the project or media folder.
2. Choose video extensions.
3. Choose **Large**.
4. Select an archive destination.
5. Preserve paths or add a template.
This combines type and size rather than assuming every MP4 is large.
## Exact Size Variables
[Section titled "Exact Size Variables"](#exact-size-variables)
Path templates provide:
```text
{file_size}
{file_size_mb}
```
`{file_size}` is the exact source-reported byte count:
```text
1572864
```
`{file_size_mb}` converts it to megabytes rounded to two decimal places:
```text
1.50
```
A template:
```text
by-size/{file_size_mb}/{filename}
```
could produce:
```text
by-size/1.50/document.pdf
```
This does **not** create useful buckets named `small`, `medium`, or `large`. It creates one folder for each rounded size value. In a varied media collection that can mean thousands of nearly unique folders.
## The Practical Way to Build Size Categories
[Section titled "The Practical Way to Build Size Categories"](#the-practical-way-to-build-size-categories)
Use one workflow per meaningful size class and put a static category in its template.
### Large archive workflow
[Section titled "Large archive workflow"](#large-archive-workflow)
```text
Size filter: Large
Template: large-files/{file_dir}/{filename}
Destination: low-cost object storage
```
### Medium working-assets workflow
[Section titled "Medium working-assets workflow"](#medium-working-assets-workflow)
```text
Size filter: Medium
Template: medium-files/{file_dir}/{filename}
Destination: team collaboration storage
```
### Small document workflow
[Section titled "Small document workflow"](#small-document-workflow)
```text
Size filter: Small
Template: small-files/{file_ext}/{file_dir}/{filename}
Destination: searchable document share
```
This produces human categories and keeps the rule obvious in Preview & Summary.
## When Exact Size in the Path Is Useful
[Section titled "When Exact Size in the Path Is Useful"](#when-exact-size-in-the-path-is-useful)
Exact size variables still have valid uses:
* Evidence or export manifests where visible byte count helps verification
* Diagnostic transfers investigating unexpectedly large objects
* Temporary audit collections
* Comparing provider-reported object sizes
Example:
```text
size-audit/{file_size}/{file_dir}/{filename}
```
For a permanent library, exact-size directories are usually less usable than size filters plus a static label.
## Unknown and Zero Size
[Section titled "Unknown and Zero Size"](#unknown-and-zero-size)
Not every provider reports a meaningful size for every object. When size is unknown, Blober renders:
```text
NO_SIZE
NO_SIZE_MB
```
Therefore:
```text
{file_size_mb}/{filename}
```
can produce:
```text
NO_SIZE_MB/document.pdf
```
This is deliberate. A visible marker like this is safer than silently treating an unknown object as zero bytes.
Preview the source before relying on size. If many files show unknown size, organize them by type, date, or relative folder instead.
## Real Workflows
[Section titled "Real Workflows"](#real-workflows)
### Video agency: masters versus proxies
[Section titled "Video agency: masters versus proxies"](#video-agency-masters-versus-proxies)
Large size alone does not prove a file is a master, but it is a useful first boundary when combined with names and extensions:
```text
File Types: video
Size: Large
Exclude: **/{proxy,proxies,temp,cache}/**
Template: masters/{file_created_date}/{file_dir}/{filename}
```
Create a separate workflow for proxy folders if they need a cheaper or shorter-lived destination.
### Research lab: datasets versus documentation
[Section titled "Research lab: datasets versus documentation"](#research-lab-datasets-versus-documentation)
Select the study folder.
* Large workflow: archive datasets and binaries.
* Small/medium workflow: copy PDFs, Markdown, notebooks, and charts to collaboration storage.
The two destinations can serve different access patterns without changing the source.
### SME: identify storage-heavy files
[Section titled "SME: identify storage-heavy files"](#sme-identify-storage-heavy-files)
Select a shared folder, choose **Large**, and preview the result. Even before running a transfer, the preview provides a focused list and total known size. Copy candidates to an archive after owners confirm they are no longer active.
## Size and Cloud Cost
[Section titled "Size and Cloud Cost"](#size-and-cloud-cost)
Size filtering helps decide **what** to place in a cheaper tier, but it does not calculate provider charges. Storage price, retrieval fees, egress, minimum retention, and API operations still matter.
A sensible workflow is:
1. Identify large inactive files.
2. Copy them to a separate archive.
3. Verify access and integrity.
4. Retain the original until policy permits deletion.
5. Use Move only after the archive is trusted.
Learn the safety difference in [Copy As-Is, Organize During Backup, or Reorganize With Move](/kb/articles/copy-move-organize-files-during-transfer/), and combine size with [type filters](/kb/articles/organize-files-by-type-extension/) for better targeting.
# Organize Cloud Files by Type and Extension
> Use Blober extension filters and the file_ext path variable to separate photos, RAW files, videos, documents, code, and exports while copying or moving them.
## Two Ways File Type Matters
[Section titled "Two Ways File Type Matters"](#two-ways-file-type-matters)
When users say "organize by type," they may mean either:
1. Transfer only certain types.
2. Transfer many types but place each in a type-specific destination.
Blober supports both operations without inspecting file contents.
* **File Types** in **Source Configuration > Advanced Filters** decides which extensions qualify.
* `{file_ext}` in **Destination Configuration > Advanced Path Template** inserts the matching file's extension into its path.
An extension is the suffix from the filename. For `DSC_4821.ARW`, `{file_ext}` is `arw` and `{filename_no_ext}` is `DSC_4821`.
## Filtering to Specific Types
[Section titled "Filtering to Specific Types"](#filtering-to-specific-types)
After selecting a folder, expand **Advanced Filters (Optional)**. Built-in groups include:
* Images: JPG, JPEG, PNG, GIF, BMP, SVG, WebP
* Videos: MP4, MOV, AVI, MKV, WebM
* Documents: PDF, DOC, DOCX, TXT, MD
* Raw Photos: CR2, NEF, ARW, DNG, RAW
* Code: JS, PY, JAVA, CPP, HTML, CSS
You can combine extensions. If a required extension is not represented by a convenient category, use a glob include:
```text
**/*.{mxf,braw,r3d}
```
Extension matching is case-insensitive. `CLIP.MP4` and `clip.mp4` qualify as the same type.
## Building Type Folders
[Section titled "Building Type Folders"](#building-type-folders)
To transfer a mixed selection and create one folder per exact extension:
```text
by-type/{file_ext}/{filename}
```
Examples:
```text
by-type/mp4/interview.mp4
by-type/arw/DSC_4821.ARW
by-type/pdf/release-form.pdf
by-type/svg/logo.svg
```
This is literal extension organization. It creates both `jpg` and `jpeg` folders because those are different extensions. It also creates separate `doc` and `docx` folders.
If broader categories such as `images`, `video`, and `documents` are required, use separate workflows:
```text
Workflow: Archive video
File Types: video extensions
Template: video/{file_dir}/{filename}
```
```text
Workflow: Archive RAW photos
File Types: RAW extensions
Template: raw/{file_dir}/{filename}
```
Separate workflows are clearer than pretending `{file_ext}` knows that `.mov` and `.mp4` belong to a business category called `video`.
## Preserve Project Context
[Section titled "Preserve Project Context"](#preserve-project-context)
A pure type split can mix unrelated clients:
```text
{file_ext}/{filename}
```
For project-based work, retain the relative hierarchy:
```text
{file_ext}/{file_dir}/{filename}
```
Selected folder:
```text
Agency
```
Source file:
```text
Agency/Client-A/Campaign-7/Final/hero.webp
```
Destination:
```text
webp/Client-A/Campaign-7/Final/hero.webp
```
The selected `Agency` boundary is not repeated. `{file_dir}` begins below it.
## Real Problems This Solves
[Section titled "Real Problems This Solves"](#real-problems-this-solves)
### Photographer
[Section titled "Photographer"](#photographer)
One shoot folder contains RAW originals, JPEG previews, TIFF edits, and MP4 behind-the-scenes clips.
* Archive RAW files to low-cost storage.
* Copy JPEG/TIFF deliverables to a client share.
* Send video to a separate editing volume.
Each workflow selects the same shoot folder but uses different extensions and destinations.
### Designer
[Section titled "Designer"](#designer)
A project tree contains editable sources plus SVG, PNG, PDF, and WebP exports. Filter to export extensions and exclude `drafts`:
```text
Include: **/*.{svg,png,pdf,webp}
Exclude: **/drafts/**
Template: deliverables/{file_ext}/{file_dir}/{filename}
```
### Small business
[Section titled "Small business"](#small-business)
A shared drive mixes invoices, scanned receipts, spreadsheets, and temporary office files. Create a durable document archive:
```text
Include: **/*.{pdf,xls,xlsx,doc,docx}
Exclude: **/{temp,autosave}/**
Template: records/{file_ext}/{file_modified_date}/{filename}
```
### Developer or IT team
[Section titled "Developer or IT team"](#developer-or-it-team)
Copy configuration and source files while excluding generated dependencies:
```text
Exclude: **/{node_modules,dist,build,coverage}/**
Template: code-backup/{file_ext}/{file_dir}/{filename}
```
## Limits of Extension-Based Organization
[Section titled "Limits of Extension-Based Organization"](#limits-of-extension-based-organization)
An extension is not a MIME-content inspection.
* A renamed executable ending in `.jpg` still looks like a JPG to an extension rule.
* Files without extensions produce an empty extension value.
* Similar types can use several suffixes.
* Sidecar files such as XMP may need explicit inclusion.
For trusted working files, extension rules are fast and understandable. For security validation or deep media classification, use a tool designed to inspect contents.
## A Good First Test
[Section titled "A Good First Test"](#a-good-first-test)
Select a small mixed folder and preview:
```text
{file_ext}/{file_dir}/{filename}
```
Check:
* Uppercase extensions normalize as expected.
* Files without extensions have a sensible destination.
* Duplicate filenames remain separated by `{file_dir}`.
* Sidecar files are either deliberately included or excluded.
Continue with [glob filtering](/kb/articles/blober-file-selection-glob-filters/) for more exact type rules or [size organization](/kb/articles/organize-files-by-size/) when large media and small documents need different storage.
# Rabata.io: Where It Fits and Where It Doesn't
> Analysis of Rabata.io's S3-compatible storage: what the benchmarks show, the real use case, and how it compares to AWS S3, Backblaze B2, Cloudflare R2, and others.
## What Rabata Actually Is
[Section titled "What Rabata Actually Is"](#what-rabata-actually-is)
Rabata.io is an S3-compatible object storage provider from [RCS Technologies (UK)](https://rabata.io/legal-info/terms) with two products: **Hot Storage**, general-purpose object storage at [$0.01/GB/month](https://docs.rabata.io/billing/) in us-east-1, designed for applications, media, and frequently accessed data, and **Backup**, bulk archival storage at [$49/10TB flat](https://docs.rabata.io/billing/) in eu-west-2, intended for backups, disaster recovery, and cold data. Both use standard AWS SigV4 authentication, work with any S3 SDK or CLI, and require no code changes to migrate from AWS S3. You swap the endpoint and credentials.
That is the entire product. No compute layer, no managed databases, no dashboard file browser: you cannot preview or view objects through Rabata's web UI, so you need an S3 client or a tool like [Blober](https://blober.io/) to actually see what's in your buckets. Just storage with an S3 API.
## What the Benchmarks Show
[Section titled "What the Benchmarks Show"](#what-the-benchmarks-show)
Rabata published [benchmarks](https://rabata.io/s3-comparison) using [MinIO warp v1.0.7](https://github.com/minio/warp/releases/tag/v1.0.7) (released January 2025, now superseded by [v1.5.0](https://github.com/minio/warp/releases/tag/v1.5.0)) on a Debian 13 VM in us-east-1 with 8 concurrent threads in September 2025. The [methodology is public](https://rabata.io/s3-benchmark-methodology).
Benchmark Independence
These benchmarks were conducted by Rabata themselves. No independent third party has publicly replicated them, and Rabata's [Terms of Service](https://rabata.io/legal-info/terms) (Section 6.4) prohibit customers from publishing benchmarks without prior written approval, which limits independent verification.
According to their numbers, Rabata wins upload speed by a small margin (1,462 MB/s vs AWS's 1,444) and mixed operations by 2.3x over AWS. It loses on downloads to both Backblaze (2,075 MB/s) and AWS (1,816), and loses small object throughput to iDrive e2 (962 ops/s vs 696).
The mixed operations number is the most relevant for production workloads. Real applications read, write, list, stat, and delete concurrently. Rabata scored 2.3x higher than AWS S3 in that test.
These are same-region tests (us-east-1 to us-east-1). Performance from other geographies is unknown, and Rabata only operates in two regions. The runs are 30 seconds to 10 minutes with 8 threads, so they measure burst, not sustained multi-TB daily throughput over months. The warp version used (v1.0.7, January 2025) was already 8 months old at the time of testing and is now over a year outdated, and newer versions may produce different results. AWS S3 publishes [99.999999999% durability](https://aws.amazon.com/s3/sla/). Rabata publishes no durability SLA, and their terms include a broad "as is" disclaimer with zero liability for data loss.
## The Real Use Case
[Section titled "The Real Use Case"](#the-real-use-case)
Rabata fits a specific profile:
**Write-heavy S3 workloads that need to stay cheap.** If you're ingesting backup pipelines, media uploads, log aggregation, or AI training data, and your bottleneck is upload throughput plus cost, Rabata's upload speed at [$0.01/GB](https://docs.rabata.io/billing/) is competitive, roughly 57% less than [AWS's $0.023/GB](https://aws.amazon.com/s3/pricing/) first-tier pricing (AWS discounts at volume).
**The Backup tier at [$49/10TB](https://docs.rabata.io/billing/)** ($0.0048/GB) is priced below [Backblaze B2](https://www.backblaze.com/cloud-storage/pricing) ($6.95/TB, \~$0.007/GB) and [Wasabi](https://wasabi.com/cloud-storage-pricing) ($6.99/TB, \~$0.007/GB, [increasing to $7.99/TB in July 2026](https://docs.wasabi.com/docs/may-2026-wasabi-pricing)). [Wasabi enforces a 90-day minimum retention](https://docs.wasabi.com/docs/what-is-the-minimum-storage-duration-policy). Rabata's Backup tier has no documented minimum retention, but note: [egress is capped at 2x your storage amount](https://docs.rabata.io/billing/) and billing is in 10TB increments rounded up: store 1TB and you pay for 10TB.
**GDPR-compliant EU storage.** The eu-west-2 Backup tier gives you EU data residency, which Rabata calls out explicitly. Worth noting: Rabata's parent company (RCS Technologies) operates under UK law, not EU law. [Hetzner](https://www.hetzner.com/storage/object-storage) also offers EU-based S3-compatible storage with three EU regions (NBG1, FSN1, HEL1) versus Rabata's single EU region. For European companies that need S3-compatible storage with data residency guarantees, both are worth evaluating.
**No-friction evaluation.** 30-day trial, no credit card required per [Rabata's signup page](https://rabata.io/signup).
## Where It Doesn't Fit
[Section titled "Where It Doesn't Fit"](#where-it-doesnt-fit)
* **Download-heavy workloads.** If you're serving content to users, [Backblaze B2](https://www.backblaze.com/cloud-storage/pricing) (2,075 MB/s downloads, \~$0.007/GB) or [Cloudflare R2](https://developers.cloudflare.com/r2/pricing/) ($0.015/GB storage, zero egress, weak throughput but free delivery) are better choices depending on whether you're optimizing for speed or cost.
* **Global distribution.** Two regions. If you need worldwide low-latency access, this is not the product.
* **Enterprise compliance requirements.** No published durability SLA, no SOC 2 mention, limited public track record, benchmarks not independently verified.
* **Ecosystem depth.** No lifecycle policies, no event notifications, no cross-region replication, no versioning (or at least none documented), no dashboard file browser. AWS S3 has all of these. Rabata does not.
## Where It Sits Competitively
[Section titled "Where It Sits Competitively"](#where-it-sits-competitively)
Based on Rabata's own benchmarks (no independent verification available), they offer three things at once that no other single provider does:
1. **Fastest mixed workload performance** in their published benchmarks
2. **Simple pricing** at [$0.01/GB with $0.01/GB egress](https://docs.rabata.io/billing/) (Backup tier: [egress capped at 2x storage](https://docs.rabata.io/billing/))
3. **No-barrier trial** with no credit card required
[AWS](https://aws.amazon.com/s3/pricing/) is faster on downloads but 2-3x more expensive. [Backblaze](https://www.backblaze.com/cloud-storage/pricing) is comparable on storage (\~$0.007/GB) but slower on uploads. [Cloudflare R2](https://developers.cloudflare.com/r2/pricing/) has zero egress but performs [3-8x worse](https://rabata.io/comparison/rabata-vs-cloudflare). [Wasabi](https://wasabi.com/cloud-storage-pricing) has no egress fees but enforces [90-day minimums](https://docs.wasabi.com/docs/what-is-the-minimum-storage-duration-policy). [iDrive](https://www.idrive.com/e2/pricing) wins on small objects but falls behind on [mixed workloads](https://rabata.io/comparison/rabata-vs-idrive).
If your workload is "ingest data via S3 API, store it cheaply, occasionally read it back," Rabata is worth testing. If your workload needs more features, more regions, or a long track record, look elsewhere.
## Using Rabata with Blober
[Section titled "Using Rabata with Blober"](#using-rabata-with-blober)
Blober supports [Rabata.io](/kb/docs/providers/rabata) as a native provider. Connect with your access key and secret key, and Blober detects your buckets across both regions (Hot Storage and Backup). You can use Rabata as a source or destination in any workflow: migrate to it from AWS S3, sync from Dropbox, back up from Google Drive, or download files from Rabata to your local machine. Since Rabata's dashboard has no built-in file browser, Blober is one of the easiest ways to actually see and manage what's in your buckets.
What Blober supports with Rabata:
* **Browse**: list buckets and objects across both regions (something Rabata's own dashboard doesn't offer)
* **Upload**: write files to Hot Storage or Backup buckets
* **Download**: pull files from Rabata to local storage or stream to another provider
* **Copy/Move**: transfer objects between buckets
* **Delete**: remove objects
Blober handles the region routing automatically. If a bucket lives in eu-west-2, operations go through the eu-west-2 endpoint. No manual configuration needed.
For setup details, see the [Rabata.io provider documentation](/kb/docs/providers/rabata).
# How to Rehydrate Azure Archive Blobs to Hot, Cool, or Cold
> Understand Azure Archive rehydration methods, standard and high priority, account throughput, versions, snapshots, and early deletion charges.
## Archive blobs are offline
[Section titled "Archive blobs are offline"](#archive-blobs-are-offline)
An Azure blob in Archive cannot be read or modified. Changing a label in the portal does not make it instantly available. Azure has to rehydrate the data into an online tier.[\[1\]](https://learn.microsoft.com/en-us/azure/storage/blobs/archive-rehydrate-overview "Source: learn.microsoft.com/en-us/azure/storage/blobs/archive-rehydrate-overview")
There are two methods:
1. Change the existing blob's tier with Set Blob Tier.
2. Copy the archived blob into a new blob on Hot, Cool, or Cold.
The right method depends on retention rules, versions, lifecycle policies, and whether the original archived object must remain untouched.
## Standard and high priority
[Section titled "Standard and high priority"](#standard-and-high-priority)
Standard priority processes requests in the order Azure receives them. Microsoft says objects under 10 GB may take up to 15 hours.
High priority costs more and may complete in under one hour for objects under 10 GB. You can raise an active request from Standard to High, but you cannot lower it again.
Those times are not a promise for a whole account. Rehydration throughput is limited at the storage-account level, not granted independently to every blob. A large batch can take much longer than the small-object estimate.
## Batch requests instead of flooding the account
[Section titled "Batch requests instead of flooding the account"](#batch-requests-instead-of-flooding-the-account)
Microsoft recommends batching rehydration requests. That makes progress easier to observe and reduces the chance that account-level throughput turns one emergency restore into a queue of thousands of competing objects.
Start with the files needed first. Confirm that they reach the online tier and can be read before requesting the rest.
## Versions and snapshots need a copy
[Section titled "Versions and snapshots need a copy"](#versions-and-snapshots-need-a-copy)
Snapshots and previous blob versions cannot be rehydrated in place. Copy them into a new online blob.
This matters during a recovery. The version you need may not be the current object. Check version and snapshot identifiers before assuming that Set Blob Tier will recover it.
## Copying can avoid two traps
[Section titled "Copying can avoid two traps"](#copying-can-avoid-two-traps)
Changing the same archived blob to an online tier before the Archive minimum duration ends can create an early deletion charge. Copying it into a new online blob leaves the archived source in place and can avoid that specific fee.
A copy can also protect against an old lifecycle rule. Rehydrating the same blob does not necessarily make its last-modified date new. A policy based on age may move it back to Archive. A new copy has a new object history that is easier to reason about.
Check current Azure prices before choosing a method. Storage, retrieval, read operations, high-priority rehydration, and early deletion can all affect the bill.[\[2\]](https://azure.microsoft.com/en-us/pricing/details/storage/blobs/ "Source: azure.microsoft.com/en-us/pricing/details/storage/blobs/")
## Where Blober fits
[Section titled "Where Blober fits"](#where-blober-fits)
Blober can apply a tier change to selected Azure blobs without a PowerShell loop. Azure still controls the rehydration queue and timing.
For a recovery, select a small batch, request the destination tier, wait for Azure to complete it, and open representative files. A status change is useful. A readable file is the real test.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [How to Bulk Change Azure Blob Storage Access Tiers](/kb/articles/azure-blob-storage-mutations-change-tiers/)
* [Azure Blob Tiers vs S3 Storage Classes](/kb/articles/azure-blob-tiers-vs-s3-storage-classes/)
* [Cloud Storage Ingress vs Egress Fees Explained](/kb/articles/cloud-storage-ingress-egress-fees-explained/)
* [Azure Blob Storage Setup and Transfers](/kb/docs/providers/azure-blob/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Blober applies tier changes to the blobs you select, without a PowerShell loop. Azure still controls the rehydration queue, so plan the wait and verify the files afterwards.
**[Download Blober at blober.io](https://blober.io)**
# S3-Compatible Cloud Object Storage Providers (Hyperscalers and Regional Clouds)
> S3-compatible object storage from major platform clouds: Alibaba OSS, Tencent COS, Huawei OBS, IBM COS, Oracle OCI, Google Cloud Storage, Yandex, and more, with endpoint formats, regions, and how to connect each one.
The large platform clouds all run object storage, and most expose an Amazon S3-compatible endpoint alongside their native API. That means you can point an S3 client at Alibaba, Tencent, Huawei, IBM, Oracle, Google, Yandex, and many regional clouds by changing the endpoint URL and keys. This page lists the cloud S3-compatible services, their endpoint formats, and how to connect each one.
This is one category in our [complete list of S3-compatible storage providers](/kb/articles/s3-compatible-storage-providers-complete-list/). For independent object-storage clouds, hosting platforms, self-hosted servers, enterprise appliances, and decentralized storage, see the other category pages linked at the end.
These services are intended to connect through Blober's generic [S3-Compatible connector](/kb/docs/providers/s3-compatible/) when they support the common S3 operations Blober uses. Paste the endpoint and keys, then browse to confirm. Confirm the exact endpoint in each provider's console, since regions and hostnames change over time. The endpoint formats below come from each provider's own documentation, cross-checked against current S3 client references[\[1\]](https://rclone.org/s3/ "Source: rclone.org/s3/").
Each entry notes an **addressing style**. Virtual-hosted puts the bucket in the subdomain (`https://my-bucket.s3.example.com`); path-style puts it in the URL path (`https://s3.example.com/my-bucket`). Almost every cloud here uses virtual-hosted. The endpoint formats below show hostnames; in Blober, include `https://` in the endpoint field. The [endpoint setup notes](/kb/docs/providers/s3-compatible/#endpoint) explain how Blober picks the right one.
## Alibaba Cloud OSS (Object Storage Service)
[Section titled "Alibaba Cloud OSS (Object Storage Service)"](#alibaba-cloud-oss-object-storage-service)
Alibaba Cloud Object Storage Service, formerly Aliyun OSS, is the dominant object store in China and across Alibaba's global regions.
* **Endpoint format:** `oss-.aliyuncs.com` (for example `oss-cn-hangzhou.aliyuncs.com`, `oss-us-east-1.aliyuncs.com`, `oss-eu-central-1.aliyuncs.com`).
* **Regions:** dozens across mainland China, plus Singapore, Tokyo, Frankfurt, London, Dubai, Silicon Valley, and Virginia.
* **Addressing:** virtual-hosted (bucket in subdomain).
* **Notes:** OSS offers Standard, Infrequent Access, Archive, and Cold Archive tiers. Use the matching regional endpoint for your bucket[\[2\]](https://www.alibabacloud.com/product/oss "Source: www.alibabacloud.com/product/oss").
## Tencent Cloud COS (Cloud Object Storage)
[Section titled "Tencent Cloud COS (Cloud Object Storage)"](#tencent-cloud-cos-cloud-object-storage)
Tencent Cloud Object Storage is the object store behind much of China's app ecosystem, with a global region footprint.
* **Endpoint format:** `cos..myqcloud.com` (for example `cos.ap-guangzhou.myqcloud.com`, `cos.ap-singapore.myqcloud.com`, `cos.na-ashburn.myqcloud.com`).
* **Regions:** Beijing, Shanghai, Guangzhou, Chengdu, Hong Kong, Singapore, Mumbai, Seoul, Bangkok, Tokyo, Silicon Valley, Virginia, Toronto, Frankfurt.
* **Addressing:** virtual-hosted.
* **Notes:** there is also a Global Acceleration endpoint (`cos.accelerate.myqcloud.com`). Standard, Infrequent Access, and Archive tiers are available[\[3\]](https://intl.cloud.tencent.com/product/cos "Source: intl.cloud.tencent.com/product/cos").
## Huawei Cloud OBS (Object Storage Service)
[Section titled "Huawei Cloud OBS (Object Storage Service)"](#huawei-cloud-obs-object-storage-service)
Huawei Cloud OBS is a high-capacity object store with an S3-compatible interface, used widely across Asia, Latin America, and EMEA.
* **Endpoint format:** `obs..myhuaweicloud.com` (for example `obs.af-south-1.myhuaweicloud.com`, `obs.ap-southeast-3.myhuaweicloud.com`).
* **Regions:** Johannesburg, Bangkok, Singapore, Hong Kong, Shanghai, Beijing, Guangzhou, plus Latin America (Sao Paulo, Mexico City, Santiago, Buenos Aires, Lima) and Moscow.
* **Addressing:** virtual-hosted.
* **Notes:** OBS underpins several rebranded regional clouds (Open Telekom Cloud and SberCloud, listed below), so the connection pattern is similar[\[4\]](https://www.huaweicloud.com/intl/en-us/product/obs.html "Source: www.huaweicloud.com/intl/en-us/product/obs.html").
## IBM Cloud Object Storage (COS)
[Section titled "IBM Cloud Object Storage (COS)"](#ibm-cloud-object-storage-cos)
IBM Cloud Object Storage, descended from Cleversafe, disperses data across locations and is accessed through an S3-compatible API. It is also sold as on-premises software.
* **Endpoint format:** `s3..cloud-object-storage.appdomain.cloud` (for example `s3.us-east.cloud-object-storage.appdomain.cloud`, `s3.eu-de.cloud-object-storage.appdomain.cloud`).
* **Regions:** US East and South, EU (Frankfurt, Amsterdam, Milan), Great Britain, plus single-site endpoints in many cities. Private endpoints exist for in-cloud traffic.
* **Addressing:** virtual-hosted.
* **Notes:** IBM COS supports IAM API-key authentication in addition to HMAC access keys. Storage classes include Standard, Vault, Cold Vault, and Smart Tier[\[5\]](https://cloud.ibm.com/docs/cloud-object-storage?topic=cloud-object-storage-classes "Source: cloud.ibm.com/docs/cloud-object-storage").
## Oracle Cloud Infrastructure (OCI) Object Storage
[Section titled "Oracle Cloud Infrastructure (OCI) Object Storage"](#oracle-cloud-infrastructure-oci-object-storage)
Oracle Cloud Infrastructure Object Storage offers an Amazon S3 Compatibility API in front of its native object store.
* **Endpoint format:** `.compat.objectstorage..oci.customer-oci.com` for path-style, or `.vhcompat.objectstorage..oci.customer-oci.com` for virtual-hosted. The `` is your tenancy's unique Object Storage namespace.
* **Regions:** Ashburn, Phoenix, Frankfurt, London, Tokyo, and the rest of OCI's global regions.
* **Addressing:** both path and virtual-hosted are supported.
* **Notes:** authenticate with a Customer Secret Key (an access key and secret pair). If your tool cannot set the region identifier, set it to `us-east-1` or leave it blank to use your home region. SigV2 is not supported[\[6\]](https://docs.oracle.com/en-us/iaas/Content/Object/Tasks/s3compatibleapi.htm "Source: docs.oracle.com/en-us/iaas/Content/Object/Tasks/s3compatibleapi.htm").
## Google Cloud Storage (XML / S3 Interoperability)
[Section titled "Google Cloud Storage (XML / S3 Interoperability)"](#google-cloud-storage-xml--s3-interoperability)
Google Cloud Storage is not S3 by default, but its XML API has an S3-compatible interoperability mode that works with HMAC keys.
* **Endpoint format:** `storage.googleapis.com`.
* **Regions:** global; the endpoint is single, and the bucket's location is set when you create it.
* **Addressing:** virtual-hosted.
* **Notes:** create an HMAC key for a service account to get an access key and secret. Object versioning listing and a few advanced behaviors differ from AWS, so treat GCS as S3-compatible for the common operations (browse, upload, download, copy) rather than a perfect clone[\[7\]](https://cloud.google.com/storage/docs/interoperability "Source: cloud.google.com/storage/docs/interoperability").
## Yandex Object Storage
[Section titled "Yandex Object Storage"](#yandex-object-storage)
Yandex Cloud's object storage is S3-compatible and popular across Russia and the CIS.
* **Endpoint format:** `storage.yandexcloud.net`.
* **Regions:** `ru-central1` and its availability zones; the endpoint is single.
* **Addressing:** virtual-hosted.
* **Notes:** Standard (hot) and Cold storage classes are available. Use static access keys generated for a service account[\[8\]](https://yandex.cloud/en/services/storage "Source: yandex.cloud/en/services/storage").
## VK Cloud Object Storage (formerly Mail.ru Cloud Solutions)
[Section titled "VK Cloud Object Storage (formerly Mail.ru Cloud Solutions)"](#vk-cloud-object-storage-formerly-mailru-cloud-solutions)
VK Cloud, previously Mail.ru Cloud Solutions, runs Hotbox and Icebox object storage tiers behind an S3-compatible endpoint.
* **Endpoint format:** `hb.bizmrg.com` (Hotbox) and `ib.bizmrg.com` (Icebox), with newer `hb..vkcs.cloud` hosts.
* **Regions:** Moscow.
* **Addressing:** virtual-hosted.
* **Notes:** Hotbox is the hot tier, Icebox the cold tier. Confirm the current endpoint in the VK Cloud console.
## Baidu AI Cloud BOS (Baidu Object Storage)
[Section titled "Baidu AI Cloud BOS (Baidu Object Storage)"](#baidu-ai-cloud-bos-baidu-object-storage)
Baidu Object Storage provides an S3-compatible interface for one of China's major clouds.
* **Endpoint format:** `s3..bcebos.com` (for example `s3.bj.bcebos.com` for Beijing, `s3.gz.bcebos.com` for Guangzhou).
* **Regions:** Beijing, Baoding, Suzhou, Guangzhou, Hong Kong, and more.
* **Addressing:** virtual-hosted.
* **Notes:** Standard, Infrequent Access, Cold, and Archive tiers are available.
## JD Cloud Object Storage (OSS)
[Section titled "JD Cloud Object Storage (OSS)"](#jd-cloud-object-storage-oss)
JD Cloud, the cloud arm of JD.com, exposes an S3-compatible object storage service.
* **Endpoint format:** `s3..jdcloud-oss.com` (for example `s3.cn-north-1.jdcloud-oss.com`).
* **Regions:** North China, East China, and South China.
* **Addressing:** virtual-hosted.
* **Notes:** confirm the regional endpoint in the JD Cloud console.
## China Mobile Ecloud EOS (Elastic Object Storage)
[Section titled "China Mobile Ecloud EOS (Elastic Object Storage)"](#china-mobile-ecloud-eos-elastic-object-storage)
China Mobile's Ecloud Elastic Object Storage is a large, region-dense S3-compatible service across mainland China.
* **Endpoint format:** `eos--1.cmecloud.cn` (for example `eos-wuxi-1.cmecloud.cn`, `eos-beijing-1.cmecloud.cn`).
* **Regions:** dozens, from Suzhou and Shanghai to Chengdu, Guiyang, and Xian.
* **Addressing:** virtual-hosted.
* **Notes:** the location constraint must match the endpoint when creating buckets[\[9\]](https://ecloud.10086.cn/home/product-introduction/eos/ "Source: ecloud.10086.cn/home/product-introduction/eos/").
## Kingsoft Cloud KS3
[Section titled "Kingsoft Cloud KS3"](#kingsoft-cloud-ks3)
Kingsoft Cloud Standard Storage Service (KS3) is an S3-compatible object store widely used in China.
* **Endpoint format:** `ks3-.ksyuncloud.com` or `ks3-.ksyun.com` (for example `ks3-cn-beijing.ksyuncloud.com`).
* **Regions:** Beijing, Shanghai, Guangzhou, Hong Kong, and international points.
* **Addressing:** virtual-hosted.
* **Notes:** confirm the current endpoint host in the Kingsoft console.
## China Telecom CTYun OOS
[Section titled "China Telecom CTYun OOS"](#china-telecom-ctyun-oos)
China Telecom's CTYun (Tianyi Cloud) Object-Oriented Storage is an S3-compatible service across China Telecom's regions.
* **Endpoint format:** `oos-.ctyunapi.cn` (for example `oos-sccd.ctyunapi.cn`).
* **Regions:** many across mainland China.
* **Addressing:** virtual-hosted.
* **Notes:** confirm the regional endpoint in the CTYun console.
## NAVER Cloud Object Storage
[Section titled "NAVER Cloud Object Storage"](#naver-cloud-object-storage)
NAVER Cloud Platform, South Korea's major cloud, runs an S3-compatible object storage service.
* **Endpoint format:** `.object.ncloudstorage.com` (for example `kr.object.ncloudstorage.com`).
* **Regions:** Korea, plus other NAVER Cloud regions.
* **Addressing:** virtual-hosted.
* **Notes:** generate API keys in the NAVER Cloud console.
## Open Telekom Cloud OBS
[Section titled "Open Telekom Cloud OBS"](#open-telekom-cloud-obs)
Open Telekom Cloud, operated by T-Systems on Huawei technology, exposes Huawei OBS under its own endpoints.
* **Endpoint format:** `obs..otc.t-systems.com` (for example `obs.eu-de.otc.t-systems.com`).
* **Regions:** Germany (Biere, Magdeburg), the Netherlands, and Switzerland.
* **Addressing:** virtual-hosted.
* **Notes:** the OBS lineage means it behaves like Huawei OBS, with European data residency.
## SberCloud OBS
[Section titled "SberCloud OBS"](#sbercloud-obs)
SberCloud Advanced (Cloud.ru) runs object storage on Huawei OBS technology with Russian endpoints.
* **Endpoint format:** `obs..hc.sbercloud.ru` (for example `obs.ru-moscow-1.hc.sbercloud.ru`).
* **Regions:** Moscow.
* **Addressing:** virtual-hosted.
* **Notes:** behaves like Huawei OBS with Russian data residency.
## Netease NOS (Netease Object Storage)
[Section titled "Netease NOS (Netease Object Storage)"](#netease-nos-netease-object-storage)
Netease Object Storage offers an S3-compatible interface used by Netease's services and third parties.
* **Endpoint format:** regional NOS endpoints (for example `nos-eastchina1.126.net`).
* **Regions:** several across China.
* **Addressing:** virtual-hosted (path-style addressing is disabled by the provider).
* **Notes:** confirm the exact endpoint in the Netease console.
## A Note on Microsoft Azure Blob Storage
[Section titled "A Note on Microsoft Azure Blob Storage"](#a-note-on-microsoft-azure-blob-storage)
Azure Blob Storage is the obvious omission here, and it is deliberate. Azure Blob uses its own API, not the S3 API, so it is not S3-compatible in the drop-in sense. The concepts line up (a container maps to a bucket, a blob to an object), but an S3 client cannot talk to Azure Blob without a translation gateway. If you need to move data between S3 and Azure, Blober bridges the two directly. See [How to Transfer AWS S3 to Azure Blob](/kb/articles/how-to-transfer-aws-s3-to-azure-blob/).
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Is Google Cloud Storage S3-compatible?** Through its XML API interoperability mode, yes, for the common operations. You create an HMAC key and point your S3 client at `storage.googleapis.com`. A few advanced behaviors differ from AWS S3.
**Is Alibaba OSS the same as AWS S3?** OSS speaks the S3 API, so S3 tools work against it by changing the endpoint and keys. It is run by Alibaba, not Amazon, and its tier names and some features are its own.
**Why do Open Telekom Cloud and SberCloud look like Huawei OBS?** Because they are built on Huawei OBS technology and rebranded for their regions. The S3-compatible connection pattern is the same, with different endpoints and data residency.
**Can Blober move data from one cloud's object storage to another?** Yes. Point Blober at a source endpoint and a destination endpoint and it copies between them directly for normal object transfers. Provider-specific S3 feature gaps can still matter for advanced workflows.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [The Complete List of S3-Compatible Providers](/kb/articles/s3-compatible-storage-providers-complete-list/)
* [Object Storage Specialists](/kb/articles/best-s3-compatible-object-storage-specialists/)
* [Hosting and VPS Object Storage](/kb/articles/s3-compatible-storage-hosting-vps-providers/)
* [What S3-Compatible Really Means](/kb/articles/what-s3-compatible-really-means/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Connect to any cloud's S3-compatible object storage by URL and move data between providers directly, without filling your local disk.
**[Download Blober at blober.io](https://blober.io)**
# S3-Compatible Object Storage from Web Hosts and VPS Providers
> S3-compatible object storage bundled with hosting and VPS platforms: DigitalOcean Spaces, Linode, Vultr, OVHcloud, Hetzner, Scaleway, Contabo, Exoscale, IONOS, and more, with endpoints and how to connect.
If you already rent servers from a hosting or VPS company, there is a good chance they also sell S3-compatible object storage right next to your droplets, instances, or dedicated boxes. Keeping storage with your compute reduces latency and often avoids cross-provider egress. This page lists the hosting and VPS object-storage services, their endpoint formats, and how to connect each one.
This is one category in our [complete list of S3-compatible storage providers](/kb/articles/s3-compatible-storage-providers-complete-list/). DigitalOcean Spaces has a preconfigured connector in Blober; the rest use the generic [S3-Compatible connector](/kb/docs/providers/s3-compatible/). Confirm endpoints in each provider's console, since regions change over time. The endpoint formats below come from each provider's own documentation, cross-checked against current S3 client references[\[1\]](https://rclone.org/s3/ "Source: rclone.org/s3/").
Each entry notes an **addressing style**. Virtual-hosted puts the bucket in the subdomain (`https://my-bucket.s3.example.com`); path-style puts it in the URL path (`https://s3.example.com/my-bucket`). Almost every host here uses virtual-hosted. The endpoint formats below show hostnames; in Blober, include `https://` in the endpoint field. The [endpoint setup notes](/kb/docs/providers/s3-compatible/#endpoint) explain how Blober picks the right one.
## DigitalOcean Spaces
[Section titled "DigitalOcean Spaces"](#digitalocean-spaces)
DigitalOcean Spaces is S3-compatible object storage with a built-in CDN, sold alongside DigitalOcean droplets.
* **Endpoint format:** `.digitaloceanspaces.com` (for example `nyc3.digitaloceanspaces.com`, `fra1.digitaloceanspaces.com`).
* **Regions:** NYC3, SFO2, SFO3, AMS3, FRA1, SGP1, SYD1, BLR1, ATL1, LON1, TOR1, and more.
* **Addressing:** virtual-hosted.
* **Notes:** Blober has a preconfigured [DigitalOcean Spaces connector](/kb/docs/providers/digitalocean-spaces/). Spaces has no built-in cross-region replication; see [DigitalOcean Spaces Regions, Replication, and Backup](/kb/articles/digitalocean-spaces-regions-replication-backup/)[\[2\]](https://docs.digitalocean.com/products/spaces/details/pricing/ "Source: docs.digitalocean.com/products/spaces/details/pricing/").
## Linode / Akamai Object Storage
[Section titled "Linode / Akamai Object Storage"](#linode--akamai-object-storage)
Linode (now part of Akamai) offers S3-compatible object storage across many global regions.
* **Endpoint format:** `.linodeobjects.com` (for example `us-east-1.linodeobjects.com`, `eu-central-1.linodeobjects.com`).
* **Regions:** Newark, Atlanta, Chicago, Los Angeles, Miami, Seattle, Washington DC, Amsterdam, Frankfurt, London, Madrid, Milan, Paris, Stockholm, Chennai, Jakarta, Osaka, Singapore, Sao Paulo, Melbourne.
* **Addressing:** virtual-hosted.
* **Notes:** one of the widest region footprints among VPS providers[\[3\]](https://www.linode.com/products/object-storage/ "Source: www.linode.com/products/object-storage/").
## Vultr Object Storage
[Section titled "Vultr Object Storage"](#vultr-object-storage)
Vultr Object Storage is S3-compatible storage with a CDN, billed with generous included transfer.
* **Endpoint format:** `.vultrobjects.com` (for example `ewr1.vultrobjects.com`, `ams1.vultrobjects.com`).
* **Regions:** New Jersey, Silicon Valley, Amsterdam, Singapore, Bangalore, Delhi, and more.
* **Addressing:** virtual-hosted.
* **Notes:** includes an archival storage tier with lifecycle policies. Confirm the regional host in the Vultr console[\[4\]](https://docs.vultr.com/vultr-object-storage "Source: docs.vultr.com/vultr-object-storage").
## OVHcloud Object Storage
[Section titled "OVHcloud Object Storage"](#ovhcloud-object-storage)
OVHcloud offers S3-compatible object storage across its European, North American, and Asia-Pacific regions.
* **Endpoint format:** `s3..io.cloud.ovh.net` (for example `s3.gra.io.cloud.ovh.net` for Gravelines, `s3.de.io.cloud.ovh.net` for Frankfurt). US regions use `io.cloud.ovh.us`.
* **Regions:** Gravelines, Roubaix, Strasbourg, Paris, Frankfurt, London, Warsaw, Beauharnois, Toronto, Singapore, Sydney, Mumbai, plus US (Virginia, Oregon) and a cold archive region.
* **Addressing:** virtual-hosted.
* **Notes:** storage classes include Standard, High Performance, Standard Infrequent Access, and archive tiers[\[5\]](https://www.ovhcloud.com/en-ie/public-cloud/object-storage/ "Source: www.ovhcloud.com/en-ie/public-cloud/object-storage/").
## Hetzner Object Storage
[Section titled "Hetzner Object Storage"](#hetzner-object-storage)
Hetzner Object Storage is low-cost S3-compatible storage in Hetzner's European data centers.
* **Endpoint format:** `.your-objectstorage.com` (for example `hel1.your-objectstorage.com`, `fsn1.your-objectstorage.com`, `nbg1.your-objectstorage.com`).
* **Regions:** Helsinki, Falkenstein, Nuremberg.
* **Addressing:** virtual-hosted.
* **Notes:** a popular budget option for European workloads[\[6\]](https://www.hetzner.com/storage/object-storage/ "Source: www.hetzner.com/storage/object-storage/").
## Scaleway Object Storage
[Section titled "Scaleway Object Storage"](#scaleway-object-storage)
Scaleway Object Storage is S3-compatible storage from the French cloud provider, with a Glacier cold tier.
* **Endpoint format:** `s3..scw.cloud` (for example `s3.nl-ams.scw.cloud`, `s3.fr-par.scw.cloud`, `s3.pl-waw.scw.cloud`).
* **Regions:** Amsterdam, Paris, Warsaw.
* **Addressing:** virtual-hosted.
* **Notes:** the `GLACIER` storage class uploads directly to Scaleway's cold tier; restore before reading[\[7\]](https://www.scaleway.com/object-storage/ "Source: www.scaleway.com/object-storage/").
## Contabo Object Storage
[Section titled "Contabo Object Storage"](#contabo-object-storage)
Contabo Object Storage is budget S3-compatible storage (built on Ceph) with included transfer.
* **Endpoint format:** `.contabostorage.com` (for example `eu2.contabostorage.com`, `usc1.contabostorage.com`, `sin1.contabostorage.com`).
* **Regions:** Europe, United States, and Asia.
* **Addressing:** virtual-hosted.
* **Notes:** unlimited inbound and generous outbound transfer are included in the flat monthly rate. Confirm your exact endpoint in the Contabo console[\[8\]](https://contabo.com/en/object-storage/ "Source: contabo.com/en/object-storage/").
## Exoscale SOS (Simple Object Storage)
[Section titled "Exoscale SOS (Simple Object Storage)"](#exoscale-sos-simple-object-storage)
Exoscale Simple Object Storage is S3-compatible storage from the Swiss cloud provider, with European zones.
* **Endpoint format:** `sos-.exo.io` (for example `sos-ch-gva-2.exo.io`, `sos-de-fra-1.exo.io`).
* **Regions:** Geneva, Zurich, Frankfurt, Munich, Vienna, Sofia.
* **Addressing:** virtual-hosted.
* **Notes:** strong fit for Swiss and EU data residency[\[9\]](https://www.exoscale.com/object-storage/ "Source: www.exoscale.com/object-storage/").
## UpCloud Object Storage
[Section titled "UpCloud Object Storage"](#upcloud-object-storage)
UpCloud Object Storage is S3-compatible storage from the Finnish cloud provider.
* **Endpoint format:** `.upcloudobjects.com` (the exact host is shown in your console).
* **Regions:** several across Europe, the US, and Asia-Pacific.
* **Addressing:** virtual-hosted.
* **Notes:** confirm the per-region endpoint host in the UpCloud control panel.
## IONOS Cloud S3 Object Storage
[Section titled "IONOS Cloud S3 Object Storage"](#ionos-cloud-s3-object-storage)
IONOS S3 Object Storage is S3-compatible storage from the German provider IONOS.
* **Endpoint format:** `s3-.ionoscloud.com` (for example `s3-eu-central-1.ionoscloud.com`).
* **Regions:** Frankfurt, Berlin, Logrono (Spain), Lenexa (USA).
* **Addressing:** virtual-hosted.
* **Notes:** generate keys in the Data Center Designer under the Object Storage Key Manager[\[10\]](https://cloud.ionos.com/storage/object-storage "Source: cloud.ionos.com/storage/object-storage").
## Gcore Object Storage
[Section titled "Gcore Object Storage"](#gcore-object-storage)
Gcore Object Storage is S3-compatible storage from Gcore, with a wide global edge footprint.
* **Endpoint format:** regional S3 endpoint shown in the Gcore console (for example a `s3.` style host).
* **Regions:** many across Europe, the Americas, Asia, and the Middle East.
* **Addressing:** virtual-hosted.
* **Notes:** confirm the current endpoint host for your region in the Gcore console.
## DreamHost DreamObjects
[Section titled "DreamHost DreamObjects"](#dreamhost-dreamobjects)
DreamObjects is DreamHost's S3-compatible object storage, built on Ceph.
* **Endpoint format:** `objects-.dream.io` (for example `objects-us-east-1.dream.io`).
* **Regions:** US.
* **Addressing:** virtual-hosted.
* **Notes:** leave the region blank and set the endpoint, as with other Ceph-based services[\[11\]](https://www.dreamhost.com/cloud/storage/ "Source: www.dreamhost.com/cloud/storage/").
## RackCorp Object Storage
[Section titled "RackCorp Object Storage"](#rackcorp-object-storage)
RackCorp Object Storage is an S3-compatible platform with anycast and many regional endpoints.
* **Endpoint format:** `.s3.rackcorp.com` (for example `au-nsw.s3.rackcorp.com`), or `s3.rackcorp.com` for the global anycast endpoint.
* **Regions:** Australia (several), plus Asia, Europe, North America, and New Zealand.
* **Addressing:** virtual-hosted.
* **Notes:** useful where other providers lack a nearby region[\[12\]](https://www.rackcorp.com/storage/s3storage "Source: www.rackcorp.com/storage/s3storage").
## cloudscale.ch
[Section titled "cloudscale.ch"](#cloudscalech)
cloudscale.ch is a Swiss provider with S3-compatible object storage and strong data-residency guarantees.
* **Endpoint format:** `objects..cloudscale.ch` (for example `objects.rma.cloudscale.ch`, `objects.lpg.cloudscale.ch`).
* **Regions:** Rumlang and Lupfig, Switzerland.
* **Addressing:** virtual-hosted.
* **Notes:** all data stays in Switzerland[\[13\]](https://www.cloudscale.ch/en/ "Source: www.cloudscale.ch/en/").
## Fuga Cloud Object Store
[Section titled "Fuga Cloud Object Store"](#fuga-cloud-object-store)
Fuga Cloud is a European OpenStack-based provider with an S3-compatible object store.
* **Endpoint format:** `core.fuga.cloud`.
* **Regions:** the Netherlands.
* **Addressing:** virtual-hosted.
* **Notes:** confirm the endpoint and any newer hosts in the Fuga console.
## Infomaniak Public Cloud
[Section titled "Infomaniak Public Cloud"](#infomaniak-public-cloud)
Infomaniak, a Swiss provider, offers S3-compatible object storage on its OpenStack-based Public Cloud.
* **Endpoint format:** `s3..infomaniak.cloud` (for example `s3.pub1.infomaniak.cloud`).
* **Regions:** Switzerland.
* **Addressing:** virtual-hosted.
* **Notes:** Swiss data residency and renewable-energy hosting.
## Outscale OOS (Object Storage)
[Section titled "Outscale OOS (Object Storage)"](#outscale-oos-object-storage)
OUTSCALE, a Dassault Systemes brand, offers enterprise-grade S3-compatible object storage.
* **Endpoint format:** `oos..outscale.com` (for example `oos.eu-west-2.outscale.com`).
* **Regions:** Paris, New Jersey, California, SecNumCloud (Paris), Tokyo.
* **Addressing:** virtual-hosted.
* **Notes:** includes a SecNumCloud-qualified region for sensitive French workloads[\[14\]](https://en.outscale.com/storage/outscale-object-storage/ "Source: en.outscale.com/storage/outscale-object-storage/").
## Liara Object Storage
[Section titled "Liara Object Storage"](#liara-object-storage)
Liara is an Iranian platform with S3-compatible object storage.
* **Endpoint format:** `storage.iran.liara.space`.
* **Regions:** Iran.
* **Addressing:** virtual-hosted.
* **Notes:** leave the region blank and set the endpoint[\[15\]](https://liara.ir/landing/object-storage "Source: liara.ir/landing/object-storage").
## ArvanCloud Object Storage
[Section titled "ArvanCloud Object Storage"](#arvancloud-object-storage)
ArvanCloud offers S3-compatible object storage with regions in Iran.
* **Endpoint format:** `s3..arvanstorage.ir` (for example `s3.ir-thr-at1.arvanstorage.ir`), also seen as `s3.arvanstorage.com`.
* **Regions:** Tehran, Tabriz.
* **Addressing:** virtual-hosted.
* **Notes:** confirm the current endpoint host in the ArvanCloud console[\[16\]](https://www.arvancloud.com/en/products/cloud-storage "Source: www.arvancloud.com/en/products/cloud-storage").
## BizflyCloud Simple Storage
[Section titled "BizflyCloud Simple Storage"](#bizflycloud-simple-storage)
Bizfly Cloud Simple Storage is an S3-compatible service with regions in Vietnam.
* **Endpoint format:** `.ss.bfcplatform.vn` (`hn.ss.bfcplatform.vn` for Hanoi, `hcm.ss.bfcplatform.vn` for Ho Chi Minh City).
* **Regions:** Hanoi, Ho Chi Minh City.
* **Addressing:** virtual-hosted.
* **Notes:** match the region to the endpoint[\[17\]](https://bizflycloud.vn/simple-storage "Source: bizflycloud.vn/simple-storage").
## Selectel and Servercore Object Storage
[Section titled "Selectel and Servercore Object Storage"](#selectel-and-servercore-object-storage)
Selectel and its international brand Servercore offer S3-compatible object storage with triple-redundant storage.
* **Endpoint format:** `s3..storage.selcloud.ru` (for example `s3.ru-1.storage.selcloud.ru`), plus `s3..srvstorage.uz` and `s3..srvstorage.kz` for Servercore in Central Asia.
* **Regions:** St. Petersburg, Moscow, Kazakhstan, Uzbekistan.
* **Addressing:** virtual-hosted (the provider recommends vHosted, not path-style).
* **Notes:** confirm the endpoint for your region in the console[\[18\]](https://selectel.ru/services/cloud/storage/ "Source: selectel.ru/services/cloud/storage/").
## Fastly Object Storage
[Section titled "Fastly Object Storage"](#fastly-object-storage)
Fastly Object Storage is S3-compatible storage from the edge-cloud provider Fastly, with mandatory server-side encryption.
* **Endpoint format:** `.object.fastlystorage.app` (for example `us-east.object.fastlystorage.app`).
* **Regions:** US East, US West, US Central, EU Central, EU South, EU West, UK East, JP Central, AU East.
* **Addressing:** virtual-hosted.
* **Notes:** server-side encryption is always on[\[19\]](https://www.fastly.com/products/storage "Source: www.fastly.com/products/storage").
## Leaseweb Object Storage
[Section titled "Leaseweb Object Storage"](#leaseweb-object-storage)
Leaseweb offers S3-compatible object storage alongside its dedicated and cloud hosting.
* **Endpoint format:** the regional S3 endpoint shown in the Leaseweb customer portal.
* **Regions:** Europe, the US, and Asia-Pacific.
* **Addressing:** virtual-hosted.
* **Notes:** confirm the exact endpoint host in the Leaseweb portal.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Why use a host's object storage instead of a specialist?** Keeping storage with your compute reduces latency and often avoids cross-provider egress charges. If you already run servers at OVHcloud, Hetzner, or Vultr, their object storage is the path of least resistance.
**Do these all use the AWS S3 API?** Yes. Every provider here exposes an S3-compatible endpoint, so the same S3 tools and SDKs work by changing the endpoint and keys.
**Can I move data from DigitalOcean Spaces to another host's object storage?** Yes. Blober copies directly between S3 endpoints that support the normal object operations it uses. Set the source and destination and it transfers without staging a full copy on your disk.
**Which of these connect to Blober without setup?** DigitalOcean Spaces has a preconfigured connector. Every other provider on this page uses the generic S3-Compatible connector: paste the endpoint and keys.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [The Complete List of S3-Compatible Providers](/kb/articles/s3-compatible-storage-providers-complete-list/)
* [Object Storage Specialists](/kb/articles/best-s3-compatible-object-storage-specialists/)
* [DigitalOcean Spaces Regions, Replication, and Backup](/kb/articles/digitalocean-spaces-regions-replication-backup/)
* [How to Migrate DigitalOcean Spaces to AWS S3](/kb/articles/how-to-migrate-digitalocean-spaces-to-aws-s3/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Connect to any host's S3-compatible object storage by URL and move data between providers directly, without filling your local disk.
**[Download Blober at blober.io](https://blober.io)**
# S3-Compatible Storage Providers: The Complete List (90+ Providers)
> A practical list of S3-compatible storage providers: cloud object storage, hosting and VPS object storage, self-hosted S3 servers, enterprise appliances, and decentralized storage, with endpoint formats and how to connect each one.
This is a practical list of well-known S3-compatible storage providers. If a service speaks the Amazon S3 API, the same tools, SDKs, and apps that work with AWS S3 usually work with it by changing two things: the **endpoint URL** and the **access keys**. That portability is why so many S3-compatible services exist, from global clouds to storage you run on your own hardware.
We have grouped them into six categories so the list stays usable. Each provider below links to a detailed entry with its endpoint format, regions, addressing style, and notes. Whatever S3-compatible store you are searching for, there is a good chance it is on this page.
Every endpoint format here comes from the provider's own documentation, cross-checked against current S3 client references and the per-provider sources in the category pages[\[1\]](https://rclone.org/s3/ "Source: rclone.org/s3/"). The tables show endpoint hostnames for readability. In Blober, enter the full URL with `https://` unless you are connecting to a local/self-hosted server that explicitly uses `http://`.
## What S3-Compatible Means Here
[Section titled "What S3-Compatible Means Here"](#what-s3-compatible-means-here)
S3-compatible means the service exposes the same HTTP API as Amazon S3, so an S3 client points at it by URL. It does not mean the service is run by Amazon, and it does not promise every advanced feature is identical. For the full explanation, see [What S3-Compatible Really Means](/kb/articles/what-s3-compatible-really-means/).
For common S3 operations, the custom endpoint is the portability layer. Once your tool can set that endpoint, the provider becomes much easier to swap.
## How Blober Connects to Any of These
[Section titled "How Blober Connects to Any of These"](#how-blober-connects-to-any-of-these)
Blober has preconfigured connectors for the most common S3 services (Amazon S3, Wasabi, Cloudflare R2, Backblaze B2, DigitalOcean Spaces, and Rabata). For everything else on this list, Blober has a single generic [S3-Compatible connector](/kb/docs/providers/s3-compatible/): you paste the endpoint URL and keys, and Blober can use the common browse, upload, download, copy, and delete operations when the provider implements them.
That connector covers both addressing styles (bucket in the subdomain, or bucket in the path), single-bucket or full-account access, a custom region, and a free-text storage class, so it reaches the long tail of providers, self-hosted servers, and local test setups. You point Blober at a source and a destination and it copies between them directly, without staging a full copy on your disk.
## The Six Categories
[Section titled "The Six Categories"](#the-six-categories)
| Category | What is in it | Open the list |
| ------------------------------ | ---------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------- |
| Cloud object storage | S3 services from large platform clouds (Alibaba, Tencent, Huawei, IBM, Oracle, Google, Yandex, and more) | [Cloud providers](/kb/articles/s3-compatible-object-storage-cloud-providers/) |
| Object storage specialists | Independent clouds built only for object storage (Wasabi, Backblaze, Storj, IDrive e2, Cubbit, and more) | [Specialists](/kb/articles/best-s3-compatible-object-storage-specialists/) |
| Hosting and VPS object storage | S3 storage bundled with a hosting or VPS platform (DigitalOcean, Linode, Vultr, OVHcloud, Hetzner, Scaleway, and more) | [Hosting and VPS](/kb/articles/s3-compatible-storage-hosting-vps-providers/) |
| Self-hosted and open source | S3 servers you run yourself (MinIO, Ceph, SeaweedFS, Garage, and more) | [Self-hosted](/kb/articles/self-hosted-open-source-s3-compatible-storage/) |
| Enterprise and on-premises | Appliances and enterprise platforms (NetApp StorageGRID, Dell ECS, Cloudian, Pure FlashBlade, and more) | [Enterprise](/kb/articles/enterprise-on-premise-s3-compatible-storage/) |
| Decentralized and Web3 | Object storage backed by decentralized networks (Storj, Filebase, 4everland, and more) | [Decentralized](/kb/articles/decentralized-web3-s3-compatible-storage/) |
## Master Index of S3-Compatible Providers
[Section titled "Master Index of S3-Compatible Providers"](#master-index-of-s3-compatible-providers)
Every provider, alphabetical, with its endpoint format. The endpoint is the host you give your S3 client; the bucket name is then added either as a subdomain or in the path. Replace any bracketed value (``, ``, ``) with your own. A check in the last column means Blober ships a preconfigured connector; everything else uses the generic S3-Compatible connector. When you enter one of these in Blober, include the URL scheme, for example `https://s3.example.com`.
| Provider | Endpoint format | Preconfigured |
| -------------------------- | ---------------------------------------------------------------- | ------------- |
| Alibaba Cloud OSS | `oss-.aliyuncs.com` | |
| Amazon S3 | `s3..amazonaws.com` | Yes |
| Apache Ozone | self-hosted S3 Gateway | |
| ArvanCloud | `s3..arvanstorage.ir` | |
| Backblaze B2 | `s3..backblazeb2.com` | Yes |
| Baidu AI Cloud BOS | `s3..bcebos.com` | |
| BizflyCloud | `.ss.bfcplatform.vn` | |
| Ceph (RADOS Gateway) | self-hosted | |
| China Mobile Ecloud EOS | `eos--1.cmecloud.cn` | |
| China Telecom CTYun OOS | `oos-.ctyunapi.cn` | |
| Cloudflare R2 | `.r2.cloudflarestorage.com` | Yes |
| Cloudian HyperStore | appliance or software | |
| cloudscale.ch | `objects..cloudscale.ch` | |
| Contabo Object Storage | `.contabostorage.com` | |
| Cubbit DS3 | `s3.cubbit.eu` | |
| DataCore Swarm | on-premises | |
| Dell ECS / ObjectScale | on-premises | |
| DigitalOcean Spaces | `.digitaloceanspaces.com` | Yes |
| DreamHost DreamObjects | `objects-.dream.io` | |
| Exaba | self-hosted | |
| Exoscale SOS | `sos-.exo.io` | |
| Fastly Object Storage | `.object.fastlystorage.app` | |
| FileLu S5 | `s5lu.com` | |
| Filebase | `s3.filebase.io` | |
| 4everland | `endpoint.4everland.co` | |
| Fuga Cloud Object Store | `core.fuga.cloud` | |
| Garage | self-hosted | |
| Gcore Object Storage | regional endpoint | |
| Google Cloud Storage | `storage.googleapis.com` | |
| Hitachi Content Platform | on-premises | |
| Hetzner Object Storage | `.your-objectstorage.com` | |
| Huawei Cloud OBS | `obs..myhuaweicloud.com` | |
| IBM Cloud Object Storage | `s3..cloud-object-storage.appdomain.cloud` | |
| IDrive e2 | `.idrivee2-XX.com` | |
| Impossible Cloud | `.storage.impossibleapi.net` | |
| Infomaniak Public Cloud | `s3..infomaniak.cloud` | |
| Intercolo Object Storage | `de-fra.i3storage.com` | |
| IONOS Cloud S3 | `s3-.ionoscloud.com` | |
| JD Cloud Object Storage | `s3..jdcloud-oss.com` | |
| Kingsoft Cloud KS3 | `ks3-.ksyuncloud.com` | |
| Leaseweb Object Storage | regional endpoint | |
| Leviia | `s3.leviia.com` | |
| Liara | `storage.iran.liara.space` | |
| Linode / Akamai | `.linodeobjects.com` | |
| MEGA S4 | `s3..s4.mega.io` | |
| MinIO | self-hosted | |
| NAVER Cloud Object Storage | `.object.ncloudstorage.com` | |
| NetApp StorageGRID | on-premises | |
| NetApp ONTAP S3 | on-premises | |
| Netease NOS | `nos-.126.net` | |
| Nutanix Objects | on-premises | |
| OpenIO | self-hosted | |
| OpenStack Swift (s3api) | self-hosted | |
| Open Telekom Cloud OBS | `obs..otc.t-systems.com` | |
| Oracle Cloud OCI | `.compat.objectstorage..oci.customer-oci.com` | |
| Outscale OOS | `oos..outscale.com` | |
| OVHcloud Object Storage | `s3..io.cloud.ovh.net` | |
| Petabox | `s3..petabox.io` | |
| Pure Storage FlashBlade | on-premises | |
| Qiniu Kodo | `s3-.qiniucs.com` | |
| Quantum ActiveScale | on-premises | |
| Rabata | `s3..rabata.io` | Yes |
| RackCorp | `.s3.rackcorp.com` | |
| Riak CS | self-hosted | |
| Scality RING / ARTESCA | on-premises | |
| Scaleway Object Storage | `s3..scw.cloud` | |
| Seagate Lyve Cloud | `s3...lyve.seagate.com` | |
| SeaweedFS | self-hosted | |
| Selectel | `s3..storage.selcloud.ru` | |
| Servercore | `s3..storage.selcloud.ru` | |
| SberCloud OBS | `obs..hc.sbercloud.ru` | |
| Spectra Logic BlackPearl | on-premises | |
| Storadera | `.s3.storadera.com` | |
| Storj | `gateway.storjshare.io` | |
| Synology C2 | `.s3.synologyc2.net` | |
| Tebi | `s3.tebi.io` | |
| Telnyx Cloud Storage | `.telnyxcloudstorage.com` | |
| Tencent Cloud COS | `cos..myqcloud.com` | |
| Tigris | `t3.storage.dev` | |
| UpCloud Object Storage | `.upcloudobjects.com` | |
| US3 (UCloud) | `s3-.ufileos.com` | |
| VAST Data | on-premises | |
| Versity Gateway | self-hosted | |
| VK Cloud Object Storage | `hb.bizmrg.com` | |
| Vultr Object Storage | `.vultrobjects.com` | |
| Wasabi | `s3..wasabisys.com` | Yes |
| Yandex Object Storage | `storage.yandexcloud.net` | |
| Zadara | `.zadarazios.com` | |
| Zata | `idr01.zata.ai` | |
This index is a starting point. Providers add regions and change hostnames over time, so always confirm the exact endpoint in your provider's console before you connect. The detailed group articles explain each provider's regions, addressing style (path or subdomain), and any quirks.
## Subdomain vs Path: The One Setting That Trips People Up
[Section titled "Subdomain vs Path: The One Setting That Trips People Up"](#subdomain-vs-path-the-one-setting-that-trips-people-up)
S3 supports two ways of putting the bucket name into the request:
* **Virtual-hosted (bucket in the subdomain):** `https://my-bucket.s3.example.com`. This is the AWS default and what most hosted providers expect.
* **Path-style (bucket in the path):** `https://s3.example.com/my-bucket`. This is what MinIO, Ceph, and most self-hosted servers expect.
If browsing or uploads fail against a self-hosted server, switch to path-style. In Blober, you pick the style implicitly by which endpoint field you fill in. Everything else is the same.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**How many S3-compatible storage providers are there?** There is no official registry. This page indexes more than ninety well-known hosted providers, hosting platforms, self-hosted servers, enterprise systems, and decentralized gateways across six categories.
**Is Azure Blob Storage S3-compatible?** Not natively. Azure Blob uses its own API. The concepts map across (a container is like a bucket, a blob like an object), but an S3 tool needs a translation layer to talk to it. See [How to Transfer AWS S3 to Azure Blob](/kb/articles/how-to-transfer-aws-s3-to-azure-blob/) for moving data between the two.
**Can I move data between two different S3-compatible providers?** Yes. Because they share the core API, moving between them is usually a straightforward copy. Blober connects to a source and a destination and transfers directly between them. Check provider-specific feature gaps if your workflow depends on object lock, lifecycle, metadata edge cases, or server-side copy.
**Do I need a preconfigured connector, or does the generic one work?** The generic [S3-Compatible connector](/kb/docs/providers/s3-compatible/) works with S3-compatible endpoints that support the common operations Blober uses. The preconfigured connectors (S3, Wasabi, R2, B2, Spaces, Rabata) just save you from pasting the endpoint.
**Which S3-compatible provider is the cheapest?** It depends on your access pattern. Flat-rate, zero-egress providers win for data you read often; the lowest per-GB storage rate wins for cold archives. The pricing model (egress fees and minimum storage duration) usually matters more than the headline storage rate.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [What S3-Compatible Really Means](/kb/articles/what-s3-compatible-really-means/)
* [Azure Blob Tiers vs AWS S3 Storage Classes](/kb/articles/azure-blob-tiers-vs-s3-storage-classes/)
* [S3-Compatible Connector Setup](/kb/docs/providers/s3-compatible/)
* [How to Switch Wasabi to Backblaze B2](/kb/articles/how-to-switch-wasabi-to-backblaze-b2/)
* [How to Transfer AWS S3 to Azure Blob](/kb/articles/how-to-transfer-aws-s3-to-azure-blob/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Connect to S3-compatible stores on this list and move data between them directly, without filling your local disk. Blober handles S3, Wasabi, R2, B2, Spaces, Rabata, and generic S3 endpoints by URL, plus non-S3 services like Azure Blob, Dropbox, and Google Drive.
**[Download Blober at blober.io](https://blober.io)**
# Self-Hosted and Open-Source S3-Compatible Storage (MinIO, Ceph, and More)
> Run your own S3-compatible storage: MinIO, Ceph RADOS Gateway, SeaweedFS, Garage, Zenko, Versity Gateway, s3proxy, Apache Ozone, OpenStack Swift, and more, with setup notes and how to connect.
You do not need a cloud account to get an S3 endpoint. A whole category of open-source software gives you S3-compatible storage on your own hardware, in your own data center, or on a laptop for testing. These servers expose the same core S3 object-storage API shape as AWS, so the same tools can point at `http://localhost:9000` as easily as at a cloud. This page lists the self-hosted and open-source S3 servers and how to connect each one.
This is one category in our [complete list of S3-compatible storage providers](/kb/articles/s3-compatible-storage-providers-complete-list/). All of these connect to Blober through the generic [S3-Compatible connector](/kb/docs/providers/s3-compatible/). Self-hosted servers almost always want **path-style addressing** (bucket in the path), so use the path endpoint field in Blober if browsing or uploads fail. The endpoint and compatibility notes below come from each project's own documentation, cross-checked against current S3 client references[\[1\]](https://rclone.org/s3/ "Source: rclone.org/s3/"). The [endpoint setup notes](/kb/docs/providers/s3-compatible/#endpoint) explain the difference between path-style and virtual-hosted addressing.
## MinIO
[Section titled "MinIO"](#minio)
MinIO is the most widely deployed self-hosted S3 server: a single Go binary that exposes an S3-compatible API, used for everything from local testing to large production clusters.
* **Endpoint format:** `http://:9000` (for example `http://localhost:9000`).
* **Addressing:** path-style.
* **Notes:** for a quick local test, the default keys are often `minioadmin` / `minioadmin`. MinIO is also the reference target for "does this tool support custom S3 endpoints," and it is a common front end for other storage backends[\[2\]](https://min.io/ "Source: min.io").
## Ceph (RADOS Gateway / RGW)
[Section titled "Ceph (RADOS Gateway / RGW)"](#ceph-rados-gateway--rgw)
Ceph is an open-source distributed storage system; its RADOS Gateway (RGW) exposes an S3-compatible object interface on top of a Ceph cluster.
* **Endpoint format:** `https://` (your own gateway address).
* **Addressing:** path-style is the safe default.
* **Notes:** Ceph powers many commercial object stores (DreamObjects and Contabo among them). Leave the region blank and set the endpoint. Older Ceph (pre-Jewel) may need v2 signatures[\[3\]](https://ceph.com/en/ "Source: ceph.com/en/").
## SeaweedFS
[Section titled "SeaweedFS"](#seaweedfs)
SeaweedFS is a fast distributed storage system for blobs and files, with an S3-compatible gateway. It can also cache a remote S3 store with asynchronous write-back.
* **Endpoint format:** `http://:8333` (for example `http://localhost:8333`).
* **Addressing:** path-style.
* **Notes:** lightweight and quick to stand up; good for edge and on-prem caching in front of a remote bucket[\[4\]](https://github.com/seaweedfs/seaweedfs "Source: github.com/seaweedfs/seaweedfs").
## Garage
[Section titled "Garage"](#garage)
Garage, from Deuxfleurs, is a lightweight, self-hosted S3-compatible object store designed for geo-distributed deployments on modest hardware.
* **Endpoint format:** `http://:3900` (your own configured address).
* **Addressing:** path-style.
* **Notes:** built for resilience across home-server-grade nodes; a popular choice for self-hosters and small co-ops[\[5\]](https://garagehq.deuxfleurs.fr/ "Source: garagehq.deuxfleurs.fr").
## Zenko CloudServer
[Section titled "Zenko CloudServer"](#zenko-cloudserver)
Zenko CloudServer (formerly Scality S3 Server) is an open-source Node.js S3 server that can store locally or proxy to cloud backends.
* **Endpoint format:** `http://:8000` (your own configured address).
* **Addressing:** path-style.
* **Notes:** part of the wider Zenko project, which targets multi-cloud data management with an S3 front end[\[6\]](https://github.com/scality/cloudserver "Source: github.com/scality/cloudserver").
## Versity Gateway (VersityGW)
[Section titled "Versity Gateway (VersityGW)"](#versity-gateway-versitygw)
Versity Gateway is an open-source S3 gateway with pluggable backends, letting you put an S3 API in front of a POSIX file system or other stores.
* **Endpoint format:** `http://:7070` (your own configured address).
* **Addressing:** path-style.
* **Notes:** useful for exposing existing file storage (including tape-backed archives) over S3[\[7\]](https://github.com/versity/versitygw "Source: github.com/versity/versitygw").
## s3proxy
[Section titled "s3proxy"](#s3proxy)
s3proxy is an open-source proxy that presents an S3 API backed by a local file system or by other cloud stores, including Azure Blob and Google Cloud Storage.
* **Endpoint format:** `http://:80` (your own configured address).
* **Addressing:** path-style.
* **Notes:** a common way to give non-S3 backends an S3 face. If you specifically need S3 in front of Azure, this is one of the standard tools[\[8\]](https://github.com/gaul/s3proxy "Source: github.com/gaul/s3proxy").
## Apache Ozone
[Section titled "Apache Ozone"](#apache-ozone)
Apache Ozone is a distributed object store for big-data and Kubernetes workloads, with an S3 Gateway component.
* **Endpoint format:** the S3 Gateway address you deploy (commonly port `9878`).
* **Addressing:** path-style.
* **Notes:** designed to scale to billions of objects alongside Hadoop and Spark[\[9\]](https://ozone.apache.org/ "Source: ozone.apache.org").
## OpenStack Swift (with the s3api middleware)
[Section titled "OpenStack Swift (with the s3api middleware)"](#openstack-swift-with-the-s3api-middleware)
OpenStack Swift is the object storage component of OpenStack. With the s3api middleware enabled, it accepts S3 API calls in addition to its native Swift API.
* **Endpoint format:** your Swift proxy address with s3api enabled (your own deployment).
* **Addressing:** path-style.
* **Notes:** many regional and academic clouds run Swift; if yours has s3api turned on, you can connect over S3[\[10\]](https://docs.openstack.org/swift/latest/ "Source: docs.openstack.org/swift/latest/").
## OpenIO
[Section titled "OpenIO"](#openio)
OpenIO is an open-source object storage platform (now part of OVHcloud) with an S3-compatible gateway.
* **Endpoint format:** your OpenIO S3 gateway address (your own deployment).
* **Addressing:** path-style.
* **Notes:** designed for grid-style scaling on heterogeneous hardware[\[11\]](https://github.com/open-io/oio-sds "Source: github.com/open-io/oio-sds").
## LeoFS
[Section titled "LeoFS"](#leofs)
LeoFS is an open-source distributed object store with an S3-compatible interface.
* **Endpoint format:** your LeoFS gateway address (your own deployment).
* **Addressing:** path-style.
* **Notes:** confirm the gateway endpoint and credentials from your LeoFS configuration[\[12\]](https://github.com/leo-project/leofs "Source: github.com/leo-project/leofs").
## Riak CS
[Section titled "Riak CS"](#riak-cs)
Riak CS (Cloud Storage) layers S3-compatible object storage on top of a Riak key-value cluster.
* **Endpoint format:** your Riak CS proxy address (your own deployment).
* **Addressing:** path-style.
* **Notes:** suited to multi-tenant, highly available deployments[\[13\]](https://github.com/basho/riak_cs "Source: github.com/basho/riak_cs").
## Rclone Serve S3
[Section titled "Rclone Serve S3"](#rclone-serve-s3)
Rclone can serve any of its remotes over the S3 protocol with `rclone serve s3`, turning anything rclone supports into a temporary S3 endpoint.
* **Endpoint format:** `http://:8080` (your own configured address).
* **Addressing:** path-style.
* **Notes:** handy for bridging an odd backend to S3 tools for a one-off transfer[\[14\]](https://rclone.org/commands/rclone_serve_s3/ "Source: rclone.org/commands/rclone_serve_s3/").
## Exaba
[Section titled "Exaba"](#exaba)
Exaba is an on-premises, S3-compatible storage server for service providers and enterprises, with a free container edition.
* **Endpoint format:** `http://:9000` (your own configured address; the admin runs on a separate port).
* **Addressing:** path-style.
* **Notes:** set up the container through the admin interface first, then use the S3 service port[\[15\]](https://exaba.com/ "Source: exaba.com").
## A Note on Gateways: S3 in Front of Something Else
[Section titled "A Note on Gateways: S3 in Front of Something Else"](#a-note-on-gateways-s3-in-front-of-something-else)
Several tools here (s3proxy, Versity Gateway, Zenko, MinIO, and SeaweedFS) can act as gateways: they present an S3 API in front of a different backend, such as a local file system, tape, or even a non-S3 cloud like Azure Blob. If your goal is to make a non-S3 store look like S3, a gateway is the usual answer. If your goal is simply to move data between an S3 store and a non-S3 store, Blober already bridges S3, Azure Blob, Dropbox, Google Drive, and more directly, with no gateway to run.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Which self-hosted S3 server should I start with?** MinIO, for most people. It is a single binary, well documented, and the de facto standard for a local or on-prem S3 endpoint. Ceph RGW suits larger clusters; Garage and SeaweedFS suit lightweight or distributed setups.
**Why do uploads fail against my self-hosted server?** Almost always because the tool is using virtual-hosted (subdomain) addressing. Self-hosted servers want path-style. In Blober, use the path endpoint field, for example `http://localhost:9000`.
**Can Blober connect to a server on my own machine?** Yes. Point it at `http://localhost:9000` (or your server's address) with path-style addressing and your keys, and browse to confirm.
**Can I put an S3 API in front of Azure or Google Drive?** You can with a gateway like s3proxy. But to just move data between those services and an S3 store, Blober connects to each one natively, so you do not need a gateway.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [The Complete List of S3-Compatible Providers](/kb/articles/s3-compatible-storage-providers-complete-list/)
* [S3-Compatible Connector Setup](/kb/docs/providers/s3-compatible/)
* [Enterprise and On-Premises S3 Storage](/kb/articles/enterprise-on-premise-s3-compatible-storage/)
* [What S3-Compatible Really Means](/kb/articles/what-s3-compatible-really-means/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Connect Blober to MinIO, Ceph, SeaweedFS, Garage, or any self-hosted S3 server by URL, and move data between your own storage and the cloud directly, without filling your local disk.
**[Download Blober at blober.io](https://blober.io)**
# Server-to-Server vs Download-and-Reupload: Why the Difference Decides Your Transfer
> The difference between download-and-reupload and a direct, streamed transfer, why it only matters at scale, and what 'without filling your local disk' actually buys you.
## The Two Ways to Move Files Between Clouds
[Section titled "The Two Ways to Move Files Between Clouds"](#the-two-ways-to-move-files-between-clouds)
There are two ways to move files from one cloud to another. The common way downloads every file to your computer and uploads it again to the destination, which leaves a full copy on your disk and makes your machine the slow part. The other way, often called server-to-server or a direct transfer, streams the data between the two services without staging a full copy on your disk, so local disk space stops being the limit.
The difference is invisible for ten files and decisive for ten thousand. Understanding it saves you from a stalled migration halfway through a terabyte.
## A Quick Word on "Server-to-Server"
[Section titled "A Quick Word on "Server-to-Server""](#a-quick-word-on-server-to-server)
The label is looser than it sounds. A literal server-to-server copy, where the two providers hand the bytes straight to each other and nothing passes through you, only happens in narrow cases: within a single provider, or between two services that specifically support it. What a desktop tool like Blober gives you instead is a streamed copy. The data flows through the app rather than being staged on your disk, so disk space stops being the limit, though the bytes still travel over your own connection. The win is skipping the second full copy, not escaping your network.
## Download-and-Reupload, and Where It Breaks
[Section titled "Download-and-Reupload, and Where It Breaks"](#download-and-reupload-and-where-it-breaks)
Drag a cloud folder to your desktop and back into another service, or let a sync client mirror it locally, and you are doing a download-and-reupload. It works, and for small jobs it is fine.
It breaks in three ways at scale. First, disk: a 2 TB move needs 2 TB of free space, which most laptops do not have. Second, time: every byte makes two trips through your machine. Third, fragility: a sync client chewing through thousands of files will choke, duplicate, or stall, and you babysit it.
## What a Direct Transfer Changes
[Section titled "What a Direct Transfer Changes"](#what-a-direct-transfer-changes)
A direct transfer connects to both services and streams data from the source to the destination without writing a full local copy to disk. The practical wins:
* **Disk space stops being the limit.** You can move far more than your free disk, because the files are not staged there.
* **It runs in parallel.** Many files move at once instead of one slow queue, which is what actually makes a big library finish.
* **It skips what is already done.** If a transfer drops partway, re-running it carries only the files that did not make it, instead of starting the whole job over.
## The Honest Caveats
[Section titled "The Honest Caveats"](#the-honest-caveats)
A direct transfer is not magic, and it helps to know the real boundaries. The data still travels over the connection of wherever the tool runs, so your bandwidth is part of the equation. Egress, what a source provider charges to read your data out, still applies regardless of the tool, so plan the move as one clean pass rather than repeated pulls. What you avoid is the second full copy on your disk and the double handling that comes with it.
## Where Your Data Goes (and Does Not)
[Section titled "Where Your Data Goes (and Does Not)"](#where-your-data-goes-and-does-not)
There is a second axis worth separating from disk: who handles your data. Some cloud-to-cloud services route your files through their own servers, which means a third party touches them. Blober is a desktop app, so it runs on your machine with your credentials, and your data is not parked on someone else's server in the middle. You get the direct-transfer benefit without handing your files to a relay.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**What is a server-to-server transfer?** Strictly, it means the two providers move the data between themselves so it never touches your machine, which only works in specific cases. In practice, most "server-to-server" tools stream the data through the tool instead. Blober does this from your own machine: the files are never staged as a full copy on your disk, though they do travel over your connection.
**Do I have to download files to move them between clouds?** Not with a direct-transfer tool. Blober streams between the source and destination without writing a full copy to your disk, so disk space is not the limit.
**Why is my cloud-to-cloud transfer so slow?** A download-and-reupload sends every byte through your machine twice and often runs one file at a time. A parallel direct transfer keeps many files moving at once, which is far faster for large libraries.
**Does a direct transfer avoid egress fees?** No. Egress is charged by the source provider for reading your data out, no matter which tool you use. A direct transfer avoids the wasted second trip and the local copy, not the provider's egress.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [How to Move Dropbox to Backblaze B2](/kb/articles/how-to-move-dropbox-to-backblaze-b2/)
* [How to Move Files from Dropbox to Google Drive](/kb/articles/how-to-move-dropbox-to-google-drive/)
* [Dropbox and Google Drive: Sync, Transfer, or Migrate?](/kb/articles/dropbox-google-drive-sync-vs-migrate/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Move large libraries between clouds without filling your disk. Blober streams files directly between a broad, growing set of cloud providers and local storage, in parallel, and runs on your machine rather than a third-party server.
**[Download Blober at blober.io](https://blober.io)**
# Stop Paying Rent to Move Your Own Files
> You uploaded terabytes to the cloud. Now your provider charges you to leave. Here's how Blober lets you escape vendor lock-in with a single payment - no subscriptions, no data caps, no CLI.
## The Trap
[Section titled "The Trap"](#the-trap)
You uploaded 2 TB of photos, videos, and backups to the cloud. Life was good - until you wanted to move them somewhere else.
Suddenly, you're hit with **egress fees**, per-GB migration charges, and the realization that your cloud provider has been counting on you never leaving. It's your data. But moving it costs real money - every single time.
AWS charges \~$0.09/GB for egress. That's **$184 just to download 2 TB of your own files**. Want to use a SaaS migration tool? That's another $10-20/month, with transfer caps. Prefer the open-source CLI route? Clear your afternoon - you'll need it for YAML configs, credential files, and provider-specific quirks.

***
## The Math
[Section titled "The Math"](#the-math)
Let's talk real numbers. Over three years, here's what you'll pay using common approaches:
| Approach | 3-Year Cost | Catch |
| ----------------------- | --------------- | ------------------------------------------- |
| **SaaS Migration Tool** | \~$360 | Monthly sub + data caps |
| **Per-GB Service** | \~$720+ | $0.03/GB, billed every transfer |
| **DIY with CLI** | 40+ hours | Config per provider, no UI, breaks silently |
| **Blober** | **One payment** | Unlimited transfers. Forever. |
The subscription model is designed to extract value from you month after month. The per-GB model punishes you for having more data. The CLI path trades money for your time.
Blober breaks the cycle. **Pay once. Transfer as much as you want, as many times as you want.** No meter running. No renewal emails. No "upgrade to unlock more."

***
## The Escape
[Section titled "The Escape"](#the-escape)
Blober is a desktop app - not a SaaS, not a CLI tool, not a cloud service. It runs on your Mac, Windows, or Linux machine and connects directly to your cloud providers:
* **AWS S3** - buckets and objects, any region
* **Azure Blob Storage** - containers and blobs
* **Google Drive** - files and folders, including shared drives
* **GoPro Cloud** - back up your action footage locally or to any cloud
* **Backblaze B2** - the affordable S3 alternative
* **Dropbox** - personal and business accounts
* **Cloudflare R2** - zero-egress object storage
* **Wasabi** - hot storage without the cold fees
* **DigitalOcean Spaces** - all regions, auto-detected
* **Local Disk** - any folder on your machine
Your files never touch a middleman server. Blober streams directly between your machine and the provider APIs. Browse your cloud storage visually, select what you want, pick a destination - done.
If a transfer gets interrupted (bad WiFi, laptop closed, provider hiccup), Blober picks up where it left off. No re-uploading. No duplicate files.

***
## The Move
[Section titled "The Move"](#the-move)
Here's what switching to Blober actually looks like:
**Before:** You're juggling browser tabs, CLI sessions, and a spreadsheet tracking which files went where. A SaaS tool emails you that you've hit your 1.2 TB monthly cap. You Google "rclone config azure" for the third time.
**After:** You open Blober. Connect your accounts. Drag from source to destination. Walk away. It just works.
No internet needed for local-to-local moves. No data ever leaves your machine unless you're sending it to a cloud provider *you* chose.

***
## Who Is This For?
[Section titled "Who Is This For?"](#who-is-this-for)
* **Photographers & videographers** moving terabytes of footage from GoPro Cloud or Google Drive to cheaper archival storage
* **Developers & DevOps engineers** migrating between S3-compatible providers without writing scripts
* **Small businesses** consolidating cloud storage without paying an enterprise migration service
* **Privacy-conscious users** who want their files transferred directly, not through a third-party cloud
* **Anyone tired of paying monthly fees** to tools that move files you already own
***
## Get Blober
[Section titled "Get Blober"](#get-blober)
Your data. Your machine. Your rules.
**One payment. Unlimited transfers. No expiration.**
**[Download Blober => blober.io](https://blober.io)**
# The Zero-Knowledge Illusion in Cloud Transfer Tools
> Encrypted in transit is not the same as never seen. Here is what real zero-knowledge requires when you move files between clouds, and how to tell the difference.
A transfer tool can only call itself zero-knowledge if it is never in a position to see your files or your credentials. There is really only one way to guarantee that: the tool never sits in the path your data travels. If it runs on someone else's servers, "zero-knowledge" describes an intention, not the architecture.
## "Encrypted in Transit" Is Not the Whole Story
[Section titled ""Encrypted in Transit" Is Not the Whole Story"](#encrypted-in-transit-is-not-the-whole-story)
Most hosted tools say your data is encrypted in transit, and it is. The detail that matters is where the encryption stops. When data moves through a company's servers, it is decrypted there so it can be read and sent on to the destination, then encrypted again for the second leg. That is hop-by-hop encryption, not end-to-end. For a moment, on a machine you do not control, your files are in the clear.
This is not a sign of bad intent. It is how a relay has to work. But it means "encrypted in transit" and "we never see your files" are two different promises, and only one of them is being made.
## The Bigger Exposure Is Your Credentials
[Section titled "The Bigger Exposure Is Your Credentials"](#the-bigger-exposure-is-your-credentials)
Files in transit are the visible worry. The quieter one is the keys. To move data on your behalf, a tool needs your storage credentials, and a storage key is not a limited transfer pass. It can read, write, list, and delete across your account.
A hosted service has to store those keys somewhere so it can use them. That store, holding the credentials of many users, is a single valuable target. If it is breached, the exposure is not one transfer; it is standing access to everyone's storage.
## What Makes Zero-Knowledge Real
[Section titled "What Makes Zero-Knowledge Real"](#what-makes-zero-knowledge-real)
One arrangement actually delivers it: the tool runs on your own machine, keeps your credentials in local storage, and connects straight to your providers. With nothing in the middle, there is no relay to decrypt your files and no shared vault to breach. The vendor's service knows nothing because it is not in the transfer path.
[Blober](/kb/docs/how-blober-works/) works this way. Credentials stay in a local store on your computer, the data streams directly between your providers and your machine, and there is no Blober account or server in the path.
## How to Check Any Tool
[Section titled "How to Check Any Tool"](#how-to-check-any-tool)
You do not have to take a claim on faith. A few questions sort the architecture out:
* **Does it require an account with the tool's own service?** A pure local tool needs a licence, not an account that holds your data.
* **Where are credentials stored?** On your machine, or on the tool's servers?
* **Can it run when the tool vendor's own servers are unreachable?** If the core transfer can run with those servers unreachable, they are not in your data path. If it cannot, they are.
That vendor-offline test is the most telling. A tool that keeps working with its own service unreachable cannot be sending your files through that service.
## Where rclone Fits
[Section titled "Where rclone Fits"](#where-rclone-fits)
The command-line tool rclone is also local, and that is its strength: it runs on your machine and moves data directly between providers. Its credentials live in a configuration file on your disk, which rclone says should be protected because it typically contains login information[\[1\]](https://rclone.org/docs/#config-string "Source: rclone.org/docs/"). Blober keeps the same local-only principle while removing the configuration step, storing your credentials on your own machine and connecting straight to your providers.
## What Zero-Knowledge Cannot Cover
[Section titled "What Zero-Knowledge Cannot Cover"](#what-zero-knowledge-cannot-cover)
Zero-knowledge is about the middleman, not the endpoints. No tool can protect you from a provider you have chosen to authorize; that provider can see what is in its own account by definition. What a local-first tool removes is the extra party, the one that had no need to see your data and no business holding your keys.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Is "encrypted in transit" enough?** It protects data from outsiders on the wire, but not from the service doing the relay, which decrypts it to pass it along. End-to-end privacy requires that no middle service ever holds the unencrypted data.
**Why are credentials a bigger deal than the files?** A single transfer exposes one set of files. A leaked storage key exposes the whole account, for as long as the key stays valid.
**How do I know a desktop tool is not phoning home?** Test it offline. If the transfer between your clouds runs with the tool's own servers unreachable, your data is not passing through them.
## Next Steps
[Section titled "Next Steps"](#next-steps)
* See the architecture in [How Blober Works](/kb/docs/how-blober-works/).
* Go deeper on trust in [Data Sovereignty: Why Your Cloud Transfer Tool Matters](/kb/articles/data-sovereignty-why-your-transfer-tool-matters/).
* Ready to keep your keys local? [Get Blober](https://blober.io).
# The True Cost of Cloud Data Migration in 2026
> Subscriptions, per-GB fees, and hidden costs add up. Here's what cloud data migration actually costs - and why one-time pricing changes the math.
### The Hidden Tax on Moving Your Own Data
[Section titled "The Hidden Tax on Moving Your Own Data"](#the-hidden-tax-on-moving-your-own-data)
Moving data between cloud providers should be simple. You own the files - you just want them somewhere else. But the cloud industry has turned data migration into a profit center, layering fees at every step: egress charges, per-GB migration fees, monthly subscriptions, and data traffic caps.
Here's what cloud data migration actually costs in 2026, and why [**Blober**](https://blober.io/)'s one-time pricing model is a fundamentally better deal for anyone who transfers data more than once.
***
### The Three Cost Models
[Section titled "The Three Cost Models"](#the-three-cost-models)
#### 1. Per-GB Fees (Flexify.io)
[Section titled "1. Per-GB Fees (Flexify.io)"](#1-per-gb-fees-flexifyio)
Flexify charges a per-GiB fee for every migration, on top of your cloud provider's egress charges.
| Migration Size | Flexify Fee (\~$0.03/GiB) | Provider Egress (AWS \~$0.09/GB) | **Total** |
| -------------- | ------------------------- | -------------------------------- | ------------- |
| 100 GB | $3 | $9 | **\~$12** |
| 1 TB | $30 | $92 | **\~$122** |
| 10 TB | $307 | $922 | **\~$1,229** |
| 100 TB | $3,072 | $9,216 | **\~$12,288** |
These are *per-job* costs. Run the same migration next month? Pay again. Sync regularly? The meter never stops.
Flexify does offer managed migrations for 10+ TB where provider egress may be avoided through direct peering - but those require contacting sales and negotiating custom pricing.
#### 2. Annual Subscriptions with Data Caps (MultCloud)
[Section titled "2. Annual Subscriptions with Data Caps (MultCloud)"](#2-annual-subscriptions-with-data-caps-multcloud)
MultCloud charges an annual subscription that includes a fixed amount of transfer traffic:
| Plan | Annual Cost | Data Allowance | Cost Per TB Transferred |
| ------------- | ----------- | -------------- | ----------------------- |
| Free | $0 | 5 GB/month | N/A (60 GB/year cap) |
| 1,200 GB plan | $59.99/year | 1,200 GB/year | **\~$50/TB** |
| 2,400 GB plan | $99.98/year | 2,400 GB/year | **\~$42/TB** |
Hit the cap? Transfers stop until you renew. Need to move 5 TB? You'll need to buy the top-tier plan and wait over two years to exhaust the quota - or pay for multiple years upfront.
Over three years, MultCloud costs **$180-$300** in subscriptions alone, and you're still capped on how much data you can actually move.
#### 3. One-Time License (Blober)
[Section titled "3. One-Time License (Blober)"](#3-one-time-license-blober)
[**Blober**](https://blober.io/) charges a one-time license fee. No per-GB charges. No annual renewal. No data caps.
| Migration Size | Blober Cost | Provider Egress (your standard cloud fees) |
| -------------- | ------------------ | ------------------------------------------ |
| 100 GB | ✅ One-time license | Standard egress only |
| 1 TB | ✅ Same license | Standard egress only |
| 10 TB | ✅ Same license | Standard egress only |
| 100 TB | ✅ Same license | Standard egress only |
The only variable cost is your cloud provider's standard egress fee - which you'd pay with *any* tool, including rclone. There is no Blober surcharge.
***
### The Compounding Problem
[Section titled "The Compounding Problem"](#the-compounding-problem)
Per-GB fees and subscriptions compound over time. If you migrate data regularly - monthly syncs, media archives, backup rotations - the cost gap widens fast:
| Scenario | Flexify (per-GB) | MultCloud (subscription) | [**Blober**](https://blober.io/) (one-time) |
| ---------------------- | ---------------- | ------------------------ | ------------------------------------------- |
| One 1 TB migration | \~$122 | $59.99/year | ✅ One-time |
| Monthly 500 GB sync | \~$732/year | Exceeds cap | ✅ One-time |
| 3 years of regular use | $2,196+ | $180-$300 | ✅ One-time |
For users who transfer data as part of their regular workflow - not a one-time event - subscription and per-GB models are an ongoing tax. [**Blober**](https://blober.io/) eliminates it.
***
### What About rclone?
[Section titled "What About rclone?"](#what-about-rclone)
rclone is free and open-source. On raw cost, nothing beats free.
But rclone's cost is measured in time, not money:
* **Setup time** - configuring remotes, flags, and cron jobs
* **Debugging time** - when a transfer fails silently or a flag is wrong
* **Maintenance time** - updating scripts when providers change APIs
For engineers who already live in the terminal, rclone is excellent. For everyone else, the time cost is significant and ongoing. [**Blober**](https://blober.io/) trades a one-time purchase for a visual, persistent workflow engine that eliminates scripting overhead entirely.
***
### Egress Fees: The Unavoidable Cost
[Section titled "Egress Fees: The Unavoidable Cost"](#egress-fees-the-unavoidable-cost)
Regardless of which tool you use, cloud provider egress fees apply when downloading data. These are charged by your cloud provider, not by Blober:
| Provider | Storage (TB/mo) | Egress (per GB) | Notes |
| -------------------- | --------------- | --------------- | ------------------------------------ |
| AWS S3 | $26 | $0.09 | Egress-heavy workloads get expensive |
| Azure Blob Storage | $20 | $0.08 | First 100 GB/month free |
| Google Cloud Storage | $23 | $0.11 | Varies by region |
| Backblaze B2 | $6.95 | Free (up to 3x) | Free egress up to 3x stored |
| Wasabi | $6.99 | **Free** | No egress fees ever |
| Cloudflare R2 | $15 | **Free** | Zero egress by design |
| DigitalOcean Spaces | $5 (250 GB) | $0.01 | 1 TB outbound included |
**Pro tip:** If you're choosing a destination for long-term storage, providers like Backblaze B2 ($6.95/TB/mo, free egress), Wasabi ($6.99/TB/mo, no egress fees), and Cloudflare R2 (zero egress) offer significantly lower total cost of ownership than AWS, Azure, or GCS. [**Blober**](https://blober.io/) supports all of them.
***
### TL;DR
[Section titled "TL;DR"](#tldr)
| Tool | Cost Model | Best For |
| -------------------------------- | -------------------- | ------------------------------------------------------------------------------------ |
| Flexify.io | Per-GB + egress | Enterprise one-time migrations |
| MultCloud | Annual subscription | Light, occasional consumer transfers |
| rclone | Free (time cost) | Engineers comfortable with CLI |
| [**Blober**](https://blober.io/) | **One-time license** | Anyone who transfers data regularly, values simplicity, or needs GoPro Cloud support |
If you transfer data more than once - or plan to - a one-time license pays for itself after a single job. No subscriptions. No per-GB surprises. No data caps.
[Get Blober =>](https://blober.io/)
# What Is Blober? Cloud File Transfer Made Simple
> Moving files between cloud providers shouldn't require subscriptions, hidden fees, or config files. Blober is the one-time purchase desktop app that connects AWS S3, Azure Blob, Google Drive, GoPro Cloud, Backblaze B2, Wasabi, and more - with a beautiful UI.
## The Problem
[Section titled "The Problem"](#the-problem)
Transferring files between cloud providers today means monthly subscriptions, surprise transfer fees, and wrestling with CLI config files. Most tools are either expensive SaaS platforms or developer-only terminals with steep learning curves.

***
## The Solution
[Section titled "The Solution"](#the-solution)
Blober is a desktop app that connects all your cloud storage in one place. AWS S3, Azure Blob Storage, Google Drive, GoPro Cloud, Backblaze B2, Wasabi, local disk, and more - all supported out of the box. No CLI. No config files. Just a beautiful, intuitive interface.

***
## The Value
[Section titled "The Value"](#the-value)
Buy once, transfer forever. No subscriptions. No transfer fees. Blober runs natively on Mac, Windows, and Linux - and it works offline too.

***
## Get Blober
[Section titled "Get Blober"](#get-blober)
Stop renting your tools. **[Download Blober =>](https://blober.io)**
# What 'Local-First' Actually Means
> Local-first software runs on your own device and keeps working without depending on a vendor's servers. Here is what it means, and why it matters for moving files.
Local-first software runs on your own device and keeps your data and its core features working without depending on someone else's servers. The cloud is still welcome, but it is optional rather than required. You hold the data, the app and local state remain usable offline, and nothing essential disappears if a company does.
## Where the Idea Comes From
[Section titled "Where the Idea Comes From"](#where-the-idea-comes-from)
The phrase was popularized by a 2019 essay from the research group Ink & Switch, titled "Local-first software: you own your data, in spite of the cloud"[\[1\]](https://www.inkandswitch.com/essay/local-first/ "Source: www.inkandswitch.com/essay/local-first/"). It set out a handful of ideals for software that respects the person using it: your data stays on your device and remains yours, the work is available offline, it lasts for the long run instead of vanishing when a service shuts down, and privacy is the default rather than an upgrade.
The essay was written about documents and collaboration, but the principles travel well to any tool that touches your data, including one that moves files between clouds.
## Local-First Is Not Local-Only
[Section titled "Local-First Is Not Local-Only"](#local-first-is-not-local-only)
It helps to place local-first between two older ideas.
* **Cloud-first** software lives on a company's servers. You reach it through a browser, your data sits in its database, and when the service is down or gone, so is your access.
* **Local-only** software is the classic desktop app that could not talk to anything else. Your data was yours, but it was stranded on one machine.
Local-first keeps the good parts of both. Your data and the app live on your device, so you keep control and offline access, and the app still reaches the cloud when you want it to. The difference from cloud-first is who is in charge: the cloud serves you, instead of holding you.
## What It Means for a Transfer Tool
[Section titled "What It Means for a Transfer Tool"](#what-it-means-for-a-transfer-tool)
Applied to moving files between clouds, local-first has a clear shape:
* The app runs on your computer, not in a browser tab on someone else's servers.
* It connects directly to your providers, so your files are not relayed through a middle service.
* Your credentials stay in a local store on your machine.
* The core work does not depend on the tool's own servers, so it keeps running even when they are unreachable.
* It keeps working for the long run. [Blober](/kb/docs/how-blober-works/) is a lifetime licence with future updates under the current [terms](/kb/docs/terms-and-privacy/terms-of-service/#updates), so the copy on your machine does not stop working when a billing cycle ends.
This is the same idea described in [Your Files, Your Machine, No Middleman](/kb/articles/your-files-your-machine-no-middleman/), set out as a principle here rather than step by step.
## Why It Matters
[Section titled "Why It Matters"](#why-it-matters)
* **Ownership.** Your files and your keys stay on your side. A tool you run cannot quietly change what it does with data it never receives.
* **Longevity.** A local-first tool does not depend on a company staying in business to keep functioning. What works today keeps working.
* **Privacy.** With no middle service in the path, there is no extra party to see your files or hold your credentials.
* **No lock-in.** Because the tool moves data between the storage you already use, it makes leaving any one provider easier, not harder.
## Local-First Is Not Anti-Cloud
[Section titled "Local-First Is Not Anti-Cloud"](#local-first-is-not-anti-cloud)
Local-first is not anti-cloud, and it is not a claim that servers are bad. Plenty of good software is cloud-first for good reasons. Local-first is a statement about control: the data and the core features belong on your device, and the cloud is something you reach out to on your terms. For a tool whose whole job is handling your files, that is a sensible default.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Is local-first the same as offline?** Offline is one of its results, not the whole idea. Local-first means the app and your data live on your device; working offline follows from that.
**Does local-first mean I cannot use the cloud?** No. It means the cloud is optional for the app to function. You still connect to cloud providers; you are just not dependent on the tool's own servers.
**How is this different from an old desktop program?** An old desktop program was often local-only, stranded on one machine. Local-first keeps your data on your device and still connects to the cloud when you want it.
## Next Steps
[Section titled "Next Steps"](#next-steps)
* See the principle in practice in [How Blober Works](/kb/docs/how-blober-works/).
* Read the trust case in [Data Sovereignty: Why Your Cloud Transfer Tool Matters](/kb/articles/data-sovereignty-why-your-transfer-tool-matters/).
* Ready to keep your files on your side? [Get Blober](https://blober.io).
# What S3-Compatible Really Means (and Why It Matters When You Switch)
> S3-compatible explained in plain terms: what the S3 API standard is, what compatibility does and does not guarantee, and why it makes switching object-storage providers easy.
## What "S3-Compatible" Actually Means
[Section titled "What "S3-Compatible" Actually Means"](#what-s3-compatible-actually-means)
S3-compatible means a storage service speaks the same API language as Amazon S3. Tools, SDKs, and apps built for S3 can usually work with it for common object operations by changing endpoint and credentials. It does not mean the service is run by Amazon, and it does not promise every feature is identical.
The S3 API became a de facto standard. Once enough tools spoke it, new providers had a choice: invent their own interface and ask everyone to re-tool, or speak S3 and work on day one with the entire existing ecosystem. Most chose S3.
## The API Is the Standard, Not the Company
[Section titled "The API Is the Standard, Not the Company"](#the-api-is-the-standard-not-the-company)
Think of it like a power socket. The plug shape is the standard, and a device built for that plug can draw power without caring which utility generated the electricity. S3 compatibility is the plug shape for object storage. Backblaze B2, Wasabi, Cloudflare R2, and DigitalOcean Spaces all expose an S3-compatible endpoint, so tools such as `aws s3`, rclone, and desktop transfer apps can point at them by changing the endpoint and the keys.
## Why It Matters When You Switch
[Section titled "Why It Matters When You Switch"](#why-it-matters-when-you-switch)
The real value of S3 compatibility is that it makes providers more swappable. If your app reads and writes through the common S3 operations, moving from one S3-compatible store to another is mostly a matter of changing the endpoint and the credentials, not rewriting code. That keeps you from being locked in by your tooling, and it means a provider's pricing model or a new egress policy does not trap your data with them.
## What Compatibility Does Not Guarantee
[Section titled "What Compatibility Does Not Guarantee"](#what-compatibility-does-not-guarantee)
Compatible is not identical. A few things still vary between S3-compatible providers, so check them before you commit:
* **Feature coverage.** Lifecycle rules, versioning, object lock, and multipart limits differ. Most common operations are covered; the long tail is not always.
* **Performance and consistency.** Throughput, latency, and edge-case consistency behavior are the provider's own.
* **Regions and durability.** Where your data physically sits, and how many copies are kept, is a provider decision.
* **The pricing model.** Egress and minimum storage duration are where S3-compatible providers differ most, and those terms decide the real cost of an archive far more than the headline storage rate.
## A Note on Azure Blob
[Section titled "A Note on Azure Blob"](#a-note-on-azure-blob)
Azure Blob Storage uses its own API rather than the S3 API, so it is not S3-compatible in the same drop-in way. The concepts line up (an S3 bucket maps to a container, an object to a blob), but a tool pointed at S3 will not talk to Azure Blob without a translation layer. That is worth knowing if your stack assumes S3 everywhere.
When you do need S3-compatible applications to run against Azure, an S3 gateway sits in front of Azure Blob and converts S3 API calls to Azure Blob calls on the fly:
* Flexify.IO runs an S3 gateway in front of Azure Blob Storage[\[source\]](https://flexify.io "Source: flexify.io").
* s3proxy is an open-source proxy that presents an S3 API backed by Azure Blob and other stores[\[source\]](https://github.com/gaul/s3proxy "Source: github.com/gaul/s3proxy").
* VersityGW is an open-source S3 gateway with pluggable backends[\[source\]](https://github.com/versity/versitygw "Source: github.com/versity/versitygw").
* MinIO is S3-compatible storage that has been used to put an S3 API in front of other backends[\[source\]](https://github.com/minio/minio "Source: github.com/minio/minio").
For .NET projects, FluentStorage takes a different route. Rather than a gateway, it is a polymorphic cloud storage abstraction layer, so one codebase targets S3, Azure Blob, and other stores without per-provider code[\[source\]](https://github.com/robinrodricks/FluentStorage "Source: github.com/robinrodricks/FluentStorage").
## Moving Between S3-Compatible Stores
[Section titled "Moving Between S3-Compatible Stores"](#moving-between-s3-compatible-stores)
Because the core API is shared, moving data between S3-compatible providers is usually straightforward. Blober connects to S3, Backblaze B2, Wasabi, Cloudflare R2, and DigitalOcean Spaces, and its [generic S3 connector](/kb/docs/providers/s3-compatible/) points at other S3-compatible endpoints by URL when they support the common operations Blober uses. It also bridges to non-S3 services like Azure Blob, Dropbox, and Google Drive. You point it at a source and a destination and it copies between them directly, without staging a full copy on your disk.
There are dozens of well-known S3-compatible services, plus self-hosted servers and enterprise systems you can run yourself. For a practical roster with endpoints and setup, see [The Complete List of S3-Compatible Storage Providers](/kb/articles/s3-compatible-storage-providers-complete-list/).
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Is Backblaze B2 S3-compatible?** Yes. B2 exposes an S3-compatible API, so S3 tools and SDKs work against it by changing the endpoint and keys.
**Is Azure Blob Storage S3-compatible?** Not natively. Azure Blob uses its own API. The concepts map across (container for bucket, blob for object), but S3 tools need a translation layer to talk to it.
**Does S3-compatible mean exactly the same as AWS S3?** No. It means the same API language. Features like lifecycle rules and versioning, plus performance, regions, and the pricing model, vary by provider.
**Can I switch S3-compatible providers without changing my app?** Usually yes, if your app uses the S3 API. You change the endpoint and credentials. Check that the specific features you rely on are supported by the new provider first.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [The Complete List of S3-Compatible Storage Providers](/kb/articles/s3-compatible-storage-providers-complete-list/)
* [How to Transfer AWS S3 to Azure Blob](/kb/articles/how-to-transfer-aws-s3-to-azure-blob/)
* [How to Switch Wasabi to Backblaze B2](/kb/articles/how-to-switch-wasabi-to-backblaze-b2/)
* [How to Move Azure Blob to Cloudflare R2](/kb/articles/how-to-move-azure-blob-to-cloudflare-r2/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Switch object-storage providers without the re-tooling headache. Blober moves data between S3, B2, Wasabi, R2, Spaces, and more, directly and without filling your local disk.
**[Download Blober at blober.io](https://blober.io)**
# Where Cloud Transfer Tools Actually Send Your Data
> Three ways transfer tools move your files: through a company's servers, through a local script, or through a desktop app. Where your data and credentials go in each.
When you move files between clouds, the tool you pick decides the route your data takes. There are three common designs: a hosted service that relays your files through its own servers, a local command-line tool that runs on your machine, and a local desktop app. They differ most in two places you cannot see from the marketing page: where your files travel, and where your credentials live.
## The Three Designs
[Section titled "The Three Designs"](#the-three-designs)
### A hosted service
[Section titled "A hosted service"](#a-hosted-service)
You sign in on a website, connect your clouds, and the service moves the data on its servers. It is convenient and needs nothing installed. In exchange, your files pass through infrastructure you do not control, your credentials are stored on its systems, and the work depends on its uptime, its pricing, and its jurisdiction. Pricing here is usually a subscription or a per-GB transfer fee, sometimes with a monthly cap.
### A local command-line tool
[Section titled "A local command-line tool"](#a-local-command-line-tool)
Tools like rclone run on your own machine and move data directly between providers. Your files do not detour through anyone else's servers, and your credentials sit in a local file you control; rclone documents cloud authentication in its local configuration file and recommends protecting that file because it contains login information[\[1\]](https://rclone.org/docs/#config-string "Source: rclone.org/docs/"). The cost is your time: configuration files, keys to manage, and provider-specific flags, all from a terminal.
### A local desktop app
[Section titled "A local desktop app"](#a-local-desktop-app)
A desktop app keeps the direct, on-your-machine route of a command-line tool and adds a visual interface. You connect a provider by signing in, browse your files, pick a destination, and run. Credentials stay in a local store, the data streams straight between your providers and your machine, and there is no Blober account or Blober server in the transfer path. [Blober](/kb/docs/how-blober-works/) is built this way, with a lifetime licence rather than a subscription.
## Side by Side
[Section titled "Side by Side"](#side-by-side)
| Question | Hosted service | Local script | Local desktop app |
| ----------------------------------------------------- | ---------------------------------------------------------------------------------- | --------------------------------- | ------------------------------------------------------ |
| Where do your files travel? | Through the company's servers | Directly, through your machine | Directly, through your machine |
| Where do your credentials live? | On the company's systems | In a local file you control | In a local store on your machine |
| Does the tool vendor need to be in the transfer path? | Yes | No | No |
| Can provider limits still apply? | Yes, and shared company servers can be throttled or blocked for every user at once | Yes, but traffic uses your own IP | Yes, but traffic uses your own IP |
| What does it cost you over time? | Subscription or per-GB fee | Free tool, your setup time | Lifetime licence, no subscription or per-transfer fees |
| What does it ask of you? | An account and trust in the relay | Comfort with a terminal | Signing in and clicking |
## Reachability and Blocking
[Section titled "Reachability and Blocking"](#reachability-and-blocking)
A hosted service reaches every provider from the same pool of server addresses. That is the pattern most likely to attract shared-service rate limits, geofencing, or blocks, and when it happens, every user of that service is affected at once. A tool on your own machine connects from your own IP address, so there is no company relay address to single out. For services that were never designed for bulk export, that difference can matter, although account-level and API limits still apply.
## Which One Fits You
[Section titled "Which One Fits You"](#which-one-fits-you)
* **Pick a hosted service** if you want nothing installed, you are moving a modest amount, and a shared team dashboard matters more than keeping data and keys on your own side. These services are genuinely convenient, and for the right job that convenience wins.
* **Pick a local script** if you live in the terminal and want maximum control with no interface in the way.
* **Pick a desktop app** if you want the direct, local route without the setup, especially for large libraries or providers that resist bulk transfers.
## No Single Design Wins
[Section titled "No Single Design Wins"](#no-single-design-wins)
No single design is best for everyone. A hosted service removes all setup and is easy to share across a team. A script is the most flexible if you are willing to learn it. A desktop app aims at the middle: the privacy and reach of running locally, with the ease of a visual tool. The right choice is the one whose trade-offs you are happy to live with.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**Does a desktop app still send my data through my computer?** Yes, and that is the point. The data streams through your machine to the destination instead of through a separate company's servers, and no second full copy is saved to your disk.
**Why can a hosted service get blocked when a desktop app does not?** The hosted service connects from shared company servers that a provider can recognize and throttle. A desktop app connects from your own IP, so there is no shared relay address to block for every user at once.
**Is a local tool less safe because the credentials are on my machine?** Your machine is a single device under your control, not a shared database of many users' keys. For most people, one device they control is a smaller target than a company server holding thousands of accounts' credentials.
## Next Steps
[Section titled "Next Steps"](#next-steps)
* See the on-your-machine design in [How Blober Works](/kb/docs/how-blober-works/).
* Understand the privacy angle in [The Zero-Knowledge Illusion in Cloud Transfer Tools](/kb/articles/the-zero-knowledge-illusion/).
* Ready to keep the route local? [Get Blober](https://blober.io).
# DJI Osmo and Insta360 Footage: Where It Should Live
> A neutral guide to storing action-cam footage from DJI Osmo, Insta360, and GoPro: the real options, the 3-2-1 approach, and how to move footage onto storage you own.
## Where Should Action-Cam Footage Live?
[Section titled "Where Should Action-Cam Footage Live?"](#where-should-action-cam-footage-live)
Action-cam footage is large, shot in bursts, and rarely needed in a hurry, so it belongs on storage you own or on cheap, durable object storage, with a second copy somewhere else. A camera-maker's own cloud is a fine staging area, not a final home.
This guide is brand-neutral. Whether you shoot on a DJI Osmo, an Insta360, a GoPro, or a mix, the storage problem is the same: a lot of big files and nowhere obvious to put them.
## The Honest Problem With Camera-Maker Clouds
[Section titled "The Honest Problem With Camera-Maker Clouds"](#the-honest-problem-with-camera-maker-clouds)
Each camera ecosystem nudges you toward its own app and cloud. That is convenient on day one and limiting later. The clouds are tuned for their own footage, the bulk-export tools tend to be weak, and your library ends up split across apps that do not talk to each other.
If you shoot on more than one brand, this gets worse fast. Footage scattered across a DJI account, an Insta360 account, and a GoPro subscription is three separate silos with three separate exit doors.
## The Options, Ranked by Job
[Section titled "The Options, Ranked by Job"](#the-options-ranked-by-job)
**A NAS or external drive (footage you own, kept close).** Best for active projects and anyone who wants the files under their own roof. A Synology or similar NAS turns a stack of drives into one library you control.
**Object storage: Backblaze B2, Wasabi, Cloudflare R2 (the long-term archive).** Best for footage you want to keep but rarely open. It is durable and built for large files. Compare them on egress model and minimum storage duration rather than on the sticker, since those terms decide the real cost of an archive you read back occasionally.
**Dropbox or Google Drive (sharing and collaboration).** Best when the point is handing footage to a client, an editor, or family. Easy links, familiar to everyone, not built to be a cheap multi-terabyte vault.
## A Simple Setup That Works for Any Brand
[Section titled "A Simple Setup That Works for Any Brand"](#a-simple-setup-that-works-for-any-brand)
1. Pull footage off the camera the way each brand expects: GoPro to GoPro Cloud, DJI through the Mimo app, Insta360 through its Studio app, or straight off the SD card.
2. Get a full-quality copy onto storage you own (a NAS or a drive).
3. Add a second copy on object storage or a second cloud for the off-site leg of a 3-2-1 backup.
That is the whole strategy. One working copy you can edit from, one archive you can fall back on.
## Where Blober Fits
[Section titled "Where Blober Fits"](#where-blober-fits)
Blober moves footage between a broad range of cloud providers and local storage, so it is the piece that gets a library out of one place and onto another without a download-and-reupload detour. For GoPro specifically, it is the only desktop app that connects directly to GoPro Cloud and pulls the whole library out in one pass.
For DJI and Insta360, whose clouds have no open third-party access, the practical path is to bring footage local through their own apps first, then use Blober to move it onward to a NAS, to object storage, or to another cloud, and to keep that archive copy in sync as you add to it.
## Frequently Asked Questions
[Section titled "Frequently Asked Questions"](#frequently-asked-questions)
**What is the best storage for action-cam footage?** Storage you own (a NAS or drive) for active footage, plus durable object storage like Backblaze B2 or Wasabi for the long-term archive. Keep two copies in different places.
**Does DJI or Insta360 have a cloud like GoPro?** Both have their own apps and cloud features, but none offer open third-party access for bulk export. The reliable approach is to bring footage local through their apps, then move it onto storage you own.
**Can Blober connect to DJI or Insta360 cloud?** Blober connects directly to GoPro Cloud. For DJI and Insta360, bring footage local first, then use Blober to move it to a NAS, object storage, or another cloud.
**How do I keep one library across different camera brands?** Land every brand's footage in one owned destination (a NAS or an object-storage bucket), then keep a second copy elsewhere. Blober handles the moves between them.
## Related Guides
[Section titled "Related Guides"](#related-guides)
* [The Best Cloud Storage for GoPro Footage](/kb/articles/best-cloud-storage-for-gopro-footage/)
* [How to Back Up Cloud Storage to a Synology NAS](/kb/articles/backup-cloud-to-nas-synology-network-drive/)
* [GoPro Cloud, in Plain English: How It Actually Works](/kb/articles/gopro-cloud-how-it-works/)
## Get Blober
[Section titled "Get Blober"](#get-blober)
Get your action-cam footage onto storage you own. Blober moves it between the major cloud providers, local drives, and your NAS, and it is the only app that connects directly to GoPro Cloud.
**[Download Blober at blober.io](https://blober.io)**
# Why Photographers and Videographers Choose Blober
> Large files, multiple storage providers, GoPro footage, and metadata-driven organization - how Blober fits into creative workflows.
### The Creative Storage Problem
[Section titled "The Creative Storage Problem"](#the-creative-storage-problem)
Photographers and videographers generate enormous volumes of data. A single shoot can produce hundreds of gigabytes of RAW photos and 4K/5.3K video files. Over months and years, that adds up to terabytes of irreplaceable media scattered across local drives, cloud providers, and camera-specific platforms.
The challenges are consistent:
* **Files are large** - 4K video clips are often 1-5 GB each. 5.3K GoPro footage is even larger.
* **Storage is fragmented** - footage lives on local SSDs, NAS devices, Google Drive, GoPro Cloud, and various object storage providers
* **Organization is painful** - manually sorting files into date/camera/project folders is tedious and error-prone
* **Backups are inconsistent** - some footage has 3 copies, some has 1, some has none
* **Cloud costs add up** - Google Drive, AWS S3, and iCloud storage bills grow every month
[**Blober**](https://blober.io/) is built to solve exactly these problems.
***
### How Blober Fits Into Creative Workflows
[Section titled "How Blober Fits Into Creative Workflows"](#how-blober-fits-into-creative-workflows)
#### 1. Consolidate Scattered Storage
[Section titled "1. Consolidate Scattered Storage"](#1-consolidate-scattered-storage)
Most creators have files spread across multiple providers - intentionally or not. Blober connects to all of them in one interface:
| Provider | Use Case |
| --------------- | ----------------------------------- |
| GoPro Cloud | Action camera footage auto-uploaded |
| Google Drive | Client deliverables and sharing |
| Local NAS / SSD | Primary working storage |
| Backblaze B2 | Long-term archive (cheap, reliable) |
| Wasabi | Hot archive (no egress fees) |
| AWS S3 | Production infrastructure |
| Cloudflare R2 | CDN-adjacent delivery |
Instead of logging into 4 different dashboards and downloading/uploading manually, Blober lets you build workflows that move files between any of these in a single operation.
#### 2. GoPro Cloud Backup (Blober Exclusive)
[Section titled "2. GoPro Cloud Backup (Blober Exclusive)"](#2-gopro-cloud-backup-blober-exclusive)
If you shoot with GoPro cameras, you likely have footage auto-uploaded to GoPro Cloud. The problem: GoPro's web portal only allows batch downloads of 25 files at a time (as ZIPs that frequently fail), and no third-party tool supports GoPro Cloud as a transfer source.
[**Blober**](https://blober.io/) is the **only tool** that connects to GoPro Cloud. You can:
* Download all GoPro footage to local storage
* Transfer directly to Backblaze B2 or Wasabi for long-term archival
* Organize files by camera model, date, and resolution automatically
No other tool - not rclone, not MultCloud, not Flexify - supports GoPro Cloud.
#### 3. Metadata-Driven Organization
[Section titled "3. Metadata-Driven Organization"](#3-metadata-driven-organization)
Blober's path templating system uses file metadata to automatically organize transfers. Instead of dumping files into flat folders, you define a template:
```plaintext
/{camera_model}/{capture_date}/{filename}
```
And Blober organizes the output:
```plaintext
/HERO13 Black/2026-01-23/GX015742.MP4
/Sony A7IV/2026-01-20/DSC09845.ARW
/DJI Mini 4/2026-01-18/DJI_0042.MP4
```
This works across all providers - GoPro Cloud to local, Google Drive to B2, or any combination. Months of manual folder sorting, automated in one workflow.
#### 4. Repeatable Workflows
[Section titled "4. Repeatable Workflows"](#4-repeatable-workflows)
Creative work is cyclical. Shoots happen regularly, and the post-shoot workflow is always the same: ingest => organize => edit => archive => backup.
Blober saves each transfer as a durable workflow:
* **One-click re-execution** - run the same ingest pattern after every shoot
* **Resumable transfers** - if a 500 GB transfer drops at 80%, pick up where it stopped
* **Task history** - see exactly what was transferred, when, and whether it succeeded
* **No scripting** - no cron jobs, no bash scripts, no forgotten flags
#### 5. Cost-Optimized Archival
[Section titled "5. Cost-Optimized Archival"](#5-cost-optimized-archival)
For long-term storage, the hyperscalers (AWS, Azure, GCS) are expensive. Creative professionals are increasingly moving to budget-friendly alternatives:
| Provider | Storage Cost | Egress | Why Creators Choose It |
| ------------- | -------------- | --------------- | ----------------------------------- |
| Backblaze B2 | $6.95/TB/month | Free (up to 3x) | Cheapest reliable archive |
| Wasabi | $6.99/TB/month | Free | No egress fees, predictable billing |
| Cloudflare R2 | $15/TB/month | Free | Zero egress, great for delivery |
[**Blober**](https://blober.io/) supports all of these, making it trivial to set up an archive workflow: shoot => ingest to local NAS => archive to Backblaze B2 => done. One-time license, no per-GB fees.
***
### Real-World Scenarios
[Section titled "Real-World Scenarios"](#real-world-scenarios)
#### Wedding Photographer
[Section titled "Wedding Photographer"](#wedding-photographer)
After each wedding: 80 GB of RAW photos + 40 GB of video. Create a Blober workflow that copies everything from your SSD to Backblaze B2, organized by date and event name. Run it after every wedding with one click.
#### YouTube Creator
[Section titled "YouTube Creator"](#youtube-creator)
Finished projects sit on Google Drive eating into your 2 TB plan. Use Blober to move completed projects to Wasabi for long-term storage at a fraction of the cost, freeing up Google Drive space for active work.
#### GoPro Adventure Creator
[Section titled "GoPro Adventure Creator"](#gopro-adventure-creator)
Years of GoPro footage sitting in GoPro Cloud with no easy way out. Use Blober to download everything to a local NAS, organized by camera and date. Cancel GoPro Plus knowing your footage is safe.
#### Drone Operator
[Section titled "Drone Operator"](#drone-operator)
100+ GB per flight day across DJI footage on local cards and backup copies on Google Drive. Use Blober to standardize your archive: everything goes to Backblaze B2, organized by date and location, with a local NAS mirror.
***
### Why Not rclone?
[Section titled "Why Not rclone?"](#why-not-rclone)
rclone is free and powerful, but it requires terminal expertise. For each new storage provider, you configure a remote. For each workflow, you write a command with precise flags. There's no visual interface, no persistent workflows, and no GoPro support.
If you're a software engineer, rclone might work. If you're a photographer who wants to focus on photography, [**Blober**](https://blober.io/) is what you need.
***
### Get Started
[Section titled "Get Started"](#get-started)
[**Blober**](https://blober.io/) is available for Windows, macOS, and Linux. One-time license, currently at discounted beta pricing. No subscriptions. No per-GB fees. No data caps.
Connect your providers, build your workflows, and take control of your media archive.
[Get Blober =>](https://blober.io/)
# Your Files, Your Machine, No Middleman: Why Local-First Transfers Matter
> SaaS transfer tools route your files through their servers. Blober doesn't. Learn why local-first cloud file transfers are faster, safer, and cheaper.
## The Risk You're Not Thinking About
[Section titled "The Risk You're Not Thinking About"](#the-risk-youre-not-thinking-about)
Every time you use a SaaS cloud transfer tool (MultCloud, Flexify, or any browser-based service), your files pass through someone else's servers. Your vacation photos, your client deliverables, your financial backups: all routed through infrastructure you don't control, operated by companies you've never audited.
Most people don't think about this. They click "transfer," see a progress bar, and assume their files went from A to B. In reality, the path is A to middleman to B. That middleman sees your filenames, your folder structure, and in many cases, the file contents themselves.

***
## How Blober Is Different
[Section titled "How Blober Is Different"](#how-blober-is-different)
Blober is a desktop app. It runs on your machine (Mac, Windows, or Linux) and talks directly to your cloud provider's API. When you transfer files from AWS S3 to Backblaze B2, the data flows from your machine to the provider endpoint. No relay. No proxy. No middleman.
This isn't just a privacy feature. It's a fundamentally different architecture:
* **SaaS tools:** Your Machine > Their Server > Cloud Provider
* **Blober:** Your Machine > Cloud Provider (direct)
Your credentials never leave your device. Your files never touch a server you didn't choose. And because there's no middleman bandwidth to pay for, there are no per-GB transfer charges from the tool itself. You only pay what your cloud provider charges.

***
## Take Back Control
[Section titled "Take Back Control"](#take-back-control)
Blober connects to a growing list of storage providers - AWS S3, Azure Blob Storage, Backblaze B2, Cloudflare R2, DigitalOcean Spaces, Dropbox, Google Drive, GoPro Cloud, Local Disk, Wasabi, and more - all from a single app with a visual file browser.
No subscriptions. No per-transfer fees. One purchase, lifetime access. And every byte stays between you and your cloud provider.

***
## Who Is This For?
[Section titled "Who Is This For?"](#who-is-this-for)
* **Privacy-conscious users** who don't want their files routed through third-party servers
* **Photographers and videographers** transferring large media libraries between providers
* **Small businesses** that need to move data without compliance headaches
* **Anyone leaving a cloud provider** who wants a clean, direct migration path
* **GoPro users** who want their footage somewhere they actually control
***
## Get Blober
[Section titled "Get Blober"](#get-blober)
Your files. Your machine. No middleman. **[Download Blober](https://blober.io)**
# Blober Documentation
> Your guide to using Blober effectively
# Blober Desktop App for Mac, Windows & Linux
> Use the Blober desktop app to transfer files between storage providers locally.
The Blober desktop app is the fastest way to transfer files between storage providers. All transfers run locally on your machine - your files never pass through Blober's servers.
## Key Features
[Section titled "Key Features"](#key-features)
* **Local Processing** - Transfers run directly on your machine
* **Multiple Providers** - Connect AWS S3, Azure Blob, Google Drive, and more
* **Workflow Automation** - Create reusable transfer configurations
* **Progress Tracking** - Monitor, pause, resume, or cancel transfers
* **Path Templates** - Organize files dynamically based on dates, filenames, and metadata
# Blober Home Page: Manage Your Providers
> View, connect, and manage your storage providers from the Blober desktop app home screen, your starting point for every transfer.
The Home page shows all available storage providers and their connection status. Use this page to verify which providers are ready to use.
### Which providers can connect?
[Section titled "Which providers can connect?"](#which-providers-can-connect)
Not all source-destination combinations are supported. The valid destinations depend on your chosen source:
* **Local => Cloud** - Upload files to any cloud provider
* **Cloud => Local** - Download files to your machine
* **Cloud => Cloud** - Transfer between cloud providers (files route through your machine)
### Provider credentials
[Section titled "Provider credentials"](#provider-credentials)
* Credentials are stored in the local database
* They're used automatically when you create workflows
* OAuth providers (Google) require browser authorization
# Progress & Tasks: Monitor Your Transfers
> Start workflows, monitor transfers, and control running tasks in Blober.
The Progress page is your control center for running transfers. Start workflows, monitor real-time progress, and manage running tasks.
## Understanding Tasks
[Section titled "Understanding Tasks"](#understanding-tasks)
When you start a workflow, Blober creates a **task**. A task is a single execution of a workflow that tracks:
* Which files need to be transferred
* Current progress (files and bytes)
* Status of each file
* Logs and error messages
### Workflow vs Task
[Section titled "Workflow vs Task"](#workflow-vs-task)
| Concept | Description | Persistence |
| ------------ | ------------------------------------------------- | ----------------------- |
| **Workflow** | Saved configuration (source, destination, action) | Permanent until deleted |
| **Task** | Single execution of a workflow | Kept for history |
You can run the same workflow multiple times, creating a new task each time.
## Starting a Workflow
[Section titled "Starting a Workflow"](#starting-a-workflow)
### From the Progress Page
[Section titled "From the Progress Page"](#from-the-progress-page)
1. Go to the **Progress** page
2. Find the workflow you want to run
3. Click **Start**
4. A new task is created and begins executing
### What Happens When You Start
[Section titled "What Happens When You Start"](#what-happens-when-you-start)
1. **Enumeration** - Blober lists all files matching your source criteria
2. **Filtering** - Filters are applied to include/exclude files
3. **Transfer** - Files are processed one by one
4. **Completion** - Task status changes to completed or failed
## Controlling Tasks
[Section titled "Controlling Tasks"](#controlling-tasks)
### Pause a Running Task
[Section titled "Pause a Running Task"](#pause-a-running-task)
1. Find the running task
2. Click **Pause**
3. The task pauses after the current file completes
4. State changes to **Paused**
**Why pause?**
* Free up bandwidth for other work
* Investigate an issue without losing progress
* Resume later when convenient
### Resume a Paused Task
[Section titled "Resume a Paused Task"](#resume-a-paused-task)
1. Find the paused task
2. Click **Resume**
3. Task continues from where it left off
4. State changes to **Running**
### Cancel a Task
[Section titled "Cancel a Task"](#cancel-a-task)
1. Find the task (running or paused)
2. Click **Cancel**
3. Task moves to **Stopping** state
4. After cleanup, state changes to **Cancelled**
**What happens to files?**
* Files already transferred remain at destination
* The current file may be partially transferred
* Source files are unchanged (unless Move action completed for some files)
## Progress Indicators
[Section titled "Progress Indicators"](#progress-indicators)
### Task Progress
[Section titled "Task Progress"](#task-progress)
Each task shows real-time progress:
| Metric | Description |
| ---------------- | -------------------------- |
| **Files** | `X / Y` files processed |
| **Size** | `X MB / Y MB` transferred |
| **Progress Bar** | Visual percentage complete |
### File-Level Progress
[Section titled "File-Level Progress"](#file-level-progress)
For large files, you may see:
* Current file being transferred
* Bytes transferred for current file
* Transfer speed
## Viewing Logs
[Section titled "Viewing Logs"](#viewing-logs)
Each task maintains a log of operations:
### Log Entries
[Section titled "Log Entries"](#log-entries)
| Entry Type | Description |
| ----------- | ------------------------------------------- |
| **Info** | Normal operations (file started, completed) |
| **Warning** | Non-fatal issues (retry, skip) |
| **Error** | Problems that caused failures |
## File States
[Section titled "File States"](#file-states)
Within a task, each file has its own status:
| Status | Description |
| -------------- | ------------------------------ |
| **Pending** | File queued for processing |
| **Processing** | Currently being transferred |
| **Processed** | Successfully transferred |
| **Failed** | Transfer failed for this file |
| **Retrying** | Attempting again after failure |
| **Paused** | Waiting for task to resume |
## Error Handling
[Section titled "Error Handling"](#error-handling)
### Automatic Retries
[Section titled "Automatic Retries"](#automatic-retries)
Blober automatically retries failed operations:
* Network timeouts
* Rate limiting (429 errors)
* Temporary API errors
### Common Errors
[Section titled "Common Errors"](#common-errors)
| Error | Cause | Solution |
| ------------------------- | ---------------------------- | ------------------------------ |
| **Authentication Failed** | Invalid credentials | Update credentials in workflow |
| **Permission Denied** | Insufficient access rights | Check provider permissions |
| **Not Found** | Source file no longer exists | Skip or re-run workflow |
| **Quota Exceeded** | Storage limit reached | Free up space or upgrade plan |
| **Network Error** | Connection issues | Check internet, retry |
### Partial Failures
[Section titled "Partial Failures"](#partial-failures)
If some files fail:
* Successfully transferred files remain at destination
* Failed files are logged with error messages
* You can create a new task to retry
## Task History
[Section titled "Task History"](#task-history)
Completed and cancelled tasks remain visible:
* Review what was transferred
* Check for errors
* Reference for troubleshooting
## Performance Tips
[Section titled "Performance Tips"](#performance-tips)
### Optimize Transfer Speed
[Section titled "Optimize Transfer Speed"](#optimize-transfer-speed)
1. **Use a wired connection** - More stable than WiFi
2. **Close other applications** - Free up bandwidth and CPU
3. **Transfer during off-peak hours** - Less network congestion
4. **Choose nearby regions** - For cloud providers, pick closest region
### Large Transfers
[Section titled "Large Transfers"](#large-transfers)
For transfers with thousands of files:
* Expect initial enumeration to take time
* Progress will be slow at first, then speed up
* Consider breaking into smaller batches
### Resumable Transfers
[Section titled "Resumable Transfers"](#resumable-transfers)
If a task is interrupted:
1. Don't delete the task
2. Click **Resume** to continue
3. Blober skips already-transferred files
## Troubleshooting
[Section titled "Troubleshooting"](#troubleshooting)
### Task Stuck on "Pending"
[Section titled "Task Stuck on "Pending""](#task-stuck-on-pending)
* Check if another task is running
* Verify internet connection
* Restart the app if needed
### Transfer Very Slow
[Section titled "Transfer Very Slow"](#transfer-very-slow)
* Check your internet speed
* Verify provider isn't rate-limiting
* Try smaller batch sizes
### Task Failed Immediately
[Section titled "Task Failed Immediately"](#task-failed-immediately)
* Check credentials in the workflow
* Verify source path exists
* Check destination has write access
### Files Missing at Destination
[Section titled "Files Missing at Destination"](#files-missing-at-destination)
* Verify path template is correct
* Check filters aren't excluding files
* Look in subfolders (if using path templates)
# Workflows: Automate File Transfers
> Create, save, and manage workflows in Blober to automate repeatable file transfers between any two storage providers.
Workflows are the core of Blober. A workflow defines **what** to transfer, **where** it goes, and **what action** to perform. Once created, you can run a workflow any time to execute the transfer.
## What is a Workflow?
[Section titled "What is a Workflow?"](#what-is-a-workflow)
A workflow is a saved configuration with three parts:
1. **Source** - Where files come from (provider + path + credentials)
2. **Destination** - Where files go (provider + path + credentials)
3. **Action** - What to do (copy, move, sync, or delete)
## Creating a Workflow
[Section titled "Creating a Workflow"](#creating-a-workflow)
### Step 1: Open the Workflow Modal
[Section titled "Step 1: Open the Workflow Modal"](#step-1-open-the-workflow-modal)
1. Go to the **Workflows** page
2. Click **New Workflow** button
3. The workflow creation modal opens
### Step 2: Configure the Source
[Section titled "Step 2: Configure the Source"](#step-2-configure-the-source)
1. **Select Provider** - Choose where files come from (e.g., Local, Google Drive, AWS S3)
2. **Enter Credentials** - Provide the required authentication (see [Storage Providers](/kb/docs/providers))
3. **Browse Location** - Click **Browse** to select files or folders
4. **Apply Filters** (optional) - Limit which files are included
#### Source Options
[Section titled "Source Options"](#source-options)
| Field | Description |
| ----------- | --------------------------------- |
| Provider | The storage provider to use |
| Credentials | Authentication for the provider |
| Path | Starting folder or specific files |
| Filters | Include/exclude patterns |
### Step 3: Configure the Destination
[Section titled "Step 3: Configure the Destination"](#step-3-configure-the-destination)
1. **Select Provider** - Choose where files will go
2. **Enter Credentials** - Authentication for destination
3. **Set Base Path** - The folder where files will be placed
4. **Path Template** (optional) - Dynamic path based on file metadata
#### Destination Options
[Section titled "Destination Options"](#destination-options)
| Field | Description |
| ------------- | --------------------------------- |
| Provider | The storage provider to use |
| Credentials | Authentication for the provider |
| Base Path | Root folder for transferred files |
| Path Template | Dynamic subfolder structure |
### Step 4: Choose an Action
[Section titled "Step 4: Choose an Action"](#step-4-choose-an-action)
| Action | Description | Source Files |
| ---------- | ----------------------------------- | ---------------------- |
| **Copy** | Copy files to destination | Unchanged |
| **Move** | Copy files, then delete from source | Deleted after transfer |
| **Sync** | Mirror source to destination | Unchanged |
| **Delete** | Remove files from source | Deleted |
### Step 5: Save the Workflow
[Section titled "Step 5: Save the Workflow"](#step-5-save-the-workflow)
1. Give the workflow a name
2. Click **Save**
3. The workflow appears in your list
## Path Templates
[Section titled "Path Templates"](#path-templates)
Path templates let you organize destination files dynamically based on file metadata. Use placeholders in curly braces `{variable}` that get replaced with actual values.
### Available Variables
[Section titled "Available Variables"](#available-variables)
| Variable | Description | Example |
| -------------------------- | ------------------------------------------------------------------------------------------------------------------------ | --------------------- |
| `{current_date}` | Current date | `2025-10-25` |
| `{current_datetime}` | Current date and time | `2025-10-25_14-30-00` |
| `{file_created_date}` | File creation date | `2024-12-15` |
| `{file_created_datetime}` | File creation date/time | `2024-12-15_09-15-30` |
| `{file_modified_date}` | File modification date | `2025-01-20` |
| `{file_modified_datetime}` | File modification date/time | `2025-01-20_16-45-22` |
| `{file_accessed_date}` | Last accessed date | `2025-10-25` |
| `{file_accessed_datetime}` | Last accessed date/time | `2025-10-25_12-00-15` |
| `{filename}` | Complete filename with extension | `document.pdf` |
| `{filename_no_ext}` | Filename without extension | `document` |
| `{file_ext}` | File extension (no dot) | `pdf` |
| `{file_size}` | File size in bytes | `1048576` |
| `{file_size_mb}` | File size in MB | `1.50` |
| `{file_dir}` | Directory path relative to the selected source folder; empty for directly selected files and files at that folder's root | `project/camera-a` |
### Path Template Examples
[Section titled "Path Template Examples"](#path-template-examples)
#### Organize by Date
[Section titled "Organize by Date"](#organize-by-date)
```plaintext
photos/{file_created_date}/{filename}
```
**Result:** `photos/2024-12-15/IMG_0001.jpg`
#### Organize by Year and Month
[Section titled "Organize by Year and Month"](#organize-by-year-and-month)
```plaintext
backup/{file_modified_date}/{filename}
```
**Result:** `backup/2025-01-20/report.pdf`
#### Organize by File Type
[Section titled "Organize by File Type"](#organize-by-file-type)
```plaintext
documents/{file_ext}/{filename}
```
**Result:** `documents/pdf/invoice.pdf`
#### Archive with Timestamp
[Section titled "Archive with Timestamp"](#archive-with-timestamp)
```plaintext
archive/{current_date}/{file_dir}/{filename}
```
**Result:** `archive/2025-10-25/uploads/data.csv`
`{file_dir}` depends on the source selection. If you select `Projects` and the file is `Projects/client-a/final/report.pdf`, its value is `client-a/final`. If you select `report.pdf` directly, or it sits at the root of the selected folder, the value is empty. A custom path template replaces automatic subdirectory preservation, so include `{file_dir}` explicitly when the relative source hierarchy should remain.
For worked examples of every variable, see the [complete path-template guide](/kb/articles/blober-path-templates-complete-guide/). For a deeper look at `{file_dir}`, read [how the file\_dir variable works](/kb/articles/blober-file-dir-path-template/). You can also organize files [by date](/kb/articles/organize-files-by-date-path-templates/), [by type](/kb/articles/organize-files-by-type-extension/), or [by size](/kb/articles/organize-files-by-size/).
## Source Filters
[Section titled "Source Filters"](#source-filters)
Filters let you include or exclude specific files from the transfer.
### Filter Patterns
[Section titled "Filter Patterns"](#filter-patterns)
| Pattern | Matches |
| ----------------- | ----------------------------- |
| `*.jpg` | All JPEG files |
| `*.{jpg,png,gif}` | All image files |
| `report-*` | Files starting with "report-" |
| `documents/**` | All files in documents folder |
### Example Filter Configuration
[Section titled "Example Filter Configuration"](#example-filter-configuration)
**Include only images:**
```plaintext
*.jpg
*.png
*.gif
*.webp
```
**Exclude temporary and system files:**
```plaintext
**/*.{tmp,log}
```
Enter exclusion patterns in the dedicated **Exclude Pattern** field; a leading `!` is not required.
For include/exclude glob recipes and how selection narrows a transfer, see [file selection and glob filters](/kb/articles/blober-file-selection-glob-filters/) and [organizing storage that has no practical search](/kb/articles/organize-blob-storage-without-search/).
## Managing Workflows
[Section titled "Managing Workflows"](#managing-workflows)
### View Workflows
[Section titled "View Workflows"](#view-workflows)
The Workflows page shows all saved workflows in a list with:
* Workflow name
* Source provider and path
* Destination provider and path
* Action type
* Last run time
### Edit a Workflow
[Section titled "Edit a Workflow"](#edit-a-workflow)
1. Click on a workflow in the list
2. Modify any settings in the modal
3. Click **Save**
### Delete a Workflow
[Section titled "Delete a Workflow"](#delete-a-workflow)
1. Click the delete icon on a workflow
2. Confirm deletion
> **Note:** Deleting a workflow does not delete any transferred files. It only removes the saved configuration.
## Workflow Examples
[Section titled "Workflow Examples"](#workflow-examples)
### Backup Documents to S3
[Section titled "Backup Documents to S3"](#backup-documents-to-s3)
| Setting | Value |
| ------------- | ------------------------------------- |
| Source | Local: `/Users/you/Documents` |
| Destination | AWS S3: `my-backup-bucket/documents/` |
| Action | Copy |
| Path Template | `{file_modified_date}/{filename}` |
### Archive Photos by Date
[Section titled "Archive Photos by Date"](#archive-photos-by-date)
| Setting | Value |
| ------------- | -------------------------------- |
| Source | Local: `/Users/you/Pictures` |
| Destination | Azure Blob: `photos-archive/` |
| Action | Move |
| Path Template | `{file_created_date}/{filename}` |
| Filters | `*.jpg, *.png, *.heic` |
### Sync Google Drive to Local
[Section titled "Sync Google Drive to Local"](#sync-google-drive-to-local)
| Setting | Value |
| ----------- | --------------------------------- |
| Source | Google Drive: `My Files/Projects` |
| Destination | Local: `/Users/you/Projects` |
| Action | Sync |
## Tips
[Section titled "Tips"](#tips)
### Preview Before Running
[Section titled "Preview Before Running"](#preview-before-running)
Before starting a workflow, use the **Preview** feature to see which files will be transferred and where they'll go.
### Test with a Small Folder
[Section titled "Test with a Small Folder"](#test-with-a-small-folder)
Start with a small folder to verify your path templates and filters work as expected.
### Use Copy Before Move
[Section titled "Use Copy Before Move"](#use-copy-before-move)
If you're unsure, use **Copy** first. Once you've verified the transfer, you can use **Move** to remove source files.
### Credential Storage
[Section titled "Credential Storage"](#credential-storage)
Credentials are saved with the workflow and stored securely in your local database. You won't need to re-enter them each time.
# Introduction to Blober: Cloud File Transfers
> Learn what Blober is, how it transfers files between cloud providers and local storage, and why it needs no subscription.
Blober is a file management application designed to simplify working with multiple cloud storage providers. Transfer files between AWS S3, Azure Blob, Google Drive, and more-all from a single interface.
## What is Blober?
[Section titled "What is Blober?"](#what-is-blober)
Blober provides a unified interface for managing files across different storage providers. Instead of logging into multiple websites or using different apps for each service, Blober brings everything together.
[Play](https://youtube.com/watch?v=NTqqf4sKbpk)
**Key capabilities:**
* Transfer files between any combination of providers
* Automate recurring transfers with saved workflows
* Organize files dynamically with path templates
* Monitor progress and control running transfers
## How It Works
[Section titled "How It Works"](#how-it-works)
1. **Create a Workflow** - Choose a source, destination, and action
2. **Start the Transfer** - Run the workflow to create a task
3. **Monitor Progress** - Watch files transfer in real-time
4. **Control Execution** - Pause, resume, or cancel as needed
All transfers run locally on your machine. Your files never pass through Blober's servers.
## Supported Providers
[Section titled "Supported Providers"](#supported-providers)
See [Storage Providers](/kb/docs/providers) for the complete list.
## Desktop App
[Section titled "Desktop App"](#desktop-app)
The Blober desktop app is available for:
* [**Windows**](https://blober.io/) - Windows 10+
* [**macOS**](https://blober.io/) - macOS 10.15+
* [**Linux**](https://blober.io/) - Ubuntu 20.04+ and equivalents
The desktop app runs transfers locally, stores credentials securely on your machine, and provides a full-featured interface for managing workflows.
## Next Steps
[Section titled "Next Steps"](#next-steps)
Ready to get started?
1. [Install Blober](/kb/docs/getting-started/installation) - Download and install the desktop app
2. [Quick Start Guide](/kb/docs/getting-started/quick-start) - Create your first workflow in 5 minutes
3. [Storage Providers](/kb/docs/providers) - Set up your preferred cloud services
# Blober Concepts: Providers & Workflows
> Understand Blober's core concepts, storage providers, workflows, transfers, and tasks, and how they work together to move your files.
This section explains the core concepts behind Blober's design. Understanding these will help you use the app effectively.
## Workflows
[Section titled "Workflows"](#workflows)
A **workflow** is a saved configuration that defines:
1. **Source** - Where files come from (provider + path + credentials)
2. **Destination** - Where files go (provider + path + credentials)
3. **Action** - What to do (copy, move, sync, delete)
Workflows are templates that can be run multiple times. Each run creates a task.
See [Workflows Guide](/kb/docs/desktop-app/workflows) for details.
## Tasks
[Section titled "Tasks"](#tasks)
A **task** is a single execution of a workflow. When you start a workflow, Blober creates a task that:
* Enumerates files matching the source criteria
* Processes each file according to the action
* Tracks progress (files, bytes, status)
* Logs operations and errors
Tasks have states: pending, running, paused, completed, failed, cancelled.
See [Progress Guide](/kb/docs/desktop-app/progress) for details.
## Actions
[Section titled "Actions"](#actions)
An **action** defines what happens to source files:
| Action | Description | Source Files After |
| ---------- | ------------------------------ | ------------------ |
| **Copy** | Duplicate files to destination | Unchanged |
| **Move** | Transfer files to destination | Deleted |
| **Sync** | Mirror source to destination | Unchanged |
| **Delete** | Remove files from source | Deleted |
## Path Templates
[Section titled "Path Templates"](#path-templates)
**Path templates** let you organize destination files dynamically using placeholders:
```plaintext
{file_created_date}/{filename}
```
This creates a date-based folder structure automatically.
Available variables include:
* `{filename}`, `{filename_no_ext}`, `{file_ext}`
* `{file_created_date}`, `{file_modified_date}`
* `{current_date}`, `{current_datetime}`
* `{file_size}`, `{file_size_mb}`
* `{file_dir}`
See [Workflows Guide](/kb/docs/desktop-app/workflows#path-templates) for the full list, or the [complete path-template guide](/kb/articles/blober-path-templates-complete-guide/) for worked examples.
## Source Filters
[Section titled "Source Filters"](#source-filters)
**Filters** control which files are included in a transfer:
* **Include patterns:** `*.jpg`, `*.{png,gif}`
* **Exclude patterns:** `*.tmp`, `.DS_Store` (entered in the dedicated Exclude Pattern field)
* **Folder patterns:** `documents/**`
Filters use glob syntax for flexible matching.
`{file_dir}` is the relative directory beneath a selected source folder. It is empty for directly selected files and for files at the selected folder's root. See [how the file\_dir variable works](/kb/articles/blober-file-dir-path-template/) for detailed cases.
## Credentials
[Section titled "Credentials"](#credentials)
Each provider requires **credentials** to authenticate with the service:
* **API Keys:** AWS, Wasabi, Backblaze (key ID + secret)
* **Connection Strings:** Azure Blob
* **OAuth:** Google Drive, Google Photos (browser authorization)
Credentials are stored securely in your local database and never sent to Blober's servers.
# Installing Blober on Mac, Windows & Linux
> How to download, install, and set up Blober on macOS, Windows, or Linux, including first launch and license activation.
## Desktop App
[Section titled "Desktop App"](#desktop-app)
### Download
[Section titled "Download"](#download)
Download the latest version for your platform:
* [Windows Installer (.exe)](https://blober.io/)
* [macOS (.dmg)](https://blober.io/)
* [Linux AppImage](https://blober.io/)
### Windows Installation
[Section titled "Windows Installation"](#windows-installation)
1. Download the `.exe` installer
2. Run the installer
3. Follow the installation wizard
4. Launch Blober from the Start Menu
⚠️ Windows SmartScreen may block the installer. When prompted, click **"More info"**, then click **"Run anyway"** to proceed with the installation. This is only needed once.
> **🔒 Your PC stays secure.** Clicking "Run anyway" only allows the Blober installer to run - it does not change your system security settings or make your computer vulnerable in any way.
### macOS Installation
[Section titled "macOS Installation"](#macos-installation)
1. Download the `.dmg` file
2. Open the DMG and drag Blober to Applications
3. Launch Blober from Applications folder
The app is code-signed and notarized by Apple, so it will open without any Gatekeeper warnings.
### Linux Installation
[Section titled "Linux Installation"](#linux-installation)
1. Download the `.AppImage` file
2. Make it executable: `chmod +x blober_linux_*.AppImage`
3. Run it: `./blober_linux_*.AppImage`
Blober's AppImage includes a static runtime, so it does not require the system `libfuse2` library. If it does not open, try `./blober_linux_*.AppImage --no-sandbox`. To add Blober to your application menu, use [AppImageLauncher](https://github.com/TheAssassin/AppImageLauncher).
# Quick Start: Your First Transfer in 5 Minutes
> Get started with Blober in five minutes, connect two storage providers and run your first file transfer, step by step.
[Play](https://youtube.com/watch?v=mFrAd4pwSVs)
This guide will help you create your first workflow and transfer files between storage providers.
## Prerequisites
[Section titled "Prerequisites"](#prerequisites)
* [Blober Desktop App](/kb/docs/getting-started/installation) installed
* Credentials for at least one storage provider (see [Storage Providers](/kb/docs/providers))
## Step 1: Create a Workflow
[Section titled "Step 1: Create a Workflow"](#step-1-create-a-workflow)
Workflows define what to transfer and where. Let's create one:
1. Open the Blober desktop app
2. Go to the **Workflows** page
3. Click **New Workflow**
### Configure Source
[Section titled "Configure Source"](#configure-source)
4. **Select a Source Provider** (e.g., Local, Google Drive, AWS S3)
5. **Enter Credentials** if required (the first time you use a provider)
6. **Browse** to select the folder or files you want to transfer
### Configure Destination
[Section titled "Configure Destination"](#configure-destination)
7. **Select a Destination Provider** (e.g., AWS S3, Azure Blob)
8. **Enter Credentials** for the destination
9. **Set the Destination Path** - the folder where files will go
10. *(Optional)* **Add a Path Template** to organize files dynamically
### Choose an Action
[Section titled "Choose an Action"](#choose-an-action)
11. Select what to do with the files:
* **Copy** - Duplicate files to destination (source unchanged)
* **Move** - Transfer files and remove from source
* **Delete** - Remove files from source
12. Click **Save** to create the workflow
## Step 2: Start the Transfer
[Section titled "Step 2: Start the Transfer"](#step-2-start-the-transfer)
1. Go to the **Workflows** page
2. Find your workflow in the list
3. Click the **Play** icon at the top right of the workflow card
4. Watch the transfer progress in real-time on the **Progress** page
## Step 3: Monitor Progress
[Section titled "Step 3: Monitor Progress"](#step-3-monitor-progress)
While the transfer runs, you can:
* **View progress** - Files transferred, bytes, percentage
* **Read logs** - See what's happening with each file
* **Pause** - Temporarily stop the transfer
* **Resume** - Continue from where you left off
* **Cancel** - Stop the transfer entirely
## Example: Backup Documents to S3
[Section titled "Example: Backup Documents to S3"](#example-backup-documents-to-s3)
Here's a complete example backing up local documents to AWS S3:
| Setting | Value |
| ------------------------ | --------------------------------- |
| **Source Provider** | Local |
| **Source Path** | `/Users/you/Documents` |
| **Destination Provider** | AWS S3 |
| **Destination Path** | `my-backup-bucket/documents/` |
| **Path Template** | `{file_modified_date}/{filename}` |
| **Action** | Copy |
**Result:** Files are organized by date in S3:
```plaintext
my-backup-bucket/documents/2025-01-04/report.pdf
my-backup-bucket/documents/2025-01-03/notes.txt
```
# How Blober Works, and Why It Runs on Your Machine
> Blober runs entirely on your own computer and moves files straight between clouds. Here is how a transfer works, where your data goes, and why that design lasts.
Blober is a desktop app that moves files between cloud storage providers and your own drives. It runs on your computer, talks directly to each provider, and never routes your files through a server in the middle. Because the work happens on your own machine, it keeps doing its job for as long as you need it.
That single choice, running on your machine instead of in someone else's cloud, shapes the rest of this page: how a transfer works, who can see your data, how Blober reaches providers that were never built for bulk transfers, and why it keeps working for years.
## The short version
[Section titled "The short version"](#the-short-version)
You sign in to your clouds inside Blober, pick what to move and where it should go, and press start. Blober reads from the source and writes to the destination using your own credentials, on your own hardware. Nothing about the transfer depends on a Blober account or a Blober server, because neither one is in the path.
## How a transfer actually works
[Section titled "How a transfer actually works"](#how-a-transfer-actually-works)
When you move files from one cloud to another, the data takes the short path:
```plaintext
Source cloud -> your computer (Blober) -> Destination cloud
```
Blober authenticates to each provider with your own credentials, streams the files from the source, and writes them to the destination. The bytes pass through your machine and nowhere else, because there is no Blober server in that path.
Many browser-based and hosted transfer tools take a longer path:
```plaintext
Source cloud -> a company's servers -> Destination cloud
```
In that model your files, and often your stored credentials, sit on infrastructure you do not control and cannot audit. Blober removes that hop.
Every job is built from three simple parts:
1. **Source.** Where the files come from: a provider, a path, and your credentials.
2. **Destination.** Where they should land: another provider or a local drive, with an optional path template to organize them.
3. **Action.** What to do: copy, move, or delete.
A saved combination of these is a workflow, and each run of a workflow is a task you can watch, pause, and resume. See [Concepts](/kb/docs/getting-started/concepts/) for the full model.
## Your credentials never leave your machine
[Section titled "Your credentials never leave your machine"](#your-credentials-never-leave-your-machine)
Blober stores your provider keys and tokens in a local database on your computer. They are used to talk to your providers and are never uploaded to a Blober service, because there is no remote database to upload them to. The [concepts guide](/kb/docs/getting-started/concepts/#credentials) lists the credential types Blober stores locally.
A storage key or an access token is not a limited transfer pass. It is the key to your whole account, with permission to read, write, list, and delete. When a hosted tool keeps that key on its servers, a breach of that company becomes a breach of your storage. With Blober there is no shared vault to breach.
## It is download and upload, just automated
[Section titled "It is download and upload, just automated"](#it-is-download-and-upload-just-automated)
Mechanically, Blober does what you could do by hand: pull a file down from one place and push it up to another. It is the same operation your browser performs when you download a file and upload it again, only automated, parallelized, and able to skip files that already finished when you rerun an interrupted job.
That simplicity has a real benefit for anyone who has to answer for their data. Blober adds no new transfer provider to your data path, so it fits inside the controls you already have instead of widening your vendor surface. For a team running a security review (SOC 2, ISO 27001, or a GDPR data-processing assessment), the central question is narrower and easier to answer: apart from the source provider, the destination provider, and the machine running Blober, there is no relay service in the middle.
Blober does not change that picture, and that is the point.
## It keeps working, for the long run
[Section titled "It keeps working, for the long run"](#it-keeps-working-for-the-long-run)
Because the work happens on your computer, Blober does not depend on a service staying online to keep functioning. There is no meter, no seat count, and no subscription renewal that can strand your files behind a paywall. Blober is a lifetime licence with lifetime updates, so the copy on your machine keeps working and keeps improving.
It also works when the network around the app does not. Blober talks to your providers directly, so it can retry a flaky connection or an interrupted job, and a rerun with skip-existing avoids sending files that are already at the destination. Your saved workflows stay on your machine, ready the next time you need them.
A tool that lives on your own hardware keeps working for the long run, with no subscription clock counting against it.
## It reaches clouds that were never built for bulk transfer
[Section titled "It reaches clouds that were never built for bulk transfer"](#it-reaches-clouds-that-were-never-built-for-bulk-transfer)
Some services, especially consumer ones like GoPro Cloud and Google Photos, were never designed to let you move an entire library out at once. They expect you to use their own app, one screen at a time.
Blober connects to those services the same way their own apps do: through your own login, on your own machine, acting on your behalf. Because it runs locally, it can speak each provider's own dialect, including the quirks of services that have no formal export tool, without ever handing your session to anyone else. The result is that a multi-thousand-clip GoPro library can be queued in one workflow, and Google Photos can be used as a download-only source while that connector is in early access, into storage you control. See the [Google Photos provider guide](/kb/docs/providers/google-photos/) for the current capability limits.
A tool that lives on a central server has a much harder time here. Each of those consumer services has to be reached on behalf of every user at once, and the provider sees that traffic arriving in bulk from one company's servers, which is a pattern that can attract rate limits, geofencing, or blocks. Because Blober runs on your machine and connects from your own IP address, there is no shared relay address to block for every Blober user at once. Provider account limits can still apply, but the traffic is tied to your own login and your own connection.
## Who it is for
[Section titled "Who it is for"](#who-it-is-for)
* People leaving one cloud for another who want a clean, direct migration.
* Photographers, videographers, and creators moving large media libraries between providers.
* GoPro and Google Photos users who want their footage and photos somewhere they control.
* Teams and individuals who would rather not add another company to the list of services that can see their data.
* Anyone who would rather rely on a tool that lives on their own machine than a service they rent by the month.
## How it compares to writing your own script
[Section titled "How it compares to writing your own script"](#how-it-compares-to-writing-your-own-script)
Capable command-line tools like rclone can also move data directly between clouds, and they are excellent in the right hands. The trade is your time: configuration files, credential management, and provider-specific flags, all from a terminal.
Blober is the same direct, local idea with the manual work removed. You connect a provider by signing in, browse your files visually, pick a destination, and run. There is no config file to maintain and nothing to debug at a command prompt. If you enjoy the terminal, a script is a fine path. If you would rather see your storage and click, that is what Blober is for.
## Next steps
[Section titled "Next steps"](#next-steps)
* New here? Start with [Getting Started](/kb/docs/getting-started/).
* Want the full list of supported services? See [Providers](/kb/docs/providers/).
* Ready to try it? [Get Blober](https://blober.io).
# Storage Providers: Connect Your Cloud Storage
> Connect Blober to AWS S3, Azure Blob, Google Drive, Dropbox, GoPro, Backblaze B2, Wasabi, and more. Browse, upload, download, and transfer files between any provider.
Blober connects to multiple storage providers through its **provider** system. Each provider handles authentication, file operations, and service-specific features.
## Available Providers
[Section titled "Available Providers"](#available-providers)
| Provider | Status |
| ---------------------------------------------------------------------------- | ----------------------------------------------------------------- |
| [Local Filesystem](/kb/docs/providers/local) | ✅ Available |
| [Amazon S3](/kb/docs/providers/aws-s3) | ✅ Available |
| [Azure Blob Storage](/kb/docs/providers/azure-blob) | ✅ Available |
| [Wasabi](/kb/docs/providers/wasabi) | ✅ Available |
| [Backblaze B2](/kb/docs/providers/backblaze-b2) | ✅ Available |
| [Cloudflare R2](/kb/docs/providers/cloudflare-r2) | ✅ Available |
| [Google Drive](/kb/docs/providers/google-drive) | ✅ Available |
| [DigitalOcean Spaces](/kb/docs/providers/digitalocean-spaces) | ✅ Available |
| [S3-Compatible (MinIO, Ceph, self-hosted)](/kb/docs/providers/s3-compatible) | ✅ Available |
| [GoPro Plus Cloud](/kb/docs/providers/gopro) | ✅ Available |
| [Dropbox](/kb/docs/providers/dropbox) | ✅ Available |
| [Microsoft OneDrive](/kb/docs/providers/onedrive) | ✅ Available |
| [Google Photos](/kb/docs/providers/google-photos) | ✅ Available (download only) |
| [Proton Drive](/kb/docs/providers/proton-drive) | ✅ Available |
| Google Cloud Storage | ✅ Available via [S3-Compatible](/kb/docs/providers/s3-compatible) |
| Box | 🚧 Coming Soon |
| pCloud | 🚧 Coming Soon |
| iCloud Drive | 🚧 Coming Soon |
| YouTube | 🚧 Coming Soon |
| Frame.io | 🚧 Coming Soon |
| Adobe Creative Cloud | 🚧 Coming Soon |
## Tips for Choosing Providers:
[Section titled "Tips for Choosing Providers:"](#tips-for-choosing-providers)
### For Cloud Backup
[Section titled "For Cloud Backup"](#for-cloud-backup)
* **AWS S3** - Industry standard, most compatible, pay-per-use
* **Wasabi** - Flat-rate pricing, no egress fees
* **Backblaze B2** - Lowest cost per GB
### For Media Storage
[Section titled "For Media Storage"](#for-media-storage)
* **Azure Blob** - Excellent tier system (Hot/Cool/Archive)
* **Cloudflare R2** - Zero egress fees, global edge network
### For Collaboration
[Section titled "For Collaboration"](#for-collaboration)
* **Google Drive** - Integrates with Google Workspace
* **Dropbox** - Simple sharing, cross-platform sync
* **Local** - Keep files on your machine
### For Camera Import
[Section titled "For Camera Import"](#for-camera-import)
* **GoPro** - Direct import from GoPro cloud
* **Local** - Import from SD cards and connected cameras
Terms Compliance
Your use of any storage provider through Blober is subject to that provider's terms of service. Some integrations (such as GoPro Plus) rely on unofficial APIs and may break without notice. Blober makes no guarantees about third-party service availability. See our [Terms of Service](/kb/docs/terms-and-privacy/terms-of-service/) for full details.
# Amazon S3 Setup: Connect & Transfer Files
> How to connect Blober to Amazon S3 buckets. Browse, upload, download, and transfer objects between S3 and other cloud providers or local storage.
Amazon Simple Storage Service (S3) is a highly scalable object storage service and one of the most popular cloud storage solutions. In Blober, S3 paths use this format:
```plaintext
bucket-name/path/to/file.ext
```
Using a non-AWS S3 service?
This guide is for **Amazon S3**. To connect a non-AWS service that speaks the S3 API (MinIO, Ceph, Storj, Hetzner, and many more), use the [**S3-Compatible**](/kb/docs/providers/s3-compatible/) connector instead.
## Capabilities
[Section titled "Capabilities"](#capabilities)
* ✅ Browse buckets and objects
* ✅ Upload files (including large files)
* ✅ Download files
* ✅ Delete objects
* ✅ Copy/move within S3 and across providers
* ✅ Storage class selection
## Prerequisites
[Section titled "Prerequisites"](#prerequisites)
* An AWS account ([create one](https://aws.amazon.com/free/))
* An S3 bucket (or permission to list buckets)
* IAM user or role with S3 permissions
* Access key ID and secret access key
## Required Credentials
[Section titled "Required Credentials"](#required-credentials)
[]()
### Access Key ID
[Section titled "Access Key ID"](#access-key-id)
* **Format:** 20 uppercase alphanumeric characters
* **Example:** `AKIAIOSFODNN7EXAMPLE`
[]()
### Secret Access Key
[Section titled "Secret Access Key"](#secret-access-key)
* **Format:** 40 characters
* **Example:** `wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY`
## Optional Settings
[Section titled "Optional Settings"](#optional-settings)
[]()
### Storage Class
[Section titled "Storage Class"](#storage-class)
* **Default:** `STANDARD`
| Storage Class | Use Case | Retrieval |
| --------------------- | ---------------------------------- | ---------------- |
| `STANDARD` | Frequently accessed data | Immediate |
| `INTELLIGENT_TIERING` | Unknown/changing access patterns | Immediate |
| `STANDARD_IA` | Infrequent access, rapid retrieval | Immediate |
| `ONEZONE_IA` | Infrequent, non-critical data | Immediate |
| `GLACIER_IR` | Archive with instant retrieval | Immediate |
| `GLACIER` | Long-term archive | Minutes to hours |
| `DEEP_ARCHIVE` | Lowest cost archive | 12-48 hours |
## Setup (AWS Console)
[Section titled "Setup (AWS Console)"](#setup-aws-console)
### 1. Create an S3 Bucket
[Section titled "1. Create an S3 Bucket"](#1-create-an-s3-bucket)
1. Go to [S3 Console](https://console.aws.amazon.com/s3/)
2. Click **"Create bucket"**
3. Enter a bucket name (must be globally unique)
4. Choose your preferred AWS Region
5. Configure settings as needed
6. Click **"Create bucket"**
### 2. Create an IAM User
[Section titled "2. Create an IAM User"](#2-create-an-iam-user)
1. Go to [IAM Console](https://console.aws.amazon.com/iam/)
2. Click **Users** => **Create user**
3. Enter a username (e.g., `blober-s3-user`)
4. Click **Next**
5. Select **Attach policies directly**
6. For quick setup: Attach `AmazonS3FullAccess`
* For production: Create a custom policy (see below)
7. Click through to **Create user**
### 3. Generate Access Keys
[Section titled "3. Generate Access Keys"](#3-generate-access-keys)
1. Click on your new user
2. Go to **Security credentials** tab
3. Under **Access keys**, click **Create access key**
4. Select **Application running outside AWS**
5. **Save the Access Key ID and Secret Access Key** (shown only once!)
### 4. Configure in Blober
[Section titled "4. Configure in Blober"](#4-configure-in-blober)
1. In Blober, go to **Workflows** => **New Workflow**
2. Select **Amazon S3** as source or destination
3. Enter your Access Key ID and Secret Access Key
4. Test by browsing your buckets
## Troubleshooting
[Section titled "Troubleshooting"](#troubleshooting)
### "Access Denied" or "403 Forbidden"
[Section titled ""Access Denied" or "403 Forbidden""](#access-denied-or-403-forbidden)
* Double-check your Access Key ID and Secret Access Key
* Verify the IAM user has the correct S3 permissions
* Ensure the bucket policy doesn't block your IAM user
### Buckets not showing up
[Section titled "Buckets not showing up"](#buckets-not-showing-up)
* Your IAM user needs `s3:ListAllMyBuckets` permission
* If using a restricted policy, add `ListBucket` for specific buckets
### Slow transfers
[Section titled "Slow transfers"](#slow-transfers)
* Choose an S3 region geographically close to you
* Large files are automatically uploaded in parts for reliability
* Check your network speed - S3 performance depends on your connection
## Best Practices
[Section titled "Best Practices"](#best-practices)
### Security
[Section titled "Security"](#security)
* Create a dedicated IAM user for Blober - avoid using root credentials
* Use the **minimum permissions** needed (don't use `AmazonS3FullAccess` in production)
* Rotate access keys periodically
* Enable MFA on your AWS account
### Cost Management
[Section titled "Cost Management"](#cost-management)
* Use **Intelligent Tiering** for data with unpredictable access patterns
* Move old backups to **Glacier** or **Deep Archive** for significant savings
* Enable [S3 Lifecycle rules](https://docs.aws.amazon.com/AmazonS3/latest/userguide/object-lifecycle-mgmt.html) to automate tier transitions
* Monitor costs in the [AWS Billing Console](https://console.aws.amazon.com/billing/)
Terms Compliance
Your use of Amazon S3 through Blober is subject to [AWS's Customer Agreement](https://aws.amazon.com/agreement/) and the [S3 Service Terms](https://aws.amazon.com/service-terms/). See our [Terms of Service](/kb/docs/terms-and-privacy/terms-of-service/) for details.
## External References
[Section titled "External References"](#external-references)
* [AWS IAM Access Keys](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_credentials_access-keys.html)
* [S3 Storage Classes](https://aws.amazon.com/s3/storage-classes/)
* [IAM Best Practices](https://docs.aws.amazon.com/IAM/latest/UserGuide/best-practices.html)
* [S3 Security Best Practices](https://docs.aws.amazon.com/AmazonS3/latest/userguide/security-best-practices.html)
* [AWS S3 Pricing](https://aws.amazon.com/s3/pricing/)
* [S3-Compatible storage in Blober](/kb/docs/providers/s3-compatible/) - connect non-AWS services that speak the S3 API
# Azure Blob Storage Setup & Tier Management
> How to connect Blober to Azure Blob Storage. Browse containers, transfer blobs, and change access tiers (Hot, Cool, Cold, Archive) in bulk.
Azure Blob Storage is Microsoft's scalable object storage solution for the cloud, ideal for storing large amounts of unstructured data. In Blober, Azure paths use:
```plaintext
container-name/path/to/blob.ext
```
## Capabilities
[Section titled "Capabilities"](#capabilities)
* ✅ Browse containers and blobs
* ✅ Upload files
* ✅ Download files
* ✅ Delete files
* ✅ Change blob tier (Hot/Cool/Cold/Archive)
* ✅ Change container access level (Private/Blob/Container)
* ✅ View blob metadata
## Prerequisites
[Section titled "Prerequisites"](#prerequisites)
* An Azure account ([create one free](https://azure.microsoft.com/free/))
* An Azure Storage account
* Storage account access keys or connection string
## Required credentials
[Section titled "Required credentials"](#required-credentials)
[]()
### Connection string
[Section titled "Connection string"](#connection-string)
* **Format:** A connection string containing account name, key, and endpoint
Example:
```plaintext
DefaultEndpointsProtocol=https;AccountName=myaccount;AccountKey=mykey;EndpointSuffix=core.windows.net
```
## Optional settings
[Section titled "Optional settings"](#optional-settings)
[]()
### Storage tier
[Section titled "Storage tier"](#storage-tier)
* **Default:** `Cool`
* **Used for:** Destination
* **Values:** `Hot`, `Cool`, `Cold`, `Archive`
Sets the access tier for newly uploaded blobs.
**Access tier guidance:**
| Tier | Use Case | Retrieval Cost |
| ------- | -------------------------------- | -------------- |
| Hot | Frequently accessed data | Lowest |
| Cool | Infrequently accessed (30+ days) | Low |
| Cold | Rarely accessed (90+ days) | Medium |
| Archive | Long-term backup (180+ days) | Highest |
[]()
### Write behavior
[Section titled "Write behavior"](#write-behavior)
* **Default:** `overwrite`
* **Used for:** Destination
Controls what happens when a blob already exists at the destination path.
| Value | Behavior |
| -------------- | ----------------------------- |
| `overwrite` | Overwrite existing blobs |
| `skipExisting` | Skip if blob already exists |
| `skipArchived` | Skip only if blob is archived |
Tip
Use **skipExisting** for incremental backups: only new files are uploaded, saving time and bandwidth.
## Mutation options
[Section titled "Mutation options"](#mutation-options)
These options appear when using Azure Blob Storage as a **mutate** action in a workflow. Only one mutation can be active at a time.
[]()
### Change storage tier
[Section titled "Change storage tier"](#change-storage-tier)
* **Default:** `Cool`
* **Required:** Yes (when selected)
* **Values:** `Hot`, `Cool`, `Cold`, `Archive`
Move selected blobs to a different storage tier. Use this to change the access tier of existing blobs, for example, moving infrequently accessed data from Hot to Cool or Archive.
Caution
Rehydrating blobs from **Archive** tier can take several hours and incurs an early deletion fee if the blob was archived less than 180 days ago.
[]()
### Container access level
[Section titled "Container access level"](#container-access-level)
* **Default:** `private`
* **Required:** Yes (when selected)
Change the public access level of selected containers.
| Value | Behavior |
| ----------- | ----------------------------------------------------------- |
| `private` | No public access. All requests must be authenticated |
| `blob` | Anonymous read access for blobs only |
| `container` | Anonymous read access for both container metadata and blobs |
Caution
Setting a container to **blob** or **container** access level makes its contents publicly readable on the internet. Only use this for data you intend to share publicly.
## Setup (Azure Portal)
[Section titled "Setup (Azure Portal)"](#setup-azure-portal)
### 1. Create a Storage Account
[Section titled "1. Create a Storage Account"](#1-create-a-storage-account)
1. Go to [Azure Portal](https://portal.azure.com)
2. Search for "Storage accounts"
3. Click **"Create"**
4. Fill in:
* **Subscription:** Your Azure subscription
* **Resource group:** Create new or use existing
* **Storage account name:** Unique name (e.g., `mybloberstorage`)
* **Region:** Choose closest to you
* **Performance:** Standard (or Premium for high-performance needs)
* **Redundancy:** LRS (locally redundant) for cost savings
5. Click **"Review + create"** => **"Create"**
### 2. Get Connection String
[Section titled "2. Get Connection String"](#2-get-connection-string)
1. Open your Storage account in Azure Portal
2. In the left menu, go to **Security + networking** => **Access keys**
3. Click **"Show"** next to key1
4. Copy the **Connection string** (not just the key)
### 3. Configure in Blober
[Section titled "3. Configure in Blober"](#3-configure-in-blober)
1. In Blober, go to **Workflows** => **New Workflow**
2. Select **Azure Blob Storage** as source or destination
3. Paste the connection string
4. Test the connection by browsing
## Troubleshooting
[Section titled "Troubleshooting"](#troubleshooting)
### "Invalid connection string"
[Section titled ""Invalid connection string""](#invalid-connection-string)
* Make sure you copied the **full** connection string, including `DefaultEndpointsProtocol=https;...`
* Don't copy the key alone - you need the entire connection string
### "Container not found"
[Section titled ""Container not found""](#container-not-found)
* Check the container name is correct (case-sensitive)
* Ensure the container exists in your storage account
### Slow uploads to Archive tier
[Section titled "Slow uploads to Archive tier"](#slow-uploads-to-archive-tier)
* Archive tier has higher write latency - this is normal
* Consider uploading to **Cool** first, then using Azure Lifecycle Management to transition to Archive
## Notes
[Section titled "Notes"](#notes)
* Move infrequently accessed data to **Cool** or **Archive** tiers
## Best Practices
[Section titled "Best Practices"](#best-practices)
### Cost Management
[Section titled "Cost Management"](#cost-management)
* Use **Cool** tier for data accessed less than once a month - significant savings over Hot
* Use **Archive** tier for long-term backups you rarely need - lowest storage cost
* Set up [Lifecycle Management rules](https://learn.microsoft.com/en-us/azure/storage/blobs/lifecycle-management-overview) to automatically transition blobs between tiers
* Monitor costs with [Azure Cost Management](https://portal.azure.com/#blade/Microsoft_Azure_CostManagement)
### Security
[Section titled "Security"](#security)
* Use **SAS tokens** with limited permissions and expiry instead of full account keys when possible
* Rotate access keys periodically
* Enable **soft delete** for blob recovery in case of accidental deletion
* Keep your connection string secure and never share it publicly
### Performance
[Section titled "Performance"](#performance)
* Upload to **Cool** tier first, then use lifecycle rules to move to Archive - avoids high Archive write latency
* Choose a storage account region close to your location for best transfer speeds
* Use **LRS** (Locally Redundant Storage) for cost savings when geo-redundancy isn't required
Terms Compliance
Your use of Azure Blob Storage through Blober is subject to [Microsoft's Service Agreement](https://www.microsoft.com/en-us/servicesagreement). See our [Terms of Service](/kb/docs/terms-and-privacy/terms-of-service/) for details.
## External References
[Section titled "External References"](#external-references)
* [Azure Storage Connection Strings](https://learn.microsoft.com/en-us/azure/storage/common/storage-configure-connection-string)
* [Access Tiers Overview](https://learn.microsoft.com/en-us/azure/storage/blobs/access-tiers-overview)
* [Azure Blob Storage Documentation](https://docs.microsoft.com/en-us/azure/storage/blobs/)
* [Security Best Practices](https://learn.microsoft.com/en-us/azure/storage/blobs/security-recommendations)
* [Set up Lifecycle management rules](https://learn.microsoft.com/en-us/azure/storage/blobs/lifecycle-management-overview)
* [Azure Cost Management](https://portal.azure.com/#blade/Microsoft_Azure_CostManagement)
# Backblaze B2 Setup: Connect & Transfer Files
> How to connect Blober to Backblaze B2 cloud storage. Browse buckets, upload and download files via the S3-compatible API.
Backblaze B2 is affordable cloud storage with an S3-compatible API. Blober connects via the S3 layer for reliable compatibility.
Path format:
```plaintext
bucket-name/path/to/file.ext
```
## Capabilities
[Section titled "Capabilities"](#capabilities)
* ✅ Browse buckets and objects
* ✅ Upload files (including large files)
* ✅ Download files
* ✅ Delete objects
* ✅ Copy/move objects
* ✅ Automatic region detection per bucket
* ✅ Storage class selection (inherited from S3)
## Prerequisites
[Section titled "Prerequisites"](#prerequisites)
* A Backblaze account ([create one](https://www.backblaze.com/b2/sign-up.html))
* At least one B2 bucket
* An application key with appropriate permissions
## Required Credentials
[Section titled "Required Credentials"](#required-credentials)
[]()
### Application Key ID
[Section titled "Application Key ID"](#application-key-id)
* **Format:** 25 alphanumeric characters
* **Example:** `0000123456789abcdef000000`
[]()
### Application Key
[Section titled "Application Key"](#application-key)
* **Format:** 31 characters
* **Example:** `K000abcdefghijklmnopqrstuvwxy`
## Setup (Backblaze Console)
[Section titled "Setup (Backblaze Console)"](#setup-backblaze-console)
### 1. Create a B2 Bucket
[Section titled "1. Create a B2 Bucket"](#1-create-a-b2-bucket)
1. Go to [Backblaze B2 Console](https://secure.backblaze.com/b2_buckets.htm)
2. Click **Create a Bucket**
3. Enter a unique bucket name
4. Choose **Private** or **Public** as needed
5. Click **Create a Bucket**
### 2. Create an Application Key
[Section titled "2. Create an Application Key"](#2-create-an-application-key)
1. Go to **App Keys** in the B2 Console
2. Click **Add a New Application Key**
3. Configure the key:
* **Name:** Give it a descriptive name (e.g., `blober-key`)
* **Allow List All Bucket Names:** ✅ Enable for bucket browsing
* **Access:** Select buckets or "All" for full access
* **Permissions:** Read and Write (or as needed)
4. Click **Create New Key**
5. **Copy the keyID and applicationKey immediately** (the secret is shown only once!)
### 3. Configure in Blober
[Section titled "3. Configure in Blober"](#3-configure-in-blober)
1. In Blober, go to **Workflows** => **New Workflow**
2. Select **Backblaze B2** as source or destination
3. Enter your Application Key ID and Application Key
4. Test by browsing your buckets
## Troubleshooting
[Section titled "Troubleshooting"](#troubleshooting)
### "Unauthorized" or "401" error
[Section titled ""Unauthorized" or "401" error"](#unauthorized-or-401-error)
* Verify your Application Key ID and Application Key are correct
* Check if the key has expired or been revoked
* If using a bucket-scoped key, ensure it has access to the bucket you're trying to browse
### Buckets not showing up
[Section titled "Buckets not showing up"](#buckets-not-showing-up)
* Make sure **Allow List All Bucket Names** is enabled on your application key
* If using a restricted key, it can only see buckets it has access to
### Slow downloads
[Section titled "Slow downloads"](#slow-downloads)
* Backblaze B2 download speeds depend on your region and connection
* Files are served from the bucket's region - choose a region close to you when creating buckets
## Best Practices
[Section titled "Best Practices"](#best-practices)
* **Use bucket-scoped keys** in production for better security (limit access to specific buckets)
* **Enable versioning** on buckets with important data for accidental deletion protection
* Backblaze B2 pricing is simple: $6.95/TB/month storage, $0.01/GB download (first 1 GB/day free)
Terms Compliance
Your use of Backblaze B2 through Blober is subject to [Backblaze's Terms of Service](https://www.backblaze.com/company/policy/terms-of-service). See our [Terms of Service](/kb/docs/terms-and-privacy/terms-of-service/) for details.
## External References
[Section titled "External References"](#external-references)
* [B2 Cloud Storage Documentation](https://www.backblaze.com/b2/docs/)
* [Creating App Keys](https://www.backblaze.com/docs/cloud-storage-create-and-manage-app-keys)
* [B2 S3-Compatible API](https://www.backblaze.com/b2/docs/s3_compatible_api.html)
* [Backblaze B2 Pricing](https://www.backblaze.com/b2/cloud-storage-pricing.html)
# Cloudflare R2 Setup: Zero-Egress Storage
> How to connect Blober to Cloudflare R2. S3-compatible object storage with zero egress fees. Browse, upload, download, and transfer files.
Cloudflare R2 is S3-compatible object storage with **zero egress fees**. Blober connects via the S3-compatible API.
Path format:
```plaintext
bucket-name/path/to/file.ext
```
## Capabilities
[Section titled "Capabilities"](#capabilities)
* ✅ Browse buckets and objects
* ✅ Upload files (including large files)
* ✅ Download files
* ✅ Delete objects
* ✅ Copy/move objects
* ✅ S3-compatible API
* ✅ Zero egress fees
## Prerequisites
[Section titled "Prerequisites"](#prerequisites)
* A Cloudflare account ([create one](https://dash.cloudflare.com/sign-up))
* R2 enabled on your account
* At least one R2 bucket
* API credentials with an **Admin** scope (see [Token Permissions](#token-permissions))
## Required Credentials
[Section titled "Required Credentials"](#required-credentials)
[]()
### Account ID
[Section titled "Account ID"](#account-id)
* **Where to find:** Cloudflare dashboard => Overview => right sidebar
* **Format:** 32-character hex string
* **Example:** `a1b2c3d4e5f6a1b2c3d4e5f6a1b2c3d4`
[]()
### Access Key ID
[Section titled "Access Key ID"](#access-key-id)
* **Format:** 32 alphanumeric characters
* **Example:** `abc123def456ghi789jkl012mno345pq`
[]()
### Secret Access Key
[Section titled "Secret Access Key"](#secret-access-key)
* **Format:** 64-character string
* **Example:** `abcdefghijklmnopqrstuvwxyz1234567890ABCDEFGHIJKLMNOP`
[]()
### API Token (Optional)
[Section titled "API Token (Optional)"](#api-token-optional)
* **Where to find:** Shown alongside Access Key ID and Secret Access Key when creating an R2 API token
* **Format:** Cloudflare API Bearer token string
* **Why use it:** Enables faster bucket listing. Recommended if you have more than 100 buckets.
* **Required permissions:** `Workers R2 Storage Read` (or `Workers R2 Storage Write`)
[]()
## Token Permissions
[Section titled "Token Permissions"](#token-permissions)
Blober lists the buckets in your account before showing their contents, and **listing buckets is an account-level action**. Your R2 API token must therefore use an **Admin** scope:
* **Admin Read & Write** - full access (browse, upload, download, copy, move, delete).
* **Admin Read only** - browse and download only.
The **Object Read & Write** and **Object Read only** scopes **will not work**: they can list objects *inside a bucket you name*, but not the buckets themselves, so Blober gets `Access Denied` and shows no buckets.
Stuck with an Object-scoped token?
Use the [**S3-Compatible**](/kb/docs/providers/s3-compatible/) connector instead: point it at your R2 endpoint and set its **Bucket** option to the bucket you want. That scopes Blober to one bucket and skips bucket listing, so an Object-scoped token works.
## Setup (Cloudflare Dashboard)
[Section titled "Setup (Cloudflare Dashboard)"](#setup-cloudflare-dashboard)
### 1. Create an R2 Bucket
[Section titled "1. Create an R2 Bucket"](#1-create-an-r2-bucket)
1. Go to [Cloudflare Dashboard](https://dash.cloudflare.com)
2. Select **R2** from the sidebar
3. Click **Create bucket**
4. Enter a bucket name (lowercase, unique within your account)
5. Click **Create bucket**
### 2. Create API Credentials
[Section titled "2. Create API Credentials"](#2-create-api-credentials)
1. In R2 settings, click **Manage R2 API Tokens**
2. Click **Create API token**
3. Configure the token:
* **Token name:** Give it a descriptive name (e.g., `blober-access`)
* **Permissions:** **Admin Read & Write** (or **Admin Read only**) - an *Object* scope won't work, see [Token Permissions](#token-permissions)
* **Bucket scope:** Apply to all buckets in this account
4. Click **Create API Token**
5. **Copy Access Key ID and Secret Access Key immediately** (secret shown only once!)
### 3. Find Your Account ID
[Section titled "3. Find Your Account ID"](#3-find-your-account-id)
1. Go to the Cloudflare dashboard
2. Click on any domain or go to **Overview**
3. The Account ID is in the right sidebar under "API"
4. Copy the Account ID
### 4. Configure in Blober
[Section titled "4. Configure in Blober"](#4-configure-in-blober)
1. In Blober, go to **Workflows** => **New Workflow**
2. Select **Cloudflare R2** as source or destination
3. Enter:
* Account ID
* Access Key ID
* Secret Access Key
* API Token *(optional - recommended for accounts with 100+ buckets)*
4. Test by browsing your buckets
## Troubleshooting
[Section titled "Troubleshooting"](#troubleshooting)
### "Access Denied" error
[Section titled ""Access Denied" error"](#access-denied-error)
* Double-check your Account ID - it's found in the Cloudflare dashboard sidebar, not in R2 settings
* Verify your R2 API token uses an **Admin** scope - **Object** scopes cannot list buckets (see [Token Permissions](#token-permissions))
### "Invalid Account ID"
[Section titled ""Invalid Account ID""](#invalid-account-id)
* The Account ID is a 32-character hex string found on the Cloudflare dashboard overview page
* Don't confuse it with Zone ID or API token
### Buckets not listing
[Section titled "Buckets not listing"](#buckets-not-listing)
* Your token is likely an **Object** scope, which cannot list buckets - recreate it with an **Admin** scope, or use the [**S3-Compatible**](/kb/docs/providers/s3-compatible/) connector scoped to a single bucket (see [Token Permissions](#token-permissions))
## Best Practices
[Section titled "Best Practices"](#best-practices)
* **Zero egress fees** make R2 ideal as a destination for frequently downloaded data
* Use R2 for serving assets or as a CDN origin - pair with Cloudflare's CDN for global delivery
* Create separate API tokens per application for better security and easy revocation
Terms Compliance
Your use of Cloudflare R2 through Blober is subject to [Cloudflare's Terms of Service](https://www.cloudflare.com/terms/). See our [Terms of Service](/kb/docs/terms-and-privacy/terms-of-service/) for details.
## External References
[Section titled "External References"](#external-references)
* [R2 Documentation](https://developers.cloudflare.com/r2/)
* [Creating API Tokens](https://developers.cloudflare.com/r2/api/s3/tokens/)
* [S3 API Compatibility](https://developers.cloudflare.com/r2/api/s3/)
* [Cloudflare R2 Pricing](https://developers.cloudflare.com/r2/pricing/)
# Cloudinary Setup: Transfer Media Assets
> How to connect Blober to Cloudinary. Browse, upload, download, and transfer images, videos, and raw files from Cloudinary's media platform.
Cloudinary is a cloud-based media management platform for images, videos, and raw files. Blober connects using your Cloud Name, API Key, and API Secret.
Path format:
```plaintext
folder/subfolder/filename.ext
```
## Capabilities
[Section titled "Capabilities"](#capabilities)
* ✅ Browse folders and assets
* ✅ Upload files (streaming, any size)
* ✅ Download files
* ✅ Delete assets
* ✅ View file metadata (size, dates, format)
* ✅ Automatic detection of images, videos, and raw files on upload
* ✅ Mixed-type listing of images, videos, and raw files
* ✅ Pre-generate derived versions at upload time (Eager Transformation)
* ✅ Apply Eager Transformations to existing assets without re-uploading
* ✅ Server-side pagination
## Prerequisites
[Section titled "Prerequisites"](#prerequisites)
* A [Cloudinary account](https://cloudinary.com/users/register_free) (free tier available)
* An API Key and API Secret from your Console
## Required Credentials
[Section titled "Required Credentials"](#required-credentials)
[]()
### Cloud Name
[Section titled "Cloud Name"](#cloud-name)
* **Format:** alphanumeric characters, hyphens, underscores
* **Example:** `my-cloud`
Found on your [Cloudinary Console](https://console.cloudinary.com/app) under "Product Environment" on the [Dashboard](https://console.cloudinary.com/app/home/dashboard). It is also the value that appears after the `@` symbol in your `CLOUDINARY_URL` environment variable.
[]()
### API Key
[Section titled "API Key"](#api-key)
* **Format:** numeric string
* **Example:** `123456789012345`
[]()
### API Secret
[Section titled "API Secret"](#api-secret)
* **Format:** alphanumeric characters, hyphens, underscores
* **Example:** `abcdefghijklmnopqrstuvwxyz12`
## Optional Settings
[Section titled "Optional Settings"](#optional-settings)
[]()
### Eager Transformation (destination only)
[Section titled "Eager Transformation (destination only)"](#eager-transformation-destination-only)
* **Default:** empty (none)
* **Example:** `w_300,c_fill,f_auto,q_auto`
A [Cloudinary transformation](https://cloudinary.com/documentation/image_transformations) string applied at upload time to pre-generate a derived asset. Only used when Cloudinary is the destination of your workflow.
[]()
### Unique Filename (destination only)
[Section titled "Unique Filename (destination only)"](#unique-filename-destination-only)
* **Default:** off (keep original filename)
When off, files keep their original name. When on, Cloudinary appends random characters to the filename (e.g. `photo_a1b2c3.jpg`) to avoid collisions with existing assets.
[]()
### Apply Eager Transformation (mutate action)
[Section titled "Apply Eager Transformation (mutate action)"](#apply-eager-transformation-mutate-action)
* **Required** when running the mutate action
* **Example:** `w_300,c_fill,f_auto,q_auto`
A transformation string applied to existing assets. Select files in Blober and run this mutation to pre-generate derived versions of the originals without re-uploading them.
## Setup Guide
[Section titled "Setup Guide"](#setup-guide)
### 1. Create a Cloudinary Account
[Section titled "1. Create a Cloudinary Account"](#1-create-a-cloudinary-account)
1. Go to [cloudinary.com](https://cloudinary.com/users/register_free)
2. Sign up for a free account (25 credits/month included)
3. After signing up, you'll land on the Dashboard
### 2. Get Your Credentials
[Section titled "2. Get Your Credentials"](#2-get-your-credentials)
1. Open the [Cloudinary Console](https://console.cloudinary.com/app). Your **Cloud Name** is shown under "Product Environment" on the Dashboard.
2. Open **Settings**, then **API Keys**. You can also jump straight to the [API Keys page](https://console.cloudinary.com/app/settings/api-keys).
3. Copy your **API Key** and **API Secret**.
Tip
Your `CLOUDINARY_URL` environment variable contains all three values in one string:
```plaintext
cloudinary://API_KEY:API_SECRET@CLOUD_NAME
```
### 3. Configure in Blober
[Section titled "3. Configure in Blober"](#3-configure-in-blober)
1. In Blober, open **Workflows**, then click **New Workflow**.
2. Select **Cloudinary** as source or destination.
3. Enter your Cloud Name, API Key, and API Secret.
4. Credentials are verified on save. Blober makes a test API call to confirm access.
## File Organization
[Section titled "File Organization"](#file-organization)
Cloudinary organizes assets using:
* **Asset folders** are the visual hierarchy shown in the Media Library.
* **Public IDs** are the path Cloudinary uses internally to reference each asset.
Blober maps both: uploads land in the correct Media Library folder, and the original filename is preserved.
Assets at the root level have no folder prefix. Subfolders are supported to any depth:
```plaintext
samples/cloudinary-icon.png
products/shoes/sneaker.jpg
```
Cloudinary limits the internal asset path to 255 characters. Files with paths exceeding this limit fail with a validation error before any upload starts.
## How Uploads Work
[Section titled "How Uploads Work"](#how-uploads-work)
* Files are sent directly to Cloudinary, so file size is not a bottleneck.
* Cloudinary automatically detects whether each file is an image, video, or raw file.
* The original filename (with extension) is preserved.
* Existing assets are never silently replaced. Uploading a duplicate returns the existing asset.
* Files land in the right folder whether your account is on the newer dynamic folder mode or the legacy fixed folder mode.
* If you set an Eager Transformation, the derived version is generated at upload time.
## How Deletion Works
[Section titled "How Deletion Works"](#how-deletion-works)
* Deletions go through Cloudinary's Upload API, which is not rate-limited.
* Deletes never count against your hourly Admin API quota.
## How Listing Works
[Section titled "How Listing Works"](#how-listing-works)
* Listing returns all asset types (images, videos, raw files) in a single paginated call.
* Sub-folders are loaded as you browse into them.
* Pagination uses Cloudinary's native server-side cursors, so even very large folders load smoothly.
## Rate Limiting
[Section titled "Rate Limiting"](#rate-limiting)
* The **Upload API** is not rate-limited. Uploads, deletions, and mutations are unaffected.
* The **Admin API** (used for listing, browsing, and metadata) is rate-limited:
* Free plan: 500 requests/hour
* Paid plans: 2,000+ requests/hour
## Troubleshooting
[Section titled "Troubleshooting"](#troubleshooting)
### "cloud\_name mismatch" error
[Section titled ""cloud\_name mismatch" error"](#cloud_name-mismatch-error)
* Verify your Cloud Name matches exactly what's shown on the Dashboard
* Cloud names are case-sensitive
### "Authorization required" (401) error
[Section titled ""Authorization required" (401) error"](#authorization-required-401-error)
* Double-check your API Key and API Secret.
* Make sure the key hasn't been revoked. Open **Settings**, then **API Keys** in the [Cloudinary Console](https://console.cloudinary.com/app/settings/api-keys) to confirm.
* If you recently regenerated the secret, update it in Blober.
### Assets not appearing in listing
[Section titled "Assets not appearing in listing"](#assets-not-appearing-in-listing)
* Blober lists assets by their Media Library folder.
* Assets that were uploaded outside the Media Library (for example, directly via the Cloudinary API without an asset folder) may not appear in the browse view. Move them into a Media Library folder so they show up.
### Path validation error
[Section titled "Path validation error"](#path-validation-error)
* Cloudinary limits the internal asset path to 255 characters.
* Deeply nested folder structures can exceed this limit.
* Blober checks the path length before uploading and fails immediately without making a network call.
### Rate limit (420) errors
[Section titled "Rate limit (420) errors"](#rate-limit-420-errors)
* You've hit the Admin API hourly limit
* Wait for the rate limit to reset (shown in the error) or upgrade your plan
* Uploads, deletions, and mutations use the Upload API and are not affected
## Best Practices
[Section titled "Best Practices"](#best-practices)
* Cloudinary's free plan includes 25 credits/month covering storage, transformations, and bandwidth
Terms Compliance
Your use of Cloudinary through Blober is subject to [Cloudinary's Terms of Service](https://cloudinary.com/tos). See our [Terms of Service](/kb/docs/terms-and-privacy/terms-of-service/) for details.
## External References
[Section titled "External References"](#external-references)
* [Cloudinary Console](https://console.cloudinary.com/app)
* [API Keys page](https://console.cloudinary.com/app/settings/api-keys)
* [Cloudinary Documentation](https://cloudinary.com/documentation)
* [Cloudinary Pricing](https://cloudinary.com/pricing)
* [Migration guide](https://cloudinary.com/documentation/migration)
# DigitalOcean Spaces Setup & File Transfer
> How to connect Blober to DigitalOcean Spaces. S3-compatible object storage with a built-in CDN. Browse, upload, download, and transfer files.
DigitalOcean Spaces is S3-compatible object storage with a built-in CDN. Blober connects via the S3-compatible API and supports both standard and cold storage tiers.
Path format:
```plaintext
space-name/path/to/file.ext
```
## Capabilities
[Section titled "Capabilities"](#capabilities)
* ✅ Browse Spaces and objects
* ✅ Upload files (including large files)
* ✅ Download files
* ✅ Delete objects
* ✅ Copy objects (within the same Space)
* ✅ Move objects
* ✅ S3-compatible API
* ✅ Multi-region support (automatic region detection)
* ✅ Cold storage tier support
* ✅ Project organization via Personal Access Token
## Prerequisites
[Section titled "Prerequisites"](#prerequisites)
* A DigitalOcean account ([create one](https://cloud.digitalocean.com/registrations/new))
* At least one Space created
* Spaces access keys
## Required Credentials
[Section titled "Required Credentials"](#required-credentials)
[]()
### Access Key
[Section titled "Access Key"](#access-key)
* **Where to find:** DigitalOcean Control Panel => API => Spaces Keys
* **Format:** 20 uppercase alphanumeric characters
* **Example:** `AKIAIOSFODNN7EXAMPLE`
[]()
### Secret Key
[Section titled "Secret Key"](#secret-key)
* **Format:** 40 characters
* **Example:** `wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY`
## Optional Credentials
[Section titled "Optional Credentials"](#optional-credentials)
[]()
### Personal Access Token
[Section titled "Personal Access Token"](#personal-access-token)
* **Purpose:** Lists Spaces organized by project and shows project names
* **Where to find:** DigitalOcean Control Panel => API => Tokens
* **Note:** Without this, Blober has to check every region to find your Spaces, which is slower.
## Available Regions
[Section titled "Available Regions"](#available-regions)
DigitalOcean Spaces is available in these regions:
| Region Code | Location |
| ----------- | --------------- |
| `nyc3` | New York 3 |
| `sfo3` | San Francisco 3 |
| `ams3` | Amsterdam 3 |
| `sgp1` | Singapore 1 |
| `fra1` | Frankfurt 1 |
| `syd1` | Sydney 1 |
| `blr1` | Bangalore 1 |
Note
Unlike AWS S3, DigitalOcean Spaces is region-scoped. Blober automatically discovers Spaces across all regions by probing each one.
## Storage Tiers
[Section titled "Storage Tiers"](#storage-tiers)
DigitalOcean Spaces supports two storage tiers, set at bucket creation:
| Tier | Use Case | Retrieval |
| ------------ | --------------------------- | --------------------------------- |
| **Standard** | Frequently accessed data | Immediate |
| **Cold** | Infrequent access, archival | Immediate (higher retrieval cost) |
Caution
The storage tier is set when creating a Space and cannot be changed afterward. Objects inherit the Space's tier.
## Setup (DigitalOcean Control Panel)
[Section titled "Setup (DigitalOcean Control Panel)"](#setup-digitalocean-control-panel)
### 1. Create a Space
[Section titled "1. Create a Space"](#1-create-a-space)
1. Go to [DigitalOcean Control Panel](https://cloud.digitalocean.com)
2. Navigate to **Spaces Object Storage** in the sidebar
3. Click **Create a Space**
4. Configure:
* **Datacenter region:** Choose from available regions
* **Storage tier:** Standard or Cold
* **CDN:** Enable if needed for edge caching
* **Space name:** Unique name (lowercase, 3-63 characters)
5. Click **Create a Space**
### 2. Generate Spaces Access Keys
[Section titled "2. Generate Spaces Access Keys"](#2-generate-spaces-access-keys)
1. Go to **API** in the left sidebar
2. Scroll to **Spaces Keys**
3. Click **Generate New Key**
4. Enter a name (e.g., `blober-access`)
5. **Copy the Access Key and Secret Key immediately** (secret shown only once!)
### 3. (Optional) Create Personal Access Token
[Section titled "3. (Optional) Create Personal Access Token"](#3-optional-create-personal-access-token)
For project-organized Space listings:
1. Go to **API** in the left sidebar
2. Under **Tokens**, click **Generate New Token**
3. Enter a name and select scopes (read access is sufficient)
4. **Copy the token immediately**
### 4. Configure in Blober
[Section titled "4. Configure in Blober"](#4-configure-in-blober)
1. In Blober, go to **Workflows** => **New Workflow**
2. Select **DigitalOcean Spaces** as source or destination
3. Enter:
* Access Key
* Secret Key
* (Optional) Personal Access Token
4. Test by browsing your Spaces
## Troubleshooting
[Section titled "Troubleshooting"](#troubleshooting)
### "Access Denied" error
[Section titled ""Access Denied" error"](#access-denied-error)
* Double-check your Access Key and Secret Key
* Verify the key has permissions for the Spaces you're trying to access
* Make sure you're using **Spaces keys**, not regular API tokens
### Not all Spaces showing up
[Section titled "Not all Spaces showing up"](#not-all-spaces-showing-up)
* Blober checks all 7 DigitalOcean regions to find your Spaces - this may take a moment
* If you provide a **Personal Access Token**, Spaces will load faster and be organized by project
* Newly created Spaces may take a few seconds to appear
### Slow transfers
[Section titled "Slow transfers"](#slow-transfers)
* Choose a Space in a region geographically close to you
* Transfer speeds depend on your internet connection and the distance to the datacenter
### Cold storage retrieval
[Section titled "Cold storage retrieval"](#cold-storage-retrieval)
* Files in Cold Spaces are retrieved at normal speed but have higher per-request costs
* The storage tier is set at Space creation and cannot be changed afterward
## Best Practices
[Section titled "Best Practices"](#best-practices)
* **Use a Personal Access Token** alongside your Spaces keys for faster, project-organized listing
* **Choose the right tier** at creation time - Standard for frequently accessed data, Cold for archives
* DigitalOcean Spaces pricing: $5/month for 250 GB storage + 1 TB outbound transfer, then $0.02/GB storage and $0.01/GB transfer
* **Create dedicated Spaces keys** for Blober rather than reusing keys from other applications
* Consider Spaces CDN for publicly served files you access frequently
Terms Compliance
Your use of DigitalOcean Spaces through Blober is subject to [DigitalOcean's Terms of Service](https://www.digitalocean.com/legal/terms-of-service-agreement). See our [Terms of Service](/kb/docs/terms-and-privacy/terms-of-service/) for details.
## External References
[Section titled "External References"](#external-references)
* [Spaces Documentation](https://docs.digitalocean.com/products/spaces/)
* [Creating Spaces Access Keys](https://docs.digitalocean.com/products/spaces/how-to/manage-access/#access-keys)
* [Spaces Regions](https://docs.digitalocean.com/products/platform/availability-matrix/#spaces-object-storage)
* [DigitalOcean Spaces Pricing](https://www.digitalocean.com/pricing/spaces-object-storage)
* [S3 Compatibility](https://docs.digitalocean.com/products/spaces/reference/s3-compatibility/)
# Dropbox Setup: Connect & Transfer Files
> How to connect Blober to Dropbox. Browse folders, upload and download files, and transfer between Dropbox and other cloud providers.
Dropbox is a cloud storage and file synchronization service with cross-platform support. In Blober, Dropbox paths use this format:
```plaintext
/folder/subfolder/file.ext
```
## Capabilities
[Section titled "Capabilities"](#capabilities)
* ✅ Browse folders and files
* ✅ Upload files (up to \~350 GB)
* ✅ Download files
* ✅ Create folders (automatically created when uploading)
* ✅ Delete files/folders
* ✅ Copy files within Dropbox
* ✅ Move files within Dropbox
* ✅ View file metadata (size, dates, content hash)
* ✅ Progress tracking for uploads
* ✅ Automatic rate-limit retry
* ✅ Token auto-refresh (OAuth flow only)
## Prerequisites
[Section titled "Prerequisites"](#prerequisites)
* A [Dropbox account](https://www.dropbox.com/) (free or paid)
* A Dropbox App created in the [Dropbox App Console](https://www.dropbox.com/developers/apps)
## Authentication Methods
[Section titled "Authentication Methods"](#authentication-methods)
Blober supports two ways to connect to Dropbox. Choose the one that fits your workflow:
| Method | Setup Complexity | Token Lifetime | Auto-Refresh |
| ----------------------------------------------------------- | ---------------- | -------------- | ----------------------------------- |
| [Generated Access Token](#option-1-generated-access-token) | Simple | \~4 hours | ❌ No - must regenerate manually |
| [App Key + Secret (OAuth)](#option-2-app-key--secret-oauth) | Moderate | Indefinite | ✅ Yes - automatic via refresh token |
Tip
If you plan to run unattended/scheduled workflows, use **App Key + Secret (OAuth)** - it auto-refreshes expired tokens so your workflows won't break after 4 hours.
If you just want to try Blober quickly, **Generated Access Token** gets you started in under a minute.
***
[]()
### Option 1: Generated Access Token
[Section titled "Option 1: Generated Access Token"](#option-1-generated-access-token)
Use a short-lived token generated directly from the Dropbox App Console. Quick to set up but requires manual renewal every \~4 hours.
**Credential fields:**
| Field | Description |
| -------------------------------- | --------------------------------------------------- |
| **Dropbox Generated Access Key** | Bearer token string (e.g., `sl.u.AGUFCwsCKpMW-...`) |
#### Setup steps
[Section titled "Setup steps"](#setup-steps)
1. [Create a Dropbox App](#1-create-a-dropbox-app) and [configure permissions](#2-configure-permissions) (see below)
2. In your app's **Settings** tab, scroll to **OAuth 2**
3. Click **"Generate"** under **Generated access token**
4. Copy the token - it is only shown once
5. In Blober, go to **Workflows** => **New Workflow**
6. Select **Dropbox** as source or destination
7. Paste the token into the **Dropbox Generated Access Key** field
8. Test by browsing your Dropbox files
Caution
Generated tokens expire after approximately **4 hours**. When your token expires, generate a new one from the App Console and update it in Blober. Any in-progress workflows using an expired token will fail.
***
[]()
### Option 2: App Key + Secret (OAuth)
[Section titled "Option 2: App Key + Secret (OAuth)"](#option-2-app-key--secret-oauth)
Use your app's credentials to trigger a browser-based OAuth consent flow. Blober receives a refresh token and automatically renews access tokens when they expire - no manual intervention needed.
**Credential fields:**
| Field | Description |
| -------------- | ------------------------------------------------------------------------- |
| **App Key** | Alphanumeric string from your app's Settings tab (e.g., `3p6ac1pz2b3k7k`) |
| **App Secret** | Alphanumeric string - click **Show** to reveal (e.g., `3p6ac1pz2b3k6j`) |
#### Setup steps
[Section titled "Setup steps"](#setup-steps-1)
1. [Create a Dropbox App](#1-create-a-dropbox-app) and [configure permissions](#2-configure-permissions) (see below)
2. Copy your **App Key** and **App Secret** from the app's **Settings** tab
3. In the **OAuth 2** section of the same tab, add this exact **Redirect URI**: `http://localhost:52847/oauth/dropbox/callback`
4. In Blober, go to **Workflows** => **New Workflow**
5. Select **Dropbox** as source or destination
6. Enter your **App Key** and **App Secret** in the corresponding fields
7. Click **Authorize Dropbox Access** - a browser window opens for consent
8. Sign in with your Dropbox account and grant permissions
9. The browser redirects back to Blober automatically - you're connected
Caution
The Redirect URI must match exactly, including `http`, port `52847`, the complete path, and no trailing slash.
After authorization, Blober stores a refresh token and will automatically renew access tokens in the background. You don't need to touch Dropbox again unless you revoke the app.
***
## Required Scopes (Permissions)
[Section titled "Required Scopes (Permissions)"](#required-scopes-permissions)
Your Dropbox App must have these permissions enabled **before** generating an access token or authorizing via OAuth - tokens and refresh tokens inherit the scopes that were active at the time of creation.
| Scope | Purpose |
| ---------------------- | --------------------------------- |
| `files.metadata.read` | Browse and list files/folders |
| `files.metadata.write` | Create folders, move/copy files |
| `files.content.read` | Download files |
| `files.content.write` | Upload and delete files |
| `account_info.read` | Verify connection to your account |
## Setup Guide
[Section titled "Setup Guide"](#setup-guide)
### 1. Create a Dropbox App
[Section titled "1. Create a Dropbox App"](#1-create-a-dropbox-app)
1. Go to the [Dropbox App Console](https://www.dropbox.com/developers/apps)
2. Click **"Create app"**
3. Under **"Choose an API"**, select **"Scoped access"**
4. Under **"Choose the type of access you need"**, select **"Full Dropbox"** to access all files, or **"App folder"** to limit access to a single folder
5. Enter an app name (e.g., `Blober`)
6. Click **"Create app"**
Tip
Choose **"Full Dropbox"** if you want Blober to access your entire Dropbox. Choose **"App folder"** if you prefer to restrict Blober to its own sandbox folder - files outside that folder won't be visible.
### 2. Configure Permissions
[Section titled "2. Configure Permissions"](#2-configure-permissions)
You **must** set permissions before generating a token or authorizing via OAuth. Tokens inherit the scopes that were active at the time of creation.
1. In your app's page, click the **"Permissions"** tab
2. Under **"Individual Scopes"**, enable the following:
**Files and folders:**
* ☑️ `files.metadata.read`
* ☑️ `files.metadata.write`
* ☑️ `files.content.read`
* ☑️ `files.content.write`
**Account info:**
* ☑️ `account_info.read`
3. Click **"Submit"** at the bottom of the page
Caution
If you change permissions after generating a token or completing OAuth, the existing token/refresh-token retains its old scopes. You must generate a new token (or re-authorize via OAuth) for the updated permissions to take effect.
### 3. Choose your authentication method
[Section titled "3. Choose your authentication method"](#3-choose-your-authentication-method)
Continue with **[Option 1: Generated Access Token](#option-1-generated-access-token)** or **[Option 2: App Key + Secret (OAuth)](#option-2-app-key--secret-oauth)** above, depending on your needs.
## File Organization
[Section titled "File Organization"](#file-organization)
Dropbox uses a hierarchical folder structure with forward-slash paths:
```plaintext
/Documents/Work/report.pdf
/Photos/2026/January/IMG_001.jpg
/Videos/vacation.mp4
```
* Paths are **case-insensitive** but **case-preserving** (e.g., `/Photos` and `/photos` refer to the same folder, but the display name keeps its original casing)
* Folders are created automatically when uploading a file to a path that doesn't exist yet
* The root of your Dropbox is represented by `/`
## How Uploads Work
[Section titled "How Uploads Work"](#how-uploads-work)
Blober automatically handles uploads of any size, with real-time progress tracking.
* Files up to **350 GB** are supported
* If a file already exists at the destination path, it is replaced
* Parent folders are created automatically if they don't exist
## Rate Limiting
[Section titled "Rate Limiting"](#rate-limiting)
Dropbox applies rate limits on API requests. Blober automatically retries rate-limited requests with the appropriate delay. Under normal use, you're unlikely to hit rate limits. Large batch operations (e.g., uploading hundreds of files) may occasionally trigger throttling.
## Troubleshooting
[Section titled "Troubleshooting"](#troubleshooting)
### "Authentication failed" or 401 errors
[Section titled ""Authentication failed" or 401 errors"](#authentication-failed-or-401-errors)
* **Generated access token**: It likely expired (tokens last \~4 hours). Generate a new one from the App Console.
* **OAuth flow**: Try disconnecting and re-authorizing. If the refresh token was revoked (e.g., you disconnected the app from Dropbox settings), you'll need to authorize again.
* Verify your App Key and App Secret are correct and belong to the same app.
### "Invalid client\_id or client\_secret"
[Section titled ""Invalid client\_id or client\_secret""](#invalid-client_id-or-client_secret)
* Dropbox recognized the App Key but rejected the credentials during the token exchange.
* In the Dropbox App Console, open the same app, click **Show** beside **App secret**, and copy the value again.
* Re-enter both fields in Blober. Do not use the **Generated access token** as the App Secret.
### "OAuth state not found"
[Section titled ""OAuth state not found""](#oauth-state-not-found)
* Close the Dropbox callback or error page. Do not retry from that page.
* Return to Blober and click the current **Authorize Dropbox Access** link to start a new authorization.
* If a new link does not appear, close and reopen Blober before trying again.
### Missing credentials
[Section titled "Missing credentials"](#missing-credentials)
* **Generated access token**: Ensure the field is filled in with no leading/trailing whitespace.
* **OAuth flow**: Ensure both App Key and App Secret are filled in. If the authorization browser window didn't appear, check that your firewall isn't blocking localhost connections.
### "Quota exceeded" errors
[Section titled ""Quota exceeded" errors"](#quota-exceeded-errors)
* You've run out of Dropbox storage. Free accounts have 2 GB.
* Empty your Dropbox Trash - deleted files still count toward your quota until the trash is emptied.
* Upgrade your Dropbox plan or remove files to free up space.
### Insufficient permissions
[Section titled "Insufficient permissions"](#insufficient-permissions)
* Verify all [required scopes](#required-scopes-permissions) are enabled in the **Permissions** tab.
* If you changed permissions after generating your token or authorizing via OAuth, the existing credentials retain their old scopes. You must generate a new token or re-authorize.
### Files not appearing
[Section titled "Files not appearing"](#files-not-appearing)
* Refresh the file list in Blober.
* If using **App folder** access, files outside the app's folder are not visible.
* Check that the files exist in the Dropbox web app at [dropbox.com](https://www.dropbox.com/).
### Slow uploads
[Section titled "Slow uploads"](#slow-uploads)
* Check your network speed - uploads are network-bound.
* Dropbox may throttle uploads during high-traffic periods. Blober handles this automatically.
### Uploads failing mid-way
[Section titled "Uploads failing mid-way"](#uploads-failing-mid-way)
* If an upload fails partway through (e.g., network drops), Blober retries automatically.
* Check your network stability for very large files.
### How to revoke access
[Section titled "How to revoke access"](#how-to-revoke-access)
1. Go to [Dropbox account settings](https://www.dropbox.com/account/connected_apps)
2. Find your app and click **"Disconnect"**
3. In Blober, remove the existing connection
Revoking access invalidates all tokens immediately - both generated access tokens and OAuth refresh tokens.
## Limitations
[Section titled "Limitations"](#limitations)
### Storage quotas
[Section titled "Storage quotas"](#storage-quotas)
| Plan | Storage |
| ---------------- | -------------- |
| **Free (Basic)** | 2 GB |
| **Plus** | 2 TB |
| **Professional** | 3 TB |
| **Business** | 5 TB+ per user |
### API limits
[Section titled "API limits"](#api-limits)
| Limit | Value |
| --------------------------------- | ------------------------------------------------------ |
| Max file size | 350 GB |
| Data transport (Dropbox Business) | Monthly API call quotas may apply - contact your admin |
### Path limits
[Section titled "Path limits"](#path-limits)
* Maximum path length: **260 characters**
* Individual file/folder names: up to **255 characters**
### Other limitations
[Section titled "Other limitations"](#other-limitations)
* **No cross-provider copy/move**: Copy and move only work within the same Dropbox account. To transfer files between Dropbox and another provider, use a workflow with upload + download.
* **Case-insensitive paths**: Dropbox treats `/Photos/IMG.jpg` and `/photos/img.jpg` as the same file. Be careful when migrating from case-sensitive storage providers.
Terms Compliance
Your use of Dropbox through Blober is subject to [Dropbox's Terms of Service](https://www.dropbox.com/terms). See our [Terms of Service](/kb/docs/terms-and-privacy/terms-of-service/) for details.
## External References
[Section titled "External References"](#external-references)
* [Dropbox App Console](https://www.dropbox.com/developers/apps) - create and manage your app
* [Dropbox API v2 Documentation](https://www.dropbox.com/developers/documentation/http/documentation) - full API reference
* [Dropbox Plans & Pricing](https://www.dropbox.com/plans) - storage limits by plan
# Google Drive Setup with OAuth & Transfers
> How to set up Google Drive in Blober using OAuth 2.0. Browse, upload, download, and transfer files between Google Drive and other providers.
Google Drive is Google's cloud storage and file synchronization service. Blober connects to it using OAuth 2.0.
## Capabilities
[Section titled "Capabilities"](#capabilities)
* ✅ Browse folders and files
* ✅ Upload files
* ✅ Download files
* ✅ Create folders
* ✅ Delete files/folders
* ✅ Search files
* ✅ View file metadata
* 🚧 Move files (in progress)
* 🚧 Copy files (in progress)
## Prerequisites
[Section titled "Prerequisites"](#prerequisites)
* A personal Google account (`@gmail.com`) or Google Workspace account
* That's it, the steps below walk you through everything else
## Setup (Google Cloud Console)
[Section titled "Setup (Google Cloud Console)"](#setup-google-cloud-console)
[]()
This guide shows you how to create and download a Google OAuth client credentials JSON file. The whole process takes about 5 minutes.
### 1. Create a Google Cloud Project
[Section titled "1. Create a Google Cloud Project"](#1-create-a-google-cloud-project)

1. Go to [console.cloud.google.com/projectcreate](https://console.cloud.google.com/projectcreate)
Note
Google Cloud has begun to enforce 2-step verification (2SV). Follow the instructions there to enable it if prompted.
2. If prompted, sign in with your Google account. Otherwise, you can switch accounts at the top right corner of the page
3. In the **Project name** field, enter a name (e.g., `Blober Drive Access`)
* Google will auto-generate a **Project ID** below the name field. You don't need to change it
4. Leave **Parent resource** empty (unless you're in an organization)
5. Click **Create**
6. Wait a few seconds. You'll see a notification at the top-right confirming the project was created. Click **Select Project** in the notification to switch to it
Tip
If you miss the notification, click the **project picker** in the top-left of the console (next to "Google Cloud"), find your project in the list, and click it.
### 2. Enable the Google Drive API
[Section titled "2. Enable the Google Drive API"](#2-enable-the-google-drive-api)

1. Go directly to [the Drive API page](https://console.cloud.google.com/apis/library/drive.googleapis.com) (make sure your new project is selected in the top-left)
2. Click the blue **Enable** button
3. You'll be redirected to the API overview page. That means it worked
Caution
If you see **"Select a project"** in the top bar instead of your project name, click it and select your project first. The Enable button won't work without a project selected.
### 3. Configure the Google Auth Platform (OAuth Consent Screen)
[Section titled "3. Configure the Google Auth Platform (OAuth Consent Screen)"](#3-configure-the-google-auth-platform-oauth-consent-screen)

Google requires you to configure an "app identity" before you can create OAuth credentials.
1. Go to [Google Auth Platform Overview](https://console.cloud.google.com/auth/overview)
2. You'll see a page saying **"Google Auth Platform not configured yet"** with a **Get started** button. Click it
3. This opens a **4-step wizard** called "Project configuration":
#### Step 1: App Information
[Section titled "Step 1: App Information"](#step-1-app-information)
* **App name**: Enter any name (e.g., `Blober Drive Access`). This shows on the consent screen when you authorize
* **User support email**: Click the dropdown and select your Gmail address
* Click **Next**
#### Step 2: Audience
[Section titled "Step 2: Audience"](#step-2-audience)
* You'll see two options: **Internal** and **External**
* If you're using a personal `@gmail.com` account, **Internal is disabled**. Select **External**
* If you're on Google Workspace, you can choose either
* Click **Next**
Note
**External** means anyone with a Google account *that you add as a test user* can authorize. Your app will start in **Testing** mode. This is normal and expected for personal use.
#### Step 3: Contact Information
[Section titled "Step 3: Contact Information"](#step-3-contact-information)
* Enter your email as the **Developer contact email** (your personal `@gmail.com` account)
* Click **Next**
#### Step 4: Finish
[Section titled "Step 4: Finish"](#step-4-finish)
* Review the summary
* Click **Create/Finish**
You'll be redirected to the Google Auth Platform overview. The left sidebar items (**Branding**, **Audience**, **Clients**, **Data Access**) are now accessible.
### 4. Add Yourself as a Test User
[Section titled "4. Add Yourself as a Test User"](#4-add-yourself-as-a-test-user)
Because your app is in **Testing** mode, only explicitly added test users can authorize. If you skip this step, you'll get a **"403 Access Denied"** or **"App not verified"** error.
1. In the left sidebar, click **Audience**
2. Scroll down to **Test users**
3. Click **Add users**
4. Enter the **exact Gmail address** you'll use with Blober
5. Click **Save**
### 5. (IMPORTANT!) Add the Drive Scope
[Section titled "5. (IMPORTANT!) Add the Drive Scope"](#5-important-add-the-drive-scope)

Blober requests scopes automatically during authorization, so this step is optional. But if you want to pre-configure them:
1. In the left sidebar, click **Data Access**
2. Click **Add or remove scopes**
3. Search for `drive` and check `https://www.googleapis.com/auth/drive` (Full access)
4. Click **Update**, then **Save**
### 6. Create Web Credentials
[Section titled "6. Create Web Credentials"](#6-create-web-credentials)

1. In the left sidebar, click **Clients**
2. Click **Create Client** (or go directly to [Create OAuth client](https://console.cloud.google.com/auth/clients/create))
3. For **Application type**, select **Web Application**
4. Enter a name (e.g., `Blober Desktop`)
5. Under Authorized redirect URIs, add:
>
6. Click **Create**
7. A dialog appears showing your **Client ID** and **Client Secret**
8. Click the **Download JSON** button (⬇️) to save the credentials file

Caution
Keep this JSON file safe. It contains your client secret. Don't commit it to version control or share it publicly.
### 7. Configure in Blober
[Section titled "7. Configure in Blober"](#7-configure-in-blober)
1. In Blober, go to **Workflows** > **New Workflow**
2. Select **Google Drive** as source or destination
3. Upload the JSON credentials file you downloaded
4. Click **Authorize Google Drive Access**
5. A browser window opens. Sign in with the **same Google account you added as a test user**
6. You'll see a warning: **"Google hasn't verified this app"**. This is expected for test apps
7. Click **Advanced**, then click **Go to \[App Name] (unsafe)**
8. Grant the requested permissions
9. Return to Blober. You should now see your Google Drive files
Terms Compliance
Your use of Google Drive through Blober is subject to [Google's Terms of Service](https://policies.google.com/terms). See our [Terms of Service](/kb/docs/terms-and-privacy/terms-of-service/) for details.
## File Types
[Section titled "File Types"](#file-types)
Google Drive handles these file types:
| Type | Description | Export Format |
| ------------- | --------------------------- | ---------------- |
| Regular files | Documents, images, videos | As-is |
| Google Docs | Google Docs documents | `.docx` |
| Google Sheets | Google Sheets spreadsheets | `.xlsx` |
| Google Slides | Google Slides presentations | `.pptx` |
| Google Forms | Form definitions | Not downloadable |
## Permissions & Privacy
[Section titled "Permissions & Privacy"](#permissions--privacy)
When you connect Google Drive, Blober requests these permissions:
* **View files:** Read file names and metadata
* **Download files:** Download file contents
* **Upload files:** Create new files
* **Delete files:** Remove files you own
**Blober will never:**
* Access files from other apps without permission
* Modify files without your explicit action
* Share your data with third parties
## The Authorization Screen
[Section titled "The Authorization Screen"](#the-authorization-screen)
When you first connect, your browser will show Google's consent flow:
1. **Sign in** with the Google account you added as a test user
2. **"Google hasn't verified this app"** warning: click **Advanced**, then **Go to \[App Name] (unsafe)**
3. **Permission grant**: review the permissions and click **Allow**
This warning is normal for apps in Testing mode and does not mean anything is wrong.
## Common Issues
[Section titled "Common Issues"](#common-issues)
### "Google hasn't verified this app" (blocked, can't proceed)
[Section titled ""Google hasn't verified this app" (blocked, can't proceed)"](#google-hasnt-verified-this-app-blocked-cant-proceed)
* Make sure you click **Advanced** at the bottom of the warning screen, then click the small link **Go to \[App Name] (unsafe)**
* If you don't see the "Advanced" link, you may be signed into the wrong Google account
### "403 Access Denied" or "Error 403: access\_denied"
[Section titled ""403 Access Denied" or "Error 403: access\_denied""](#403-access-denied-or-error-403-access_denied)
* You forgot to add yourself as a **test user**. Go to **Google Auth Platform** > **Audience** > **Test users**, add your exact Gmail address
* Make sure you're signing in with the same email you added as a test user
### "redirect\_uri\_mismatch"
[Section titled ""redirect\_uri\_mismatch""](#redirect_uri_mismatch)
* The redirect URI your app is sending doesn't match what's configured. For Desktop app credentials, this is handled automatically, so you shouldn't see this error
* If you do, make sure your credential type is **Desktop app** (not "Web application")
### "Authentication Failed"
[Section titled ""Authentication Failed""](#authentication-failed)
* Try disconnecting and reconnecting in Blober
* Clear browser cookies for `accounts.google.com`
* Check you're signing into the correct Google account
### "Permission Denied" on files
[Section titled ""Permission Denied" on files"](#permission-denied-on-files)
* Re-authorize to refresh permissions
* Check if files are owned by you or shared with you
* Verify the Drive API is enabled for your project
### "Files Not Showing"
[Section titled ""Files Not Showing""](#files-not-showing)
* Refresh the file list
* Check you're in the correct folder
* Verify files aren't in Trash
### Console shows "You need additional access"
[Section titled "Console shows "You need additional access""](#console-shows-you-need-additional-access)
* You're viewing a project you don't own. Click the **project picker** in the top-left and select the correct project
* This also happens if the project name in the URL doesn't match your actual project ID
## Limitations
[Section titled "Limitations"](#limitations)
### Storage
[Section titled "Storage"](#storage)
* **Free tier:** 15 GB (shared with Gmail and Google Photos)
* **Maximum file size:** 5 TB per file
* **Daily upload limit:** 750 GB
### API Quotas
[Section titled "API Quotas"](#api-quotas)
* Google imposes rate limits on API requests
* Blober handles rate limiting automatically
* Large operations may take longer due to throttling
### Google Workspace Files
[Section titled "Google Workspace Files"](#google-workspace-files)
* Google Docs/Sheets/Slides are exported to Microsoft Office formats
* Some formatting may differ after export
* Google Forms cannot be downloaded
### File and Folder Names
[Section titled "File and Folder Names"](#file-and-folder-names)
* Blober treats backslashes (`\`) as path separators for Windows and network paths. A Google Drive destination name containing a literal backslash is created as nested folders instead.
## Best Practices
[Section titled "Best Practices"](#best-practices)
### Security
[Section titled "Security"](#security)
* Never share your OAuth credentials JSON file with anyone
* Don't commit the JSON file to version control (add it to `.gitignore`)
* Periodically review connected apps in [Google Account settings](https://myaccount.google.com/permissions)
* Revoke access for apps you no longer use
## Search Syntax
[Section titled "Search Syntax"](#search-syntax)
You can use Google Drive's search from within Blober:
| Query | Description |
| -------------------- | ------------------------------- |
| `filename:report` | Files with "report" in the name |
| `type:pdf` | PDF files only |
| `owner:me` | Files you own |
| `modified:last7days` | Recently modified |
## Further Reading
[Section titled "Further Reading"](#further-reading)
* [How to Transfer GoPro Cloud to Google Drive Without ZIP Files](/kb/articles/move-gopro-cloud-to-google-drive/) - connect both providers and resume a large transfer safely
## External References
[Section titled "External References"](#external-references)
* [Google Auth Platform Overview](https://console.cloud.google.com/auth/overview): configure OAuth consent
* [Google Drive API Library Page](https://console.cloud.google.com/apis/library/drive.googleapis.com): enable the Drive API
* [OAuth for Desktop Apps](https://developers.google.com/identity/protocols/oauth2/native-app): how OAuth works for desktop apps
* [Google Drive API Documentation](https://developers.google.com/drive/api/guides/about-sdk)
* [Google Cloud Console](https://console.cloud.google.com/)
# Google Photos Backup Without Google Takeout
> How to connect Blober to Google Photos. Download your photos and videos at original quality without Google Takeout. No API keys required.
Google Photos is Google's photo and video storage service. Blober connects to your Google Photos library through a browser-based login - no API keys or developer setup required.
Caution
Google Photos support is currently in **early access**. Only downloading is available right now. Google may throttle downloads, especially for large photos and videos, so Blober prioritizes reliable transfers over maximum speed. Upload support will follow in a future release.
## Capabilities
[Section titled "Capabilities"](#capabilities)
* ✅ Browse photos and videos
* ✅ Download files (original quality)
* ✅ View file metadata (filename, date, dimensions, camera, file size)
* 🚧 Upload files (coming soon)
* ❌ Delete media
* ❌ Create folders (Google Photos organizes automatically)
* ❌ Move/rename files
## Prerequisites
[Section titled "Prerequisites"](#prerequisites)
* A [Google account](https://accounts.google.com/) with Google Photos enabled
* Photos or videos in your Google Photos library
## Setup
[Section titled "Setup"](#setup)
1. Go to **Workflows** => **New Workflow**
2. Select **Google Photos** as a source
3. Click **Sign in with Google**
4. A browser window opens - sign in with your Google account
5. Once signed in, the window closes and Blober is ready
6. Start browsing or transferring files
Tip
After signing in, Blober keeps a background session to communicate with Google Photos. If Google's cookies expire, Blober will open a login window so you can sign in again - no data is lost.
## Multiple Accounts
[Section titled "Multiple Accounts"](#multiple-accounts)
Blober supports connecting multiple Google accounts at the same time.
1. In a workflow, open the **Google Account** dropdown
2. Click **+ New Account** to connect another Google account
3. A new login window opens - sign in with a different account
4. Switch between accounts using the dropdown
Each account maintains its own session independently. You can run workflows against different accounts in parallel.
Use **↻** to refresh the account list.
## File Organization
[Section titled "File Organization"](#file-organization)
Google Photos files are organized by date and filename:
```plaintext
/2026-01-23/IMG_1234.jpg
/2026-01-23/VID_5678.mp4
/2025-12-15/PXL_20251215_143022.jpg
```
### Browse Modes
[Section titled "Browse Modes"](#browse-modes)
| Mode | Description |
| ------------ | ------------------------------ |
| Flat | All files listed at root level |
| Hierarchical | Date => Files |
### File Selection
[Section titled "File Selection"](#file-selection)
When browsing your Google Photos library, you can select:
* **Individual files** by clicking a single file
* **Multiple files** by checking several files across folders
* **Entire library** by ticking the **/ (Entire Storage)** checkbox
After making your selection, click **Submit Selection** to add the files to your workflow. There is no file limit.
## Supported File Types
[Section titled "Supported File Types"](#supported-file-types)
| Type | Extensions |
| ------ | --------------------------------------------------------------- |
| Photos | `.jpg`, `.png`, `.heic`, `.webp`, `.raw`, `.dng` |
| Videos | `.mp4`, `.mov`, `.avi`, `.mkv`, `.webm`, `.m4v`, `.mts`, `.3gp` |
## Metadata
[Section titled "Metadata"](#metadata)
Each file includes the following metadata, available for use in Blober's naming templates:
| Field | Example |
| ------------ | ------------- |
| Filename | IMG\_1234.jpg |
| Capture date | 2026-01-23 |
| Dimensions | 4032 × 3024 |
| Camera | Pixel 9 Pro |
| File size | 4.2 MB |
## Best Practices
[Section titled "Best Practices"](#best-practices)
### Back Up Your Google Photos
[Section titled "Back Up Your Google Photos"](#back-up-your-google-photos)
Use Google Photos as a **source** to back up your library to local storage or another cloud provider. This is especially useful since Google Photos counts against your Google storage quota.
### Migrate to Another Provider
[Section titled "Migrate to Another Provider"](#migrate-to-another-provider)
Transfer your Google Photos library to S3, Azure, Dropbox, Backblaze B2, or any other supported provider. Blober downloads original-quality files directly from Google. Files move directly from Google to your destination - no manual downloads required.
## Troubleshooting
[Section titled "Troubleshooting"](#troubleshooting)
### Connection issues
[Section titled "Connection issues"](#connection-issues)
* **Login window appears unexpectedly** - Google's session cookies have expired. Sign in again to continue. This is normal and happens periodically.
* **Empty file list** - Make sure you have photos in your Google Photos library (not just in Google Drive). Shared albums may not appear.
* **Login window closed accidentally** - Click **Sign in with Google** again. No data is lost.
### Download issues
[Section titled "Download issues"](#download-issues)
* **Download failed for a specific file** - The file may be in a format that Google doesn't serve directly. Try again, or check if the file is viewable in [Google Photos](https://photos.google.com/).
* **Video downloads as image** - This can happen for files that were listed without full metadata. The file will be corrected automatically on download (the real filename comes from Google's servers).
## Limitations
[Section titled "Limitations"](#limitations)
* **Download only** - Upload support is coming in a future release
* **Session duration** - Google sessions expire periodically. Blober will prompt you to sign in again when this happens
* **No album browsing** - Blober lists your entire library chronologically, not by album
* **Rate limiting** - Very large libraries may take time to load as Google returns items in batches
Caution
Google Photos does not provide an official public API for this type of access. If something stops working after a Google update, check for a Blober update. Your use of Google Photos through Blober is at your own risk and must comply with [Google's Terms of Service](https://policies.google.com/terms). Blober does not guarantee uptime or uninterrupted access to Google services. See our [Terms of Service](/kb/docs/terms-and-privacy/terms-of-service/) for details.
## Further Reading
[Section titled "Further Reading"](#further-reading)
* [How to Backup Google Photos Without Google Takeout (After rclone Lost Access)](/kb/articles/how-to-backup-google-photos-without-takeout/) - the complete guide to downloading your entire Google Photos library
* [Back Up Cloud Storage Directly to Your NAS](/kb/articles/backup-cloud-to-nas-synology-network-drive/) - back up Google Photos to a Synology, QNAP, or any NAS
## External References
[Section titled "External References"](#external-references)
* [Google Photos](https://photos.google.com/)
* [Google Storage Quota](https://one.google.com/storage)
# GoPro Plus Cloud Media Download & Backup
> How to connect Blober to GoPro Plus Cloud. Download all your GoPro media, back up to other providers, or transfer to local storage. No 25-file limit.
GoPro Plus is GoPro's cloud storage service, offering unlimited storage for GoPro camera media. Blober connects to your GoPro account through a simple browser-based login.
**Blober is the only tool that connects to GoPro Cloud.** rclone, MultCloud, and Flexify do not support GoPro as a source. GoPro's own web portal limits batch downloads to 25 files at a time bundled as ZIPs, with no bulk export or "Download All" option. Blober removes these limits entirely.
## Capabilities
[Section titled "Capabilities"](#capabilities)
* ✅ Browse media (photos & videos)
* ✅ Upload files (up to 5 TB)
* ✅ Download files (highest quality, parallel downloads with automatic resume)
* ✅ Delete media
* ✅ View file metadata (resolution, camera model, capture date)
* ✅ Progress tracking for uploads
* ❌ Create folders (GoPro organizes by date/camera automatically)
* ❌ Move/rename files
## Prerequisites
[Section titled "Prerequisites"](#prerequisites)
* A [GoPro Plus](https://gopro.com/en/us/gopro-subscription) subscription (or GoPro Premium)
* Media previously uploaded from a GoPro camera or the GoPro app
## Setup
[Section titled "Setup"](#setup)
1. Go to **Workflows** => **New Workflow**
2. Select **GoPro** as source or destination
3. Click **Open GoPro Login**
4. A browser window opens - sign in with your GoPro account
5. Blober captures your session automatically and the window closes
6. Start browsing or transferring files
Tip
Your session lasts approximately 20 hours. When it expires, Blober will open a login window so you can sign in again - no data is lost.
## Multiple Accounts
[Section titled "Multiple Accounts"](#multiple-accounts)
Blober supports connecting multiple GoPro accounts at the same time.
1. In a workflow, open the **GoPro Account** dropdown
2. Click **+ New Account** to connect another GoPro account
3. A new login window opens - sign in with a different account
4. Switch between accounts using the dropdown
Each account maintains its own session independently. You can run workflows against different accounts in parallel.
Use **↻** to refresh the account list.
## File Organization
[Section titled "File Organization"](#file-organization)
GoPro automatically organizes your media into folders by date, camera, and type:
```plaintext
/2026-01-23/HERO13 Black/videos/GX015742.MP4
/2026-01-23/HERO13 Black/photos/GOPR0001.JPG
/2025-12-15/HERO12 Black/videos/GX014521.MP4
```
### Browse Modes
[Section titled "Browse Modes"](#browse-modes)
| Mode | Description |
| ------------ | ------------------------------- |
| Flat | All files listed at root level |
| Hierarchical | Date => Camera => Type => Files |
### File Selection
[Section titled "File Selection"](#file-selection)
When browsing your GoPro Cloud library, you can select:
* **Individual files** by clicking a single file
* **Multiple files** by checking several files across folders
* **Entire directory** by ticking the **/ (Entire Storage)** checkbox
After making your selection, click **Submit Selection** to add the files to your workflow. There is no file limit - transfer 10 files or 10,000 in one run.
## Supported File Types
[Section titled "Supported File Types"](#supported-file-types)
| Type | Extensions |
| ------ | ------------------------------ |
| Videos | `.mp4`, `.mov`, `.avi`, `.mkv` |
| Photos | `.jpg`, `.png`, `.raw`, `.dng` |
## Metadata
[Section titled "Metadata"](#metadata)
Each file includes the following metadata, available for use in Blober's naming templates:
| Field | Example |
| ------------ | ------------------ |
| Camera model | HERO13 Black |
| Capture date | 2026-01-23 |
| Resolution | 5312 × 2988 |
| File size | 142.5 MB |
| Duration | 0:32 (videos only) |
## Uploads
[Section titled "Uploads"](#uploads)
Blober handles uploads to GoPro Plus automatically.
* Files up to **5 TB** are supported
* Upload progress is reported in real time
* If an upload fails partway through, simply retry - no partial files are left behind
## Best Practices
[Section titled "Best Practices"](#best-practices)
### Backup Your GoPro Cloud
[Section titled "Backup Your GoPro Cloud"](#backup-your-gopro-cloud)
Use GoPro as a **source** to back up your cloud media to local storage or another cloud provider. Combine with scheduled workflows for automatic backups.
### Migrate to Another Provider
[Section titled "Migrate to Another Provider"](#migrate-to-another-provider)
Transfer GoPro cloud media to S3, Azure, Dropbox, Backblaze B2, or any other supported provider. Blober always downloads the highest resolution variant to preserve original quality. Files move directly from GoPro Cloud to your destination - no manual downloads required.
### Browse Efficiently
[Section titled "Browse Efficiently"](#browse-efficiently)
Use hierarchical mode to browse by date and camera model, or switch to flat mode to see everything at once. Use Blober's filtering to find specific media types.
## Troubleshooting
[Section titled "Troubleshooting"](#troubleshooting)
### Connection issues
[Section titled "Connection issues"](#connection-issues)
* **"Not authenticated"** - Your session has expired. Open the **GoPro Account** picker and click **+ New Account** to sign in again, or pick another previously connected account from the dropdown.
* **Downloads not working** - The file may still be processing on GoPro's servers. Check that it shows as ready in the [GoPro web app](https://plus.gopro.com/).
* **Login window reappears** - If you close the login window without signing in, Blober will not re-open it automatically. Click **Open GoPro Login** again when you're ready.
### Upload issues
[Section titled "Upload issues"](#upload-issues)
* **Upload failed** - Simply retry the upload. Blober handles temporary errors automatically.
* **Slow uploads** - Large files take time to upload. This is normal.
## Limitations
[Section titled "Limitations"](#limitations)
* **Storage:** Unlimited with GoPro Plus subscription
* **Session duration:** \~20 hours before re-authentication is needed
* **No folder management:** GoPro organizes files automatically - you cannot create, move, or rename folders/files
* **Rate limiting:** Large batch operations may be throttled by GoPro
Caution
GoPro does not provide an official public API. If something stops working after a GoPro update, check for a Blober update. Your use of GoPro Plus through Blober is at your own risk and must comply with [GoPro's Terms of Service](https://gopro.com/en/us/legal/terms-of-service). Blober does not guarantee uptime or uninterrupted access to GoPro services. See our [Terms of Service](/kb/docs/terms-and-privacy/terms-of-service/) for details.
## Further Reading
[Section titled "Further Reading"](#further-reading)
[Play](https://youtube.com/watch?v=TLvZ4Xo9c-g)
* [Transfer GoPro Cloud Files in 45 Seconds with Blober](/kb/articles/gopro-cloud-workflow-setup-45-seconds/) - step-by-step tutorial with video walkthrough
* [How to Move GoPro Cloud Media to Dropbox the Easy Way](/kb/articles/move-gopro-cloud-media-to-dropbox/) - GoPro to Dropbox transfer guide
* [How to Transfer GoPro Cloud to Google Drive Without ZIP Files](/kb/articles/move-gopro-cloud-to-google-drive/) - direct GoPro-to-Drive backup guide for long-running libraries
## External References
[Section titled "External References"](#external-references)
* [GoPro Web App](https://plus.gopro.com/)
# Local File System & NAS Backup Setup
> How to use local storage in Blober. Back up local files (hard drives, NAS, SD cards) to the cloud, or download cloud files to your computer.
The Local provider reads and writes to your computer's file system. This is particularly useful in the desktop app for backing up local files to cloud storage or syncing cloud files locally.
## Capabilities
[Section titled "Capabilities"](#capabilities)
* ✅ Browse folders and files via the desktop file picker
* ✅ Create directories
* ✅ Upload/copy files
* ✅ Download/copy files
* ✅ Delete files and directories
* ✅ Move files
* ✅ Get file metadata (size, dates, permissions)
* ✅ Real-time file change detection
## Prerequisites
[Section titled "Prerequisites"](#prerequisites)
* Blober Desktop App installed
* Read/write permissions to the directories you want to access
## Path Format
[Section titled "Path Format"](#path-format)
Local paths are standard absolute paths on your operating system:
**Windows:**
```plaintext
C:\Users\YourName\Documents
D:\Backups\photos
```
**macOS:**
```plaintext
/Users/YourName/Documents
/Volumes/ExternalDrive/backups
```
**Linux:**
```plaintext
/home/yourname/documents
/mnt/backup
/media/yourname/external-drive
```
## Configuration
[Section titled "Configuration"](#configuration)
No credentials are required for the Local provider. Access is based on the permissions of the user running the Blober desktop app.
[]()
### Deduplication
[Section titled "Deduplication"](#deduplication)
* **Default:** `none`
* **Used for:** Destination
Controls what happens when the exact destination filename already exists.
| Value | Behavior |
| ---------- | --------------------------------------------------------------------- |
| `none` | Keep both files by adding `(1)`, `(2)`, and so on to the new filename |
| `filename` | Skip the new file when its exact destination filename already exists |
Use **Filename** when rerunning the same export into the same folder and you do not want existing files downloaded again. The check occurs before Local consumes the source stream and is repeated during the final atomic filename claim to cover concurrent transfers.
Caution
Filename deduplication does not compare file contents. Some providers, including Google Photos, can contain different files with the same filename. Those files will be skipped in **Filename** mode, so leave deduplication set to **None** when preserving every same-name file matters.
For help choosing between resuming an interrupted task and starting a new deduplicated export, read [How Blober Handles Duplicate Files in Long-Running Backups](/kb/articles/avoid-duplicate-files-long-running-backups/). For a complete source setup, see [How to Back Up Google Photos Without Google Takeout](/kb/articles/how-to-backup-google-photos-without-takeout/).
Content-hash deduplication is not currently available. A future same-filename hash mode could compare the existing file with the completed temporary download without a database change, but it would not avoid downloading the bytes and would reread the existing file. Efficient destination-wide hash matching requires a persisted index that maps files to their hashes.
### Browsing Files
[Section titled "Browsing Files"](#browsing-files)
1. In Blober, go to **Workflows** => **New Workflow**
2. Select **Local** as source or destination
3. Click **Browse** to open the file picker
4. Navigate to and select your folder
5. The path will be populated automatically
## Use Cases
[Section titled "Use Cases"](#use-cases)
### Backup Local Files to Cloud
[Section titled "Backup Local Files to Cloud"](#backup-local-files-to-cloud)
Create a workflow to automatically backup your Documents folder to Azure Blob, S3, or other cloud storage.
**Example:**
* **Source:** Local `/Users/you/Documents`
* **Destination:** AWS S3 `my-backup-bucket/documents/`
* **Action:** Copy
### Download Cloud Files Locally
[Section titled "Download Cloud Files Locally"](#download-cloud-files-locally)
Sync your Google Drive or cloud storage files to a local folder for offline access.
**Example:**
* **Source:** Google Drive `My Files/Projects`
* **Destination:** Local `/Users/you/Projects`
* **Action:** Copy
### Local-to-Local Copy
[Section titled "Local-to-Local Copy"](#local-to-local-copy)
Copy files between different drives or directories on your computer.
**Example:**
* **Source:** Local `/Users/you/Downloads`
* **Destination:** Local `/Volumes/ExternalDrive/Archive`
* **Action:** Move
### Testing Workflows
[Section titled "Testing Workflows"](#testing-workflows)
Use local storage to test workflow configurations before running against cloud providers.
## Important Safety Behavior
[Section titled "Important Safety Behavior"](#important-safety-behavior)
To avoid accidentally listing your entire file system, the Local provider will **not** list anything when no start directory is specified. Browsing is always done via the UI file picker.
## Permissions by Operating System
[Section titled "Permissions by Operating System"](#permissions-by-operating-system)
### Windows
[Section titled "Windows"](#windows)
* Access depends on NTFS permissions and UAC settings
* Run Blober as Administrator if you need access to system directories
* Right-click folder => **Properties** => **Security** to check permissions
### macOS
[Section titled "macOS"](#macos)
* You may need to grant **Files and Folders** or **Full Disk Access** permissions
* Go to **System Preferences** => **Security & Privacy** => **Privacy** => **Files and Folders**
* If prompted, click **Allow** when Blober requests folder access
### Linux
[Section titled "Linux"](#linux)
* Permissions are based on the user running the app and mount permissions
* Check permissions with `ls -la /path/to/folder`
* Fix permissions if needed:
```bash
chmod -R u+rw /path/to/folder
```
## Common Issues
[Section titled "Common Issues"](#common-issues)
### Slow Performance
[Section titled "Slow Performance"](#slow-performance)
* Exclude directories with many small files (1000s of files)
* Check if antivirus is scanning files during operations
* Ensure disk health is good (check SMART status)
* Consider using filters to exclude temporary files
### External Drive Not Showing
[Section titled "External Drive Not Showing"](#external-drive-not-showing)
* Ensure the drive is properly mounted
* On Linux, check `/media/` or `/mnt/` for mount points
* On macOS, check `/Volumes/`
* On Windows, check if drive letter is assigned
## Best Practices
[Section titled "Best Practices"](#best-practices)
### Path Selection
[Section titled "Path Selection"](#path-selection)
* Choose specific folders rather than entire drives
* Avoid system directories:
* Windows: `C:\Windows`, `C:\Program Files`
* macOS: `/System`, `/Library`
* Linux: `/bin`, `/etc`, `/usr`
* Create dedicated backup folders for organization
### Performance
[Section titled "Performance"](#performance)
* Local operations are generally faster than cloud operations
* For directories with thousands of files, use filters to limit scope
* Consider excluding temporary files (`.tmp`, `.log`, cache directories)
### Security
[Section titled "Security"](#security)
* Local storage never leaves your computer
* No data is sent to Blober servers
* Perfect for sensitive files that shouldn't be uploaded to cloud
## Advanced Configuration
[Section titled "Advanced Configuration"](#advanced-configuration)
### Symbolic Links
[Section titled "Symbolic Links"](#symbolic-links)
Blober can follow symbolic links:
* Useful for organizing files across locations
* Be careful with circular links (A => B => A)
* Enable in workflow settings if needed
### Hidden Files
[Section titled "Hidden Files"](#hidden-files)
* By default, hidden files (starting with `.` on Unix) may be hidden
* Enable "Show hidden files" in settings to include them
* Useful for backing up configuration files (`.bashrc`, `.gitconfig`)
### File Filters
[Section titled "File Filters"](#file-filters)
Exclude certain file types from operations:
**Example filters:**
```plaintext
*.tmp # Temporary files
*.log # Log files
.DS_Store # macOS metadata
Thumbs.db # Windows thumbnails
node_modules/ # Dependencies
```
## Security Considerations
[Section titled "Security Considerations"](#security-considerations)
### Sandboxing
[Section titled "Sandboxing"](#sandboxing)
The desktop app respects OS-level sandboxing:
* Limited access to system files
* User explicitly grants folder access
* No access to other applications' data
### Privacy
[Section titled "Privacy"](#privacy)
* Files stay on your computer (for local-to-local operations)
* Cloud transfers go directly to the destination provider
* Blober doesn't store your files on its servers
## External References
[Section titled "External References"](#external-references)
* [Windows File Permissions](https://docs.microsoft.com/en-us/windows/security/identity-protection/access-control/access-control)
* [macOS Privacy Controls](https://support.apple.com/guide/mac-help/control-access-to-files-and-folders-on-mac-mchld5a35146/mac)
* [Linux File Permissions](https://wiki.archlinux.org/title/File_permissions_and_attributes)
# OneDrive Setup: Connect & Transfer Files
> Connect Blober to Microsoft OneDrive to browse, upload, download, delete, and transfer files.
Blober connects to your OneDrive through Microsoft Graph. The first setup usually takes about five minutes.
## What works
[Section titled "What works"](#what-works)
* ✅ Personal OneDrive
* ✅ Your default work or school OneDrive
* ✅ Browsing files and folders
* ✅ Uploading and downloading files
* ✅ Creating missing destination folders
* ✅ Moving deleted files and folders to the OneDrive recycle bin
* ✅ Reading file names, sizes, and dates
* ✅ Resuming large uploads
Blober accesses only the OneDrive of the account you sign in with. It does not use an organization-wide administrator account.
## Before you start
[Section titled "Before you start"](#before-you-start)
You need:
* A Microsoft account with OneDrive
* Permission to create an app registration
* Blober installed on the same computer where you complete sign-in
Note
Some work or school organizations prevent users from creating apps or approving permissions. If an administrator approval message appears, send this guide to your Microsoft 365 administrator.
## Part 1: Create the Microsoft app
[Section titled "Part 1: Create the Microsoft app"](#part-1-create-the-microsoft-app)
### 1. Register the app
[Section titled "1. Register the app"](#1-register-the-app)
1. Open the [Microsoft Entra admin center](https://entra.microsoft.com/).
2. Sign in with your Microsoft account.
3. Open **Entra ID** > **App registrations**.
4. Select **New registration**.
5. Enter `Blober OneDrive` for the name.
6. Under **Supported account types**, select:
**Accounts in any organizational directory and personal Microsoft accounts**
7. Leave **Redirect URI** empty for now.
8. Select **Register**.

### 2. Copy the client ID
[Section titled "2. Copy the client ID"](#2-copy-the-client-id)
The app's **Overview** page opens after registration.
1. Find **Application (client) ID**.
2. Copy it somewhere temporarily.

Use the **Application (client) ID**, not the Object ID or Directory (tenant) ID. It looks like this:
```text
00000000-0000-4000-8000-000000000000
```
Note
Blober asks only for the **Application (client) ID**. It does not use a client secret.
### 3. Add the sign-in return address
[Section titled "3. Add the sign-in return address"](#3-add-the-sign-in-return-address)
1. In the app's left menu, open **Authentication** or **Authentication (Preview)**.
2. Select **Add a platform**.
3. Select **Mobile and desktop applications**.

4. Under **Custom redirect URIs**, enter exactly:
```text
http://localhost/onedrive/callback
```

5. Select **Configure**.
The path is case-sensitive. Do not add a port number, trailing slash, or query parameters. Microsoft accepts the temporary local port that Blober uses during sign-in.
### 4. Add OneDrive permission
[Section titled "4. Add OneDrive permission"](#4-add-onedrive-permission)
1. In the app's left menu, open **API permissions**.
2. Select **Add a permission**.
3. Select **Microsoft Graph**.
4. Select **Delegated permissions**.
5. Search for `Files.ReadWrite`.
6. Check **Files.ReadWrite**.
7. Select **Add permissions**.

Your configured permissions should show one delegated permission: **Files.ReadWrite**.

`Files.ReadWrite` lets Blober read, create, replace, and delete files in the signed-in user's OneDrive. It does not give Blober unattended access to every user in an organization.
You do not need `Files.ReadWrite.All`, `Sites.ReadWrite.All`, or an application permission.
If `User.Read` was added automatically, you can remove it. Blober does not use that permission.
## Part 2: Connect OneDrive in Blober
[Section titled "Part 2: Connect OneDrive in Blober"](#part-2-connect-onedrive-in-blober)
[]()
1. Open Blober.
2. Go to **Workflows** > **New Workflow**.
3. Select **Microsoft OneDrive** as the source or destination.
4. Paste the **Application (client) ID** into the Microsoft application client ID field.
5. Enter the email address of the Microsoft account you want to connect.
6. Select **Authorize Microsoft OneDrive**.
7. Sign in with that Microsoft account.
8. Review the requested file permission and select **Accept**.
9. After Microsoft reports success, close the browser tab and return to Blober.
You can now browse your OneDrive and run a transfer.
Tip
Test the connection by opening the folder picker. If your OneDrive files appear, setup is complete.
## File behavior
[Section titled "File behavior"](#file-behavior)
### Uploads
[Section titled "Uploads"](#uploads)
* Files up to 250 GB are supported.
* Missing destination folders are created automatically.
* An existing file with the same destination name is replaced.
* Large files use resumable uploads.
### Downloads
[Section titled "Downloads"](#downloads)
Microsoft Office files stored in OneDrive are ordinary files. Unlike native Google Docs, they do not need export conversion before download.
### Deletes
[Section titled "Deletes"](#deletes)
Deleting through Blober moves an item to the OneDrive recycle bin. It does not permanently erase the item immediately.
## Troubleshooting
[Section titled "Troubleshooting"](#troubleshooting)
### "The reply URL does not match" or `AADSTS50011`
[Section titled ""The reply URL does not match" or AADSTS50011"](#the-reply-url-does-not-match-or-aadsts50011)
The redirect URI is missing or different.
1. Open your app registration.
2. Go to **Authentication**.
3. Confirm it is under **Mobile and desktop applications**.
4. Confirm the value is exactly:
```text
http://localhost/onedrive/callback
```
### "Need admin approval"
[Section titled ""Need admin approval""](#need-admin-approval)
Your organization blocks user consent or app registration.
* Ask your Microsoft 365 administrator to approve the delegated `Files.ReadWrite` permission.
* Do not work around the policy by adding broader permissions.
Microsoft classifies `Files.ReadWrite` as not requiring administrator consent by default, but an organization can enforce stricter rules.
### OneDrive is not licensed or could not be provisioned
[Section titled "OneDrive is not licensed or could not be provisioned"](#onedrive-is-not-licensed-or-could-not-be-provisioned)
The signed-in work or school account may not have a OneDrive license.
* Open [OneDrive on the web](https://onedrive.live.com/) with the same account.
* If this is a managed organization account, ask the administrator to assign a OneDrive license.
* Then reconnect in Blober.
### Authentication expired
[Section titled "Authentication expired"](#authentication-expired)
Blober uses the saved Microsoft refresh token to replace short-lived access tokens automatically. Normal access-token expiry does not require any action.
Microsoft refresh tokens typically expire after 90 days without use and can also be revoked by you or an administrator.
When Microsoft can no longer refresh the connection, open the workflow for editing. Under **Microsoft application client ID**, select **Authorize Microsoft OneDrive** and sign in again. Existing workflows and files are not deleted.
### Files or folders are missing
[Section titled "Files or folders are missing"](#files-or-folders-are-missing)
Blober shows only the signed-in account's default drive. It does not show:
* **Shared with me**
* SharePoint and Teams document libraries
* OneDrive shortcuts to another drive
* OneNote notebooks
* Additional drives belonging to groups or sites
Microsoft's old `sharedWithMe` API returns references to items in other drives, not a folder inside your drive. Reading those items requires the broader `Files.Read.All` or `Files.ReadWrite.All` permission. Microsoft has deprecated the API and says it will stop returning data after November 2026, so Blober does not request the broader permission or build on that endpoint.
An **Add shortcut to My files** entry still points to the other drive and is also skipped. To transfer a shared item, download it and upload it to your own OneDrive as an ordinary file first.
### Upload rejected because of the name
[Section titled "Upload rejected because of the name"](#upload-rejected-because-of-the-name)
OneDrive does not allow these characters in a file or folder name:
```text
" * : < > ? / \ |
```
Names also cannot begin or end with a space or end with a period. Windows reserved names such as `CON`, `AUX`, `NUL`, `COM1`, and `LPT1` are rejected. OneDrive names are case insensitive, so `Report.docx` and `report.docx` cannot exist in the same folder.
### An iPhone Live Photo fails during transfer
[Section titled "An iPhone Live Photo fails during transfer"](#an-iphone-live-photo-fails-during-transfer)
OneDrive can report the combined Live Photo size for a `.heic` file while its download endpoint returns only the still image. The size mismatch can stop the transfer. Export the photo from OneDrive and transfer the exported file instead.
## Security and privacy
[Section titled "Security and privacy"](#security-and-privacy)
* Sign-in happens on Microsoft's website, not inside a Blober password form.
* Blober never receives your Microsoft password.
* The app uses delegated access for the account that signs in.
* No client secret is required or stored.
* You can revoke access from [Microsoft account privacy settings](https://account.live.com/consent/Manage) or your organization's [My Apps portal](https://myapps.microsoft.com/).
Terms compliance
Your use of OneDrive through Blober is subject to [Microsoft's Services Agreement](https://www.microsoft.com/servicesagreement). See our [Terms of Service](/kb/docs/terms-and-privacy/terms-of-service/) for details.
## Current limitations
[Section titled "Current limitations"](#current-limitations)
* Government and China cloud endpoints are not supported.
* The signed-in user's default drive only.
* Copy and move transfers pass through the computer running Blober, so Blober must remain open until the transfer finishes.
* Personal Vault is not supported.
* OneDrive can fail to list a single folder containing about 100,000 items. Split unusually large folders before transferring them.
## Official Microsoft references
[Section titled "Official Microsoft references"](#official-microsoft-references)
* [Register an application](https://learn.microsoft.com/entra/identity-platform/quickstart-register-app)
* [Desktop redirect URI guidance](https://learn.microsoft.com/entra/identity-platform/reply-url)
* [Microsoft Graph permissions reference](https://learn.microsoft.com/graph/permissions-reference#filesreadwrite)
* [Access the signed-in user's OneDrive](https://learn.microsoft.com/graph/api/drive-get?view=graph-rest-1.0)
* [Microsoft refresh-token behavior](https://learn.microsoft.com/entra/identity-platform/refresh-tokens)
* [Deprecated Shared with me API](https://learn.microsoft.com/graph/api/drive-sharedwithme?view=graph-rest-1.0)
* [OneDrive file and folder restrictions](https://support.microsoft.com/office/restrictions-and-limitations-in-onedrive-and-sharepoint-64883a5d-228e-48f5-b3d2-eb39e07630fa)
# Proton Drive Setup with PGP Encryption
> How to connect Blober to Proton Drive. Download and upload files with automatic PGP encryption and decryption. Browser-based login, no API keys.
Proton Drive is Proton's end-to-end encrypted cloud storage service. Blober connects to your Proton Drive through a browser-based login. No API keys or developer setup required.
Caution
Proton Drive support is currently in **early access**. All files are encrypted with PGP, so operations may be slower than other providers.
## Capabilities
[Section titled "Capabilities"](#capabilities)
* ✅ Browse files and folders
* ✅ Download files (decrypted automatically)
* ✅ Upload files (encrypted automatically)
* ✅ Delete files (moves to Proton trash)
* ✅ View file metadata (filename, dates, size)
* ❌ Create folders
* ❌ Move/rename files
## Prerequisites
[Section titled "Prerequisites"](#prerequisites)
A [Proton](https://proton.me/) account with Drive enabled (free or paid)
## Setup
[Section titled "Setup"](#setup)
1. Go to **Workflows** => **New Workflow**
2. Select **Proton Drive** as source or destination
3. Click **Open Proton Drive Login**
4. A browser window opens. Sign in with your Proton account (email, password, and 2FA if enabled)
5. Wait for Proton Drive to fully load in the window
6. Blober captures your session automatically and the window closes
7. Start browsing or transferring files
Tip
Your session lasts approximately 12 hours. When it expires, Blober will open a login window so you can sign in again. No data is lost.
## Multiple Accounts
[Section titled "Multiple Accounts"](#multiple-accounts)
Blober supports connecting multiple Proton accounts at the same time.
1. In a workflow, open the **Proton Account** dropdown
2. Click **+ New Account** to connect another Proton account
3. A new login window opens. Sign in with a different account
4. Switch between accounts using the dropdown
Each account maintains its own isolated session. You can run workflows against different accounts in parallel.
Use **↻** to refresh the account list.
## File Organization
[Section titled "File Organization"](#file-organization)
Proton Drive preserves your folder structure as-is:
```plaintext
/Documents/report.pdf
/Photos/vacation/IMG_001.jpg
/Videos/project-demo.mp4
```
### File Selection
[Section titled "File Selection"](#file-selection)
When browsing your Proton Drive, you can select:
* **Individual files** by clicking a single file
* **Multiple files** by checking several files across folders
* **Entire drive** by ticking the **/ (Entire Storage)** checkbox
After making your selection, click **Submit Selection** to add the files to your workflow.
## Performance
[Section titled "Performance"](#performance)
Proton Drive operations are slower than other providers because all data is end-to-end encrypted. Blober handles encryption and decryption automatically.
* **Browsing** is slower because each filename is individually encrypted
* **Downloads** are decrypted automatically as they transfer
* **Uploads** of very large files may be limited by available memory for now (improvements coming soon)
## Metadata
[Section titled "Metadata"](#metadata)
Each file includes the following metadata, available for use in Blober's naming templates:
| Field | Example |
| -------------- | ------------ |
| Filename | `report.pdf` |
| Created date | 2026-01-23 |
| Modified date | 2026-05-10 |
| File size | 14.2 MB |
| File extension | `.pdf` |
## Troubleshooting
[Section titled "Troubleshooting"](#troubleshooting)
### Login window stays open
[Section titled "Login window stays open"](#login-window-stays-open)
Proton's app takes a few seconds to fully load after login. Wait for the Drive interface to appear. Blober will detect it and close the window automatically.
### "App did not become ready" error
[Section titled ""App did not become ready" error"](#app-did-not-become-ready-error)
This means Proton Drive's web app didn't finish loading within 30 seconds. Try again. The Proton servers may be slow, or your connection may have timed out.
### Session expired during transfer
[Section titled "Session expired during transfer"](#session-expired-during-transfer)
If your session expires mid-transfer, Blober will prompt you to sign in again. The workflow resumes from where it left off. No files are lost or duplicated.
# Rabata.io Setup: Connect & Transfer Files
> How to connect Blober to Rabata.io S3-compatible storage. Browse, upload, and manage objects with a visual file browser that Rabata's dashboard lacks.
[Rabata.io](https://rabata.io/) is S3-compatible object storage. Blober connects using the standard S3 protocol. Rabata's dashboard does not include a file browser. Blober provides the visual interface to browse, upload, and manage your objects.
Path format:
```plaintext
bucket-name/path/to/file.ext
```
## Capabilities
[Section titled "Capabilities"](#capabilities)
* ✅ Browse buckets and objects
* ✅ Upload files (including large files)
* ✅ Download files
* ✅ Delete objects
* ✅ Copy/move objects
* ✅ S3-compatible API
## Prerequisites
[Section titled "Prerequisites"](#prerequisites)
* A Rabata.io account ([create one](https://rabata.io/signup))
* At least one bucket (created via the dashboard)
* Access keys
## Required Credentials
[Section titled "Required Credentials"](#required-credentials)
[]()
### Access Key ID
[Section titled "Access Key ID"](#access-key-id)
* **Where to find:** [Rabata.io dashboard => Access Keys](https://docs.rabata.io/access-keys)
* **Format:** 20-character alphanumeric string
* **Example:** `AKIAIOSFODNN7EXAMPLE`
[]()
### Secret Access Key
[Section titled "Secret Access Key"](#secret-access-key)
* **Where to find:** [Rabata.io dashboard => Access Keys](https://docs.rabata.io/access-keys)
* **Format:** 40-character string
* **Example:** `wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY`
## Product Tiers
[Section titled "Product Tiers"](#product-tiers)
Rabata.io offers two storage tiers:
* **S3 Hot Storage**: General-purpose object storage for applications, media, and frequently accessed data. Billed per GB.
* **S3 Backup**: Bulk archival storage for backups, disaster recovery, and cold data. Billed in 10TB increments (rounded up). [Egress is capped at 2x your storage amount](https://docs.rabata.io/billing/).
Each tier has its own region and endpoint:
| Tier | Region | Endpoint | Pricing |
| -------------- | ----------- | -------------------------------- | ------------------------------------------- |
| S3 Hot Storage | `us-east-1` | `https://s3.us-east-1.rabata.io` | $0.01/GB storage, $0.01/GB egress |
| S3 Backup | `eu-west-2` | `https://s3.eu-west-2.rabata.io` | $49/10TB flat (egress capped at 2x storage) |
Buckets belong to the tier they were created under. Blober auto-detects the region.
Supported Regions
Rabata.io currently supports only two regions: `us-east-1` (Hot Storage) and `eu-west-2` (Backup). Operations must be sent to the correct region endpoint for each bucket. Blober handles this automatically via region detection.
## Setup
[Section titled "Setup"](#setup)
1. [Create access keys](https://docs.rabata.io/access-keys) in the Rabata.io dashboard
2. In Blober, select **Rabata.io** as source or destination
3. Enter your Access Key ID and Secret Access Key
4. Browse your buckets
Terms Compliance
Your use of Rabata.io through Blober is subject to Rabata.io's terms of service. See our [Terms of Service](/kb/docs/terms-and-privacy/terms-of-service/) for details.
## External References
[Section titled "External References"](#external-references)
* [Rabata.io Documentation](https://docs.rabata.io/)
* [Access Keys](https://docs.rabata.io/access-keys)
* [Billing & Pricing](https://docs.rabata.io/billing)
# S3-Compatible Storage Setup Guide
> Connect Blober to S3-compatible storage by entering its endpoint URL. Works with MinIO, Ceph, Storj, Hetzner, Scaleway, self-hosted servers, and local test setups.
The **S3-Compatible** provider connects Blober to storage services that speak the common Amazon S3 protocol operations Blober uses. Instead of picking a named provider, you enter the service's **endpoint URL** and access keys - so a single provider covers the long tail of S3-compatible services, self-hosted servers, and local test setups.
Path format:
```plaintext
bucket-name/path/to/file.ext
```
## Works with
[Section titled "Works with"](#works-with)
Most services that expose an S3-compatible API for common bucket and object operations. That covers a long tail of services across several categories:
* **Cloud object storage** - Alibaba OSS, Tencent COS, Huawei OBS, IBM COS, Oracle OCI, Google Cloud Storage, Yandex, and more.
* **Object storage specialists** - Storj, IDrive e2, Cubbit, Impossible Cloud, Seagate Lyve Cloud, Synology C2, MEGA S4, Tebi, Tigris, and more.
* **Hosting and VPS storage** - Linode/Akamai, Vultr, OVHcloud, Hetzner, Scaleway, Contabo, Exoscale, IONOS, and more.
* **Self-hosted and open source** - MinIO (the common local-testing server), Ceph / RADOS Gateway, SeaweedFS, Garage, Zenko, Versity Gateway, and more.
* **Enterprise and on-premises** - NetApp StorageGRID, Dell ECS, Cloudian, Pure FlashBlade, Hitachi HCP, Scality, Zadara, and more.
* Any **self-hosted** or **on-premise** S3 server on your own network, or a server on your own machine for **local testing** (e.g. `http://localhost:9000`).
For the full roster with endpoint formats and setup notes, see [The Complete List of S3-Compatible Storage Providers](/kb/articles/s3-compatible-storage-providers-complete-list/).
Compatibility note: S3-compatible does not mean feature-identical to AWS S3. Browse, upload, download, delete, and normal copy workflows are the target; advanced behavior such as object lock, lifecycle policies, server-side copy, checksums, and metadata can differ by provider.
Tip
If a provider already has a dedicated Blober entry (Amazon S3, Wasabi, Cloudflare R2, Backblaze B2, DigitalOcean Spaces, Rabata), use that one - it is preconfigured. Reach for **S3-Compatible** for everything else.
## Capabilities
[Section titled "Capabilities"](#capabilities)
* ✅ Browse buckets and objects
* ✅ Upload files (including large files)
* ✅ Download files
* ✅ Delete objects
* ✅ Copy/move objects
* ✅ Both addressing styles - virtual-hosted (`https://my-bucket.s3.example.com`) and path-style (`http://localhost:9000/my-bucket`)
* ✅ Single-bucket or full-account access
## Required Credentials
[Section titled "Required Credentials"](#required-credentials)
[]()
### Endpoint
[Section titled "Endpoint"](#endpoint)
Enter your endpoint URL in **one of two fields** - your choice sets the addressing style automatically:
* **Virtual-host endpoint URL** - for virtual-hosted-style S3 addressing, common with hosted providers. The bucket name is added to the hostname as a subdomain (so `https://s3.example.com` becomes `https://my-bucket.s3.example.com`). Enter the host only.
* **Path-style endpoint URL** - for path-style S3 addressing, common with **MinIO, Ceph**, and many self-hosted or local servers. The bucket name is added to the URL path (so `http://localhost:9000` becomes `http://localhost:9000/my-bucket`). Use this if uploads or browsing fail against your own server.
**Include the scheme** (`https://`, or `http://` for a local server) and enter the **host only** - no bucket, no path.
* **Examples:** `https://s3.us-east-1.example.com` (virtual-hosted), `http://localhost:9000` (path-style)
[]()
### Access Key ID
[Section titled "Access Key ID"](#access-key-id)
* **Where to find:** Your provider's console, under access keys / service accounts.
[]()
### Secret Access Key
[Section titled "Secret Access Key"](#secret-access-key)
* **Where to find:** Shown once when you create the access key. Store it safely.
## Optional Settings
[Section titled "Optional Settings"](#optional-settings)
[]()
### Bucket name
[Section titled "Bucket name"](#bucket-name)
* **Default:** empty (browse every bucket the keys can list)
* Set a single bucket to scope Blober to just that bucket. **Required** if your keys are restricted and cannot list all buckets - a common setup for migration keys.
[]()
### Region
[Section titled "Region"](#region)
* **Default:** `us-east-1`
* Most S3-compatible servers ignore the region, so the default is usually fine. Set it only if your provider documents a specific region.
[]()
### Storage class
[Section titled "Storage class"](#storage-class)
* **Default:** `STANDARD`
* The storage tier for uploaded files. `STANDARD` is the safest default for ordinary S3-compatible uploads. Some providers also offer tiers like `STANDARD_IA` or `GLACIER`, or their own class names - set one only if your provider documents it. Applies when this provider is the destination.
## Setup Examples
[Section titled "Setup Examples"](#setup-examples)
### MinIO (self-hosted or local testing)
[Section titled "MinIO (self-hosted or local testing)"](#minio-self-hosted-or-local-testing)
1. Start MinIO (for a quick local test, the default keys are `minioadmin` / `minioadmin`).
2. In Blober, add an **S3-Compatible** source or destination and enter:
* **Path-style endpoint URL:** `http://localhost:9000` (or your server's URL)
* **Access Key ID** / **Secret Access Key:** your MinIO credentials
* **Bucket:** optional - leave empty to see all buckets
3. Browse to confirm the connection.
### A hosted S3-compatible provider
[Section titled "A hosted S3-compatible provider"](#a-hosted-s3-compatible-provider)
1. Create access keys in the provider's console.
2. Copy the S3 endpoint URL from their docs (e.g. `https://s3.region.provider.com`).
3. In Blober, put the endpoint in the **Virtual-host endpoint URL** field, enter the keys, and browse.
### Filebase (supports both styles)
[Section titled "Filebase (supports both styles)"](#filebase-supports-both-styles)
Filebase documents both virtual-hosted and path-style S3 addressing [\[1\]](https://filebase.com/docs/s3-api/overview#addressing-styles "Source: filebase.com/docs/s3-api/overview"):
* **Virtual-host endpoint URL:** `https://s3.filebase.io` gives object URLs like `https://.s3.filebase.io/`.
* **Path-style endpoint URL:** `https://s3.filebase.io` gives object URLs like `https://s3.filebase.io//`.
Use the addressing style your Filebase workflow or toolchain expects; both point at the same S3 service host.
## Troubleshooting
[Section titled "Troubleshooting"](#troubleshooting)
### Uploads or browsing fail on a self-hosted server
[Section titled "Uploads or browsing fail on a self-hosted server"](#uploads-or-browsing-fail-on-a-self-hosted-server)
Use the **Path-style endpoint URL** field instead of the virtual-host one. MinIO, Ceph, and most on-premise servers require path-style addressing.
### "Access Denied" when browsing buckets
[Section titled ""Access Denied" when browsing buckets"](#access-denied-when-browsing-buckets)
Your keys may be scoped to one bucket and not allowed to list all buckets. Enter that bucket in the **Bucket name** field.
### Connection errors / wrong host
[Section titled "Connection errors / wrong host"](#connection-errors--wrong-host)
Re-check the **endpoint URL**. It must include the scheme (`https://`, or `http://` for a local server) and be the service host only - no bucket, no object path.
Terms Compliance
Your use of any third-party storage through Blober is subject to that provider's terms of service. See our [Terms of Service](/kb/docs/terms-and-privacy/terms-of-service/) for details.
## External References
[Section titled "External References"](#external-references)
* [rclone S3 backend](https://rclone.org/s3/) - reference list of S3-compatible providers, their endpoints, and quirks
* [S3 path-style vs virtual-hosted addressing](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html) - background for the two endpoint fields above
* [Ceph Object Gateway S3 API](https://docs.ceph.com/en/latest/radosgw/s3/) - S3 compatibility reference for a common self-hosted server
# Wasabi Hot Cloud Storage Setup Guide
> How to connect Blober to Wasabi Hot Cloud Storage. S3-compatible, no egress fees. Browse buckets, upload, download, and transfer files.
Wasabi is S3-compatible hot cloud storage with no egress fees. Blober connects using the standard S3 protocol.
Path format:
```plaintext
bucket-name/path/to/file.ext
```
## Capabilities
[Section titled "Capabilities"](#capabilities)
* ✅ Browse buckets and objects
* ✅ Upload files (including large files)
* ✅ Download files
* ✅ Delete objects
* ✅ Copy/move objects
* ✅ S3-compatible API
* ✅ No egress fees
## Prerequisites
[Section titled "Prerequisites"](#prerequisites)
* A Wasabi account ([create one](https://wasabi.com/sign-up))
* At least one Wasabi bucket
* Access keys with appropriate permissions
## Required Credentials
[Section titled "Required Credentials"](#required-credentials)
[]()
### Access Key ID
[Section titled "Access Key ID"](#access-key-id)
* **Where to find:** Wasabi Console => Access Keys
* **Format:** 20-character alphanumeric string
* **Example:** `AKIAIOSFODNN7EXAMPLE`
[]()
### Secret Access Key
[Section titled "Secret Access Key"](#secret-access-key)
* **Format:** 40-character string
* **Example:** `wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY`
## Setup (Wasabi Console)
[Section titled "Setup (Wasabi Console)"](#setup-wasabi-console)
### 1. Create a Wasabi Bucket
[Section titled "1. Create a Wasabi Bucket"](#1-create-a-wasabi-bucket)
1. Log in to [Wasabi Console](https://console.wasabisys.com)
2. Go to **Buckets** => **Create Bucket**
3. Enter a unique bucket name
4. Select your preferred region
5. Configure bucket settings (versioning, logging, etc.)
6. Click **Create Bucket**
### 2. Create Access Keys
[Section titled "2. Create Access Keys"](#2-create-access-keys)
1. Go to **Access Keys** in the Wasabi Console
2. Click **Create New Access Key**
3. Choose **Root User Key** or create for a sub-user
4. Click **Create**
5. **Download or copy the keys immediately** (secret shown only once!)
### 3. Configure in Blober
[Section titled "3. Configure in Blober"](#3-configure-in-blober)
1. In Blober, go to **Workflows** => **New Workflow**
2. Select **Wasabi** as source or destination
3. Enter:
* Access Key ID
* Secret Access Key
4. Test by browsing your buckets
## Available Regions
[Section titled "Available Regions"](#available-regions)
Wasabi is available in multiple regions worldwide:
| Region | Location | Endpoint |
| ---------------- | ----------- | --------------------------------- |
| `us-east-1` | N. Virginia | `s3.wasabisys.com` |
| `us-east-2` | N. Virginia | `s3.us-east-2.wasabisys.com` |
| `us-west-1` | Oregon | `s3.us-west-1.wasabisys.com` |
| `us-central-1` | Texas | `s3.us-central-1.wasabisys.com` |
| `ca-central-1` | Canada | `s3.ca-central-1.wasabisys.com` |
| `eu-central-1` | Amsterdam | `s3.eu-central-1.wasabisys.com` |
| `eu-central-2` | Frankfurt | `s3.eu-central-2.wasabisys.com` |
| `eu-west-1` | London | `s3.eu-west-1.wasabisys.com` |
| `eu-west-2` | Paris | `s3.eu-west-2.wasabisys.com` |
| `ap-northeast-1` | Tokyo | `s3.ap-northeast-1.wasabisys.com` |
| `ap-northeast-2` | Osaka | `s3.ap-northeast-2.wasabisys.com` |
| `ap-southeast-1` | Singapore | `s3.ap-southeast-1.wasabisys.com` |
| `ap-southeast-2` | Sydney | `s3.ap-southeast-2.wasabisys.com` |
Blober automatically detects the region for each bucket.
## Troubleshooting
[Section titled "Troubleshooting"](#troubleshooting)
### "Access Denied" error
[Section titled ""Access Denied" error"](#access-denied-error)
* Verify your Access Key ID and Secret Access Key are correct
* If using a sub-user key, ensure it has permissions for the buckets you need
### Buckets from certain regions not showing
[Section titled "Buckets from certain regions not showing"](#buckets-from-certain-regions-not-showing)
* Blober auto-discovers buckets across all Wasabi regions
* If a bucket was just created, wait a moment and refresh
## Best Practices
[Section titled "Best Practices"](#best-practices)
* **No egress fees** - Wasabi is great as a backup destination you may need to restore from
* Wasabi has a **minimum 90-day storage policy** - deleting files before 90 days still incurs the full charge
* Choose a region close to your primary location for best transfer speeds
* Wasabi pricing is flat: $7.99/TB/month (or lower by region) with no API call charges
Terms Compliance
Your use of Wasabi through Blober is subject to [Wasabi's Terms of Service](https://wasabi.com/legal/terms-of-service/). See our [Terms of Service](/kb/docs/terms-and-privacy/terms-of-service/) for details.
## External References
[Section titled "External References"](#external-references)
* [Wasabi Documentation](https://wasabi-support.zendesk.com/hc/en-us)
* [Creating Access Keys](https://wasabi-support.zendesk.com/hc/en-us/articles/360019677192-Creating-a-Wasabi-API-Access-Key-Set)
* [Wasabi Regions](https://wasabi-support.zendesk.com/hc/en-us/articles/360015106031-What-are-the-service-URLs-for-Wasabi-s-different-storage-regions-)
* [Wasabi Pricing](https://wasabi.com/cloud-storage-pricing/)
# Blober Terms of Service & Privacy Policy
> Blober's legal documents. Terms of service and privacy policy for the Blober desktop application.
By using Blober, you agree to our Terms of Service and acknowledge our Privacy Policy.
* [Terms of Service](/kb/docs/terms-and-privacy/terms-of-service/) - What you agree to when using Blober
* [Privacy Policy](/kb/docs/terms-and-privacy/privacy-policy/) - How we handle your data (short answer: we don't collect it)
## Summary
[Section titled "Summary"](#summary)
**Blober automates what you can already do.** Every action Blober performs - uploading, downloading, copying, deleting - is something you could do manually through each provider's own interface. Blober simply makes it faster and easier. The responsibility for how you use these services remains with you.
**Blober is a desktop app.** Your files, credentials, and transfers stay on your machine. We don't run servers that touch your data.
**You're responsible for your accounts.** When you connect a cloud provider, you're using your own credentials and must follow that provider's terms of service.
**Some integrations use unofficial APIs.** Providers like GoPro Plus don't offer official public APIs. These integrations may break if the provider changes their service. We'll do our best to fix things quickly, but we can't guarantee uninterrupted access.
**We collect anonymized analytics only.** No file names, no credentials, no personal data - just feature usage and error types to help us improve Blober.
# Privacy Policy: Your Files Stay Private
> Blober's privacy policy. Your files never pass through our servers. All transfers run locally on your machine.
*Last Updated: December 2025*
## Your Data Stays Yours
[Section titled "Your Data Stays Yours"](#your-data-stays-yours)
Blober is a desktop application. All file transfers happen directly on your machine or between your connected cloud providers. We do not have access to your files, and your data never passes through our servers.
## What We Don't Collect
[Section titled "What We Don't Collect"](#what-we-dont-collect)
### Your Files
[Section titled "Your Files"](#your-files)
All file operations (uploads, downloads, copies, moves) happen directly between your computer and your storage providers. Blober never intercepts, stores, or transmits your files to us.
### Your Credentials
[Section titled "Your Credentials"](#your-credentials)
Your cloud provider access keys, secrets, tokens, and connection strings are stored securely on your local device. They are never sent to Blober servers. Authentication happens directly between your device and the provider.
## What We Do Collect
[Section titled "What We Do Collect"](#what-we-do-collect)
### Anonymized Usage Analytics
[Section titled "Anonymized Usage Analytics"](#anonymized-usage-analytics)
We use [PostHog](https://posthog.com/) to collect anonymized product usage data such as:
* Which features are used (e.g., which providers, how often workflows run)
* Error types (not error content or file information)
* General app performance metrics
This helps us understand how Blober is used and where to improve. **No personal data, file names, file contents, or credentials are ever collected.**
## Third-Party Services
[Section titled "Third-Party Services"](#third-party-services)
### Paystack
[Section titled "Paystack"](#paystack)
Processes payments for Blober purchases. We do not store your payment information - it is handled entirely by [Paystack](https://paystack.com/).
### Tawk.to
[Section titled "Tawk.to"](#tawkto)
Provides the customer support chat widget on our website. They may collect usage data in accordance with their [privacy policy](https://www.tawk.to/privacy-policy/).
### PostHog
[Section titled "PostHog"](#posthog)
Collects anonymized product analytics as described above. See their [privacy policy](https://posthog.com/privacy).
## Storage Provider Privacy
[Section titled "Storage Provider Privacy"](#storage-provider-privacy)
When you connect a storage provider (AWS, Azure, Google Drive, etc.), Blober communicates directly with that provider's API using your credentials. Blober does not:
* Store copies of your data
* Relay data through intermediary servers
* Share your credentials with any third party
* Access your accounts outside of the actions you initiate
## Contact
[Section titled "Contact"](#contact)
If you have questions about this Privacy Policy, please contact us via the support chat on our [website](https://blober.io).
# Terms of Service: License & Refund Policy
> Blober's terms of service. License terms, usage conditions, and refund policy for the Blober desktop application.
*Last Updated: December 2025*
## 1. Introduction
[Section titled "1. Introduction"](#1-introduction)
Welcome to Blober. By downloading, installing, or using the Blober desktop application ("Software"), you agree to be bound by these Terms of Service. If you do not agree, do not use the Software.
## 2. License
[Section titled "2. License"](#2-license)
We grant you a limited, non-exclusive, non-transferable, lifetime license to use the Software on your personal or business devices for the purpose of managing and transferring files between storage providers.
## 3. Payment & Refunds
[Section titled "3. Payment & Refunds"](#3-payment--refunds)
### One-Time Purchase
[Section titled "One-Time Purchase"](#one-time-purchase)
Blober is sold as a one-time purchase with no recurring subscription fees.
### Updates
[Section titled "Updates"](#updates)
Your purchase includes access to future updates of the Software.
### Refunds
[Section titled "Refunds"](#refunds)
If you are not satisfied with the Software, please contact support within 14 days of purchase for a refund request.
## 4. Use of Third-Party Services
[Section titled "4. Use of Third-Party Services"](#4-use-of-third-party-services)
Blober is a tool that automates what is already possible through each provider's own interface. Every action Blober performs - uploading, downloading, copying, deleting - is something you could do manually. Blober simply makes it faster and more convenient.
Blober connects to third-party storage providers (such as AWS S3, Azure Blob Storage, Google Drive, GoPro Plus, and others) on your behalf. Your use of these services through Blober is subject to the following:
* **You are responsible** for complying with each provider's terms of service, acceptable use policies, and applicable laws.
* **Blober does not guarantee** the availability, uptime, or continued functionality of any third-party service. Providers may change their APIs, terms, or access policies at any time.
* **Some integrations** rely on unofficial or reverse-engineered APIs (such as GoPro Plus). These may break without notice if the provider changes their service. Blober will make reasonable efforts to restore functionality, but we cannot guarantee uninterrupted access.
* **You assume all risk** when using Blober to interact with third-party services. Blober is a tool that acts on your instructions - you are responsible for ensuring your actions comply with the terms of each provider.
## 5. Disclaimer of Warranties
[Section titled "5. Disclaimer of Warranties"](#5-disclaimer-of-warranties)
The Software is provided "AS IS", without warranty of any kind, express or implied. While we strive for reliability, we do not guarantee that the Software will be error-free or that it will prevent data loss. **You are responsible for backing up your data before performing transfers.**
## 6. Limitation of Liability
[Section titled "6. Limitation of Liability"](#6-limitation-of-liability)
In no event shall the Blober team be liable for any claim, damages, or other liability arising from, out of, or in connection with the Software or the use or other dealings in the Software. This includes, but is not limited to:
* Data loss during transfers
* Service interruptions from third-party providers
* Changes to third-party APIs that affect Blober functionality
* Account actions taken by third-party providers
## 7. Changes to Terms
[Section titled "7. Changes to Terms"](#7-changes-to-terms)
We may update these Terms from time to time. Continued use of the Software after changes constitutes acceptance of the new Terms.
## Contact
[Section titled "Contact"](#contact)
If you have questions about these Terms, please contact us via the support chat on our [website](https://blober.io).
# Cloud File Transfer Made Easy
> See how Blober makes transferring files between cloud providers effortless - no subscriptions, no transfer fees.
[Play](https://youtube.com/watch?v=mFrAd4pwSVs)
An overview of Blober's core features: connecting cloud providers, creating workflows, and transferring files - all from a single desktop app with no recurring costs.
# GoPro Cloud Workflow Setup in 45 Seconds
> Watch how to connect GoPro Cloud, browse your media, select individual files, multiple files, or an entire directory, and create a transfer workflow - all in 45 seconds.
[Play](https://youtube.com/watch?v=TLvZ4Xo9c-g)
A quick walkthrough showing how fast it is to set up a Blober workflow with GoPro Cloud as the source. In just 45 seconds, you'll see how to connect your GoPro account, browse your cloud media, and select files for transfer - whether that's individual files, multiple files, or an entire directory.
# Moving Media From GoPro to Dropbox
> Watch how Blober transfers GoPro Cloud media directly to Dropbox in minutes - no manual downloads, no ZIP files, no hassle.
[Play](https://youtube.com/watch?v=NTqqf4sKbpk)
This demo shows how Blober connects to GoPro Cloud and transfers your photos and videos directly to Dropbox. No batch downloads, no ZIP files, no manual work - just set up a workflow and let Blober handle it.