WP Manifestindependent plugin directory
manifest / media / backspacex-direct-storage

BackspaceX Direct Storage

A lightweight WordPress plugin for direct media uploads to Amazon S3 and Cloudflare R2 with seamless Media Library integration.

by BackspaceX · github.com/thebackspacex/backspacex-direct-storage · website

0stars
0forks

Install

No release zip yet. The repository archive installs, but the folder name will carry the branch suffix and updates will not flow:

wp plugin install https://github.com/thebackspacex/backspacex-direct-storage/archive/refs/heads/main.zip

Readme

=== BackspaceX Direct Storage === Contributors: backspacex Tags: amazon s3, cloudflare r2, media offload, direct upload, multipart upload Requires at least: 6.5 Tested up to: 6.9 Requires PHP: 8.1 Stable tag: 1.5.0 License: GPLv2 or later License URI: https://www.gnu.org/licenses/gpl-2.0.html

Lightweight WordPress media offload for Amazon S3 and Cloudflare R2 with direct browser multipart MP4 uploads.

== Description ==

BackspaceX Direct Storage keeps the normal WordPress workflow for images and PDFs, then offloads their original and generated files to Amazon S3 or Cloudflare R2. MP4 videos use direct browser multipart upload and do not pass through the local WordPress server.

Core features:

  • JPG, PNG, WebP, GIF and AVIF image offload.
  • PDF offload, including generated preview images where available.
  • Direct browser multipart MP4 uploads to Amazon S3 and Cloudflare R2.
  • Remote URL rewriting for originals, image sizes and responsive srcset URLs.
  • Verified local-file removal with rollback protection.
  • Bulk offload and retry manager for existing media.
  • Media Library offload status and attachment storage details.
  • Storage Health dashboard with persistent connection history and diagnostics.
  • Bounded activity log for offloads, multipart uploads and system errors.
  • No Composer dependency and no bundled AWS SDK.

== Installation ==

  1. Upload and activate the plugin.
  2. Open Settings > Direct Storage.
  3. Select Amazon S3 or Cloudflare R2 and enter the provider credentials.
  4. Save settings and run Test Connection.
  5. Configure bucket public delivery and CORS before direct MP4 uploads.
  6. Use Media > Bulk Offload for existing images and PDFs.

== Frequently Asked Questions ==

= Does an MP4 pass through the WordPress server? =

No. Direct MP4 Upload sends multipart chunks from the browser to the configured S3-compatible provider. WordPress only signs requests and creates the Media Library attachment after completion.

= Does uninstall delete remote files? =

No. Uninstall removes plugin settings, logs and WordPress attachment metadata only. Remote provider objects are intentionally preserved.

= Is Cloudflare R2 supported? =

Yes. Connection testing, image/PDF offload, URL rewriting, safe local cleanup, bulk offload and multipart MP4 uploads support Cloudflare R2.

== Changelog ==

= 1.5.0 =

  • Final stable release in the 1.x line.
  • Added a redesigned professional Storage Health dashboard.
  • Added persistent connection-test status and last-tested timestamp.
  • Added provider, bucket, endpoint, region and public URL diagnostics.
  • Added remote object count, media-type distribution and today's upload count.
  • Added local-space-saved reporting when verified local removal is enabled.
  • Added a dashboard connection-test action and detailed diagnostic checks.
  • Expanded recent activity details with provider, size and object key information.
  • Added complete uninstall cleanup while preserving remote objects.
  • Updated production documentation and release metadata.

= 1.4.0 =

  • Added Media > Storage Health dashboard.
  • Added provider, connection, remote size, local, failed and retry statistics.
  • Added bounded activity history for successful offloads and direct multipart uploads.

= 1.3.0 =

  • Added resumable bulk offload manager for existing images and PDFs.

= 1.2.0 =

  • Added direct browser multipart MP4 upload for Amazon S3 and Cloudflare R2.

= 1.1.0 =

  • Added safe verified local-file cleanup with rollback protection.

Read the full README on GitHub →