Simple, Portable PHP File-Sharing
Go to file
Andrew S. Rightenburg bc8bd4cd78
Added AGPL license file
2023-09-25 20:24:44 +08:00
assets Display download link immediately after uploading file 2023-04-26 16:48:40 -04:00
files Creating .htaccess for Apache users to protect files directory 2020-12-30 12:01:30 +00:00
images Delete del.txt 2020-12-27 16:09:35 +00:00
.htaccess Creating .htaccess for Apache users to secure DB 2020-12-30 12:00:05 +00:00
CHANGELOG Fixes #7 2023-04-27 22:50:26 -04:00
LICENSE Added AGPL license file 2023-09-25 20:24:44 +08:00
README.md Updated readme 2023-04-26 23:02:37 -04:00
download.php Closes #8 2023-04-27 03:41:53 -04:00
functions.global.php Fixes #7 2023-04-27 22:50:26 -04:00
index.php Added auto-deletion option manageable from manage.php 2023-04-25 21:27:59 -04:00
layout.php Display download link immediately after uploading file 2023-04-26 16:48:40 -04:00
login.php Added auto-deletion option manageable from manage.php 2023-04-25 21:27:59 -04:00
logout.php Added auto-deletion option manageable from manage.php 2023-04-25 21:27:59 -04:00
manage.php Clarified option in manage.php 2023-04-27 16:33:33 -04:00
screen-download.png Updated example photos 2023-04-25 21:33:29 -04:00
screen-login.png Updated example photos 2023-04-25 21:33:29 -04:00
screen-main.png Updated example photos 2023-04-25 21:33:29 -04:00
screen-manage.png Updated example photo 2023-04-27 22:53:14 -04:00
screen-upload.png Updated example photos 2023-04-25 21:33:29 -04:00
setup.php Updated setup.php 2023-04-27 16:26:26 -04:00
simplefs-cron.php Added auto-deletion option manageable from manage.php 2023-04-25 21:27:59 -04:00
upload.php Small typo 2023-04-30 16:10:54 -04:00

README.md

SimpleFS

Simple, Self-Hosted, PHP File Sharing

Features

  • Portable & self-contained
  • Option to automatically delete files after a certain length of time
  • Automatically ZIPs files if you upload more than one at a time
  • SQLite (No need for a bulky SQL Server)
  • Dual- or single-user set up (users with permission to upload)

Installation

  • Place SimpleFS anywhere on your web server
  • Visit setup.php in your web browser to create a user or two to upload files

That's it

Requirements

  • Please ensure that your php.ini permits uploads. Check for the line:
file_uploads = On

Screenshots

Main Sign in Upload Download Manage

Usage

  • After signing in, upload files via upload.php
  • After uploading, shareable links can be obtained from manage.php in the format download.php?id=XXXXX

Security

  • For Nginx Users

It's recommended that you alter your server configuration to block direct access to the sqlite database file (created by setup.php as filedb.sqlite), and to block direct access to the files directory, as such for example:

	location = /SimpleFS/Installation/Folder/filedb.sqlite {
		deny all;
		return 404;
	}
	location = /SimpleFS/Installation/Folder/files/ {
	deny all;
	return 404;
	}
  • For Apache Users

This repo includes .htaccess files preventing direct access to the sqlite database file and to the files directory. Please ensure that your Apache installation is configured to allow .htaccess overrides, as in for instance, in your apache2.conf:

<Directory /var/www/>
		Options Indexes FollowSymLinks
		AllowOverride All
		Require all granted
</Directory>

These security measures aren't absolutely essential, as regardless, nobody can upload files without being signed in. However, the public-facing download links being in the form of download.php?id=XXXXX is considered to be a security feature as it helps to prevent unintended recipients from discovering and downloading files not meant for them. In this same vein, it's a good idea to disallow indiscriminate access to the FileDB and files directory.