X-Git-Url: https://jfr.im/git/uguu.git/blobdiff_plain/2239bd05ddcd865137d90a37f60066dfd296d110..9042e9439aab7bfef8fe4f3ee372cbb04f7a258d:/README.md diff --git a/README.md b/README.md index 6a36173..cb3f58f 100644 --- a/README.md +++ b/README.md @@ -1,20 +1,108 @@ # About -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). +[Uguu.se](http://uguu.se) source code, stores files and deletes after X amount of time. -# Install -Tested with: -* Nginx+PHP5-FPM (PHP 5.4) on Debian 7 Wheezy +# Tested with: * Apache (PHP 5.4) on Ubuntu 14.04 LTS * Apache (PHP 5.6) on Debian 8 Jessie +* Apache (PHP 5.6.33 (remi-php56)) on CentOS 6.9 +* Nginx+PHP5-FPM (PHP 5.4) on Debian 7 Wheezy * Nginx+PHP5-FPM (PHP 5.6) on Debian 8 Jessie +* Nginx+PHP7-FPM (PHP 7.0) on Debian 9 Stretch +* [Caddy](https://caddyserver.com/) + php7.0-fpm on Ubuntu 16.04.4 LTS + +# Install: + +* Deploy base code, for example with `git clone https://github.com/nokonoko/Uguu.git` +* Modify includes/config.php (copy config.template.php as a starting point) to set up the main options for Uguu. +* Some file extensions are blocked by default, this can be changed via includes/config.php's CONFIG_BLOCKED_EXTENSIONS value. +* Copy `rain/template/footer.template.html` as `rain/template/footer.html` and personalize the footer as you wish +* Execute check.sh regularly with cron to delete old files: `crontab -e` and add `0,15,30,45 * * * * cd /path/to/uguu/includes && bash check.sh` (or adapt if you know how cron works). +* Make the Uguu/public/files and Uguu/rain/cache directory modifiable by 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` +* Make sure the Uguu/public/files folder is not indexable, you may use a virtual host config similar to this one using Apache: + +``` + + ServerName path.to.uguu + + DocumentRoot /var/www/Uguu/ + + AllowOverride All + Require all granted + + + Alias "/files" "/var/www/Uguu/public/files/" + + + SetHandler default-handler + + AllowOverride None + Options -Indexes + Require all granted + + + +``` + +Or something like this using Nginx+PHP-FPM: + +uguu.se +``` +server{ + listen 104.243.35.197:80; + server_name uguu.se www.uguu.se; -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. + root /home/neku/www/uguu/; + autoindex off; + index index.html index.php; + + location ~* \.php$ { + fastcgi_pass unix:/var/run/php5-fpm.sock; + fastcgi_intercept_errors on; + fastcgi_index index.php; + fastcgi_split_path_info ^(.+\.php)(.*)$; + include fastcgi_params; + fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; + } + + error_page 404 /404.html; + error_page 403 /404.html; + location /404.html { + root /home/neku/www; + } +} +``` + +a.uguu.se (notice that scripts e.g PHP will NOT be executed from this subdomain) +``` +server{ + listen 104.243.35.197:80; + server_name a.uguu.se www.a.uguu.se; + + root /home/neku/www/files; + autoindex off; + index index.html; + + error_page 404 /404.html; + error_page 403 /404.html; + location /404.html { + root /home/neku/www; + } +} +``` + +Or something like this for usage with caddy: +``` +uguu.se { + fastcgi / /var/run/php/php7.0-fpm.sock php + root /home/neku/www +} + +a.uguu.se { + root /home/neku/www/files +} +``` -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 @@ -25,10 +113,5 @@ Make the uguu/public/files and uguu/rain/cache directory modifiable to the web s * 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). + * curl -i -F name=test.jpg -F file=@localfile.jpg http://path.to.uguu/api.php?d=upload (HTML Response) + * curl -i -F name=test.jpg -F file=@localfile.jpg http://path.to.uguu/api.php?d=upload-tool (Plain text Response)