@robinpath/dns
0.1.1Node.jsPublicDNS 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.resolveto perform this operation - Resolve hostname to IPv4 addresses -- Use
dns.resolve4to perform this operation - Resolve hostname to IPv6 addresses -- Use
dns.resolve6to perform this operation - Reverse DNS lookup -- Use
dns.reverseto perform this operation - OS-level DNS lookup -- Use
dns.lookupto perform this operation
Quick Reference
| Function | Description | Returns |
|---|---|---|
resolve | Resolve hostname to records by type | Array of DNS records |
resolve4 | Resolve hostname to IPv4 addresses | IPv4 addresses |
resolve6 | Resolve hostname to IPv6 addresses | IPv6 addresses |
reverse | Reverse DNS lookup | Hostnames |
lookup | OS-level DNS lookup | {address, family} |
mx | Get MX records sorted by priority | Array of {priority, exchange} |
txt | Get TXT records | TXT record arrays |
ns | Get nameserver records | Nameserver hostnames |
srv | Get SRV records | Array of {priority, weight, port, name} |
soa | Get SOA record | {nsname, hostmaster, serial, refresh, retry, expire, minttl} |
cname | Get CNAME records | Canonical names |
isResolvable | Check if hostname resolves | true if resolvable |
Functions
resolve
Resolve hostname to records by type
Module: dns | Returns: array -- Array of DNS records
dns.resolve "example.com" "A"
| Parameter | Type | Required | Description |
|---|---|---|---|
hostname | string | Yes | Hostname to resolve |
rrtype | string | No | Record type: A |
resolve4
Resolve hostname to IPv4 addresses
Module: dns | Returns: array -- IPv4 addresses
dns.resolve4 "example.com"
| Parameter | Type | Required | Description |
|---|---|---|---|
hostname | string | Yes | Hostname |
resolve6
Resolve hostname to IPv6 addresses
Module: dns | Returns: array -- IPv6 addresses
dns.resolve6 "example.com"
| Parameter | Type | Required | Description |
|---|---|---|---|
hostname | string | Yes | Hostname |
reverse
Reverse DNS lookup
Module: dns | Returns: array -- Hostnames
dns.reverse "8.8.8.8"
| Parameter | Type | Required | Description |
|---|---|---|---|
ip | string | Yes | IP address |
lookup
OS-level DNS lookup
Module: dns | Returns: object -- {address, family}
dns.lookup "example.com"
| Parameter | Type | Required | Description |
|---|---|---|---|
hostname | string | Yes | Hostname |
options | object | No | {family: 4 |
mx
Get MX records sorted by priority
Module: dns | Returns: array -- Array of {priority, exchange}
dns.mx "example.com"
| Parameter | Type | Required | Description |
|---|---|---|---|
hostname | string | Yes | Domain |
txt
Get TXT records
Module: dns | Returns: array -- TXT record arrays
dns.txt "example.com"
| Parameter | Type | Required | Description |
|---|---|---|---|
hostname | string | Yes | Domain |
ns
Get nameserver records
Module: dns | Returns: array -- Nameserver hostnames
dns.ns "example.com"
| Parameter | Type | Required | Description |
|---|---|---|---|
hostname | string | Yes | Domain |
srv
Get SRV records
Module: dns | Returns: array -- Array of {priority, weight, port, name}
dns.srv "_http._tcp.example.com"
| Parameter | Type | Required | Description |
|---|---|---|---|
hostname | string | Yes | Service hostname |
soa
Get SOA record
Module: dns | Returns: object -- {nsname, hostmaster, serial, refresh, retry, expire, minttl}
dns.soa "example.com"
| Parameter | Type | Required | Description |
|---|---|---|---|
hostname | string | Yes | Domain |
cname
Get CNAME records
Module: dns | Returns: array -- Canonical names
dns.cname "www.example.com"
| Parameter | Type | Required | Description |
|---|---|---|---|
hostname | string | Yes | Hostname |
isResolvable
Check if hostname resolves
Module: dns | Returns: boolean -- true if resolvable
dns.isResolvable "example.com"
| Parameter | Type | Required | Description |
|---|---|---|---|
hostname | string | Yes | Hostname |
Error Handling
All functions throw on failure. Common errors:
| Error | Cause |
|---|---|
| (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)
| Version | Tag | Published |
|---|---|---|
| 0.1.1 | latest | 1 months ago |
Related Modules
@robinpathv0.1.4
SMTP email sending and address parsing for RobinPath
hash
JS@robinpathv0.1.3
Cryptographic hashing utilities: MD5, SHA family, HMAC, CRC32, file hashing, UUID v5 generation, secure random bytes, and content fingerprinting
csv
JS@robinpathv0.1.2
Parse and stringify CSV data
apollo
JS@robinpathv0.1.2
Apollo module for RobinPath.
$ robinpath add @robinpath/dns
