https://github.com/schemen/privacycow
Mailcow Privacy Alias CLI
https://github.com/schemen/privacycow
hacktoberfest python
Last synced: about 1 year ago
JSON representation
Mailcow Privacy Alias CLI
- Host: GitHub
- URL: https://github.com/schemen/privacycow
- Owner: schemen
- Created: 2021-06-08T10:42:19.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2023-07-25T12:19:57.000Z (almost 3 years ago)
- Last Synced: 2025-03-27T10:06:54.340Z (about 1 year ago)
- Topics: hacktoberfest, python
- Language: Python
- Homepage:
- Size: 23.4 KB
- Stars: 14
- Watchers: 2
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# privacycow
## Install
```console
python3 -m pip install git+https://github.com/schemen/privacycow.git#egg=privacycow
```
### In "developer mode" (editable):
using a virtualenv:
```console
virtualenv venv -p python3
source venv/bin/activate
python -m pip install -e .
```
or
```console
python3 -m venv venv
source venv/bin/activate
python -m pip install git+ssh://git@github.com:schemen/privacycow.git#egg=privacycow
```
```x-sh
git clone https://github.com/schemen/privacycow.git && cd privacycow
virtualenv venv -p python3
source venv/bin/activate
pip install -r requirements.txt
deactivate
```
### First run, Adjust settings, see options further down
```
# configure your config.ini
# run privacycow once, it will create a sample config file at
# ~/.config/privacycow/config.ini
privacycow && vim ~/.config/privacycow/config.ini
```
## Config
Have a look at `config.ini.example` for the sample configuration
```
[DEFAULT]
# The default domain used as an alias domain. I recommend purchasing an
# unrelated domain and adding it to your Mailcow installation. Alternatively
# you can just use your main domain.
RELAY_DOMAIN = example.com
# The address emails will go to if a GOTO is not defined in the
# [$RELAY_DOMAIN] settings section.
GOTO = user@example.com
# These two settings should be self explanatory and will be used if
# there is not a MAILCOW_API_KEY or MAILCOW_INSTANCE setting in the
# [$RELAY_DOMAIN] settings section.
MAILCOW_API_KEY = api_key
MAILCOW_INSTANCE = https://mail.example.com
[example.com]
# The settings to be used when example.com is RELAY_DOMAIN. RELAY_DOMAIN
# in the [DEFAULT] section is defining this section as the default.
# All three parameters are optional here as if they are not defined
# the setting from DEFAULT will be used instead.
GOTO = another@example.com
MAILCOW_API_KEY = another_api_key
MAILCOW_INSTANCE = https://mail.example.com
[example.org]
# These settings can be used by calling privacycow like this:
# RELAY_DOMAIN=example.org privacycow list
GOTO = user@example.org
# Note we have chosen not to define MAILCOW_API_KEY and
# MAILCOW_INSTANCE here so the values in [DEFAULT] will be used instead.
```
## Usage
```
➜ privacycow
Usage: privacycow [OPTIONS] COMMAND [ARGS]...
Options:
--debug / --no-debug
--help Show this message and exit.
Commands:
add Create a new random alias.
delete Delete a alias.
disable Disable a alias, done by setting the "Silently Discard" option.
enable Enable a alias, which disables "Silently Discard".
list Lists all aliases with the configured privacy domain.
```
## Examples
```
➜ privacycow add -c "terrible place"
Success! The following Alias has been created:
Alias ID: 29
Alias Email: 5b25SxYx9J46lJjk.YVuONdYUUA3ekAgU@privacycow.com
Alias Comment: terrible place
➜ privacycow disable 29
Success! The following Alias disabled:
Alias ID: 29
Alias Email: 5b25SxYx9J46lJjk.YVuONdYUUA3ekAgU@privacyfwd.ch
➜ privacycow list
ID Alias Comment Active
===============================================================================
22 pQf6qmgMxpa8C.c1Q3sdpDZarqf4ggCe2@privacycow.com bad actor Active
28 mX4WjTjHcJwa96Vk.xEKpPKbgArysoWvg@privacycow.com test Active
29 5b25SxYx9J46lJjk.YVuONdYUUA3ekAgU@privacycow.com terrible place Discard
```