Skip to content

slashpass/slashpass-slack-server

Repository files navigation

slashpass [Slack Server]

Build Status

slashpass is a Slack command to manage shared passwords between the members of a channel in Slack.

This project was build focused in establishing a communication where the trustness between parties is not required, using the asymmetric algorithm RSA to share encrypted information point to point and where the only participant allowed to read the stored passwords is the Password Server, who is different and independent for each client.

Commands

  • /pass or /pass list list the available passwords in the channel.
  • /pass <secret> or /pass show <secret> retrieve a one time use link with the secret content, this link expires in 15 minutes.
  • /pass insert <secret> retrieve a link with an editor to create a secret, this link expires in 15 minutes.
  • /pass remove <secret> make unreachable the secret, to complete deletion in necessary doing it manually from the s3 password storage.
  • /pass configure <password_server_url> this is the command used for the initial setup, it is only necessary to execute it once.

button

Requirements

Installed software

  • poetry
  • docker/docker-compose (optional)

Instalation

  • Install requirements poetry install
  • Create .env file based on _example.env
  • Create the database specified in DATABASE_URL and create the scheme by doing import server; server.db.create_all() from a python shell in the enviroment (poetry run python)
  • Run the server using the command poetry run python . for development or poetry run gunicorn --bind 0.0.0.0:8000 wsgi for production

Running using docker

  • Create .env file based on example.env
  • Run docker-compose up

Environment variables table

Key Description
BIP39 Mnemonic code for generating deterministic keys, specification: https://github.com/bitcoin/bips/blob/master/bip-0039.mediawiki
DEMO_SERVER URL of the password storage server, this URL is used to setup the command for testing purposes
DATABASE_URL Database URL where is stored the password storage server addresses of each client
SENTRY_DSN Configuration required by the Sentry SDKs
SLACK_SERVER URL of this server, it is used by the command to show the insert password editor URL
SLACK_CLIENT_ID Slack Client ID
SLACK_CLIENT_SECRET Slack APP Secret
VERIFICATION_TOKEN Slack Verification Token

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published