& Payments
Share any size files to users, groups, and the public.
Use the same user base for invoicing and payments!
Only a one-time price of $49.

DEMO Purchase


From sharing files, to getting paid; DistriFile provides several key benefits.
Click an item to toggle more information.

Save Time

You can share any amount and size of files to any number of users and groups with just a couple of clicks.

Save Money

For less than the cost of a yearly paid subscription to most cloud services, buying DistriFile gives you MORE for less money. Furthermore, DistriFile has a lifetime license, meaning you will never have to pay again! (Unless you need more than the 2 allowed installations.)

Be in Control

You are in control of your files and users. No limitations imposed by cloud based services. Set your own limitations for other users.

Know when

Know exactly when someone sees a file, invoice, or performs other actions in the system. Detailed logging is essential to knowing what your users are doing with your file server.

Get paid first!

Have a slow paying customer? You can choose to not give them the deliverable digital files until they pay the invoice. Once paid, the files get shared to them immediately.

No FTP Headaches

If you upload to someone's FTP server regularly, you can add their FTP server info to their account; and when you share a file to them, your server then uploads to their FTP AND send email notifications to you and anyone you specify with a status page of the upload as well as a summary when the upload completes.


DistriFile has many features. This list doesn't even cover all of them!
Click an item to toggle more information.


FTP & Cloud Service Replacement.

No one but you has access to your data.
Say good-bye to services that cost you money each month or that has limited functionality such as Dropbox, Google Drive, One Drive, etc.

Install it on your existing website on a subfolder or better yet, a subdomain. When you give out the url such as "" your clients will automatically can look foward to not having to use Dropbox, Google Drive, etc.

FTP was great back in the day, but if you must upload to FTP servers regularly, just let your DistriFile self-hosted file server do it for you while keeping you and your client updated on progress, success or fail.


HTTPS Ready + Hide the repository.

Encrypt all communication with your site using a SSL Certificate and using https.
If you have full control of; or your host allows, you can use the FREE let's encrypt certificates or any other valid SSL Certificate.

Keep your file repository hidden!
You can easily place the folder with all your files wherever you want on your server, such as a directory above public_html or even on a separate dedicated drive! That way your files can only be accessed by the preview/download script, and only with the unique code for each user / share. If you didn't, then someone could technically access a file if they knew the file name, but this way, there's zero chance someone can access unsecurely.


Set colors, css & messages to your liking.

Make it how you like it!
You can add custom CSS, switch to a pre-installed theme, or create your own theme!

Modify ANY text that is displayed!
We provide a utility in the Site Controller area for Admins to change some page names, phrases and even completely edit the HTML email templates that get sent out!
You could even overwrite all others by creating your own custom language file.

Unlimited Sizes & Sharing

Upload & Share multi-gigabyte files.

Really. It is virtually unlimited.
How big is the free space on your hard drive? On a 64 bit system, that is your limit.

Share to Users, Groups or anyone with an email address.
There's not a limit to how many people you can share with. In fact, the only limits are those that you configure.

Invoicing & Payments

Send Invoices and accept Payments.

Not only share files, but also handle your invoicing and payments with the same system! Finally, one website for you to handle two of your day to day activities with your clients.

Recurring Invoices
Reusable Invoice Items
Payment Reports
Sales Tax Reports
Accept Payments via PayPal or 2Checkout.
PayPal Express Checkout ready!

Detailed Logging

Know who did what and when.

Detailed logs gives administrators a lot of details of when users do things within your system.
There are many log types available such as:
File Uploads, Downloads, Previews, Edits, Deletes, Shares...
Logins, Failed Logins, Forgot Passwords (You can even ban or lock IP addresses.)
Invoice Views, Payments, etc.
Plus MANY MANY More!

How to videos

Current videos available for DistriFile. (Watch them full-screen.)

Server Requirements

DistriFile can be ran on either Linux or a Windows PC/Server.
Click an item to toggle more information.


Ubuntu, Debian, RedHat, etc. (64 bit)

DistriFile works best on Ubuntu or Debian.
Other variants have been known to work. As long as it is 64bit, you should be ok.


64 Bit

OS should be 64 bits.

In order to handle files over 2GB, the Operating System, Webserver Software (NGINX or Apache), and PHP MUST be 64 bits.


8.1+ PC (64 bit)

Although Linux is preferred, we have created a guide as well as a downloadable script to create a webserver on a Windows PC. It will install NGINX and PHP for you with a guided approach. It could possibly work with Windows Server, but hasn't been tested.
Click here to view the tutorial.

NGINX or Apache

