Simple temporary file hosting https://u.fuwafuwa.moe
Iet uz failu
Les De Ridder d29d8958de
Hide footer on small devices
2017-03-13 17:32:40 +01:00
css Update ie.css 2015-04-06 20:54:49 +02:00
font Raintpl, materialized css framework. 2015-02-23 18:33:02 +01:00
img add favicon 2015-02-11 18:52:57 +01:00
includes Remove randomly generated directories 2017-02-20 02:55:21 +01:00
js Only show basename in file input field instead of full path 2017-01-24 13:27:25 +01:00
public/files Adding the public files folder 2016-05-14 11:37:06 +02:00
rain Hide footer on small devices 2017-03-13 17:32:40 +01:00
.gitignore Multiple changes everywhere 2016-05-14 10:55:50 +02:00
LICENSE Only show basename in file input field instead of full path 2017-01-24 13:27:25 +01:00
README.md Update README.md 2017-01-24 13:32:35 +01:00
api.php Multiple changes everywhere 2016-05-14 10:55:50 +02:00
error.php Show site name on error pages 2017-02-16 15:17:52 +01:00
error_meow.php Show site name on error pages 2017-02-16 15:17:52 +01:00
favicon.192.png u.fuwafuwa.moe branding 2017-01-24 13:28:52 +01:00
favicon.ico u.fuwafuwa.moe branding 2017-01-24 13:28:52 +01:00
fuwa-chan-md.png u.fuwafuwa.moe branding 2017-01-24 13:28:52 +01:00
index.php Remove info page 2017-02-20 02:16:56 +01:00
upload-done.php Show site name on upload done page 2017-02-16 15:17:21 +01:00

README.md

About

u.fuwafuwa.moe 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
  • Nginx+PHP5-FPM (PHP 5.6) on Debian 8 Jessie

Install:

  • Deploy base code, for example with git clone https://git.fuwafuwa.moe/fuwafuwa/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:
<VirtualHost *:80>
        ServerName path.to.uguu

        DocumentRoot /var/www/uguu/
        <Directory /var/www/uguu/>
                AllowOverride All
                Require all granted
        </Directory>

        Alias "/files" "/var/www/uguu/public/files/"
        <Directory /var/www/uguu/public/files/>
          <Files *>
            SetHandler default-handler
          </Files>
          AllowOverride None
          Options -Indexes
          Require all granted
        </Directory>

</VirtualHost>

Or something like this using Nginx+PHP-FPM:

uguu.se

server{
    listen              104.243.35.197:80;
    server_name         uguu.se www.uguu.se;

    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;
        }
}

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: