Go to file
Dominik V. Salonen 09e5769373 Update FAQ 2018-01-26 09:24:52 +00:00
QuadFile Move auth function to cut some lines 2016-09-23 10:57:06 +02:00
static Edited some pages and cleaned conf.py sample 2016-01-18 09:07:35 +01:00
templates Update FAQ 2018-01-26 09:24:52 +00:00
.gitignore The note is back 2016-01-16 22:29:29 +01:00
LICENSE.md Updated to match 2016-02-02 21:48:51 +01:00
README.md Update README.md 2017-11-19 22:11:56 +01:00
__init__.py Initial move from Hyozan 2015-12-23 14:11:38 +01:00
conf.py.sample Update conf.py.sample 2016-12-23 09:32:44 +01:00
requirements.txt Removed Hyozan stuff 2015-12-24 23:29:20 +01:00
run.py whoops 2016-12-23 09:33:15 +01:00
schema.sql Initial move from Hyozan 2015-12-23 14:11:38 +01:00
wsgi.py Add Gunicorn entry point 2016-02-01 11:29:47 +01:00

README.md

QuadFile Version 2

A temporary (or permanent, depending on configuration) file sharing service written in Flask.

Features

  • Automatically remove files that aren't accessed often enough
  • Supports all filetypes
  • Prevents duplicate filenames
  • Works on all platforms (as long as they can use basic JavaScript)
  • Both easy to set up and use
  • Threaded for effective use of resources (Unless you're not on SSD, in which case, enjoy your I/O clogs m8)
  • Color-coded and real-time console log
  • Easy to use with most applications, such as ShareX

Requirements

Needed:

  • Python 3 (Python 2 might work, dunno, i don't test that, don't care either)
  • sqlite3 package for your OS (To create the database)
  • Install flask, currently that should be the only requirement and hopefully forever (pip install -r requirements.txt)

Recommended:

  • nginx, great for proxy_pass
  • gunicorn, allows you to use QuadFile with multiple workers

Using the thing

Test deployment

  • Clone the repo somewhere
  • pip install -r requirements.txt
  • Do cp conf.py.sample conf.py
  • Edit conf.py so that the information is correct
  • sqlite3 files.db < schema.sql
  • chmod +x run.py and then ./run.py
  • ???
  • PROFIT (Hopefully)

Production deployment

  • Clone the repo somewhere
  • Set up a virtual environment for QuadFile
  • pip install -r requirements.txt
  • Do cp conf.py.sample conf.py
  • Edit conf.py so that the information is correct
  • sqlite3 files.db < schema.sql
  • gunicorn wsgi:app -w 4 --bind 127.0.0.1:8282 --log-file $HOME/quadfile.log (Use supervisor to run it on boot if needed)
  • Configure nginx and proxy_pass it to gunicorn
  • ???
  • PROFIT (Hopefully)