We suggest NGINX as it is much faster and less resource intensive.
  • NGINX Version 1.4+
  • Apache Version 2.2+
  • PHP 5.5+

    Works very well with PHP 7!
    Can't be any lower than Version 5.5.

    You will also need the following php extensions active:
    cURL, FTP, gd, mbstring, mysqli, OpenSSL, xml, ZIP

    MySQL Server 5.5+

    MUST NOT be any lower than 5.5!
    DistriFile is now compatible with the new 5.7 version with STRICT mode enabled (should you wish to run with STRICT mode.)



    MediaInfo will allow you to view MANY details about most media file types such as images, audio and video.

    ffmpeg is currently only used to process files with audio to determine the LKFS/LUFS measurement if you choose to do so. This measurement is used in Broadcast Television to make sure a commercial or program complies with the CALM Act.

    Test your server!

    Test your server before you buy!
    1- Download this file to your server.
    2- Extract "test_distrifile.php" to a directory on your site.
    3- Open that page in your browser, e.g.,

    You should then see something like this:
    Need a new web host or a great VPS? Check out DigitalOcean.

    Contact Us

    Have a question? Need more information? Send us a message.

    Fill out the form without errors to show the send button.

    The latest version of DistriFile-PRO.

    Version 3.18

    Go to and view the release notes for 3.17 if you haven't.

    [FIXED] Public share email not sending or logging in PHP 7.2. It should work now.
    [FIXED] Audio waveform appearing when previewing audio files.
    [ENHANCED] File Searching
    • Now you can search for multiple phrases and if a file's name OR description contains whatever is typed, it will be the result.
    • Example: AAA_123_TEST.mp4 You could search for "AAA mp4" or "1 test" and that file will be in the results. All versions prior to this release wouldn't do this.
    • Note, searching "uncategorized" files doesn't work, but searching "All Files" and files in folders does work.
    [ENHANCED] Upload complete waits for analyzing to finish before sharing.
    • This allows file descriptions that contain automatic entries to be included in notification emails IF files are shared upon uploading. This will also wait until a file's LKFS measurement is taken if directed to do so in system settings and/or upload option selected.
    • The file(s) will also be locked until analyzing is completed. This makes sure that a file's name can't be changed while analyzing is being performed. (Just like when a file is being sent via FTP.)
    • The only time this should take more than a couple of seconds is if there is a LKFS audio measurement being taken.
    [ENHANCED] Uploader
    • If there is an error such as the file existing once selected, now there is no need to refresh the uploader!
    • The script will now show the add files icon so you can select another file without refreshing.
    • It will also hide the global progress information if there isn't any current progress.
    • This is a huge benefit because if you already filled out sharing to users, groups, folders, or set options; those won't be removed when the uploader was refreshed. Just select another file or rename it and then select and upload.
    • Also added missing translated tooltips for the uploader icons.
    [ADDED] Option to use either single field per email, or allow multiple email addresses for one field when creating public shares.
    • Set this in Site Settings > Files > Enter public share email addresses separately?
    • If using multiple addresses for one field, separate each with a comma or semicolon.
    • Either way will validate the addresses for typical errors (but not if its actually a working email address.)
    • Will also validate whether the setting to allow public shares to system users.
    [ADDED] Advanced Media Processing
    • This is designed mostly for Broadcast files, however it could be beneficial in other ways.
    • IF you have mediainfo and/or ffmpeg installed on the server you will find additional options available in Site Controller > Site Settings > Files. Scroll all the way down until you see Advanced Media Processing.
    • These options are global, that is all files for all users will be effected upon upload.
    • All Media (audio/visual files such as mp4, mpg, mov, etc.)
      • Duration: Upon uploading A/V files, the system can place the duration of the file in the description automatically.
    • Broadcast (whatever you specify as broadcast.)
      • Broadcast Identification: Comma separated entries to specify a broadcast file. (Example: HD.mpg,, etc.)
      • Broadcast Description: Entry to place in the description if a file matching Identification array is uploaded.
      • Automatically Analyze: Will immediately upon upload analyze the files uploaded matching broadcast identification setting. This will scan the file and create the file report (same as when you right click a file for "Details and Statistics.")
      • Description Settings: IF a file is analyzed, you can specify various things to go into the description if a match or if it contains things such as Closed Captions, etc.
      • Note, these description options are global and some will override a user's Automatic Description Rules and possibly could in some scenarios double the description value. If so, a user should remove that rule if you see that. Also, you can place this info as a placeholder in your rules if you don't want it appended to your rules. Just use the rule {AMP} (any value can be used for description value, it won't be used though).
    • Example description if everything is enabled:
      • Client Name | Broadcast | 30 Seconds | Closed Captioned | -24.1 LKFS
    • With this whole function now setup on a global basis, it will be easier to implement further functions soon; such as create a lower resolution, streamable, HTML5 preview file (mp4) for files that can't be previewed natively in the browser. COMING SOON! If you have any ideas for more processing, let me know.