@lkekana/dnsstamp
v1.2.1
Published
A modern implementation of Olivier Poitrey and Martin Heidegger's DNS Stamp encoder & decoder
Readme
@lkekana/dnsstamp
@lkekana/dnsstamp is a fork of dnsstamp updated for a modern Javascript environment & with Martin Heidegger (@martinheidegger)'s contributions merged. See his fork / PR
DNS Stamp
This node module provides a simple API to parse and generate DNS Stamp as defined by Frank Denis.
Installation
npm install @lkekana/dnsstampUsage
Parse a stamp URL:
import { DNSStamp } from "@lkekana/dnsstamp";
const stamp = DNSStamp.parse("sdns://AQMAAAAAAAAAETk0LjE0MC4xNC4xNDo1NDQzINErR_JS3PLCu_iZEIbq95zkSV2LFsigxDIuUso_OQhzIjIuZG5zY3J5cHQuZGVmYXVsdC5uczEuYWRndWFyZC5jb20");
console.log(stamp.toString());Create a stamp URL:
import { DNSStamp } from "@lkekana/dnsstamp";
const dnsCryptStamp = new DNSStamp.DNSCrypt("1.1.1.1", {
pk: "...",
providerName: "example.com",
});
console.log(dnsCryptStamp.toString());Supported stamps:
DNSStamp.DNSCrypt: constructor(addr, {props,pk,providerName})DNSStamp.DOH: constructor(addr, {props,hostName,hash,path})DNSStamp.DOT: constructor(addr, {props,hostName,hash})DNSStamp.Plain: constructor(addr, {props})
Licenses
All source code is licensed under the MIT License.
