pssecret-server/README.md

2.1 KiB

Rectes

Code style: black

Rectes (anagram from "secret") 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.10+
  • Redis
  • Python development libraries (optional, only needed for hiredis module installation)

How to install

TL/DR

$ git clone git@git.ivnglkv.ru:ivnglkv/rectes.git
$ python3 -m venv venv
$ . ./venv/bin/activate
$ pip install ".[hiredis]"

Steps to install Rectes:

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

Optional hiredis module

Rectes server is using aioredis library for interaction with Redis. It's authors recommend using it with hiredis module for performance and stability reasons (source). Rectes offers hiredis as optional but recommended dependency too. Thus, the recommended way to install Rectes will be with [hiredis] option. If you don't want to use hiredis for any reasons, install package without options:

$ pip install .

Running Rectes server

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

$ rectes

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==2.19.0
$ 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.