Sugoi is a fork of the popular file hosting service Uguu with cosmetic changes.
Go to file
dargasea 3de72c7f2f Ensure no trailing dot in random filenames
This commit solves the issue that, if the uploaded file does not have an extension, there will be a "." at the end of the generated name. This would not be ideal as the dot is often omitted when links are automatically hyperlinked elsewhere.
2017-04-24 13:02:28 -07: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 Ensure no trailing dot in random filenames 2017-04-24 13:02:28 -07:00
js Raintpl, materialized css framework. 2015-02-23 18:33:02 +01:00
public/files Adding the public files folder 2016-05-14 11:37:06 +02:00
rain Fixing 2 regressions from the initial pull request 2016-05-15 15:54:44 +02:00
.gitignore Multiple changes everywhere 2016-05-14 10:55:50 +02:00
api.php Multiple changes everywhere 2016-05-14 10:55:50 +02:00
error_meow.php Create error_meow.php 2015-10-06 01:05:00 +02:00
error.php Multiple changes everywhere 2016-05-14 10:55:50 +02:00
index.php Adding options in the config file 2016-05-14 11:47:48 +02:00
LICENSE Multiple changes everywhere 2016-05-14 10:55:50 +02:00
README.md Update README.md 2016-10-19 21:06:21 +02:00
tools.txt Create tools.txt 2017-02-13 21:10:59 +01:00
upload-done.php Update upload-done.php 2016-05-14 22:32:12 +02:00

About

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

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:
<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: