[DigitalPoint] App for Cloudflare®

[DigitalPoint] App for Cloudflare® 1.9.4

No permission to download
They tend to be coming from everywhere with all sorts of useragents, the only common factors seem to be they are all http1.1, anyway thanks for looking, I'll see what I can get sorted.
 
The Cloudflare addon shows the country and IP address for them all - which might help. If a lot are from, say China, you could also geoblock China with the Cloudflare addon. I found blocking some in htaccess helped. Bytedance in particular.
 
...so I've been playing around with preloading resources/early hints with this addon. So far it seems to have a decent/measurable speed improvement. For those that don't know, if a browser is using HTTP/2 or higher, they can receive what is effectively two HTTP responses within a single request. First, HTTP 103 feeds the browser early hints (which includes varying load priorities for resources)... so the browser can immediately start fetching things like JavaScript and CSS before the first byte of the HTTP response is even sent (basically using the time the server uses to render a page to tell the browser to go ahead and start downing resource it's about to need).

Here's an example showing the HTTP headers of a single cURL request:

HTTP:
twin1:~/ # curl -I https://appforcf.com

HTTP/2 103
link: </js/xf/preamble.min.js?_v=35a08fed>; as=script; rel=preload, </css.php?css=public%3Anormalize.css%2Cpublic%3Afa.css%2Cpublic%3Acore.less%2Cpublic%3Aapp.less&s=1&l=1&d=1751243315&k=c9465ae891d9de1057ee7d3018e642588ca4c1a4>; as=style; rel=preload, </jc/gtm.js?_v=35a08fed>; as=script; fetchpriority=low; rel=preload, </js/vendor/vendor-compiled.js?_v=35a08fed>; as=script; fetchpriority=low; rel=preload, </js/xf/core-compiled.js?_v=35a08fed>; as=script; fetchpriority=low; rel=preload, </js/dp/fl/core.min.js?_v=35a08fed>; as=script; fetchpriority=low; rel=preload, </css.php?css=public%3Aappforcf.less&s=1&l=1&d=1751243315&k=25924f42aa5c40d5d20eeed3aa12dc4e6a91aa88>; as=style; fetchpriority=low; rel=preload, </css.php?css=public%3Afooter.less&s=1&l=1&d=1751243315&k=4a5915d389692145c159ecd81343365e9fe3c6fe>; as=style; fetchpriority=low; rel=preload, </css.php?css=public%3Aextra.less&s=1&l=1&d=1751243315&k=2cebc5eca38b19fab98ed89ba7a6278514e21960>; as=style; fetchpriority=low; rel=preload

HTTP/2 200
date: Mon, 30 Jun 2025 02:57:50 GMT
content-type: text/html; charset=utf-8
server: cloudflare
x-frame-options: SAMEORIGIN
x-content-type-options: nosniff
last-modified: Mon, 30 Jun 2025 02:57:43 GMT
expires: Mon, 30 Jun 2025 06:57:43 GMT
cache-control: max-age=0,s-maxage=14400
link: </js/xf/preamble.min.js?_v=35a08fed>;as=script;rel=preload,</css.php?css=public%3Anormalize.css%2Cpublic%3Afa.css%2Cpublic%3Acore.less%2Cpublic%3Aapp.less&s=1&l=1&d=1751243315&k=c9465ae891d9de1057ee7d3018e642588ca4c1a4>;as=style;rel=preload,</jc/gtm.js?_v=35a08fed>;as=script;rel=preload;fetchpriority=low,</js/vendor/vendor-compiled.js?_v=35a08fed>;as=script;rel=preload;fetchpriority=low,</js/xf/core-compiled.js?_v=35a08fed>;as=script;rel=preload;fetchpriority=low,</js/dp/fl/core.min.js?_v=35a08fed>;as=script;rel=preload;fetchpriority=low,</css.php?css=public%3Aappforcf.less&s=1&l=1&d=1751243315&k=25924f42aa5c40d5d20eeed3aa12dc4e6a91aa88>;as=style;rel=preload;fetchpriority=low,</css.php?css=public%3Afooter.less&s=1&l=1&d=1751243315&k=4a5915d389692145c159ecd81343365e9fe3c6fe>;as=style;rel=preload;fetchpriority=low,</css.php?css=public%3Aextra.less&s=1&l=1&d=1751243315&k=2cebc5eca38b19fab98ed89ba7a6278514e21960>;as=style;rel=preload;fetchpriority=low
vary: Accept-Encoding
age: 6
cf-cache-status: HIT
strict-transport-security: max-age=31536000; includeSubDomains; preload
cf-ray: 957a65ffde9d0fe0-LAS
alt-svc: h3=":443"; ma=86400

You can see that Cloudflare feeds it cached info about what resources it should start fetch (doesn't need to wait until it goes to the origin server).

With early hints enabled, the network tab of browser devtools looks like this for the main page of appforcf.com (note the Type column... you can see what the browser is preloading due to early hints):

1751253093683.webp

TL;DR: what is my point/question?

I'm curious if anyone sees any reason to make preloading of needed resources optional (as in a setting). I'm not seeing any downside yet, only upside (faster sites are always good)... so maybe it doesn't even need to be an option, rather just something that magically happens automatically? But I'm all ears...
 
Not off the top of my head. But adding a togglable option probably will save you headaches down the road i.e. troubleshooting :)
Well you can already toggle on/off Early Hints as a zone setting (which is available already via the addon). So maybe that’s enough? Doubt there’s a situation where someone is doing Early Hints on a different part of their site, but then they don’t want to do for the XenForo part of their site?
 
Well you can already toggle on/off Early Hints as a zone setting (which is available already via the addon). So maybe that’s enough? Doubt there’s a situation where someone is doing Early Hints on a different part of their site, but then they don’t want to do for the XenForo part of their site?
You mean asking if toggle for preloading and not for early hints? Personally, I prefer if had more control with toggle for preloading as that is something I usually do myself :)
 
You mean asking if toggle for preloading and not for early hints? Personally, I prefer if had more control with toggle for preloading as that is something I usually do myself :)
Fair enough...

1751300686933.webp

FWIW, it does seem to work a lot better (as far as speeding up a website) vs. last time I mucked with it a couple years ago. Maybe browsers are doing a better job/caught up with the intent now? 🤷🏻‍♂️
 
FWIW, it does seem to work a lot better (as far as speeding up a website) vs. last time I mucked with it a couple years ago. Maybe browsers are doing a better job/caught up with the intent now? 🤷🏻‍♂️
Cheers. Yeah, also depends on the style and layout of the site itself. In the past, Xenforo's default style wasn't that favourable to preload - I had to modify it somewhat myself.
 
digitalpoint updated [DigitalPoint] App for Cloudflare® with a new update entry:

Ability to preload resources

  • Updated charting library (Chart.js) to 4.5.0
  • Make use of XF\Util\Ip::stringToBinary & XF\Util\Ip::binaryToString if using XenForo >= 2.3
  • Firewall option to force registration challenge removed (no longer needed now that Turnstile is supported)
  • Removed option to force contact and registration pages to not be an overlay (was used in conjunction with the registration challenge that was removed)
  • New option (Preload resources): automatically adds Link header that includes...

Read the rest of this update entry...
 
Thanks for the update!

General question. I know it's not part of this add-on, but is it possible to show a post/DM preview in mobile notifications?

Currently it just shows the title or general information
 
General question. I know it's not part of this add-on, but is it possible to show a post/DM preview in mobile notifications?

Currently it just shows the title or general information
I suspect you will get a better answer if you ask your question somewhere related to what you are asking. This addon does nothing whatsoever with mobile notifications.

Maybe XenForo support if it's related to XenForo core functionality?

 
So lots of stuff in it needs to be updated? Are you indicating you don't want to keep it updated?

Oh, I forgot that XF doesn't let you edit threads after 1 day. How about moving the suggestions to the FAQ tab so they can be kept up to date?
It's not really specific to the addon, so doesn't make sense to bury it in the addon FAQ (that's already used for something else tha is addon related).
 
@digitalpoint Can you expand on this a little:
  • New option (Preload resources): automatically adds Link header that includes JavaScript and CSS URLs for the page (tells browsers to preload resources used by the page)
Early Hints existed previously... were file preload directives in the header previously ignored by Cloudflare and now they are being integrated into Early Hints?

- or -

Are header preload directives not required now and Cloudflare is automatically creating them for "preloadable" file resources referenced on a given page?
 
Back
Top Bottom