2.1 KiB
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 ".[hiredis]"
Steps to install Rectes:
- Clone repository
- (optional) Create virtual environment
- 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.