Modules@robinpath/dns
dns

@robinpath/dns

0.1.1Node.jsPublic

DNS lookups: resolve, reverse, MX, TXT, NS, SRV, SOA, CNAME records

DNS

DNS lookups: resolve, reverse, MX, TXT, NS, SRV, SOA, CNAME records

Package: @robinpath/dns | Category: Utility | Type: Utility

Authentication

No authentication required. All functions are available immediately.

Use Cases

Use the dns module when you need to:

  • Resolve hostname to records by type -- Use dns.resolve to perform this operation
  • Resolve hostname to IPv4 addresses -- Use dns.resolve4 to perform this operation
  • Resolve hostname to IPv6 addresses -- Use dns.resolve6 to perform this operation
  • Reverse DNS lookup -- Use dns.reverse to perform this operation
  • OS-level DNS lookup -- Use dns.lookup to perform this operation

Quick Reference

FunctionDescriptionReturns
resolveResolve hostname to records by typeArray of DNS records
resolve4Resolve hostname to IPv4 addressesIPv4 addresses
resolve6Resolve hostname to IPv6 addressesIPv6 addresses
reverseReverse DNS lookupHostnames
lookupOS-level DNS lookup{address, family}
mxGet MX records sorted by priorityArray of {priority, exchange}
txtGet TXT recordsTXT record arrays
nsGet nameserver recordsNameserver hostnames
srvGet SRV recordsArray of {priority, weight, port, name}
soaGet SOA record{nsname, hostmaster, serial, refresh, retry, expire, minttl}
cnameGet CNAME recordsCanonical names
isResolvableCheck if hostname resolvestrue if resolvable

Functions

resolve

Resolve hostname to records by type

Module: dns | Returns: array -- Array of DNS records

dns.resolve "example.com" "A"
ParameterTypeRequiredDescription
hostnamestringYesHostname to resolve
rrtypestringNoRecord type: A

resolve4

Resolve hostname to IPv4 addresses

Module: dns | Returns: array -- IPv4 addresses

dns.resolve4 "example.com"
ParameterTypeRequiredDescription
hostnamestringYesHostname

resolve6

Resolve hostname to IPv6 addresses

Module: dns | Returns: array -- IPv6 addresses

dns.resolve6 "example.com"
ParameterTypeRequiredDescription
hostnamestringYesHostname

reverse

Reverse DNS lookup

Module: dns | Returns: array -- Hostnames

dns.reverse "8.8.8.8"
ParameterTypeRequiredDescription
ipstringYesIP address

lookup

OS-level DNS lookup

Module: dns | Returns: object -- {address, family}

dns.lookup "example.com"
ParameterTypeRequiredDescription
hostnamestringYesHostname
optionsobjectNo{family: 4

mx

Get MX records sorted by priority

Module: dns | Returns: array -- Array of {priority, exchange}

dns.mx "example.com"
ParameterTypeRequiredDescription
hostnamestringYesDomain

txt

Get TXT records

Module: dns | Returns: array -- TXT record arrays

dns.txt "example.com"
ParameterTypeRequiredDescription
hostnamestringYesDomain

ns

Get nameserver records

Module: dns | Returns: array -- Nameserver hostnames

dns.ns "example.com"
ParameterTypeRequiredDescription
hostnamestringYesDomain

srv

Get SRV records

Module: dns | Returns: array -- Array of {priority, weight, port, name}

dns.srv "_http._tcp.example.com"
ParameterTypeRequiredDescription
hostnamestringYesService hostname

soa

Get SOA record

Module: dns | Returns: object -- {nsname, hostmaster, serial, refresh, retry, expire, minttl}

dns.soa "example.com"
ParameterTypeRequiredDescription
hostnamestringYesDomain

cname

Get CNAME records

Module: dns | Returns: array -- Canonical names

dns.cname "www.example.com"
ParameterTypeRequiredDescription
hostnamestringYesHostname

isResolvable

Check if hostname resolves

Module: dns | Returns: boolean -- true if resolvable

dns.isResolvable "example.com"
ParameterTypeRequiredDescription
hostnamestringYesHostname

Error Handling

All functions throw on failure. Common errors:

ErrorCause
(standard errors)Check function parameters and authentication
@desc "Resolve and validate result"
do
  set $result as dns.resolve "example.com" "A"
  if $result != null
    print "Success"
  else
    print "No result"
  end
enddo

Recipes

1. Multi-step DNS workflow

Chain multiple dns operations together.

@desc "Resolve, resolve4, and more"
do
  set $r_resolve as dns.resolve "example.com" "A"
  set $r_resolve4 as dns.resolve4 "example.com"
  set $r_resolve6 as dns.resolve6 "example.com"
  print "All operations complete"
enddo

2. Safe resolve with validation

Check results before proceeding.

@desc "Resolve and validate result"
do
  set $result as dns.resolve "example.com" "A"
  if $result != null
    print "Success: " + $result
  else
    print "Operation returned no data"
  end
enddo

Related Modules

  • json -- JSON module for complementary functionality

Versions (1)

VersionTagPublished
0.1.1latest1 months ago
Install
$ robinpath add @robinpath/dns

Collaborators

Dumitru Balaban
Dumitru Balaban
@dumitru
View all @robinpath modules
Version0.1.1
LicenseMIT
Unpacked Size3.9 KB
Versions1
Weekly Downloads26
Total Downloads26
Stars0
Last Publish1 months ago
Created1 months ago

Keywords

Category

utilities