App for Cloudflare® Pro

App for Cloudflare® Pro 1.9.2

  • Item seller Item seller Shawn
  • Featured

Getting Plugin to work with Cloudflare R2

VidiMan

New member
I got the plugin installed and the token activated with a green check mark. And that was it evidently. I can't seem to connect to a bucket and nothing is working. Claude code told me to dump it because nothing works in your plugin with R2.
App for Cloudflare is BROKEN for R2 - that's your problem right there. Here's the FREE solution that actually works:

Ditch That Plugin


1. Delete "App for Cloudflare"

- It's useless for R2
 
What exactly isn't working? Are you getting any specific error? Also there is no "green check mark" when your API token is enabled... are you sure you are looking at the right plugin?

Maybe there's some confusion in that the R2 functionality is part of the Pro version, not the free version from wordpress.org (if that's what you are using)?

"Claude code" is correct though... App for Cloudflare does not work with R2 without a Pro license, App for Cloudflare Pro is what you would want.
 
I also can't get the R2 function to work. This is the only issue I'm having with the plugin. My Token privs are all green.


Code:
    Site #: 1, Attachment #: 2377, File: 2025/12/03-Billy-Joel-The-Downeaster-Alexa-flac-image.jpg, Bucket: chadneudotcom | Content saved to R2 does not match (48557 / 0)
    Site #: 1, Attachment #: 2377, File: 2025/12/03-Billy-Joel-The-Downeaster-Alexa-flac-image-300x300.jpg, Bucket: chadneudotcom | Content saved to R2 does not match (11238 / 0)
    Site #: 1, Attachment #: 2377, File: 2025/12/03-Billy-Joel-The-Downeaster-Alexa-flac-image-150x150.jpg, Bucket: chadneudotcom | Content saved to R2 does not match (4504 / 0)

When I go to R2 there are no buckets being created.

I also see this error occasionally:
Code:
Last App For Cloudflare® error:

Cloudflare: http_request_failed: cURL error 35: OpenSSL/3.0.13: error:0A000410:SSL routines::sslv3 alert handshake failure

Edit:

I created the bucket and it started to work, it's uploaded 5 files, but then it reports a critical wordpress error. It seems to be erroring out on large video files.

Error log from the R2 page:

Code:
[TABLE]
[TR]
[td]2025/12/18 at 10:34 pm[/td][td]success[/td][td]200[/td][td]DeleteBucketCors[/td][td]chadneudotcom[/td][td][/td]
[/TR]
[TR]
[td]2025/12/18 at 10:33 pm[/td][td]success[/td][td]200[/td][td]GetBucketCors[/td][td]chadneudotcom[/td][td][/td]
[/TR]
[TR]
[td]2025/12/18 at 10:33 pm[/td][td]success[/td][td]200[/td][td]PutBucketCors[/td][td]chadneudotcom[/td][td][/td]
[/TR]
[TR]
[td]2025/12/18 at 10:33 pm[/td][td]userError[/td][td]404[/td][td]GetBucketCors[/td][td]chadneudotcom[/td][td][/td]
[/TR]
[TR]
[td]2025/12/18 at 10:32 pm[/td][td]success[/td][td]200[/td][td]GetBucketLifecycleConfiguration[/td][td]chadneudotcom[/td][td][/td]
[/TR]
[TR]
[td]2025/12/18 at 10:32 pm[/td][td]success[/td][td]200[/td][td]GetBucketSippyConfiguration[/td][td]chadneudotcom[/td][td][/td]
[/TR]
[TR]
[td]2025/12/18 at 10:32 pm[/td][td]userError[/td][td]404[/td][td]GetBucketCors[/td][td]chadneudotcom[/td][td][/td]
[/TR]
[TR]
[td]2025/12/18 at 10:03 pm[/td][td]success[/td][td]200[/td][td]GetBucketSippyConfiguration[/td][td]chadneudotcom[/td][td][/td]
[/TR]
[TR]
[td]2025/12/18 at 10:03 pm[/td][td]userError[/td][td]404[/td][td]GetBucketCors[/td][td]chadneudotcom[/td][td][/td]
[/TR]
[TR]
[td]2025/12/18 at 10:03 pm[/td][td]success[/td][td]200[/td][td]GetBucketLifecycleConfiguration[/td][td]chadneudotcom[/td]
[/TR]
[/TABLE]
 
Last edited:
Do you have shell access to your server? The sslv3 alert handshake failure error is saying the server is having an issue communicating with Cloudflare’s servers (most likely the server is trying to use an old/outdated SSL/TLS version that Cloudflare isn’t supporting).
 
