The filesharing service everyone either loves or hates.
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
Quad 7f6c199ce3 Fix for newer werkzeug versions 10 months ago
QuadFile Fuck that. Apparently I can't set put args in this order but too lazy to reorganize 5 years ago
static Edited some pages and cleaned conf.py sample 7 years ago
templates Update FAQ 5 years ago
.gitignore The note is back 7 years ago
LICENSE.md Fixed grammatical mistake 2 years ago
README.md Update README.md 5 years ago
__init__.py Initial move from Hyozan 7 years ago
conf.py.sample Tweak the sample config 5 years ago
requirements.txt Update Flask version 5 years ago
run.py Fix for newer werkzeug versions 10 months ago
schema.sql Initial move from Hyozan 7 years ago
wsgi.py Add Gunicorn entry point 7 years ago

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)