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.
Metadata
Release files for pssecret-server 1.1.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| pssecret_server-1.1.2.tar.gz | 5.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pssecret_server-1.1.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 13.3 kB
Release files / pssecret_server-1.1.2.tar.gz
| Download URL | pssecret_server-1.1.2.tar.gz |
|---|---|
| Size | 5.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
e6b498789115698be9e42faf73f297f0f88dc094fcc657b0918477e0372dbfd0
|
|
BLAKE2b-256 checksum How to use checksums |
ee3bb094d435f735b3a72eee1b98b1d1cd9d6f4ea3577ffd64ca7a060f78c452
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.0.0 CPython/3.12.7 Linux/6.6.65-1-MANJARO
|
Release files / pssecret_server-1.1.2-py3-none-any.whl
| Download URL | pssecret_server-1.1.2-py3-none-any.whl |
|---|---|
| Size | 7.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
eb5874c1cf9b5b60ef7d6dad7a18a7ba2b0c531f428b5f29817b47db67f05338
|
|
BLAKE2b-256 checksum How to use checksums |
c5a1458376d73fdf366ea268e7b1693a92d167cc0d8834e9d7ec85a9cf3299ca
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/2.0.0 CPython/3.12.7 Linux/6.6.65-1-MANJARO
|
Security for pssecret-server 1.1.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.