Simple temporary file hosting https://u.fuwafuwa.moe
選択できるのは25トピックまでです。 トピックは、先頭が英数字で、英数字とダッシュ('-')を使用した35文字以内のものにしてください。
Les De Ridder d29d8958de
Hide footer on small devices
2年前
css Update ie.css 4年前
font Raintpl, materialized css framework. 4年前
img add favicon 4年前
includes Remove randomly generated directories 2年前
js Only show basename in file input field instead of full path 2年前
public/files Adding the public files folder 2年前
rain Hide footer on small devices 2年前
.gitignore Multiple changes everywhere 2年前
LICENSE Only show basename in file input field instead of full path 2年前
README.md Update README.md 2年前
api.php Multiple changes everywhere 2年前
error.php Show site name on error pages 2年前
error_meow.php Show site name on error pages 2年前
favicon.192.png u.fuwafuwa.moe branding 2年前
favicon.ico u.fuwafuwa.moe branding 2年前
fuwa-chan-md.png u.fuwafuwa.moe branding 2年前
index.php Remove info page 2年前
upload-done.php Show site name on upload done page 2年前

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: