Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

cabal-dns

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

cabal-dns

Issue DNS lookups for cabals using HTTPS requests to the target host.

  • 1.0.1
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
1
Created
Source

cabal-dns

Cabal-specific fork of datprotocol/dat-dns, originally written by pfrazee

Issue DNS lookups for Dat archives using HTTPS requests to the target host. Keeps an in-memory cache of recent lookups.

API

var cabalDns = require('cabal-dns')()

// resolve a name: pass the hostname by itself
cabalDns.resolveName('foo.com', function (err, key) { ... })
cabalDns.resolveName('foo.com').then(key => ...)

// dont use cached 'misses'
cabalDns.resolveName('foo.com', {ignoreCachedMiss: true})

// dont use the cache at all
cabalDns.resolveName('foo.com', {ignoreCache: true})

// dont use dns-over-https
cabalDns.resolveName('foo.com', {noDnsOverHttps: true})

// dont use .well-known/cabal
cabalDns.resolveName('foo.com', {noWellknownDat: true})

// list all entries in the cache
cabalDns.listCache()

// clear the cache
cabalDns.flushCache()

// configure the DNS-over-HTTPS host used
var cabalDns = require('cabal-dns')({
  dnsHost: 'dns.google.com',
  dnsPath: '/resolve'
})

// use a persistent fallback cache
// (this is handy for persistent dns data when offline)
var cabalDns = require('cabal-dns')({
  persistentCache: {
    read: async (name, err) => {
      // try lookup
      // if failed, you can throw the original error:
      throw err
    },
    write: async (name, key, ttl) => {
      // write to your cache
    }
  }
})

// emits some events, mainly useful for logging/debugging
cabalDns.on('resolved', ({method, name, key}) => {...})
cabalDns.on('failed', ({method, name, err}) => {...})
cabalDns.on('cache-flushed', () => {...})

Spec

In detail.

Option 1 (DNS-over-HTTPS). Create a DNS TXT record witht he following schema:

cabalkey={key}

Option 2 (.well-known/cabal). Place a file at /.well-known/cabal with the following schema:

{cabal-url}
TTL={time in seconds}

TTL is optional and will default to 3600 (one hour). If set to 0, the entry is not cached.

Keywords

FAQs

Package last updated on 19 May 2019

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc