Self-destructing messages
Project description
ephemeral - Self-destructing messages
Ephemeral is a web application for sharing short messages. Messages can be opened only once, giving an instant feedback to recipient on whether the message was compromised(read by someone else) or not. This makes the app a reasonably secure, and convenient way to share secrets.
Highlights
- Simple, easy-to-audit code
- Messages are encrypted at rest
Installing
pip install ephemeral
After installation you can use the ephemeral.sh
command to start the
application (see below).
Running
Always put this application behind an HTTPS-terminating reverse proxy when exposing to public networks!
Ephemeral uses Redis as the data store. Assuming Redis is running on localhost
,
EPHEMERAL_REDIS_HOST=localhost EPHEMERAL_SECRET_KEY=hunter2 ephemeral.sh 0.0.0.0:8080
will start the application listning on port 8080 on all network interfaces.
Point your browser at http://localhost:8080/add to add a message.
Developing
Prerequisites:
- Python 3
- pipenv
Initialize a virtualenv with dev dependencies installed:
make develop
Project dependencies
Project dependencies shoud always be specified in setup.py
using the
compatible release
notation.
Updating dependencies in virtualenv
Run the following after updating setup.py
make update-deps
Installing development dependencies
Replace <PACKAGE>
with the actual name, and <VERSION>
with the MAJOR.MINOR
(or MAJOR.MINOR.PATCH for versions below 1.0.0) version of the package.
Read more on compatible releases.
pipenv install --dev <PACKAGE>~=<VERSION>
Running unit-tests
make test
Starting a development instance of the application
Start the application in development mode with debugging enabled:
make dev-server
Starting/stopping a development Docker stack
The development Docker (Compose) stack includes Redis container and an application container built from source.
Prerequisites:
- Docker
- docker-compose
(Re)Build the application image, start a stack in background, and show running containers:
make compose-build
make compose-up
make compose-ps
Stop and destroy running stack:
make compose-down
Running E2E tests
Start a stack and run Behave tests against it:
make compose-up
make e2e-test
Starting a release
Variables:
RELEASE_REMOTE
set to the name of the Git remote. Set to empty to disable pushes to remote. Default value:origin
RELEASE_VERSION
override the release version, or leave empty to release the current snapshot (-SNAPSHOT
will be stripped off). Empty by default
make release-start
Finishing a release
Variables:
RELEASE_REMOTE
set to the name of the Git remote. Set to empty to disable pushes to remote. Default value:origin
RELEASE_PUBLISH
set to1
to enable publishing of the sdist tarball after the release`
make release-finish
release-finish
will leave the release Git tag checked out on completion.
Building and publishing the source distribution:
make publish
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
File details
Details for the file ephemeral-0.1.4.tar.gz
.
File metadata
- Download URL: ephemeral-0.1.4.tar.gz
- Upload date:
- Size: 17.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.13.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.0.1 requests-toolbelt/0.9.1 tqdm/4.32.2 CPython/3.7.3
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9231e76160b100df82c0288abd523aaa9163b1f846da4f0f58d9868c36d5c71a |
|
MD5 | 3165a5e04ef888f1fda2a8a86f74caf6 |
|
BLAKE2b-256 | 264e53cc8bc0f63084accabdbc79ab66a2c68e353b5b6944f8e924288fadbf45 |