Synopsis
This is an Anti-leech, download limiter / file manager, that uses tokens to verify downloads instead of HTTP_REFERER or IP which can be spoofed or changed. Good coding practice with modern PHP security. XHTML / CSS valid output. Easy to customize with html templates. Usage is dead simple, the included and auto-installed web page does everything for you. Extremely easy to manage all of your download files and very easy to work into your existing web page. Uses flat files so no need for an additional MySQL database. Just upload, run install, and you are done. It's that easy. Downloads can be limited to a certain transfer size per time frame, which can be further broken down into smaller intervals, all with only a couple settings. This helps spread out the limitation to different timezone and prevents all available bandwidth being used in a short period. Many more options that are all easily configurable.
Feature List
- Completely free (free as in speech);
- Multiple language capability (all text is in config file, no hardcoded messages);
- Download counter file;
- xhtml/css compliant message output, fully customizable;
- Install script for easy setup;
- All user supplied input securely handled;
- Uses tokens to validate download requests. A superior method than .htaccess or http_referer which can be spoofed or limit users with firewalls;
- Tokens are good for a day by default, but can be set to expire at any time in 1 minute increments;
- A log is kept of invalid token attempts and information on tracking down the source;
- All errors and warnings can be written to a log file or sent to an email address;
- Supports unlimited directory structure of downloadable files (no need to specify where a file is located);
- Option to turn off bandwidth protection;
- Option to turn off any error/log report;
- Robust error handling;
- Ability to specify the total amount of transfer (bandwidth) allowed, over the total amount of time;
- Ability to specify interval lengths for download cut-off so all the allowed bandwidth does not go to one time zone / day /hour;
- Ability to put in a ratio of download clicks to actual bandwidth used;
- Log of all download details kept;
- Download log can be auto-archived;
- Ability to specify the download log size before archive;
- Ability to specify the download archive size before deleting;
- Ability to have a warning issued (email or log file) about the archive file reaching it's maximum;
- Download count can be tracked in a Mysql database;
- Flood control on user clicks. Ability to set the number of times a user can click on a link in a given interval;
- Ability to allow specific offsite downloads via tokens;
- Pre-made example download page that is xhtml/css compliant;
- Pre-made file manager that displays all files, directories, sizes, downloads, dates, authors and descriptions for each file
- Ability to deny link sharing between browsers.
- Alternative install locations for secure files
- Logs automatically rotated, no on-going maintenance
- Ability to have multiple files with the same name
- Turn-Key install operation. Ready to begin secure downloads in 5 minutes or less;
- Many more features constantly being added based on user feedback. Check the changelog for the additions and To-do's
Requirements
- PHP >= 4.3.0, 5.x
- OS Platforms: Linux, BSD, other Nix*
- Database: MySQL - Optional (flatfile based, no need for a database)
- Tested on Firefox, Opera and IE6.
Usage
The installation creates everything you need to start using right away. All you need to do is:
- Copy over all the files you wish to protect to the "files" directory including sub-directories.
- Make a link to the file like this - "http://www.example.com/dsplus/m.php?p=filename.exe"
Where filename.exe is the name of the file to be downloaded, or you can use the pre-built file display page (mplus.php) that works quite nicely out-of-the-box.
- You can customize the .html and .css files in the dsplus folder to match your site or add advertising, whatever you wish.
- The config file is located here: /ds_files/scripts/ds_config.php - In there you will find many user settings you can change to your hearts content. Or just login and change them from the convenient admin menu