Do you have shell access to your server? The sslv3 alert handshake failure error is saying the server is having an issue communicating with Cloudflare’s servers (most likely the server is trying to use an old/outdated SSL/TLS version that Cloudflare isn’t supporting).
i do. i can ssh in. I fixed the SSL error, I believe. I haven't seen it in a while after I made SSL less strict.

The issue now is that I can only get one 206MB file to upload to R2, then I get a critical server error.

edit: I enabled debugging. It's a memory issue.

Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 271017120 bytes) in /mnt/volume1/html/html/wp-content/plugins/app-for-cf-pro/src/DigitalPoint/Cloudflare/Base/PubAdvanced.php on line 248

I have a lot of large media files to transfer so I'll move everything to a server with more memory to get this done.
 
Last edited:
i do. i can ssh in. I fixed the SSL error, I believe. I haven't seen it in a while after I made SSL less strict.
Odd... I believe the API endpoints use the 2 newest options (TLS 1.2 and TLS 1.3), anything else is old and has security issues so they disabled using older SSL/TLS versions.

The issue now is that I can only get one 206MB file to upload to R2, then I get a critical server error.

edit: I enabled debugging. It's a memory issue.

Fatal error: Allowed memory size of 268435456 bytes exhausted (tried to allocate 271017120 bytes) in /mnt/volume1/html/html/wp-content/plugins/app-for-cf-pro/src/DigitalPoint/Cloudflare/Base/PubAdvanced.php on line 248

I have a lot of large media files to transfer so I'll move everything to a server with more memory to get this done.
Not so coincidentally, changing how files are uploaded (as a stream rather than loading into memory) was rolled out in the XenForo version of this addon a few weeks ago:


...the WordPress update is still being tested, but I'll see if I can get it released today for you.
 
Sweet. That's rad. I already performed the server migration in hetzner(damn they make it easy). So I'll see if 4gb of ram will get it done.
Ya, the quick work around (before I get this update rolled out) is to temporarily up the memory PHP can use (enough to fit the largest files you want to migrate into memory).
 
Ya, the quick work around (before I get this update rolled out) is to temporarily up the memory PHP can use (enough to fit the largest files you want to migrate into memory).
lol yeah I'm dealing with 1+gb video files so I'll see what I can do. The error is happening on relatively small files of less than 500mb, so idk.

I'm still getting some warnings but they are transfering. I upped the memory limit to 3.5gb.

Code:
Warning:  Undefined array key "content" in /mnt/HC_Volume_104203076/html/html/wp-content/plugins/app-for-cf-pro/src/DigitalPoint/Cloudflare/Base/PubAdvanced.php on line 255


Warning:  Undefined array key "content" in /mnt/HC_Volume_104203076/html/html/wp-content/plugins/app-for-cf-pro/src/DigitalPoint/Cloudflare/Base/PubAdvanced.php on line 262


Deprecated:  strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /mnt/HC_Volume_104203076/html/html/wp-content/plugins/app-for-cf-pro/src/DigitalPoint/Cloudflare/Base/PubAdvanced.php on line 262


Warning:  Undefined array key "sizes" in /mnt/HC_Volume_104203076/html/html/wp-content/plugins/app-for-cf-pro/src/DigitalPoint/Cloudflare/Admin/Template/R2MigrateBatch.php on line 75


Warning:  Undefined array key "file" in /mnt/HC_Volume_104203076/html/html/wp-content/plugins/app-for-cf-pro/src/DigitalPoint/Cloudflare/Admin/Template/R2MigrateBatch.php on line 80
 
Last edited:
lol yeah I'm dealing with 1+gb video files so I'll see what I can do. The error is happening on relatively small files of less than 500mb, so idk.

I'm still getting some warnings but they are transfering. I upped the memory limit to 3.5gb.

