API service for secrets sharing over network
Project description
Pssecret server
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
hiredismodule installation)
How to install
Quick way
If you don't need to configure a lot of things, you can install from pipx
$ pipx install pssecret-server
For better performance, install application with hiredis support.
$ pipx install pssecret-server[hiredis]
After that just run the app with
$ pssecret-server
This will start the uvicorn server on 127.0.0.1:8000.
Available configuration options:
--host TEXT Bind socket to this host. [default: 127.0.0.1]
--port INTEGER Bind socket to this port. If 0, an available port will be
picked. [default: 8000]
--uds TEXT Bind to a UNIX domain socket.
--workers INTEGER Number of worker processes. Defaults to the
$WEB_CONCURRENCY environment variable if available, or 1.
--version Show the version and exit.
--help Show this message and exit.
If you'd like more control
Create virtual environment, install application, run using uvicorn directly.
$ python -m venv .venv
$ source .venv/bin/activate
$ pip install pssecret-server
$ uvicorn pssecret_server.main:app --workers 4 --uds /path/to/socket.sock
You can also run uvicorn without activating virtualenv, e.g. from SystemD service
$ /path/to/your/.venv/bin/python -m uvicorn pssecret_server.main:app --workers 4 --uds /path/to/socket.sock
Running Pssecret server
Make sure you have the Redis service running.
After installation is done, you can start pssecret server with pssecret-server command.
The web server will be started with uvicorn ASGI web server.
$ pssecret-server
Configuration
Configuration is done via environment variables.
Environment variables:
REDIS_URL: URL for Redis access. Check what values are supported here.SECRETS_ENCRYPTION_KEY: Key used for encrypting stored data.
You can also declare these variables in a .env file in the working directory.
Protect this file (or other source from where SECRETS_ENCRYPTION_KEY is read by application)
from being read by unauthorized parties.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pssecret_server-1.1.2.tar.gz.
File metadata
- Download URL: pssecret_server-1.1.2.tar.gz
- Upload date:
- Size: 5.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.0.0 CPython/3.12.7 Linux/6.6.65-1-MANJARO
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e6b498789115698be9e42faf73f297f0f88dc094fcc657b0918477e0372dbfd0
|
|
| MD5 |
31988d558f905163c39d214970c3effb
|
|
| BLAKE2b-256 |
ee3bb094d435f735b3a72eee1b98b1d1cd9d6f4ea3577ffd64ca7a060f78c452
|
File details
Details for the file pssecret_server-1.1.2-py3-none-any.whl.
File metadata
- Download URL: pssecret_server-1.1.2-py3-none-any.whl
- Upload date:
- Size: 7.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/2.0.0 CPython/3.12.7 Linux/6.6.65-1-MANJARO
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
eb5874c1cf9b5b60ef7d6dad7a18a7ba2b0c531f428b5f29817b47db67f05338
|
|
| MD5 |
53a10137c927cec8f43a02665a3c8570
|
|
| BLAKE2b-256 |
c5a1458376d73fdf366ea268e7b1693a92d167cc0d8834e9d7ec85a9cf3299ca
|