[DigitalPoint] App for Cloudflare®

[DigitalPoint] App for Cloudflare® 1.8.2

No permission to download
For those using Brotli compression on your server...

Be aware to take advantage of higher end to end compression rates available through Brotli the following Cloudflare proxy features need to be disabled (all option settings are available within this app).
  1. Email Obfuscation
  2. Rocket Loader
  3. Server Side Excludes (SSE)
  4. Mirage
  5. HTML Minification - JavaScript and CSS can be left enabled.
  6. Automatic HTTPS Rewrites
You are going to want to disable the proxy features above within this app to be able to pass through your Brotli compressed content without it being decompressed and recompressed. If one of these proxy features is turned on it will require Cloudflare to decompress the HMTL, apply the Cloudflare proxy feature, and then recompress using Cloudflare’s default Brotli level 4 or Gzip level 8 depending on the user's accept-encoding header.

If you have these proxy features turned off it can pass Brotli 0-11 Compression write through to the end user.


1705919238203.webp
 
For those using Brotli compression on your server...

Be aware to take advantage of higher end to end compression rates available through Brotli the following Cloudflare proxy features need to be disabled (all option settings are available within this app).
  1. Email Obfuscation
  2. Rocket Loader
  3. Server Side Excludes (SSE)
  4. Mirage
  5. HTML Minification - JavaScript and CSS can be left enabled.
  6. Automatic HTTPS Rewrites
Thanks heaps for sharing 🏆
Have now turned off Email Obfuscation, HTML Minification, and Automatic HTTPS Rewrites on my site
 
For those using Brotli compression on your server...

Be aware to take advantage of higher end to end compression rates available through Brotli the following Cloudflare proxy features need to be disabled (all option settings are available within this app).
  1. Email Obfuscation
  2. Rocket Loader
  3. Server Side Excludes (SSE)
  4. Mirage
  5. HTML Minification - JavaScript and CSS can be left enabled.
  6. Automatic HTTPS Rewrites
You are going to want to disable the proxy features above within this app to be able to pass through your Brotli compressed content without it being decompressed and recompressed. If one of these proxy features is turned on it will require Cloudflare to decompress the HMTL, apply the Cloudflare proxy feature, and then recompress using Cloudflare’s default Brotli level 4 or Gzip level 8 depending on the user's accept-encoding header.

If you have these proxy features turned off it can pass Brotli 0-11 Compression write through to the end user.


View attachment 296985
How is Email Obfuscation supposed to be related to Brotli?
 
Now, I hope there's a way to test and verify this:

1705931747055.webp

That Gzip or Brotli from our origin server is directly passed through to the end user.
 
Now, I hope there's a way to test and verify this:

View attachment 296989

That Gzip or Brotli from our origin server is directly passed through to the end user.

Default Brotli compression in Cloudflare is set at 4.

Off the top of my head... I would set your server's Brotli compression 4 and check any compressible mime content to see the returned speed and size through a browser. Then set your server's Brotli compression to 11. Test the same content for speed and size. The speed may not be much different (and there are a lot of factors that can affect this), but the content should be slightly smaller. If any content is smaller, then you know it's your originally server compression on that file, since Cloudflare defaults to a Brotli compression of 4.
 
  • Like
Reactions: rdn
I should also mention if any of those same 6 Cloudflare proxy settings listed above, if turned on, will also require the decompression and recompression of any gzip text/html content also.
 
  • Like
Reactions: rdn
I should also mention if any of those same 6 Cloudflare proxy settings listed above, if turned on, will also require the decompression and recompression of any gzip text/html content also.
Without Cloudflare Proxy the served images from R2 will leak the origin ip address which is bad.
 
Does anyone actually have Brotli enabled at their origin (that’s what you guys are talking about, not via Cloudflare)? Brotli support at your origin is usually is a lot more work and requires custom compiled versions of your web server.
 
Without Cloudflare Proxy the served images from R2 will leak the origin ip address which is bad.
We are talking about these settings only...
  1. Email Obfuscation
  2. Rocket Loader
  3. Server Side Excludes (SSE)
  4. Mirage
  5. HTML Minification - JavaScript and CSS can be left enabled.
  6. Automatic HTTPS Rewrites
Nothing that affects R2.
 
Does anyone actually have Brotli enabled at their origin (that’s what you guys are talking about, not via Cloudflare)? Brotli support at your origin is usually is a lot more work and requires custom compiled versions of your web server.

Apache 2.4 supports Brotli compression with mod_brotli out of the box. NGINX also with ngx_brotli module.
 
Last edited:
Apache 2.4 supports Brotli compression with mod_brotli out of the box. NGINX also with ngx_brotli module.
Ya, the issue more is compiling the module itself. If you have the module, great... it's simple to enable.

It's been awhile since I went down the road of compiling the Brotli module (about 2 years ago is when I last mucked with it), so maybe it's been simplified now. I ended up in dependency hell and was just over it.

The downside of end to end Brotli compression (for XenForo anyway) didn't really make it so amazing... This page for example has 36,311 tabs/carriage returns in the source (which works out to 13.4% of the page source)... which now you have to keep because you lose the ability to do HTML compression (which more or less negates the higher compression ratio). Making your page 13.4% larger so you can use end to end compression isn't super amazing.

If you were doing server-side HTML compression it would make more sense.
 
For Apache the mod_brotli module is quite easy to use now. Install is simple with no settings to mess with and implementation is now just a few small changes from mod_deflate (gzip) if you are already using that and the modules can run side by side without issue.

From:
Code:
<IfModule mod_deflate.c>
    AddOutputFilterByType DEFLATE text/css text/html text/javascript text/plain text/xml
</IfModule>

To:
Code:
<IfModule mod_brotli.c>
    AddOutputFilterByType BROTLI_COMPRESS text/css text/html text/javascript text/plain text/xml
</IfModule>
 
I'm using this now on the origin server for HTML minification:
 
Top Bottom