Updating script and README

This commit is contained in:
Pierre-Alain Bandinelli 2016-05-14 11:30:07 +02:00
parent 2f98035ac1
commit 2239bd05dd
3 changed files with 19 additions and 31 deletions

View File

@ -1,48 +1,34 @@
# About
[Uguu.se](http://uguu.se) source code, stores files and deletes after X amount of time.
Temp file sharing application source code, stores files and deletes after X amount of time. Forked from Uguu.se available [here](https://github.com/nokonoko/uguu).
# Install
Tested with:
* Nginx+PHP5-FPM (PHP 5.4) on Debian 7 Wheezy
* Nginx+PHP5-FPM (PHP 5.4) on Debian 7 Wheezy
* Apache (PHP 5.4) on Ubuntu 14.04 LTS
* Apache (PHP 5.6) on Debian 8 Jessie
* Nginx+PHP5-FPM (PHP 5.6) on Debian 8 Jessie
Modify
* Modify includes/core.php where to save files and other paths.
* Set correct paths in several other files. (Will add fix for this via config file instead).
* Change uguu.se to your own name in several files.
* Cron with check.sh: `crontab -e`
* After running `crontab -e`, add `0,15,30,45 * * * * bash /path/to/check.sh`, or read up on how cron works.
* Some extensions are blocked by default, this can be changed via includes/core.php's $block array.
* Everything else to your likings.
Change php.ini and nginx.conf settings to allow bigger uploads.
Make the uguu/ directory modifiable to the nginx user:
`setfacl -m u:www-data:rwx /path/to/uguu/directory/`
# Todo
* Restructure files.
* Make global config file.
* Probably a lot of things but I'm a lazy fuck, come with suggestions.
Modify
* Modify includes/config.php (copy config.template.php as a starting point) to determine the path and URL to the app, the default retention time and other config points
* Execute check.sh with cron to delete old files: `crontab -e` and add `0,15,30,45 * * * * bash /path/to/check.sh` (or adapt if you know how cron works).
* Some extensions are blocked by default, this can be changed via includes/config.php's CONFIG_BLOCKED_EXTENSIONS value.
Make the uguu/public/files and uguu/rain/cache directory modifiable to the web server user:
`chown -R www-data:www-data /path/to/uguu/public/files` and `chown -R www-data:www-data /path/to/uguu/rain/cache`
# Using the API
* Leaving POST value 'name' empty will cause it to save using the original filename.
* Leaving POST value 'randomname' empty will cause it to use original filename or custom name if 'name' is set to file.ext.
* Putting anything into POST value 'randomname' will cause it to return a random filename + ext (xxxxxx.ext).
* Putting a custom name into POST value 'name' will cause it to return a custom filename (yourpick.ext).
E.g:
* curl -i -F name=test.jpg -F file=@localfile.jpg http://uguu.se/api.php?d=upload (HTML Response)
* curl -i -F name=test.jpg -F file=@localfile.jpg http://uguu.se/api.php?d=upload-tool (Plain text Response)
This will probably get changed later since it's messy and unpractical.
# Contact
[neku@pomf.se](mailto:neku@pomf.se) or [@Nekunekus](https://twitter.com/nekunekus).

View File

@ -1,2 +1,2 @@
#! /bin/sh
find /home/neku/www/files/ -mmin +1440 -exec rm -f {} \;
find $(grep -oP '"CONFIG_FILES_PATH", "\K(.*)(?=")' config.php) -mtime +$(grep -oP '"CONFIG_MAX_RETENTION_TIME", "\K(.*)(?=")' config.php) -exec rm -f {} \;

View File

@ -1,6 +1,8 @@
<?php
#This is the configuration file for Uguu Temp File Sharing system
define('CONFIG_ROOT_URL', "http://path.to.uguu");
define('CONFIG_FILES_PATH', "/path/to/uguu/public/files/");
define('CONFIG_ROOT_PATH', "/path/to/uguu/");
define('CONFIG_RANDOM_LENGTH', "10");
//This is the configuration file for Uguu Temp File Sharing system
define("CONFIG_ROOT_URL", "http://path.to.uguu");
define("CONFIG_FILES_PATH", "/path/to/uguu/public/files/");
define("CONFIG_ROOT_PATH", "/path/to/uguu/");
define("CONFIG_MAX_RETENTION_TIME", "60"); //Max retention time in minutes
define("CONFIG_RANDOM_LENGTH", "12");
define ("CONFIG_BLOCKED_EXTENSIONS", serialize(array("exe", "scr", "rar", "zip", "com", "vbs", "bat", "cmd", "html", "htm", "msi")));