Skip to content

QuadPiece/QuadFile

master
Switch branches/tags

Name already in use

A tag already exists with the provided branch name. Many Git commands accept both tag and branch names, so creating this branch may cause unexpected behavior. Are you sure you want to create this branch?
Code

Latest commit

 

Git stats

Files

Permalink
Failed to load latest commit information.
Type
Name
Latest commit message
Commit time
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

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)