[Uguu.se](http://uguu.se) source code, stores files and deletes after X amount of time.
# Tested with:
-* 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
+* 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:
}
```
+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
+}
+```
+
# Using the API
define("CONFIG_MAX_RETENTION_TEXT", "1 hour");
//Length of the random chain appended to the filename
define("CONFIG_RANDOM_LENGTH", "12");
-//This is the list of blocked extensions, you can remove extensions or add to this list as you like
-define ("CONFIG_BLOCKED_EXTENSIONS", serialize(array("exe", "scr", "rar", "zip", "com", "vbs", "bat", "cmd", "html", "htm", "msi", "php", "php5")));
+//Operate on a BLACKLIST or a WHITELIST when blocking file extensions
+define("CONFIG_EXTENSION_BLOCKING_MODE", "BLACKLIST");
+//This is the list of blocked extensions in BLACKLIST mode (default mode), you can remove extensions or add to this list as you like
+define("CONFIG_BLOCKED_EXTENSIONS", serialize(array("exe", "scr", "rar", "zip", "com", "vbs", "bat", "cmd", "html", "htm", "msi", "php", "php5")));
+//This is the list of allowed extensions in WHITELIST mode, you can remove extensions or add to this list as you like
+define("CONFIG_ALLOWED_EXTENSIONS", serialize(array("txt", "pdf")));
//https://wiki.gentoo.org/wiki/Handbook to set this string correctly, or just ignore it
define("VERYLO_NG_STRING_THATDOESNTREALLYD_O_ANYTHING", "ok");
case 'random':
$ext = pathinfo($file.$name, PATHINFO_EXTENSION);
$ext = strtolower($ext);
- if(in_array($ext, unserialize(CONFIG_BLOCKED_EXTENSIONS))){
- if($type==='normal'){
- include_once(CONFIG_ROOT_PATH.'error_meow.php');
- exit(0);
- }else{
- exit('File type not allowed.');
- }
- }
+ verify_extension($ext, $type);
$file_name = gen_name('random', $ext);
while(file_exists(CONFIG_FILES_PATH.$file_name)){
$file_name = gen_name('random', $ext);
$file_name = gen_name('custom_original', $name);
$ext = pathinfo($file_name, PATHINFO_EXTENSION);
$ext = strtolower($ext);
- if(in_array($ext, unserialize(CONFIG_BLOCKED_EXTENSIONS))){
- if($type==='normal'){
- include_once(CONFIG_ROOT_PATH.'error_meow.php');
- exit(0);
- }else{
- exit('File type not allowed.');
- }
- }
+ verify_extension($ext, $type);
while(file_exists(CONFIG_FILES_PATH.$file_name)){
$file_name = gen_name('custom_original', $name);
}
break;
}
}
+
+//Verify that the extension is allowed
+function verify_extension($ext, $type){
+ if(CONFIG_EXTENSION_BLOCKING_MODE === "WHITELIST") {
+ $allowed = in_array($ext, unserialize(CONFIG_ALLOWED_EXTENSIONS));
+ }else{
+ $allowed = !in_array($ext, unserialize(CONFIG_BLOCKED_EXTENSIONS));
+ }
+
+ if(!$allowed){
+ if($type==='normal'){
+ include_once(CONFIG_ROOT_PATH.'error_meow.php');
+ exit(0);
+ }else{
+ exit('File type not allowed.');
+ }
+ }
+}
<div class="card-panel blue-grey darken-1">
<div class="card-content white-text">
<span class="card-title" style="color: #00FF99"><h3>File uploaded!</h3></span>
- <p><a href="{$url_filename}">{$url_filename}</a></p>
+ <p><a href="{$url_filename}" target="_blank">{$url_filename}</a></p>
<p>Your file will be available for download during {$retention_time}.</p>
</div>
</div>
</div>
<p>
- <input type="checkbox" id="randomname" name="randomname" />
+ <input name="randomname" type="checkbox" id="randomname" checked="checked" />
<label for="randomname">Generate random filename</label>
</p>