A simple file sharing service.
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.
JD Cantrell d8563cc760 Add simple gif resizer 7 months ago
spice Add simple gif resizer 7 months ago
.eslintrc Fix table view upload and js 9 months ago
.flake8 Use flask 1.0 and reorganize code 10 months ago
.gitignore Start to build out the log item actions 10 months ago
LICENSE Add some important files, update readme 8 months ago
Pipfile Add some important files, update readme 8 months ago
Pipfile.lock Add simple gif resizer 7 months ago
index.html Initial refresh work 11 months ago
main.py Add some important files, update readme 8 months ago
package.json Fix table view upload and js 9 months ago
readme.md Add some important files, update readme 8 months ago
runserver.py Add new blog style page 11 months ago
settings-example.cfg Add some important files, update readme 8 months ago
spice.service Add some important files, update readme 8 months ago
tiles.html Initial refresh work 11 months ago
yarn.lock Bump js-yaml from 3.13.0 to 3.13.1 8 months ago

readme.md

Spice

Spice is a personal file sharing service. It aims to be a simple and clean alternative to cloud.app or dropbox for sharing files with friends.

Features:

  • Upload many files just by dragging and dropping them on to the page.
  • Upload files via cut and paste
  • Private, public, and limited (viewable by link only) sharing.
  • Syntax highlight code views

Initial setup:

  1. Checkout this repo
  2. pipenv install
  3. Copy settings-example.cfg to settings.cfg and update values
  4. Export flask env vars: export FLASK_APP=spice export FLASK_ENV=development
  5. Initialize database: flask init-db
  6. Create a user: flask create-user
  7. Run the dev server: flask run

For production you will want to use something besides flask to run the server. This repo includes a spice.service file that uses uwsgi, you can update the paths and copy that to /lib/systemd/service/ and then you should be able to do:

systemctl daemon-reload
systemctl enable spice
systemctl start spice

Todo:

  • Markdown rendering
  • Handle audio files nicely
  • Export endpoint (should zip all files with correct names (when possible)
  • File sets so you can easily share multiple files
  • note field/custom key
  • See if we can tweak the short-id alphabet (remove - and _)