Attachment Improvements By Xon

Attachment Improvements By Xon 2.6.1

No permission to download
Compatible XF 2.x versions
  1. 2.2
  2. 2.3
Additional requirements
php 7.2+
Optionally; Nginx (for X-Accel-Redirect support)
Standard Library v1.18.0 by Xon
MIT Licence
A collection of improvements to XF's attachment system.
  • Byte-range support for resumable downloads
    • Primarily designed for partial content requests for streaming videos, but will work with any file
    • Dependant on the filesystem /internal_data being local, as the remote file system APIs do not easily support this feature
  • Improve drag&drop editor support.
    • Stock XenForo/Froala uses "move" which can result in unexpected content deletion.
    • Tint the active editor's boarder when dragging items over it, and show a file upload symbol over it.
  • Option to strip jpeg EXIF data
  • SVG support
  • Nginx's X-Accel-Redirect
  • New Permissions for forum/conversations (Respects global attachment size & count limits):
    • Attachment Size (kb).
    • Maximum Attachment Count.
  • Adds support for video stream via partial content requests

SVG Support
Support for SVG attachments to be displayable as normal images.

Nginx X-Accel-Redirect (OPTIONAL)

Enables the use of Nginx's X-Accel-Redirect header feature for attachment serving.

This permits XenForo to-do validation and authentication, and offload the actual file serving to Nginx. This feature is not particularly well documented, but some info found here.

After following Using DigitalOcean Spaces or Amazon S3 for file storage in XF 2.x attachments no longer show, you must follow the relevant FAQ entry!

This addon assumes the /internal_data folder exists within the webroot, and you do not have a 'deny all;' statement but instead use 'internal;' to secure the internal_data folder.

For example, XenForo is accessible from: /forum rather than then the webroot.

The following must be added to config.php:
$config['internalDataUrl'] = '/forum/internal_data';

Something similar to the nginx config may be required in your webserver:
location ^~ /forum/internal_data {
  add_header Etag $upstream_http_etag;
  add_header X-Frame-Options SAMEORIGIN;
  add_header X-Content-Type-Options nosniff;
  alias /path/to/internal_data;

To ensure you match how XenForo serves files, add the following headers into your website config for the internal_data folder:
  add_header Etag $upstream_http_etag;
  add_header X-Frame-Options SAMEORIGIN;
  add_header X-Content-Type-Options nosniff;

New Permissions

Permits per-forum or conversation attachment size and count limits.

Respects the global forum wide attachment size/count limits, with per-usergroup settings allowing smaller values.

Due to how XF integer permissions work, 'unlimited' or '0' evaluate as no permission being set.

Post Install Instructions
Add 'svg' file extension to the list of supported to allow svg files to be uploaded.

Contributing features or bug fixes
Please create a Github Pull request via the "More Information" link.


If you appreciate this add-on, please consider a contribution via PayPal. Details will be provide via private conversation.

Please contact me if you wish for different licencing arrangements.
Related resources
First release
Last update


5.00 star(s) 6 ratings

More resources from Xon

Latest updates

  1. 2.6.1 - Bugfix update

    php 8.4+ compatibility XF2.3 compatbility Fix XFRM support when XFRM is installed after...
  2. 2.6.0 - Feature update

    This addon is now available on Require StandardLib v1.18.0+ Fix...
  3. 2.5.0 - Security & Bugfix update

    Require Standard Library by Xon (free) v1.1.0+ add-on Only support range-requests for local...

Latest reviews

Wonderful addition to our community:

Thanks for providing this add on for free, recommend everyone installing this.
It makes up for the lack of official functions, which is very good. For example, it supports the resumable download of attachments, which is extremely valuable for downloading large attachments in unstable networks, and can also clear the exif data in photos to ensure privacy.
Been working a treat for a while now. I'm still on 2.0.9 so an upgrade is well-overdue. Thank you, it's become invaluable.
A very useful addon, we can tempt people to user upgrades by offering more attachments per post. Thanks again xon for a great addon!
A very useful feature for large forums is X-Accel-Redirect. Which allows you to solve the problem of the forum, which puts all the work on php, but thanks to this function, you can transfer it to the nginx web server.
Hands down one of the best and most essential XenForo addons if you're planning on making use out of the attachment system. Xon is a very patient developer who made this addon possible, and we're using it on our attachment-centric forum (over 100,000+ files) without any issues whatsoever. If you want your users to be able to stream video files, this is the addon that you want and need!
Works a treat, needed this for EXIF data-stripping. Haven't used the Nginx Accel-Redirect feature yet.
Top Bottom