~martijnbraam/filedropper

Web based file sharing
Add i18n compiler to setup instructions
Fix error on chunked upload

refs

master
browse  log 

clone

read-only
https://git.sr.ht/~martijnbraam/filedropper
read/write
git@git.sr.ht:~martijnbraam/filedropper

You can also use your local clone with git send-email.

#Filedropper

This is yet another file sharing utility, mainly focussed on being able to handle very large uploads and not being a complete security risk.

#Features

  • Supports creating "bins" of files which can have expiry and quotas set
  • Files can be uploaded by an admin to a bin and the bin url can be shared without authentication to anyone
  • Bins can be set up for allowing guest uploads
  • File download count is tracked
  • Expire file x days after last download
  • Expire file x days after upload

#Feature todo

  • Expire file x days after first download

#Installing

From the distribution package manager install python3-waitress, this is the only external tool
$ pip3 install -r requirements.txt # or use the OS package manager
$ export DATABASE=/path/to/your/desired/sqlite.db
$ export FLASK_APP=filedropper
$ export SECRET=totallyrandomsecretkeyusedforsecretthings
$ export DATASTORE=/path/to/the/data/directory
$ flask db upgrade
$ pybabel compile -d filedropper/translations
$ flask create-user [username] --admin
$ serve.py run

#Service file

For running in a systemd distribution:

[Unit]
Description=Filedropper

[Service]
Type=simple
ExecStart=/usr/bin/env DATABASE=/srv/filedropper/app.db DATASTORE=/srv/filedropper/datastore SECRET=hereisthesecret URL_SCHEME=https python3 serve.py run
Restart=on-failure
WorkingDirectory=/srv/filedropper

[Install]
WantedBy=multi-user.target