Skip to content

shombando/keyoxidizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

57 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Keyoxidizer - Interactive Keyoxide helper

Objective

This is a simple utility designed to make working with Keyoxide easier. Keyoxidizer guides the user with prompts to gather their (name, email, etc.) and then handles all the details to generate the PGP key and exports it to OpenPGP key server. It will then guide the user in proving ownership their online accounts supported by Keyoxide. Keyoxide will also guide the user through viewing and modifying the proofs (notations) in their key. This is an unofficial helper around Keyoxide but it does not (and may never) support all Keyoxide features. The goal is to lower the barrier to entry so this will remain a single file utility and have no external dependencies aside from bash and gpg.

Security and Privacy

The author is not an authority on security or privacy, please use at your own risk. The current default option will generate a key with a single sub-key both using ed25519 curve, I believe this to be the best option for general usage at this point (2024). However, if you want to generate multiple sub-keys or change other security options, please generate key outside of this script and use this script. If you want to hash your proofs then please consult this Keyoxide blog post. Please take a look at the discussion here for further information and feedback from the community.

Usage

Option 1

Clone the repo. Run the script.

git clone git@github.com:shombando/keyoxidizer.git
cd keyoxidizer
./keyoxidizer.sh

Option 2

Download the keyoxidizer.sh script and put it in a keyoxidizer folder (recommended) and open a terminal window in that location, change the file permission to make it executable and then run it:

chmod +x ./keyoxidizer.sh
./keyoxidizer.sh

The releases link on Github and Codeberg will contain tagged versions with change logs. However, downloading the script from the repo root is recommended since it will be most up to date version with latest bug fix.

Features

  • Generate new key pairs
  • Load existing key
  • Add proofs for Supported Platforms
  • List proofs
  • Delete proofs (currently requires pasting a command and typing “save” see issue 1)

Supported Platforms

  1. Domain/DNS (note: sometimes DNS records take some time to update)
  2. Gitea
  3. Github
  4. Gitlab
  5. Mastodon
  6. Twitter
  7. Reddit
  8. Hackernews
  9. dev.to
  10. IRC
  11. Matrix

Roadmap

  • Incrementally add support for adding proofs to the supported service providers. They will be listed under the Supported Platforms sections.
  • List and delete proofs - done but delete is a bit tedious
  • Setup a build pipeline to automate releases for a tagged release.
  • Additional security and privacy options.

Contributing

I absolutely welcome feedback in the form of PRs, whether it is improving my shell scripting or adding new functionality. A few guidelines to help me out:

  • each PR should be focused on a single aspect (add functionality / improve existing functionality)
  • draft PRs are encouraged so we can collaborate better
  • if you’re refactoring please explain the changes so I can learn from it