Skip to content
This repository was archived by the owner on Nov 14, 2023. It is now read-only.

ntzwrk/sks-lib

Repository files navigation

sks-lib

npm package npm license code documentation

develop Travis Build Status for develop Dependency Status for develop
master Travis Build Status for master Dependency Status for master

sks-lib is a Typescript library for interacting with SKS keyservers. Currently there's support for looking up keys, uploading keys and retrieving statistics of a keyserver.

Please note that keyservers never return verified data. Do not trust the retrieved keys and always verify them.

Installation

Just add it with yarn install sks-lib (or npm install sks-lib) to your project. It ships the generated Javascript code along with Typescript's declaration files. The Typescript code itself lives in lib/.

Usage

// Create a new keyserver object to query on
var keyserver = new Keyserver('keyserver.ntzwrk.org');

var somePublicKey: string;

// Lookup the key for "vsund" and then print it
keyserver.lookup('vsund').then(
	(key) => {
		somePublicKey = key;
		console.log(key);
	}
);

// Upload the previously fetched key and print the server's response
keyserver.upload(publicKey).then(
	(response) => {
		console.log(response);
	}
);

// Get stats and then print some information
keyserver.getStats().then(
	(stats) => {
		console.log('"%s" is a %s keyserver on version %s.', stats.hostName, stats.software, stats.version);
	}
);

See examples/ for some more examples.

Documentation

Code documentation lives in docs/code/, the generated HTML version is available at https://ntzwrk.github.io/sks-lib/code/.

Development

Run tests

$ yarn test

Generate documentation

$ yarn document

License

This code is published under the GNU General Public License v3.0.

About

TypeScript library for interacting with SKS keyservers

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published