This project is not covered by Drupal’s security advisory policy.


If your talking about very very very fast file transfer then here is the destiny.

Why xsend module is made for?

xsend is a simple module to help you to speed up your private file transfers. Normally Drupal private file transfer is quite troublesome and not secure if the files folder is located at public_html. This module will also help protect your files from unauthorized access.

Why you need this?

  • If you're still using Drupal public file transfer you're not secure at all. Every one can get your files.
  • If you're using Drupal private file transfer, you're secure. But file transfer to the client is very slow.
  • Fast secure file transfer can only be achieved from the xsend.

How to migrate to xsend?

  • If you're using a standard Drupal installation then follow the instructions in the INSTALL file.
  • If you're currently using private file transfer correctly, then you can still use this INSTALL guide, but make sure keep empty, the path to Drupal installation directory settings.

What is mod_xsendfile

mod_xsendfile is a small Apache2 module that processes X-SENDFILE headers registered by the original output handler.

If it encounters the presence of such header it will discard all output and send the file specified by that header instead using Apache internals including all optimizations like caching-headers and sendfile or mmap if configured.

It is useful for processing script-output of e.g. php, perl or any cgi.

Official Site

Testing Results

Installation Guide


  • Apache2
  • X-send file module installed


Install X-send file

Install X-send file module

  • Change your site file system to private (http://sitename/admin/settings/file-system)
  • Follow the standard Drupal installation for module as below.
  • Extract the module and copy module to sites/all/modules
  • Go to the patch folder and run patch file to patch your

Patch (Only for xsend 6.x-1)

  • cd /path/to/drupal
  • patch -p0 < sites/all/modules/xsend/patch/
  • Enable the module
  • Go to settings and set the path to Drupal installation directory.
  • Enable the X-send support.


  • I tested only the files directory as a sub directory scenario, if your files directory is not in a sub directory then you do not need to add "Absolute path to Drupal installation directory" settings, keep it blank. If you're in a subdirectory then you need to add the correct path to it with a leading slash "/".
  • go to .htaccess file and add following lines to the top of the file
        XSendFile on
        XSendFileAllowAbove on
  • Go to files directory
  • open the .htaccess file and add following lines to top of it
        Deny from all

Follow Me

Can't install alone?

Supporting organizations: 
Development & maintains

Project information