~martijnbraam/filedropper

A file sending/receiving webapp thingy

~ferenc via public-inbox

a month ago

e8a4460 Fix error on chunked upload

a month ago

#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
$ 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