Skip to main content

Drop me a file on a webpage.

Project description


Drop me a file, securely.

build-status | documentation | sources | issues

dropafile provides an HTTPS-secured webapp where users can drop files.

It is meant as a channel to deliver documents in a not-too-unsecure manner. For instance as a quickly installable workaround if people are not able or willing to use GnuPG or similar, although they have sensible documents to send.

dropafile is written in Python (server parts) and uses the dropzonejs JavaScript library (client parts). The builtin server is based on Werkzeug.


As a user, run:

$ pip install dropafile

then, start the local server:

$ dropafile
Creating temporary self-signed SSL certificate...
Certificate in: /tmp/tmp1y2bgh/cert.pem
Key in:         /tmp/tmp1y2bgh/cert.key
Password is: H93rqnsrdEXD2ad3rQwdWqZ
 * Running on https://localhost:8443/ (Press CTRL+C to quit)

The server will provide SSL. Users can access dropafile sevice pointing their browsers to the location given. The page is protected by basic auth. Users will have to provide an arbitrary user name and the password displayed on the commandline at startup (which changes with restart).

The –help option will display all available options:

$ dropfile --help
usage: dropafile [-h] [--host HOST] [-p PORT] [-s PASSWORD]

Start dropafile app.

optional arguments:
  -h, --help            show this help message and exit
  --host HOST           Host we bind to. An IP address or DNS name.
                        `localhost` by default.
  -p PORT, --port PORT  Port we listen at. An integer. 8443 by default.
  -s PASSWORD, --secret PASSWORD
                        Password to access dropafile. If none is given we
                        generate one.

Whenever a user sends a file, the path is displayed on the commandline.

Developer Install

Developers should install a virtualenv first:

$ virtualenv -p /usr/bin/python2.7 py27  # for Python2.7

See tox.ini for all Python versions supported.

Activate the virtualenv:

$ source py27/bin/activate
(py27) $

Now build the devel environment:

(py27) $ python dev

You can run tests like this:

(py27) $ py.test

Tests for all supported (and locally available) Python vesions can be run by:

(py27) $ pip install tox  # neccessary only once per virtualenv
(py27) $ tox


0.1.1 (2015-03-30)

  • Turned former dropafile module into a Python package. This is to fix installation behvior where data files are installed in different locations depending on install tool. See diceware bug #1.

    The problem was revealed by conorsch for the diceware package.

0.1 (2015-03-22)

  • Initial release.

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

dropafile-0.1.1.tar.gz (45.2 kB view hashes)

Uploaded Source

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page