better-hosts 0.2.3 → 0.2.4
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/lib/server.js +9 -4
- package/lib/server.js.map +1 -1
- package/package.json +5 -5
- package/lib/utils/dns.js +0 -16
- package/lib/utils/dns.js.map +0 -1
package/lib/server.js
CHANGED
|
@@ -2,7 +2,8 @@ import chalk from 'chalk';
|
|
|
2
2
|
import { assert, go } from '@blackglory/prelude';
|
|
3
3
|
import { DNSClient, DNSServer, QR, RCODE, TYPE } from 'extra-dns';
|
|
4
4
|
import { timeoutSignal } from 'extra-abort';
|
|
5
|
-
import {
|
|
5
|
+
import { A_RDATA, AAAA_RDATA } from 'extra-dns';
|
|
6
|
+
import { Address6 } from 'ip-address';
|
|
6
7
|
export async function startServer({ logger, timeout, port, hosts, fallbackServer }) {
|
|
7
8
|
var _a;
|
|
8
9
|
const server = new DNSServer('0.0.0.0', port);
|
|
@@ -48,10 +49,14 @@ export async function startServer({ logger, timeout, port, hosts, fallbackServer
|
|
|
48
49
|
TYPE: question.QTYPE,
|
|
49
50
|
CLASS: question.QCLASS,
|
|
50
51
|
TTL: 0,
|
|
51
|
-
RDATA:
|
|
52
|
+
RDATA: new ArrayBuffer(),
|
|
53
|
+
rdata: go(() => {
|
|
52
54
|
switch (question.QTYPE) {
|
|
53
|
-
case TYPE.A: return
|
|
54
|
-
case TYPE.AAAA:
|
|
55
|
+
case TYPE.A: return new A_RDATA(address);
|
|
56
|
+
case TYPE.AAAA: {
|
|
57
|
+
const canonicalAddress = new Address6(address).canonicalForm();
|
|
58
|
+
return new AAAA_RDATA(canonicalAddress);
|
|
59
|
+
}
|
|
55
60
|
default: throw new Error('Impossible route');
|
|
56
61
|
}
|
|
57
62
|
})
|
package/lib/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,MAAM,OAAO,CAAA;AACzB,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,SAAS,EAAE,SAAS,EAAuC,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAA;AACtG,OAAO,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC3C,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "better-hosts",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.4",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"dns"
|
|
@@ -54,17 +54,17 @@
|
|
|
54
54
|
"yarn-deduplicate": "^6.0.2"
|
|
55
55
|
},
|
|
56
56
|
"dependencies": {
|
|
57
|
-
"@blackglory/prelude": "^0.
|
|
57
|
+
"@blackglory/prelude": "^0.4.0",
|
|
58
58
|
"chalk": "^5.3.0",
|
|
59
59
|
"commander": "^11.1.0",
|
|
60
60
|
"extra-abort": "^0.4.0",
|
|
61
|
-
"extra-dns": "^0.1.
|
|
61
|
+
"extra-dns": "^0.1.6",
|
|
62
62
|
"extra-filesystem": "^0.5.1",
|
|
63
63
|
"extra-logger": "^0.7.2",
|
|
64
|
-
"extra-promise": "^
|
|
64
|
+
"extra-promise": "^7.0.0",
|
|
65
65
|
"extra-utils": "^5.6.0",
|
|
66
66
|
"extra-watcher": "^0.2.2",
|
|
67
67
|
"ip-address": "^10.0.1",
|
|
68
|
-
"iterable-operator": "^
|
|
68
|
+
"iterable-operator": "^5.1.0"
|
|
69
69
|
}
|
|
70
70
|
}
|
package/lib/utils/dns.js
DELETED
|
@@ -1,16 +0,0 @@
|
|
|
1
|
-
import { Address6 } from 'ip-address';
|
|
2
|
-
import { uint16ArrayBigEndian } from "./typed-array.js";
|
|
3
|
-
export function createRDATAForA(ipv4Address) {
|
|
4
|
-
const data = new Uint8Array(ipv4Address
|
|
5
|
-
.split('.')
|
|
6
|
-
.map(x => Number.parseInt(x, 10)));
|
|
7
|
-
return data.buffer;
|
|
8
|
-
}
|
|
9
|
-
export function createRDATAForAAAA(ipv6Address) {
|
|
10
|
-
const canonicalAddress = new Address6(ipv6Address).canonicalForm();
|
|
11
|
-
const data = uint16ArrayBigEndian(canonicalAddress
|
|
12
|
-
.split(':')
|
|
13
|
-
.map(x => Number.parseInt(x, 16)));
|
|
14
|
-
return data.buffer;
|
|
15
|
-
}
|
|
16
|
-
//# sourceMappingURL=dns.js.map
|
package/lib/utils/dns.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"dns.js","sourceRoot":"","sources":["../../src/utils/dns.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAA;AACrC,OAAO,EAAE,oBAAoB,EAAE,yBAA6B;AAE5D,MAAM,UAAU,eAAe,CAAC,WAAmB;IACjD,MAAM,IAAI,GAAG,IAAI,UAAU,CACzB,WAAW;SACR,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CACpC,CAAA;IAED,OAAO,IAAI,CAAC,MAAM,CAAA;AACpB,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,WAAmB;IACpD,MAAM,gBAAgB,GAAG,IAAI,QAAQ,CAAC,WAAW,CAAC,CAAC,aAAa,EAAE,CAAA;IAElE,MAAM,IAAI,GAAG,oBAAoB,CAC/B,gBAAgB;SACb,KAAK,CAAC,GAAG,CAAC;SACV,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CACpC,CAAA;IAED,OAAO,IAAI,CAAC,MAAM,CAAA;AACpB,CAAC"}
|