Grad shape
Grad shape

ProjectSend

File Transfer - Single-click & Drag-n-drop Upload

About this project

ProjectSend logo

About

ProjectSend is a free, clients-oriented, private file sharing web application.

Clients are created and assigned a username and a password.
Uploaded files can be assigned to specific clients or clients groups.

Other featres include auto-expiration of upload, notifications, full logging of actions by users and clients, option to allow clients to also upload files, themes, multiple languages...

Main website: projectsend.org
git: current repository

Feel free to participate!

IMPORTANT

It is recommended that you download the latest release from the official website.

Downloading a development version directly from the repository might give you unexpected results, such as visible errors, functions that are still not finished, etc.

Server requirements

Your server needs to be configured with at least:

  • php 7.1 or newer
  • MySQL 5.0 or newer(*)
  • Apache 2.2 or NGINX
  • The following php extensions enabled on php.ini
    • pdo
    • pdo_mysql
    • mbstring
    • gettext
    • fileinfo
    • gd2
    • xml

(*) If you are using version 8.x or newer, please set the authentication method of your database so it uses the MySQL native password. The default method (caching_sha2_password) will not work. Thanks to user jellevdbos for pointing this out.

If possible, make sure to have php configured with:

  • memory_limit set to 128M or more

Optional: Improve downloads by using XSendFile

If you have access to edit your Apache or NGINX modules and configurations, it's recommended that you enable XSendFile so the files are served directly, eliminating php as a middle-man, which can be the cause of slow, interrupted downloads, or corrupted files. After enabling the module, make sure to also enable the option in the General options panel of ProjectSend.

A few resources on how to get started:

How to install on your server

Preparations:

  1. Download and unzip the lastest version of ProjectSend to a folder of your choice.
  2. Create a new database on your server. Create/assign a user to it.

When those are steps are completed, follow this instructions:

  1. Rename includes/sys.config.sample.php to sys.config.php and set your database info there.
  2. Upload ProjectSend to your selected destination.
  3. Open your browser and go to https://your-projectsend-folder/install
  4. Complete the information there and wait for the correct installation message.

Congratulations! ProjectSend is now installed and ready for action! You may login with your new username and password.

How to upgrade to a newer version

  1. Download your version of choice from the official project page.
  2. Upload the files via FTP to your server and rep
Technologies & License
GPL-2.0 PHP
Quick Deploy

Deploy this project to cloud platforms with one click