Skip to content

πŸ¦„ Your very own GPG πŸ” encrypted contact form

License

Notifications You must be signed in to change notification settings

sultaniman/cameo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

49 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

Cameo

🎎 Cameo

🚧 WORK IN PROGRESS 🚧

Build Status

πŸ’Š TODO

  1. Tests,
  2. Clean and sound documentation,
  3. 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

  1. Generate key using $ gpg --generate-key without password,
  2. Export public key and prepare to share it with a container,
  3. 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

  1. Build docker image and run make image,
  2. Compile $ go build -o /cameo/cameo
    1. Create and export GPG public key,
    2. Update configuration,
    3. 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

Cameo

πŸ’„ Assets

Favicon is taken from https://icons8.com/icon/104324/unicorn

About

πŸ¦„ Your very own GPG πŸ” encrypted contact form

Resources

License

Code of conduct

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published