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.
|
2 years ago | |
---|---|---|
QuadFile | 6 years ago | |
static | 8 years ago | |
templates | 6 years ago | |
.gitignore | 8 years ago | |
LICENSE.md | 4 years ago | |
README.md | 6 years ago | |
__init__.py | 8 years ago | |
conf.py.sample | 6 years ago | |
requirements.txt | 6 years ago | |
run.py | 2 years ago | |
schema.sql | 8 years ago | |
wsgi.py | 8 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)