Storage for EDD via S3-Compatible

Storage for EDD via S3-Compatible

توسط

Storage for EDD via S3-Compatible is a powerful extension for Easy Digital Downloads that allows you to store and deliver your digital products using S3-compatible storage services. This plugin provides seamless integration with various S3-compatible storage providers including MinIO, DigitalOcean Spaces, Linode Object Storage, and many others.

Key Features

  • S3 Compatible Storage Support: Works with MinIO, DigitalOcean Spaces, Linode Object Storage, and other S3-compatible services
  • Secure File Delivery: Generates time-limited, secure download URLs with enforced timeout limits (1-60 minutes) for your digital products
  • Easy File Management: Upload files directly to S3 storage through WordPress admin
  • Media Library Integration: Browse and select files from your S3 storage within WordPress
  • Configurable Expiry: Set custom expiration times for download links with automatic validation
  • Customizable URL Prefix: Developers can customize the URL prefix (default: edd-s3cs://) using WordPress hooks
  • Security First: Built with WordPress security best practices including timeout enforcement and input validation
  • Developer Friendly: Clean, well-documented code with hooks and filters

Configuration

  1. Go to Downloads > Settings > Extensions > S3 Storage
  2. Enter your S3 credentials:
    • Access Key
    • Secret Key
    • Endpoint URL (e.g., https://s3.example.com)
    • Bucket Name
  3. Set the download link expiry time (in minutes, between 1-60 minutes)
  4. Save the settings

Usage

Browsing and Selecting Files

  1. When creating or editing a download in Easy Digital Downloads
  2. Click the “Browse S3” button next to the file URL field
  3. Browse your S3 storage using the folder navigation
  4. Use the breadcrumb navigation bar to quickly jump to parent folders
  5. Use the search box in the header to filter files by name
  6. Click “Select” to use an existing file for your download

Uploading New Files

  1. In the S3 browser, click the “Upload” button in the header row
  2. The upload form will appear above the file list
  3. Choose your file and click “Upload”
  4. After a successful upload, the file URL will be automatically set with the S3 prefix
  5. Click the button again to hide the upload form

External services

This plugin connects to your configured S3-compatible storage service to manage files, create download links, and handle file transfers.

It sends the necessary authentication signatures and file requests to your S3 provider’s servers. This happens when you browse your S3 files in the dashboard, upload files, or when a customer downloads a file.

  • Service: Your S3-Compatible Provider (e.g., AWS S3, DigitalOcean Spaces, etc.)
  • Used for: File browsing, uploading, and generating secure download links.
  • Data sent: Authentication headers (Signature V4), file metadata, file content (during upload).
  • URLs: Configured by the user in the plugin settings (Endpoint URL).
  • Legal: Refer to your S1-Compatible provider’s Terms of Service and Privacy Policy.

Support

For support and bug reports, please use the WordPress.org plugin support forum.

If you find this plugin helpful, please consider leaving a review on WordPress.org.

Other Storage Providers

Looking for a different storage provider? Check out our other plugins:

Privacy Policy

This plugin does not collect or store any personal data. All file storage and delivery is handled through your configured S3-compatible storage service.

  1. Upload the plugin files to the /wp-content/plugins/storage-for-edd-via-s3-compatible directory, or install the plugin through the WordPress plugins screen directly.
  2. Make sure you have Easy Digital Downloads plugin installed and activated.
  3. Run composer install in the plugin directory if installing from source (not needed for release versions).
  4. Activate the plugin through the ‘Plugins’ screen in WordPress.
  5. Navigate to Downloads > Settings > Extensions > S3 Storage to configure the plugin.

سوالات متداول

Which S3-compatible services are supported?

This plugin works with any S3-compatible storage service including:
* Amazon S3
* DigitalOcean Spaces
* Linode Object Storage
* Wasabi
* Backblaze B2 (with S3-compatible API)
* Cloudflare R2
* MinIO
* Storj
* ArvanCloud
* Hetzner Object Storage
* And many others

How secure are the download links?

The plugin generates presigned URLs with configurable expiration times (default 3 minutes). These URLs are temporary and cannot be shared or reused after expiration, ensuring your digital products remain secure.

For enhanced security, the plugin enforces timeout limits:
* Minimum expiry time: 1 minute (ensures links work for legitimate downloads)
* Maximum expiry time: 60 minutes (prevents long-term unauthorized access)
* Even if you try to set values outside this range, the plugin automatically adjusts them to stay within safe limits

This prevents abuse scenarios such as:
* Links that expire too quickly (0 minutes)
* Links that remain valid for days or weeks
* Unauthorized long-term access to your digital products

What file types are supported for upload?

The plugin supports safe file types including:
* Archives: ZIP, RAR, 7Z, TAR, GZ
* Documents: PDF, DOC, DOCX, TXT, RTF, XLS, XLSX, CSV, PPT, PPTX
* Images: JPG, JPEG, PNG, GIF, WEBP
* Audio: MP3, WAV, OGG, FLAC, M4A
* Video: MP4, AVI, MOV, WMV, FLV, WEBM
* E-books: EPUB, MOBI, AZW, AZW3
* Web files: CSS, JS, JSON, XML

Dangerous file types (executables, scripts) are automatically blocked for security.

How does the plugin validate uploaded files?

The plugin implements multiple layers of security validation:

  • Extension Validation: Checks file extensions against a whitelist of allowed types
  • MIME Type Validation: Validates the actual file content type (not just the extension) to prevent file type spoofing
  • Content-Type Matching: Ensures the file extension matches the actual MIME type to detect malicious files with fake extensions
  • Size Validation: Enforces WordPress upload size limits
  • Nonce Verification: Protects against CSRF attacks

This multi-layered approach prevents attackers from uploading malicious files disguised with safe extensions (e.g., a PHP file renamed to .jpg).

Can I browse existing files in my S3 storage?

Yes, the plugin includes an S3 Library feature that allows you to browse and select existing files from your S3 bucket directly within the WordPress admin interface.

Can I customize the URL prefix for S3 files?

Yes, developers can customize the URL prefix using the s3cs_edd_url_prefix filter. Add this code to your theme’s functions.php:

function customize_s3_url_prefix($prefix) {
    return 'edd-myprefix://'; // Change to your preferred prefix
}
add_filter('s3cs_edd_url_prefix', 'customize_s3_url_prefix');

Can I customize the allowed file types (MIME types)?

Yes, developers can customize the allowed MIME types using the s3cs_edd_allowed_mime_types filter. Add this code to your theme’s functions.php:

function customize_allowed_mime_types($mime_types) {
    // Add custom MIME types
    $mime_types[] = 'application/x-rar'; // Add RAR support
    $mime_types[] = 'video/x-matroska'; // Add MKV video support

    // Or remove specific MIME types
    $mime_types = array_diff($mime_types, array('video/x-flv')); // Remove FLV

    return $mime_types;
}
add_filter('s3cs_edd_allowed_mime_types', 'customize_allowed_mime_types');

×
نظری برای این آیتم موجود نیست.
0 0 رای ها
امتیازدهی
اشتراک در
اطلاع از
0 نظرات
قدیمی‌ترین
تازه‌ترین بیشترین رأی
بازخورد (Feedback) های اینلاین
مشاهده همه دیدگاه ها
نسخه حجم فایل SHA256 تغییرات دانلود
1.2.0 321 کیلوبایت -
دانلود
×
★★★★★
★★★★★
5.0 /5 (2 نظر)

قیمت:

رایگان

نگارش

1.2.0

آخرین انتشار

18 اردیبهشت 1405

آخرین بروزرسانی

2 ماه پیش

نصب های فعال

-

نگارش وردپرس

وردپرس 5.0+

تست شده از نسخه

وردپرس 6.9.4

نگارش PHP

PHP 7.4+

نسخه ها

1 نسخه