Decentralized OpenPGP Identity Proofs library in node/javascript
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
Yarmo Mackenbach 3bb38e5d2c
Release 0.12.4
2 weeks ago
dist Release 0.12.4 2 weeks ago
docker/proxy Rename proxy script 4 weeks ago
src Reference to wrong variable 2 weeks ago
static Add jsdoc documentation 3 weeks ago
test Fix old function calls 3 weeks ago
.drone.yml Fix drone config 3 weeks ago
.editorconfig Add editorconfig 2 months ago
.gitignore Ignore docs 3 weeks ago
.licenseignore Add prettier 6 months ago
.prettierignore Update prettierignore 3 weeks ago
.prettierrc.yaml Add prettier 6 months ago
CHANGELOG.md Release 0.12.4 2 weeks ago
LICENSE Update year 4 months ago
LICENSE.HEADER Update year 4 months ago
README.md Fix typo 3 weeks ago
jsdoc-lib.json Change jsdoc theme 2 weeks ago
license-checker-config.json Run prettier on code 6 months ago
package.json Release 0.12.4 2 weeks ago
yarn.lock Change jsdoc theme 2 weeks ago

README.md

doip.js

doip.js allows websites and Node.js projects to verify decentralized online identities based on OpenPGP.

Source code available at codeberg.org.

Documentation available at js.doip.rocks.

Features

  • Verify online identities using decentralized technology
  • Based on OpenPGP, a widely-used cryptographic standard
  • Regex-based service provider detection
  • Mocha tests

Installation (node)

Install using yarn or npm:

yarn add doipjs
# or
npm install --save doipjs

Import the doip module in your code:

const doip = require('./doipjs')

Installation (browser)

Include the following HTML snippet (requires openpgp.js):

<script src="/static/openpgp.min.js"></script>
<script src="/static/doip.min.js"></script>

Quickstart

Run the following javascript:

const verifyIdentity = async (url, fp) => {
  const claim = new doip.Claim(url, fp)
  claim.match()
  await claim.verify()
  console.log(claim.result)
}
verifyIdentity('dns:doip.rocks', '9f0048ac0b23301e1f77e994909f6bd6f80f485d')

This snippet works and will verify the doip.rocks domain as bidirectionally linked to Yarmo's cryptographic key.

About Keyoxide

Keyoxide, made by Yarmo Mackenbach, is a modern, secure and privacy-friendly platform to establish decentralized online identities using a novel concept know as DOIP. In an effort to make this technology accessible for other projects and stimulate the emergence of both complementary and competing projects, this project-agnostic library is published on codeberg.org and open sourced under the Apache-2.0 license.

Community

There's a Keyoxide Matrix room where we discuss everything DOIP and Keyoxide.

Donate

Please consider donating if you think this project is a step in the right direction for the internet.

Funding

This library was realized with funding from NLnet.