# Rectes [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/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.11+ - 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 . ``` --- Steps to install Rectes: 1. Clone repository 2. (optional) Create virtual environment 3. Install package ### 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 ``` ### Configuration Configuration is done through config file. By default, path is `/etc/rectes/rectes.toml`. You can override this by setting environment variable `RECTES_CONF_FILE` value to actual file location, i.e.: ```bash $ RECTES_CONF_FILE=/home/user/.conf/rectes.toml rectes ``` You can find all available configuration options in the example file, located at [conf/rectes.toml](conf/rectes.toml) 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==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.