Skip to content

Freemindtronic/keyserver

Repository files navigation

keyserver

Custom Nodes.js implementation of the OpenPGP HTTP Keyserver Protocol (HKP), with a few modifications:

  • HTTP 1.1 is used instead of HTTP 1.0
  • Search by fingerprint must contain the whole fingerprint
  • The index and vindex operations are the same
  • The nm (No Modification) and exact options are ignored
  • The fingerprint option is always on
  • Keys submitted are accepted only if all UIDs are signed by at least one main key (place main keys in storage/main-keys)

Contributing

If the machine does not have Node or Yarn installed, install Volta first, and it will install Node and Yarn for you.

# Install dependencies
yarn install --immutable

# Create an empty database
yarn prisma db push

# Start the dev server
yarn dev

Usage in production

# Install dependencies, create a database if it does not exist, and start the server
docker-compose up

Please note that data is shared between the dev and production servers through the storage directory.