]>
Commit | Line | Data |
---|---|---|
1 | # About | |
2 | Uguu is a temporary file host, which deletes files after X amount of time. | |
3 | ||
4 | # Tested with: | |
5 | * Nginx+PHP5-FPM (PHP 5.4) on Debian 7 Wheezy | |
6 | * Apache (PHP 5.4) on Ubuntu 14.04 LTS | |
7 | * Apache (PHP 5.6) on Debian 8 Jessie | |
8 | * Nginx+PHP5-FPM (PHP 5.6) on Debian 8 Jessie | |
9 | ||
10 | # Install: | |
11 | ||
12 | * Deploy base code, for example with `git clone https://github.com/nokonoko/Uguu.git` | |
13 | * Modify includes/config.php (copy config.template.php as a starting point) to set up the main options for Uguu. | |
14 | * Some file extensions are blocked by default, this can be changed via includes/config.php's CONFIG_BLOCKED_EXTENSIONS value. | |
15 | * Copy `rain/template/footer.template.html` as `rain/template/footer.html` and personalize the footer as you wish | |
16 | * Execute check.sh regularly 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). | |
17 | * Make the Uguu/public/files and Uguu/rain/cache directory modifiable by the web server user: | |
18 | `chown -R www-data:www-data /path/to/Uguu/public/files` and `chown -R www-data:www-data /path/to/Uguu/rain/cache` | |
19 | * Make sure the Uguu/public/files folder is not indexable, you may use a virtual host config similar to this one: | |
20 | ||
21 | ``` | |
22 | <VirtualHost *:80> | |
23 | ServerName path.to.uguu | |
24 | ||
25 | DocumentRoot /var/www/Uguu/ | |
26 | <Directory /var/www/Uguu/> | |
27 | AllowOverride All | |
28 | Require all granted | |
29 | </Directory> | |
30 | ||
31 | Alias "/files" "/var/www/Uguu/public/files/" | |
32 | <Directory /var/www/Uguu/public/files/> | |
33 | <Files *> | |
34 | SetHandler default-handler | |
35 | </Files> | |
36 | AllowOverride None | |
37 | Options -Indexes | |
38 | Require all granted | |
39 | </Directory> | |
40 | ||
41 | </VirtualHost> | |
42 | ``` | |
43 | ||
44 | # Using the API | |
45 | ||
46 | * Leaving POST value 'name' empty will cause it to save using the original filename. | |
47 | * Leaving POST value 'randomname' empty will cause it to use original filename or custom name if 'name' is set to file.ext. | |
48 | ||
49 | * Putting anything into POST value 'randomname' will cause it to return a random filename + ext (xxxxxx.ext). | |
50 | * Putting a custom name into POST value 'name' will cause it to return a custom filename (yourpick.ext). | |
51 | ||
52 | E.g: | |
53 | * curl -i -F name=test.jpg -F file=@localfile.jpg http://path.to.uguu/api.php?d=upload (HTML Response) | |
54 | * curl -i -F name=test.jpg -F file=@localfile.jpg http://path.to.uguu/api.php?d=upload-tool (Plain text Response) |