tangerine 1.5.2 → 1.5.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +12 -12
- package/index.js +1 -1
- package/package.json +4 -4
package/README.md
CHANGED
|
@@ -1,17 +1,17 @@
|
|
|
1
1
|
<h1 align="center">
|
|
2
|
-
<a href="https://github.com/forwardemail/tangerine"><img src="https://raw.githubusercontent.com/forwardemail/tangerine/main/media/header.png" alt="Tangerine" /></a>
|
|
2
|
+
<a href="https://github.com/forwardemail/nodejs-dns-over-https-tangerine"><img src="https://raw.githubusercontent.com/forwardemail/nodejs-dns-over-https-tangerine/main/media/header.png" alt="Tangerine" /></a>
|
|
3
3
|
</h1>
|
|
4
4
|
<div align="center">
|
|
5
|
-
<a href="https://github.com/forwardemail/tangerine/actions/workflows/ci.yml"><img src="https://github.com/forwardemail/tangerine/actions/workflows/ci.yml/badge.svg" alt="build status" /></a>
|
|
5
|
+
<a href="https://github.com/forwardemail/nodejs-dns-over-https-tangerine/actions/workflows/ci.yml"><img src="https://github.com/forwardemail/nodejs-dns-over-https-tangerine/actions/workflows/ci.yml/badge.svg" alt="build status" /></a>
|
|
6
6
|
<a href="https://github.com/sindresorhus/xo"><img src="https://img.shields.io/badge/code_style-XO-5ed9c7.svg" alt="code style" /></a>
|
|
7
7
|
<a href="https://github.com/prettier/prettier"><img src="https://img.shields.io/badge/styled_with-prettier-ff69b4.svg" alt="styled with prettier" /></a>
|
|
8
8
|
<a href="https://lass.js.org"><img src="https://img.shields.io/badge/made_with-lass-95CC28.svg" alt="made with lass" /></a>
|
|
9
|
-
<a href="LICENSE"><img src="https://img.shields.io/github/license/forwardemail/tangerine.svg" alt="license" /></a>
|
|
9
|
+
<a href="LICENSE"><img src="https://img.shields.io/github/license/forwardemail/nodejs-dns-over-https-tangerine.svg" alt="license" /></a>
|
|
10
10
|
<a href="https://npm.im/tangerine"><img src="https://img.shields.io/npm/dt/tangerine.svg" alt="npm downloads" /></a>
|
|
11
11
|
</div>
|
|
12
12
|
<br />
|
|
13
13
|
<div align="center">
|
|
14
|
-
🍊 <a href="https://github.com/forwardemail/tangerine" target="_blank">Tangerine</a> is the best <a href="https://nodejs.org" target="_blank">Node.js</a> drop-in replacement for <a href="https://nodejs.org/api/dns.html#resolveroptions" target="_blank">dns.promises.Resolver</a> using <a href="https://en.wikipedia.org/wiki/DNS_over_HTTPS" target="_blank">DNS over HTTPS</a> ("DoH") via <a href="https://github.com/nodejs/undici" target="_blank">undici</a> with built-in retries, timeouts, smart server rotation, <a href="https://developer.mozilla.org/en-US/docs/Web/API/AbortController" target="_blank">AbortControllers</a>, and caching support for multiple backends (with TTL and purge support).
|
|
14
|
+
🍊 <a href="https://github.com/forwardemail/nodejs-dns-over-https-tangerine" target="_blank">Tangerine</a> is the best <a href="https://nodejs.org" target="_blank">Node.js</a> drop-in replacement for <a href="https://nodejs.org/api/dns.html#resolveroptions" target="_blank">dns.promises.Resolver</a> using <a href="https://en.wikipedia.org/wiki/DNS_over_HTTPS" target="_blank">DNS over HTTPS</a> ("DoH") via <a href="https://github.com/nodejs/undici" target="_blank">undici</a> with built-in retries, timeouts, smart server rotation, <a href="https://developer.mozilla.org/en-US/docs/Web/API/AbortController" target="_blank">AbortControllers</a>, and caching support for multiple backends (with TTL and purge support).
|
|
15
15
|
</div>
|
|
16
16
|
<hr />
|
|
17
17
|
<div align="center">
|
|
@@ -228,7 +228,7 @@ tangerine.resolve('forwardemail.net').then(console.log);
|
|
|
228
228
|
|
|
229
229
|
* Specify default request options based off the library under `requestOptions` below
|
|
230
230
|
* Instance methods of [dns.promises.Resolver](https://nodejs.org/api/dns.html) are mirrored to :tangerine: Tangerine.
|
|
231
|
-
* Resolver methods accept an optional `abortController` argument, which is an instance of [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController). Note that :tangerine: Tangerine manages `AbortController` usage internally – so you most likely won't need to pass your own (see [index.js](https://github.com/forwardemail/tangerine/blob/main/index.js) for more insight).
|
|
231
|
+
* Resolver methods accept an optional `abortController` argument, which is an instance of [AbortController](https://developer.mozilla.org/en-US/docs/Web/API/AbortController). Note that :tangerine: Tangerine manages `AbortController` usage internally – so you most likely won't need to pass your own (see [index.js](https://github.com/forwardemail/nodejs-dns-over-https-tangerine/blob/main/index.js) for more insight).
|
|
232
232
|
* Resolver methods that accept `options` argument also accept an optional `options.purgeCache` option.
|
|
233
233
|
* Resolver methods support a `purgeCache` option as either `options.purgeCache` (Boolean) via `options` argument or `purgeCache` (Boolean) argument – see [API](#api) and [Cache](#cache) for more insight.
|
|
234
234
|
* If set to `true`, then the result will be re-queried and re-cached – see [Cache](#cache) documentation for more insight.
|
|
@@ -295,7 +295,7 @@ This mirrors output from <https://github.com/rthalley/dnspython>.
|
|
|
295
295
|
|
|
296
296
|
### `tangerine.resolveTlsa(hostname[, options, abortController]))`
|
|
297
297
|
|
|
298
|
-
This method was added for DANE and TLSA support. See this [excellent article](https://www.mailhardener.com/kb/dane), [index.js](https://github.com/forwardemail/tangerine/blob/main/index.js), and <https://github.com/nodejs/node/issues/39569> for more insight.
|
|
298
|
+
This method was added for DANE and TLSA support. See this [excellent article](https://www.mailhardener.com/kb/dane), [index.js](https://github.com/forwardemail/nodejs-dns-over-https-tangerine/blob/main/index.js), and <https://github.com/nodejs/node/issues/39569> for more insight.
|
|
299
299
|
|
|
300
300
|
This function returns a Promise that resolves with an Array with parsed values from results:
|
|
301
301
|
|
|
@@ -381,7 +381,7 @@ console.log('mx', mx);
|
|
|
381
381
|
|
|
382
382
|
## Options
|
|
383
383
|
|
|
384
|
-
Similar to the `options` argument from `new dns.promises.Resolver(options)` invocation – :tangerine: Tangerine also has its own options with default `dns` behavior mirrored. See [index.js](https://github.com/forwardemail/tangerine/blob/main/index.js) for more insight into how these options work.
|
|
384
|
+
Similar to the `options` argument from `new dns.promises.Resolver(options)` invocation – :tangerine: Tangerine also has its own options with default `dns` behavior mirrored. See [index.js](https://github.com/forwardemail/nodejs-dns-over-https-tangerine/blob/main/index.js) for more insight into how these options work.
|
|
385
385
|
|
|
386
386
|
| Property | Type | Default Value | Description |
|
|
387
387
|
| ------------------------- | ----------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
|
|
@@ -507,7 +507,7 @@ If you run into issues while using :tangerine: Tangerine, then these recommendat
|
|
|
507
507
|
Contributors can run benchmarks locally by cloning the repository, installing dependencies, and running the benchmarks script:
|
|
508
508
|
|
|
509
509
|
```sh
|
|
510
|
-
git clone https://github.com/forwardemail/tangerine.git
|
|
510
|
+
git clone https://github.com/forwardemail/nodejs-dns-over-https-tangerine.git
|
|
511
511
|
cd tangerine
|
|
512
512
|
npm install
|
|
513
513
|
npm run benchmarks
|
|
@@ -523,9 +523,9 @@ BENCHMARK_PROTOCOL="http" BENCHMARK_HOST="127.0.0.1" BENCHMARK_PORT="4000" BENCH
|
|
|
523
523
|
|
|
524
524
|
We have written extensive benchmarks to show that :tangerine: Tangerine is as fast as the native Node.js DNS module (with the exception of the `lookup` command). Note that performance is opinionated – since rate limiting plays a factor dependent on the DNS servers you are using and since caching is most likely going to takeover.
|
|
525
525
|
|
|
526
|
-
The latest benchmark results are viewable on GitHub under this repository's [GitHub CI actions logs](https://github.com/forwardemail/tangerine/actions?query=event%3Apush):
|
|
526
|
+
The latest benchmark results are viewable on GitHub under this repository's [GitHub CI actions logs](https://github.com/forwardemail/nodejs-dns-over-https-tangerine/actions?query=event%3Apush):
|
|
527
527
|
|
|
528
|
-
> [Node 16 on ubuntu-latest](https://github.com/forwardemail/tangerine/actions/runs/4297805550/jobs/7491228635#step:6:1)
|
|
528
|
+
> [Node 16 on ubuntu-latest](https://github.com/forwardemail/nodejs-dns-over-https-tangerine/actions/runs/4297805550/jobs/7491228635#step:6:1)
|
|
529
529
|
|
|
530
530
|
```diff
|
|
531
531
|
node benchmarks/lookup && node benchmarks/resolve && node benchmarks/reverse
|
|
@@ -562,7 +562,7 @@ dns.promises.reverse with caching x 5,123,900 ops/sec ±0.96% (85 runs sampled)
|
|
|
562
562
|
+Fastest without caching is: tangerine.reverse GET without caching
|
|
563
563
|
```
|
|
564
564
|
|
|
565
|
-
> [Node 18 on ubuntu latest](https://github.com/forwardemail/tangerine/actions/runs/4297805550/jobs/7491228742#step:6:1)
|
|
565
|
+
> [Node 18 on ubuntu latest](https://github.com/forwardemail/nodejs-dns-over-https-tangerine/actions/runs/4297805550/jobs/7491228742#step:6:1)
|
|
566
566
|
|
|
567
567
|
```diff
|
|
568
568
|
node benchmarks/lookup && node benchmarks/resolve && node benchmarks/reverse && node benchmarks/http
|
|
@@ -736,4 +736,4 @@ Fastest is undici GET request
|
|
|
736
736
|
|
|
737
737
|
##
|
|
738
738
|
|
|
739
|
-
<a href="#"><img src="https://raw.githubusercontent.com/forwardemail/tangerine/main/media/footer.png" alt="#" /></a>
|
|
739
|
+
<a href="#"><img src="https://raw.githubusercontent.com/forwardemail/nodejs-dns-over-https-tangerine/main/media/footer.png" alt="#" /></a>
|
package/index.js
CHANGED
|
@@ -1956,7 +1956,7 @@ class Tangerine extends dns.promises.Resolver {
|
|
|
1956
1956
|
default: {
|
|
1957
1957
|
this.options.logger.error(
|
|
1958
1958
|
new Error(
|
|
1959
|
-
`Submit a PR at <https://github.com/forwardemail/tangerine> with proper parsing for ${rrtype} records. You can reference <https://github.com/rthalley/dnspython/tree/master/dns/rdtypes/ANY> for inspiration.`
|
|
1959
|
+
`Submit a PR at <https://github.com/forwardemail/nodejs-dns-over-https-tangerine> with proper parsing for ${rrtype} records. You can reference <https://github.com/rthalley/dnspython/tree/master/dns/rdtypes/ANY> for inspiration.`
|
|
1960
1960
|
)
|
|
1961
1961
|
);
|
|
1962
1962
|
return result.answers;
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "tangerine",
|
|
3
3
|
"description": "Tangerine is the best Node.js drop-in replacement for dns.promises.Resolver using DNS over HTTPS (\"DoH\") via undici with built-in retries, timeouts, smart server rotation, AbortControllers, and caching support for multiple backends (with TTL and purge support).",
|
|
4
|
-
"version": "1.5.
|
|
4
|
+
"version": "1.5.3",
|
|
5
5
|
"author": "Forward Email (https://forwardemail.net)",
|
|
6
6
|
"bugs": {
|
|
7
|
-
"url": "https://github.com/forwardemail/tangerine/issues"
|
|
7
|
+
"url": "https://github.com/forwardemail/nodejs-dns-over-https-tangerine/issues"
|
|
8
8
|
},
|
|
9
9
|
"contributors": [
|
|
10
10
|
"Forward Email (https://forwardemail.net)"
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
"files": [
|
|
63
63
|
"index.js"
|
|
64
64
|
],
|
|
65
|
-
"homepage": "https://github.com/forwardemail/tangerine",
|
|
65
|
+
"homepage": "https://github.com/forwardemail/nodejs-dns-over-https-tangerine",
|
|
66
66
|
"keywords": [
|
|
67
67
|
"1:1",
|
|
68
68
|
"abort",
|
|
@@ -153,7 +153,7 @@
|
|
|
153
153
|
},
|
|
154
154
|
"repository": {
|
|
155
155
|
"type": "git",
|
|
156
|
-
"url": "https://github.com/forwardemail/tangerine"
|
|
156
|
+
"url": "https://github.com/forwardemail/nodejs-dns-over-https-tangerine"
|
|
157
157
|
},
|
|
158
158
|
"scripts": {
|
|
159
159
|
"ava": "cross-env NODE_ENV=test ava",
|