]> jfr.im git - uguu.git/blobdiff - README.md
Update README.md
[uguu.git] / README.md
index dcd0affb2fec7c5509b5fd277182d3c770340fb4..1075863c9e572f92ade77ffda7d6b1338f7a2419 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,4 +1,4 @@
-# Uguu
+# What is Uguu?
 
 Uguu is a simple temporary file uploading and sharing platform where files get deleted after X amount of time.
 
@@ -28,6 +28,8 @@ work with Apache 2.4 and newer PHP versions like PHP7.3.
 For the purposes of this guide, we won't cover setting up Nginx, PHP, SQLite,
 Node, or NPM. So we'll just assume you already have them all running well.
 
+**NPM/Node is only needed to compile the files, Uguu runs on PHP.**
+
 ### Compiling
 
 First you must get a copy of the uguu code.  To do so, clone this git repo.
@@ -56,7 +58,7 @@ file size, are found in `dist.json`.  Changes made here will
 only take effect after rebuilding the site pages.  This may be done by running
 `make` from the root of the site directory.
 
-Back-end related settings, such as database configuration, and path for uploaded files, are found in `static/php/includes/settings.inc.php`.  Changes made here take effect immediately. Change the following settings:
+Back-end related settings, such as database configuration, and path for uploaded files, are found in `includes/settings.inc.php`.  Changes made here take effect immediately. Change the following settings:
 ```php
 define('UGUU_DB_CONN', 'sqlite:/path/to/db/uguu.sq3');
 define('UGUU_FILES_ROOT', '/path/to/file/');
@@ -85,7 +87,7 @@ These scripts check if DB entries and files are older then 24 hours and if they
 
 ## MIME/EXT Blocking
 
-Blocking certain filetypes from being uploaded can be changed by editing the following settings in `static/php/includes/settings.inc.php`:
+Blocking certain filetypes from being uploaded can be changed by editing the following settings in `includes/settings.inc.php`:
 ```php
 define('CONFIG_BLOCKED_EXTENSIONS', serialize(['exe', 'scr', 'com', 'vbs', 'bat', 'cmd', 'htm', 'html', 'jar', 'msi', 'apk', 'phtml']));
 define('CONFIG_BLOCKED_MIME', serialize(['application/msword', 'text/html', 'application/x-dosexec', 'application/java', 'application/java-archive', 'application/x-executable', 'application/x-mach-binary']));
@@ -107,7 +109,7 @@ chmod 0750 /var/db/uguu
 chmod 0640 /var/db/uguu/uguu.sq3
 ```
 
-Finally, edit `php/includes/settings.inc.php` to indicate this is the database engine you would like to use.  Make the changes outlined below
+Finally, edit `includes/settings.inc.php` to indicate this is the database engine you would like to use.  Make the changes outlined below
 ```php
 define('UGUU_DB_CONN', '[stuff]'); ---> define('UGUU_DB_CONN', 'sqlite:/var/db/uguu/uguu.sq3');
 define('UGUU_DB_USER', '[stuff]'); ---> define('UGUU_DB_USER', null);
@@ -116,9 +118,79 @@ define('UGUU_DB_PASS', '[stuff]'); ---> define('UGUU_DB_PASS', null);
 
 *NOTE: The directory where the SQLite database is stored, must be writable by the web server user*
 
-### Nginx/Apache
+## Nginx example config
+
+I won't cover settings everything up, here are some Nginx examples. Use [Letsencrypt](https://letsencrypt.org) to obain a SSL cert.
+
+Main domain:
+```
+server{
+    
+    listen             443 ssl;
+    server_name                www.yourdomain.com yourdomain.com;
+
+    ssl on;
+    ssl_certificate /path/to/fullchain.pem;
+    ssl_certificate_key /path/toprivkey.pem;
+    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;    
+
+    root /path/to/uguu/dist/;
+    autoindex          off;
+    access_log      off;
+    index index.html index.php;  
+
+    location ~* \.(ico|css|js|ttf)$ {
+    expires 7d;
+    }
+
+    location ~* \.php$ {
+       fastcgi_pass unix:/var/run/php/php7.3-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 /4041x.html;
+        error_page 403 /4041x.html;
+        location /4041x.html {
+        root /home/neku/www;
+      }
+}
+```
+Subdomain serving files (do not enable PHP here):
+ยดยดยด
+server{
+    listen          443 ssl;
+    server_name     www.subdomain.serveryourfiles.com subdomain.serveryourfiles.com;
+
+    ssl on;
+    ssl_certificate /path/to/fullchain.pem;
+    ssl_certificate_key /path/to/privkey.pem;
+    ssl_protocols TLSv1 TLSv1.1 TLSv1.2;
+    
+    root            /path/where/uploaded/files/are/stored/;
+    autoindex       off;
+    access_log     off;
+    index           index.html;
+}
+```
 
-I won't cover settings everything up, however do NOT allow PHP scripts to be executed on your subdomain serving the files or someone will just upload a PHP shell and PwN you.
+To redirect HTTP to HTTPS make a config for each domain like so:
+```
+server {
+    listen 80;
+    server_name www.domain.com domain.com; 
+    return 301 https://domain.com$request_uri;
+}
+```
+
+## API
+To upload using curl or make a tool you can post using: 
+```
+curl -i -F files[]=@yourfile.jpeg https://uguu.se/upload.php (JSON Response)
+```
 
 ## Getting help
 
@@ -126,7 +198,7 @@ Hit me up at [@nekunekus](https://twitter.com/nekunekus) or email me at neku@pom
 
 ## Credits
 
-Uguu is based off [Pomf](http://github.com/pomf/pomf).
+Uguu is based on [Pomf](http://github.com/pomf/pomf).
 
 ## License