Self-hosted service for secrets sharing
Find a file
2024-12-25 13:44:29 +01:00
conf Rename project to pssecret 2024-12-25 12:40:57 +01:00
src/pssecret Rename project to pssecret 2024-12-25 12:40:57 +01:00
.flake8 Rename project to pssecret 2024-12-25 12:40:57 +01:00
.gitignore Installing virtual environment in .venv directory 2024-12-25 13:44:29 +01:00
.pre-commit-config.yaml Rename project to pssecret 2024-12-25 12:40:57 +01:00
LICENSE Added BSD-3 license 2022-06-10 01:46:31 +03:00
pyproject.toml Rename project to pssecret 2024-12-25 12:40:57 +01:00
README.md Installing virtual environment in .venv directory 2024-12-25 13:44:29 +01:00
setup.cfg Rename project to pssecret 2024-12-25 12:40:57 +01:00

Pssecret

Code style: black

Pssecret is self-hosted service to share secrets (like passwords) with somebody over the network, but don't want them to appear in chats, unencrypted e-mails, etc.

This service tries to be as anonymous as possible. The only personal information that will be stored on a server will be IP address of the client that made request to the server.

Service is built with Python, FastAPI and is using Redis for data storage.

Installation

Requirements

  • Python 3.11+
  • Redis
  • Python development libraries (optional, only needed for hiredis module installation)

How to install

TL/DR

$ git clone git@git.ivnglkv.me:root/pssecret.git
$ python3 -m venv .venv
$ . ./.venv/bin/activate
$ pip install .

Steps to install Pssecret:

  1. Clone repository
  2. (optional) Create virtual environment
  3. Install package

Running Pssecret server

After installation is done, you can start pssecret with pssecret command. The web server will be started with uvicorn ASGI web server.

$ pssecret

Configuration

Configuration is done through config file. By default, path is /etc/pssecret/pssecret.toml. You can override this by setting environment variable PSSECRET_CONF_FILE value to actual file location, i.e.:

$ PSSECRET_CONF_FILE=/home/user/.conf/pssecret.toml pssecret

You can find all available configuration options in the example file, located at conf/pssecret.toml.example under Git root.

Contributing

Codestyle is enforced with Black, and additional checks are done with the help of pre-commit-hooks, Flake8 and isort. Prior to making any commits, install pre-commit tool and install hooks:

# Alternatively, you could use 'pip install ".[development]"'
$ pip install pre-commit
$ pre-commit install

This way you will always be sure that new code follows project guidelines.

This project is using trunk-based branching strategy with the main as trunk branch.