π Cameo
π§ WORK IN PROGRESS π§
π TODO
- Tests,
- Clean and sound documentation,
- Upload docker image to DockerHub.
π¦ Your very own GPG π encrypted contact form
π§ Why?
If you are an investigative journalist or cyber security professional and often need to have secure contact form
then this project aims to fill this gap with easy-to-use and deploy approach, also it might be ideal for people
who want to avoid sharing personal emails and only share a website with contact form.
Contact form uses GPG and encrypts messages before sending them, just generate your key and put
its location in configuration file.
βοΈ Configuration
- Generate key using
$ gpg --generate-key
without password,
- Export public key and prepare to share it with a container,
- Configure SMTP server details.
Default configuration:
version: 0.0.1
port: 4000
form_title: A Message To Unicorn
mailer:
host: smtp.google.com
port: 587
user: user
pass: pass
retries: 3
send_to: secret@secret.mail
from_email: contact@myform.com
domains:
- example.com
- second-example.com
logs:
level: INFO
gpg:
pub_key: /path/to/pub.key
π§ Build and run
- Build docker image and run
make image
,
- Compile
$ go build -o /cameo/cameo
- Create and export GPG public key,
- Update configuration,
- Run server
πΊ CLI options
Generate your GPG key and deploy your contact form with Cameo
Usage:
[flags]
Flags:
--config string Config file (default "/etc/cameo/config.yml")
-h, --help help for this command
--port int Server port (default 4000)
--pub-key string GPG public key
π€ systemd example
Create /etc/systemd/system/cameo.service
with the following contents
[Unit]
Description=PGP encrypted contact form
After=network.target
[Service]
User=root
Group=www-data
ExecStart=/path/to/cameo
WorkingDirectory=/path/to/workdir
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
Screenshot
π Assets
Favicon is taken from https://icons8.com/icon/104324/unicorn