Gathering detailed insights and metrics for @leichtgewicht/dns-socket
Gathering detailed insights and metrics for @leichtgewicht/dns-socket
Gathering detailed insights and metrics for @leichtgewicht/dns-socket
Gathering detailed insights and metrics for @leichtgewicht/dns-socket
npm install @leichtgewicht/dns-socket
Module System
Min. Node Version
Typescript Support
Node Version
NPM Version
107 Stars
60 Commits
18 Forks
8 Watching
1 Branches
7 Contributors
Updated on 27 Oct 2024
JavaScript (100%)
Cumulative downloads
Total Downloads
Last day
33%
1,887
Compared to previous day
Last week
-26.1%
9,243
Compared to previous week
Last month
8.4%
53,744
Compared to previous month
Last year
993.9%
370,675
Compared to previous year
1
4
Make low-level DNS requests with retry and timeout support.
npm install dns-socket
1const dnsSocket = require('dns-socket') 2const socket = dnsSocket() 3 4socket.query({ 5 questions: [{ 6 type: 'A', 7 name: 'google.com' 8 }] 9}, 53, '8.8.8.8', (err, res) => { 10 console.log(err, res) // prints the A record for google.com 11})
var socket = dns([options])
Create a new DNS socket instance. The options
object includes:
retries
Number: Number of total query attempts made during timeout
. Default: 5.socket
Object: A custom dgram socket. Default: A 'udp4'
socket.timeout
Number: Total timeout in milliseconds after which a 'timeout'
event is emitted. Default: 7500.maxQueries
Number: Each request has an id, this is stored as static sized array. maxQueries is the size of this array, limiting the max number of inflight requests. Default: 10000.maxRedirects
Number: If you query for a single A
record and get back CNAME
, the lib will try to follow the chain and resolve the CNAME
to A. The maximum number of steps is defined by the maxRedirects
. Default: 0timeoutChecks
Number: Timeouts are checked each timeoutChecks
ms, for large number of parallel request, you might want to increase this number. Default: timeout
/ 10socket.on('query', query, port, host)
Emitted when a dns query is received. The query is a dns-packet
socket.on('response', response, port, host)
Emitted when a dns response is received. The response is a dns-packet
var id = socket.query(query, port, [host], [callback])
Send a dns query. If host is omitted it defaults to 127.0.0.1
. When the remote replies the callback is called with (err, response, query)
and an response is emitted as well. If the query times out the callback is called with an error.
The host
parameter can be an array, during resolve the lib will randomly select one host.
Returns the query id
socket.response(query, response, port, [host])
Send a response to a query.
socket.cancel(id)
Cancel a query
socket.bind([port][, address][, onlistening])
socket.bind(options, [onlistening])
Bind the underlying udp socket to a specific port. Takes the same arguments as socket#bind.
socket.destroy([onclose])
Destroy the socket.
socket.inflight
Number of inflight queries.
MIT
No vulnerabilities found.
Reason
no binaries found in the repo
Reason
0 existing vulnerabilities detected
Reason
license file detected
Details
Reason
Found 3/30 approved changesets -- score normalized to 1
Reason
0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0
Reason
no effort to earn an OpenSSF best practices badge detected
Reason
project is not fuzzed
Details
Reason
security policy file not detected
Details
Reason
branch protection not enabled on development/release branches
Details
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
Score
Last Scanned on 2024-11-18
The Open Source Security Foundation is a cross-industry collaboration to improve the security of open source software (OSS). The Scorecard provides security health metrics for open source projects.
Learn More