~amolith/wyrd

Receive credentials from clients in a reasonably secure manner
correct reuse shield URL
initial sourcehut commit

clone

read-only
https://git.sr.ht/~amolith/wyrd
read/write
git@git.sr.ht:~amolith/wyrd

You can also use your local clone with git send-email.

#wyrd

Go report card status REUSE status scratchanitch.dev badge XMPP Chat

Receive credentials from clients in a reasonably secure manner


Credentials are encrypted client-side with agewasm (a WebAssembly wrapper for age) before they're submitted to the server. The server receives that encrypted string and passes it to the email addresses listed in the config.

#Installation

#From binary

Head to the releases page and download the latest binary for your platform.

NOTE: binaries are built for as many platforms as possible, but only tested on Linux/amd64. If you find a bug on another platform, please open an issue.

#From source

git clone https://git.sr.ht/~amolith/wyrd
cd wyrd
go build -o wyrd .

#Usage

Execute the binary with the -c flag to specify the path to a config.toml file. If the file exists, it's read and parsed. If it doesn't exist, it's created with default values. Modify those values then re-execute the binary.

$ ./wyrd -h
Usage of ./wyrd:
  -c, --config string   Path to config file (default "config.toml")
pflag: help requested

Here's an example systemd service file.

[Unit]
Description=Password thing
After=syslog.target
After=network.target

[Service]
RestartSec=2s
Type=simple
User=wyrd
Group=wyrd
WorkingDirectory=/home/wyrd/
ExecStart=/home/wyrd/wyrd -c /home/wyrd/config.toml
Restart=always

[Install]
WantedBy=multi-user.target

#Screenshots

#Light mode

Screenshot of the web UI with the system set to light mode

#Dark mode

Screenshot of the web UI with the system set to dark mode

#Contributing

Contributions are very much welcome! Please take a look at the ticket tracker and see if there's anything you're interested in working on. If there's specific functionality you'd like to see implemented and it's not mentioned in the ticket tracker, please post to the mailing list and describe the feature.

Questions, comments, and patches can always be sent to the mailing list, but I'm also in the IRC channel/XMPP room pretty much 24/7. However, I might not see messages right away because I'm working on something else (or sleeping) so please stick around.

If you're wanting to introduce a new feature and I don't feel like it fits with this project's goal, I encourage you to fork the repo and make whatever changes you like!

If you haven't used mailing lists before, please take a look at SourceHut's documentation, especially the etiquette section.

#Required tools

  • Go
  • gofumpt
    • Stricter formatting rules than the default go fmt
  • golangci-lint
    • Aggregates various preinstalled Go linters, runs them in parallel, and makes heavy use of the Go build cache
  • Staticcheck
    • Uses static analysis to find bugs and performance issues, offer simplifications, and enforce style rules

#Suggested tools

  • just
    • Command runner to simplify use of the required tools

#Configuring git for git send-email

First, go through the tutorial on git-send-email.io.

git config sendemail.to "~amolith/public-inbox@lists.sr.ht"