Files
flees/README.md
Ville Rantanen 43e45f0592 notifier support
2018-02-19 14:37:08 +02:00

2.1 KiB

FLEES

A very small file sharing website.

The name comes from mispronouncing "files" very badly.

installation

  • cp env.example .env

  • cp data/config.json.example data/config.json

  • cp data/shares.json.example data/shares.json

  • docker-compose up --build

  • open URL: http://localhost:8136/list/test

  • configure shares with data/shares.json

  • generate and manage shares with utils/flees-manager.py

  • configure service with data/config.json

    • uid = user id for new files
    • workers = parallel processes (i.e. one upload reserves a process)
    • timeout = timeout for processes, single upload might take a long time!
  • configure bind host and port in .env

  • proxy with nginx, match body size and timeout to your needs:

location /flees/ {
         proxy_pass http://localhost:8136/;
         proxy_set_header Host $host;
         proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
         proxy_set_header X-Scheme $scheme;
         proxy_set_header X-Script-Name /flees;
         client_max_body_size 8G;
         client_body_timeout 240s;
    }
  • configure local port in docker-compose.yaml

  • directly login with URLs:

  • download with curl (etc.)

  • upload with curl (etc.)

  • "direct link" is a sharing link that does not require other passwords, and is unique to each file. (there should be no danger in sharing a file, and the password to rest of the files leaking)

custom notifier

  • Add a notifier module, and refer to it in the config with: 'notifier': 'python-path-to-file:class-name'
  • The class must have method def notify(self, message)

Check the notifier.py.template for clues. Flees will send notification on upload and download events, with a Dict like this:

{
        "recipient": "share recipient",
        "share": "name",
        "filename": "file_path",
        "operation": "direct_download"
}

Operation is one of download, direct_download, zip_download, or upload