[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fpVVSGOZzIN2mnwCUM3hJMrhhC0T4jQS8AW-m2LjB9Cs":3},{"slug":4,"display_name":4,"profile_url":5,"plugin_count":6,"total_installs":7,"avg_security_score":8,"avg_patch_time_days":7,"trust_score":9,"computed_at":10,"plugins":11},"jhomoura","https:\u002F\u002Fprofiles.wordpress.org\u002Fjhomoura\u002F",1,30,100,94,"2026-08-29T05:43:29.489Z",[12],{"slug":13,"name":14,"version":15,"author":4,"author_profile":5,"description":16,"short_description":17,"active_installs":7,"downloaded":18,"rating":19,"num_ratings":19,"last_updated":20,"tested_up_to":21,"requires_at_least":22,"requires_php":23,"tags":24,"homepage":30,"download_link":31,"security_score":8,"vuln_count":19,"unpatched_count":19,"last_vuln_date":32,"fetched_at":33},"r2-cloud-storage","R2 Cloud Storage","1.0.0","\u003Cp>\u003Cstrong>R2 Cloud Storage\u003C\u002Fstrong> offloads your WordPress Media Library to \u003Ca href=\"https:\u002F\u002Fwww.cloudflare.com\u002Fproducts\u002Fr2\u002F\" rel=\"nofollow ugc\">Cloudflare R2\u003C\u002Fa> — an S3-compatible object storage with \u003Cstrong>zero egress fees\u003C\u002Fstrong>.\u003C\u002Fp>\n\u003Ch4>Why Cloudflare R2?\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>\u003Cstrong>$0 egress fees\u003C\u002Fstrong> — No cost for serving files, unlike AWS S3 ($0.09\u002FGB)\u003C\u002Fli>\n\u003Cli>S3-compatible API — Works with existing tools\u003C\u002Fli>\n\u003Cli>Cloudflare CDN integration — Custom domains with global edge caching\u003C\u002Fli>\n\u003Cli>Pay only for storage: $0.015\u002FGB\u002Fmonth\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Core Features (Free)\u003C\u002Fh4>\n\u003Cul>\n\u003Cli>Automatic media offload on upload\u003C\u002Fli>\n\u003Cli>URL rewriting (serve from R2\u002Fcustom domain)\u003C\u002Fli>\n\u003Cli>Pre-signed URLs for protected content\u003C\u002Fli>\n\u003Cli>Bulk sync\u002Fmigration tool\u003C\u002Fli>\n\u003Cli>Responsive image (srcset) support\u003C\u002Fli>\n\u003Cli>Remove local copies to save disk space\u003C\u002Fli>\n\u003Cli>REST API for programmatic access\u003C\u002Fli>\n\u003Cli>i18n ready (pt_BR included)\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Modular Add-on System\u003C\u002Fh4>\n\u003Cp>Extend R2 Cloud Storage with platform-specific add-ons:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>WooCommerce\u003C\u002Fstrong> — Digital downloads via R2, product images, signed URLs per order\u003C\u002Fli>\n\u003Cli>\u003Cstrong>LearnDash\u003C\u002Fstrong> — Course videos and materials with signed URL protection\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Tutor LMS\u003C\u002Fstrong> — Protected video streaming and course materials\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Easy Digital Downloads\u003C\u002Fstrong> — Secure digital delivery via R2\u003C\u002Fli>\n\u003Cli>\u003Cstrong>MemberPress\u003C\u002Fstrong> — Protected member content via R2\u003C\u002Fli>\n\u003Cli>\u003Cstrong>BuddyBoss\u003C\u002Fstrong> — Community uploads stored on R2\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>Developer Friendly\u003C\u002Fh4>\n\u003Cpre>\u003Ccode>`php\n\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>\u002F\u002F Register your own add-on\u003Cbr \u002F>\nadd_action( ‘r2cs_register_addon’, function( $manager ) {\u003Cbr \u002F>\n    $manager->register( ‘my-addon’, ‘1.0.0’, ‘My_Addon_Class’ );\u003Cbr \u002F>\n});\u003C\u002Fp>\n\u003Cp>\u002F\u002F Generate signed URLs\u003Cbr \u002F>\n$url = r2cs()->signed_url()->generate( ‘path\u002Fto\u002Ffile.pdf’, 3600 );\u003C\u002Fp>\n\u003Cp>\u002F\u002F Upload files programmatically\u003Cbr \u002F>\n$result = r2cs()->client()->upload_file( ‘\u002Flocal\u002Fpath.pdf’, ‘remote\u002Fpath.pdf’ );\u003Cbr \u002F>\n    `\u003C\u002Fp>\n\u003Ch3>External Services\u003C\u002Fh3>\n\u003Cp>This plugin connects to external third-party services as described below.\u003C\u002Fp>\n\u003Ch4>Cloudflare R2 Object Storage\u003C\u002Fh4>\n\u003Cp>This plugin connects to the Cloudflare R2 API to upload, retrieve, and delete media files stored in your R2 bucket. The connection is made to \u003Ccode>https:\u002F\u002F\u003Caccount_id>.r2.cloudflarestorage.com\u003C\u002Fcode> using your configured credentials (Account ID, Access Key, and Secret Key).\u003C\u002Fp>\n\u003Cp>Data is sent whenever media files are uploaded, deleted, synced, or served via the plugin. The data transmitted includes the file contents and metadata (object key\u002Fpath).\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.cloudflare.com\u002Fterms\u002F\" rel=\"nofollow ugc\">Cloudflare Terms of Service\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fwww.cloudflare.com\u002Fprivacypolicy\u002F\" rel=\"nofollow ugc\">Cloudflare Privacy Policy\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch4>R2 Cloud Storage License API\u003C\u002Fh4>\n\u003Cp>This plugin connects to the R2 Cloud Storage license server at \u003Ccode>https:\u002F\u002Fr2cloudstorage.com\u002Fapi\u002Fv1\u002Flicense\u003C\u002Fcode> to activate, deactivate, and verify add-on license keys. This connection is only made when a user manually activates or deactivates an add-on license, or when a periodic license verification is performed.\u003C\u002Fp>\n\u003Cp>The data transmitted includes: the license key, the add-on slug, and the site domain.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fr2cloudstorage.com\u002Fterms\" rel=\"nofollow ugc\">R2 Cloud Storage Terms of Service\u003C\u002Fa>\u003C\u002Fli>\n\u003Cli>\u003Ca href=\"https:\u002F\u002Fr2cloudstorage.com\u002Fprivacy\" rel=\"nofollow ugc\">R2 Cloud Storage Privacy Policy\u003C\u002Fa>\u003C\u002Fli>\n\u003C\u002Ful>\n","Offload your WordPress media to Cloudflare R2 with zero egress fees. Modular add-on system for WooCommerce, LearnDash, EDD and more.",307,0,"2026-04-26T00:47:00.000Z","6.9.5","6.0","7.4",[25,26,27,28,29],"cloudflare","media","offload","r2","s3","https:\u002F\u002Fr2cloudstorage.com","https:\u002F\u002Fdownloads.wordpress.org\u002Fplugin\u002Fr2-cloud-storage.1.0.0.zip",null,"2026-07-22T17:31:50.256Z"]