conf | ||
src/rectes | ||
.gitignore | ||
.pre-commit-config.yaml | ||
LICENSE | ||
pyproject.toml | ||
README.md | ||
setup.cfg |
Rectes
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:
- Clone repository
- (optional) Create virtual environment
- 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.:
$ 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 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.