Installations
npm install @leichtgewicht/dns-socket
Releases
Unable to fetch releases
Developer
mafintosh
Developer Guide
Module System
CommonJS, ESM
Min. Node Version
>=6
Typescript Support
No
Node Version
6.17.1
NPM Version
3.10.10
Statistics
107 Stars
60 Commits
18 Forks
8 Watching
1 Branches
7 Contributors
Updated on 27 Oct 2024
Languages
JavaScript (100%)
Total Downloads
Cumulative downloads
Total Downloads
409,102
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
Daily Downloads
Weekly Downloads
Monthly Downloads
Yearly Downloads
Dependencies
1
Dev Dependencies
4
dns-socket
Make low-level DNS requests with retry and timeout support.
npm install dns-socket
Usage
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})
API
var socket = dns([options])
Create a new DNS socket instance. The options
object includes:
retries
Number: Number of total query attempts made duringtimeout
. 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 singleA
record and get backCNAME
, the lib will try to follow the chain and resolve theCNAME
to A. The maximum number of steps is defined by themaxRedirects
. Default: 0timeoutChecks
Number: Timeouts are checked eachtimeoutChecks
ms, for large number of parallel request, you might want to increase this number. Default:timeout
/ 10
socket.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.
License
MIT
No vulnerabilities found.
Reason
no binaries found in the repo
Reason
0 existing vulnerabilities detected
Reason
license file detected
Details
- Info: project has a license file: LICENSE:0
- Info: FSF or OSI recognized license: MIT License: LICENSE:0
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
- Warn: no fuzzer integrations found
Reason
security policy file not detected
Details
- Warn: no security policy file detected
- Warn: no security file to analyze
- Warn: no security file to analyze
- Warn: no security file to analyze
Reason
branch protection not enabled on development/release branches
Details
- Warn: branch protection not enabled for branch 'master'
Reason
SAST tool is not run on all commits -- score normalized to 0
Details
- Warn: 0 commits out of 3 are checked with a SAST tool
Score
3.2
/10
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