Code:
Warning:  Undefined array key "content" in /mnt/HC_Volume_104203076/html/html/wp-content/plugins/app-for-cf-pro/src/DigitalPoint/Cloudflare/Base/PubAdvanced.php on line 255
Warning:  Undefined array key "content" in /mnt/HC_Volume_104203076/html/html/wp-content/plugins/app-for-cf-pro/src/DigitalPoint/Cloudflare/Base/PubAdvanced.php on line 262
Deprecated:  strlen(): Passing null to parameter #1 ($string) of type string is deprecated in /mnt/HC_Volume_104203076/html/html/wp-content/plugins/app-for-cf-pro/src/DigitalPoint/Cloudflare/Base/PubAdvanced.php on line 262
Warning:  Undefined array key "sizes" in /mnt/HC_Volume_104203076/html/html/wp-content/plugins/app-for-cf-pro/src/DigitalPoint/Cloudflare/Admin/Template/R2MigrateBatch.php on line 75
Warning:  Undefined array key "file" in /mnt/HC_Volume_104203076/html/html/wp-content/plugins/app-for-cf-pro/src/DigitalPoint/Cloudflare/Admin/Template/R2MigrateBatch.php on line 80
Hmmm... those errors imply something is going on with the R2 servers. Specifically it tries to read the file back once it's uploaded to make sure it uploaded properly before it commits to deleting the local file.

Just out of curiosity, are you running it with a ton of parallel processes or anything?

FWIW, I believe I have the WordPress side sorted out for uploading files to R2 as a stream rather than needing to read it into memory (it was a major pain because of how idiotic WordPress is internally). I'm not sure if I'n going to be able to do the same for migrating files from R2 back to local... Still combing through the WordPress code to see if there's something in there I can take advantage of to do it, but so far not seeing anything.
 
Hmmm... those errors imply something is going on with the R2 servers. Specifically it tries to read the file back once it's uploaded to make sure it uploaded properly before it commits to deleting the local file.

Just out of curiosity, are you running it with a ton of parallel processes or anything?

FWIW, I believe I have the WordPress side sorted out for uploading files to R2 as a stream rather than needing to read it into memory (it was a major pain because of how idiotic WordPress is internally). I'm not sure if I'n going to be able to do the same for migrating files from R2 back to local... Still combing through the WordPress code to see if there's something in there I can take advantage of to do it, but so far not seeing anything.

Well I still had wordpress debugging on so the warnings went away after that.

I still get a couple other errors, but it seems to be working.

Code:
Cloudflare: http_request_failed: cURL error 28: Operation timed out after 15000 milliseconds with 0 bytes received

Site #: 1, Attachment #: 2146, File: 2025/12/PXL_20251213_175003366-trash.mp4, Bucket: chadneudotcom | Content saved to R2 does not match (1041876232 / 0)

I'm running 1-3 per batch with at least a 2 second delay. But I do have some 1+gb files. I've found that if I do more than 2 or 3 per batch without a 2 second delay I tend to get Cloudflare 520 errors(host is offline).
 
If you are doing it via web interface/admin area, you might be running up against HTTP request timeout (assuming your site is using Cloudflare as a proxy ["orange cloud on DNS"]). 100 seconds to finish the HTTP request might not be long enough for the large files to transfer. If that's the case, there's also a WP-CLI command to do it (not bound by the limits of HTTP request timing):

Code:
wp app-for-cf migrate-media
 
If you are doing it via web interface/admin area, you might be running up against HTTP request timeout (assuming your site is using Cloudflare as a proxy ["orange cloud on DNS"]). 100 seconds to finish the HTTP request might not be long enough for the large files to transfer. If that's the case, there's also a WP-CLI command to do it (not bound by the limits of HTTP request timing):

Code:
wp app-for-cf migrate-media
aw yeah I forgot about that. I'll give it a shot real quick.

Thanks for the quick support. It's very much appreciated.
 
Code:
PHP Warning:  Undefined array key "content" in /mnt/HC_Volume_104203076/html/html/wp-content/plugins/app-for-cf-pro/src/DigitalPoint/Cloudflare/Base/PubAdvanced.php on line 255
Warning: Undefined array key "content" in /mnt/HC_Volume_104203076/html/html/wp-content/plugins/app-for-cf-pro/src/DigitalPoint/Cloudflare/Base/PubAdvanced.php on line 255
PHP Warning:  Undefined array key "content" in /mnt/HC_Volume_104203076/html/html/wp-content/plugins/app-for-cf-pro/src/DigitalPoint/Cloudflare/Base/PubAdvanced.php on line 262
Warning: Undefined array key "content" in /mnt/HC_Volume_104203076/html/html/wp-content/plugins/app-for-cf-pro/src/DigitalPoint/Cloudflare/Base/PubAdvanced.php on line 262
Migrating media  0  % [>                                                                                                                                                                                      ] 0:00 / 0:00
Killed

Welp, lol. I can't seem to find how to get wp-cli to spit out errors so I'll go back to the browser method.

edit: --debug doesn't give me anymore useful information.
 
Last edited:
Back
Top