fcdns 0.3.6 → 0.3.9

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/CHANGELOG.md ADDED
@@ -0,0 +1,110 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file. See [standard-version](https://github.com/conventional-changelog/standard-version) for commit guidelines.
4
+
5
+ ### [0.3.9](https://github.com/BlackGlory/fcdns/compare/v0.3.8...v0.3.9) (2022-03-20)
6
+
7
+
8
+ ### Bug Fixes
9
+
10
+ * logging ([4902a1f](https://github.com/BlackGlory/fcdns/commit/4902a1f1390a83d02dbbf48395c74d791f5f27da))
11
+
12
+ ### [0.3.8](https://github.com/BlackGlory/fcdns/compare/v0.3.7...v0.3.8) (2022-03-20)
13
+
14
+
15
+ ### Bug Fixes
16
+
17
+ * logging ([21a71d5](https://github.com/BlackGlory/fcdns/commit/21a71d5988da3b32564b058be51fe98366bb3ccf))
18
+
19
+ ### [0.3.7](https://github.com/BlackGlory/fcdns/compare/v0.3.6...v0.3.7) (2022-03-20)
20
+
21
+
22
+ ### Bug Fixes
23
+
24
+ * forward entire response instead of answers ([326fbaf](https://github.com/BlackGlory/fcdns/commit/326fbaf40bc028bdd8c1d3b7c5c540430aa0e7dd))
25
+
26
+ ### [0.3.6](https://github.com/BlackGlory/fcdns/compare/v0.3.5...v0.3.6) (2022-03-03)
27
+
28
+ ### [0.3.5](https://github.com/BlackGlory/fcdns/compare/v0.3.4...v0.3.5) (2022-02-28)
29
+
30
+ ### [0.3.4](https://github.com/BlackGlory/fcdns/compare/v0.3.3...v0.3.4) (2022-02-28)
31
+
32
+ ### [0.3.3](https://github.com/BlackGlory/fcdns/compare/v0.3.2...v0.3.3) (2022-01-02)
33
+
34
+ ### [0.3.2](https://github.com/BlackGlory/fcdns/compare/v0.3.1...v0.3.2) (2021-12-21)
35
+
36
+ ### [0.3.1](https://github.com/BlackGlory/fcdns/compare/v0.3.0...v0.3.1) (2021-12-17)
37
+
38
+ ## [0.3.0](https://github.com/BlackGlory/fcdns/compare/v0.2.7...v0.3.0) (2021-12-17)
39
+
40
+
41
+ ### ⚠ BREAKING CHANGES
42
+
43
+ * - The minimum version is Node.js v16
44
+
45
+ * upgrade dependencies ([c9072dc](https://github.com/BlackGlory/fcdns/commit/c9072dc80e8f6867aca7f0a9d05abec154195f21))
46
+
47
+ ### [0.2.7](https://github.com/BlackGlory/fcdns/compare/v0.2.6...v0.2.7) (2021-12-12)
48
+
49
+ ### [0.2.6](https://github.com/BlackGlory/fcdns/compare/v0.2.5...v0.2.6) (2021-10-17)
50
+
51
+ ### [0.2.5](https://github.com/BlackGlory/fcdns/compare/v0.2.4...v0.2.5) (2021-10-14)
52
+
53
+ ### [0.2.4](https://github.com/BlackGlory/fcdns/compare/v0.2.3...v0.2.4) (2021-10-06)
54
+
55
+
56
+ ### Features
57
+
58
+ * add loose mode ([561f7f9](https://github.com/BlackGlory/fcdns/commit/561f7f9181a5bd76e5093ed5e7fc65daadd4702d))
59
+
60
+ ### [0.2.3](https://github.com/BlackGlory/fcdns/compare/v0.2.2...v0.2.3) (2021-09-18)
61
+
62
+ ### [0.2.2](https://github.com/BlackGlory/fcdns/compare/v0.2.1...v0.2.2) (2021-07-12)
63
+
64
+
65
+ ### Bug Fixes
66
+
67
+ * isHostnamePattern ([eee8e03](https://github.com/BlackGlory/fcdns/commit/eee8e03703e4cac962db6b2d05965f877051c30b))
68
+
69
+ ### [0.2.1](https://github.com/BlackGlory/fcdns/compare/v0.2.0...v0.2.1) (2021-07-09)
70
+
71
+
72
+ ### Features
73
+
74
+ * improve hostname pattern ([f86b9a6](https://github.com/BlackGlory/fcdns/commit/f86b9a64c92160dc5995fa1dc77e0a1f2c1daa3d))
75
+
76
+ ## [0.2.0](https://github.com/BlackGlory/fcdns/compare/v0.1.6...v0.2.0) (2021-07-09)
77
+
78
+
79
+ ### ⚠ BREAKING CHANGES
80
+
81
+ * rename whitelist.txt to ip-whitelist.txt
82
+
83
+ ### Features
84
+
85
+ * add hostname whitelist ([f96d2f3](https://github.com/BlackGlory/fcdns/commit/f96d2f38daf1506e168d7e380b09edad87165d06))
86
+ * support to parse ip addresses in whitelist ([10024db](https://github.com/BlackGlory/fcdns/commit/10024db45acb5201f67ecc64a7e2cf54ade396b4))
87
+
88
+ ### [0.1.6](https://github.com/BlackGlory/fcdns/compare/v0.1.5...v0.1.6) (2021-05-17)
89
+
90
+ ### [0.1.5](https://github.com/BlackGlory/fcdns/compare/v0.1.4...v0.1.5) (2021-05-14)
91
+
92
+ ### [0.1.4](https://github.com/BlackGlory/fcdns/compare/v0.1.3...v0.1.4) (2021-05-08)
93
+
94
+ ### [0.1.3](https://github.com/BlackGlory/fcdns/compare/v0.1.2...v0.1.3) (2021-05-08)
95
+
96
+ ### [0.1.2](https://github.com/BlackGlory/fcdns/compare/v0.1.1...v0.1.2) (2021-04-22)
97
+
98
+
99
+ ### Bug Fixes
100
+
101
+ * handle uncaught errors ([a324ed8](https://github.com/BlackGlory/fcdns/commit/a324ed8241feb1aab029b5bd23d3f792bce42c58))
102
+
103
+ ### [0.1.1](https://github.com/BlackGlory/fcdns/compare/v0.1.0...v0.1.1) (2021-04-14)
104
+
105
+ ## 0.1.0 (2021-04-12)
106
+
107
+
108
+ ### Features
109
+
110
+ * init ([5185bb9](https://github.com/BlackGlory/fcdns/commit/5185bb9103536124b15192b340bd0a91d1eb49af))
package/lib/cli.js CHANGED
@@ -72,7 +72,7 @@ function getOptions() {
72
72
  const testCacheFilename = opts.testCache;
73
73
  (0, errors_1.assert)(/^\d+$/.test(opts.testTimeout), 'The parameter test timeout must be integer');
74
74
  const testTimeout = Number.parseInt(opts.testTimeout, 10);
75
- const logLevel = (0, extra_logger_1.stringToLevel)(opts.log, 3);
75
+ const logLevel = (0, extra_logger_1.stringToLevel)(opts.log, extra_logger_1.Level.Info);
76
76
  const looseMode = opts.looseMode;
77
77
  return {
78
78
  testServer,
package/lib/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/lib/logger.js ADDED
@@ -0,0 +1,68 @@
1
+ "use strict";
2
+ var __importDefault = (this && this.__importDefault) || function (mod) {
3
+ return (mod && mod.__esModule) ? mod : { "default": mod };
4
+ };
5
+ Object.defineProperty(exports, "__esModule", { value: true });
6
+ exports.createCustomLogger = void 0;
7
+ const extra_logger_1 = require("extra-logger");
8
+ const level_to_string_1 = require("./utils/level-to-string");
9
+ const types_1 = require("@blackglory/types");
10
+ const chalk_1 = __importDefault(require("chalk"));
11
+ function createCustomLogger(level) {
12
+ return (0, extra_logger_1.createLogger)(level, {
13
+ [1]: printMessage(1, console.log),
14
+ [2]: printMessage(2, console.log),
15
+ [3]: printMessage(3, console.info),
16
+ [4]: printMessage(4, console.warn),
17
+ [5]: printError(5, console.error),
18
+ [6]: printError(6, console.error)
19
+ });
20
+ }
21
+ exports.createCustomLogger = createCustomLogger;
22
+ function printMessage(level, log) {
23
+ return ({ id, timestamp, hostname, elapsed, message }) => {
24
+ const pre = createPrefix({ level, id, timestamp, hostname });
25
+ const post = (0, types_1.isntUndefined)(elapsed) ? createPostfix({ elapsed }) : null;
26
+ let result = `${pre} ${message}`;
27
+ if (post) {
28
+ result += ' ' + post;
29
+ }
30
+ log(result);
31
+ };
32
+ }
33
+ function printError(level, log) {
34
+ return ({ id, timestamp, hostname, elapsed, reason }) => {
35
+ const pre = createPrefix({ level, id, timestamp, hostname });
36
+ const post = (0, types_1.isntUndefined)(elapsed) ? createPostfix({ elapsed }) : null;
37
+ let result = `${pre} ${reason}`;
38
+ if (post) {
39
+ result += ' ' + post;
40
+ }
41
+ log(result);
42
+ };
43
+ }
44
+ function createPrefix({ level, timestamp, id, hostname }) {
45
+ return `[${(0, level_to_string_1.levelToString)(level).toUpperCase()}]`
46
+ + `[${formatDate(timestamp)}]`
47
+ + ` #${id}`
48
+ + ` ${formatHostname(hostname)}`;
49
+ }
50
+ function createPostfix({ elapsed }) {
51
+ return formatElapsedTime(elapsed);
52
+ }
53
+ function formatDate(timestamp) {
54
+ return new Date(timestamp).toLocaleString();
55
+ }
56
+ function formatHostname(hostname) {
57
+ return chalk_1.default.cyan(hostname);
58
+ }
59
+ function formatElapsedTime(elapsed) {
60
+ if (elapsed <= 100) {
61
+ return chalk_1.default.green `${elapsed}ms`;
62
+ }
63
+ if (elapsed <= 300) {
64
+ return chalk_1.default.yellow `${elapsed}ms`;
65
+ }
66
+ return chalk_1.default.red `${elapsed}ms`;
67
+ }
68
+ //# sourceMappingURL=logger.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.js","sourceRoot":"","sources":["../src/logger.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,80 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.RecordType = void 0;
4
+ var RecordType;
5
+ (function (RecordType) {
6
+ RecordType[RecordType["A"] = 1] = "A";
7
+ RecordType[RecordType["NS"] = 2] = "NS";
8
+ RecordType[RecordType["MD"] = 3] = "MD";
9
+ RecordType[RecordType["MF"] = 4] = "MF";
10
+ RecordType[RecordType["CNAME"] = 5] = "CNAME";
11
+ RecordType[RecordType["SOA"] = 6] = "SOA";
12
+ RecordType[RecordType["MB"] = 7] = "MB";
13
+ RecordType[RecordType["MG"] = 8] = "MG";
14
+ RecordType[RecordType["MR"] = 9] = "MR";
15
+ RecordType[RecordType["NULL"] = 10] = "NULL";
16
+ RecordType[RecordType["WKS"] = 11] = "WKS";
17
+ RecordType[RecordType["PTR"] = 12] = "PTR";
18
+ RecordType[RecordType["HINFO"] = 13] = "HINFO";
19
+ RecordType[RecordType["MINFO"] = 14] = "MINFO";
20
+ RecordType[RecordType["MX"] = 15] = "MX";
21
+ RecordType[RecordType["TXT"] = 16] = "TXT";
22
+ RecordType[RecordType["RP"] = 17] = "RP";
23
+ RecordType[RecordType["AFSDB"] = 18] = "AFSDB";
24
+ RecordType[RecordType["X25"] = 19] = "X25";
25
+ RecordType[RecordType["ISDN"] = 20] = "ISDN";
26
+ RecordType[RecordType["RT"] = 21] = "RT";
27
+ RecordType[RecordType["NSAP"] = 22] = "NSAP";
28
+ RecordType[RecordType["NSAP-PTR"] = 23] = "NSAP-PTR";
29
+ RecordType[RecordType["SIG"] = 24] = "SIG";
30
+ RecordType[RecordType["KEY"] = 25] = "KEY";
31
+ RecordType[RecordType["PX"] = 26] = "PX";
32
+ RecordType[RecordType["GPOS"] = 27] = "GPOS";
33
+ RecordType[RecordType["AAAA"] = 28] = "AAAA";
34
+ RecordType[RecordType["LOC"] = 29] = "LOC";
35
+ RecordType[RecordType["NXT"] = 30] = "NXT";
36
+ RecordType[RecordType["EID"] = 31] = "EID";
37
+ RecordType[RecordType["NIMLOC"] = 32] = "NIMLOC";
38
+ RecordType[RecordType["SRV"] = 33] = "SRV";
39
+ RecordType[RecordType["ATMA"] = 34] = "ATMA";
40
+ RecordType[RecordType["NAPTR"] = 35] = "NAPTR";
41
+ RecordType[RecordType["KX"] = 36] = "KX";
42
+ RecordType[RecordType["CERT"] = 37] = "CERT";
43
+ RecordType[RecordType["A6"] = 38] = "A6";
44
+ RecordType[RecordType["DNAME"] = 39] = "DNAME";
45
+ RecordType[RecordType["SINK"] = 40] = "SINK";
46
+ RecordType[RecordType["OPT"] = 41] = "OPT";
47
+ RecordType[RecordType["APL"] = 42] = "APL";
48
+ RecordType[RecordType["DS"] = 43] = "DS";
49
+ RecordType[RecordType["SSHFP"] = 44] = "SSHFP";
50
+ RecordType[RecordType["IPSECKEY"] = 45] = "IPSECKEY";
51
+ RecordType[RecordType["RRSIG"] = 46] = "RRSIG";
52
+ RecordType[RecordType["NSEC"] = 47] = "NSEC";
53
+ RecordType[RecordType["DNSKEY"] = 48] = "DNSKEY";
54
+ RecordType[RecordType["DHCID"] = 49] = "DHCID";
55
+ RecordType[RecordType["NSEC3"] = 50] = "NSEC3";
56
+ RecordType[RecordType["NSEC3PARAM"] = 51] = "NSEC3PARAM";
57
+ RecordType[RecordType["TLSA"] = 52] = "TLSA";
58
+ RecordType[RecordType["HIP"] = 55] = "HIP";
59
+ RecordType[RecordType["NINFO"] = 56] = "NINFO";
60
+ RecordType[RecordType["RKEY"] = 57] = "RKEY";
61
+ RecordType[RecordType["TALINK"] = 58] = "TALINK";
62
+ RecordType[RecordType["CDS"] = 59] = "CDS";
63
+ RecordType[RecordType["SPF"] = 99] = "SPF";
64
+ RecordType[RecordType["UINFO"] = 100] = "UINFO";
65
+ RecordType[RecordType["UID"] = 101] = "UID";
66
+ RecordType[RecordType["GID"] = 102] = "GID";
67
+ RecordType[RecordType["UNSPEC"] = 103] = "UNSPEC";
68
+ RecordType[RecordType["TKEY"] = 249] = "TKEY";
69
+ RecordType[RecordType["TSIG"] = 250] = "TSIG";
70
+ RecordType[RecordType["IXFR"] = 251] = "IXFR";
71
+ RecordType[RecordType["AXFR"] = 252] = "AXFR";
72
+ RecordType[RecordType["MAILB"] = 253] = "MAILB";
73
+ RecordType[RecordType["MAILA"] = 254] = "MAILA";
74
+ RecordType[RecordType["ANY"] = 255] = "ANY";
75
+ RecordType[RecordType["URI"] = 256] = "URI";
76
+ RecordType[RecordType["CAA"] = 257] = "CAA";
77
+ RecordType[RecordType["TA"] = 32768] = "TA";
78
+ RecordType[RecordType["DLV"] = 32769] = "DLV";
79
+ })(RecordType = exports.RecordType || (exports.RecordType = {}));
80
+ //# sourceMappingURL=record-types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"record-types.js","sourceRoot":"","sources":["../src/record-types.ts"],"names":[],"mappings":";;;AAAA,IAAY,UA0EX;AA1ED,WAAY,UAAU;IACpB,qCAAK,CAAA;IACL,uCAAM,CAAA;IACN,uCAAM,CAAA;IACN,uCAAM,CAAA;IACN,6CAAS,CAAA;IACT,yCAAO,CAAA;IACP,uCAAM,CAAA;IACN,uCAAM,CAAA;IACN,uCAAM,CAAA;IACN,4CAAS,CAAA;IACT,0CAAQ,CAAA;IACR,0CAAQ,CAAA;IACR,8CAAU,CAAA;IACV,8CAAU,CAAA;IACV,wCAAO,CAAA;IACP,0CAAQ,CAAA;IACR,wCAAO,CAAA;IACP,8CAAU,CAAA;IACV,0CAAQ,CAAA;IACR,4CAAS,CAAA;IACT,wCAAO,CAAA;IACP,4CAAS,CAAA;IACT,oDAAe,CAAA;IACf,0CAAQ,CAAA;IACR,0CAAQ,CAAA;IACR,wCAAO,CAAA;IACP,4CAAS,CAAA;IACT,4CAAS,CAAA;IACT,0CAAQ,CAAA;IACR,0CAAQ,CAAA;IACR,0CAAQ,CAAA;IACR,gDAAW,CAAA;IACX,0CAAQ,CAAA;IACR,4CAAS,CAAA;IACT,8CAAU,CAAA;IACV,wCAAO,CAAA;IACP,4CAAS,CAAA;IACT,wCAAO,CAAA;IACP,8CAAU,CAAA;IACV,4CAAS,CAAA;IACT,0CAAQ,CAAA;IACR,0CAAQ,CAAA;IACR,wCAAO,CAAA;IACP,8CAAU,CAAA;IACV,oDAAa,CAAA;IACb,8CAAU,CAAA;IACV,4CAAS,CAAA;IACT,gDAAW,CAAA;IACX,8CAAU,CAAA;IACV,8CAAU,CAAA;IACV,wDAAe,CAAA;IACf,4CAAS,CAAA;IACT,0CAAQ,CAAA;IACR,8CAAU,CAAA;IACV,4CAAS,CAAA;IACT,gDAAW,CAAA;IACX,0CAAQ,CAAA;IACR,0CAAQ,CAAA;IACR,+CAAW,CAAA;IACX,2CAAS,CAAA;IACT,2CAAS,CAAA;IACT,iDAAY,CAAA;IACZ,6CAAU,CAAA;IACV,6CAAU,CAAA;IACV,6CAAU,CAAA;IACV,6CAAU,CAAA;IACV,+CAAW,CAAA;IACX,+CAAW,CAAA;IACX,2CAAS,CAAA;IACT,2CAAS,CAAA;IACT,2CAAS,CAAA;IACT,2CAAU,CAAA;IACV,6CAAW,CAAA;AACb,CAAC,EA1EW,UAAU,GAAV,kBAAU,KAAV,kBAAU,QA0ErB"}
package/lib/server.js CHANGED
@@ -29,38 +29,38 @@ Object.defineProperty(exports, "__esModule", { value: true });
29
29
  exports.startServer = void 0;
30
30
  const router_1 = require("./router");
31
31
  const dns = __importStar(require("native-node-dns"));
32
- const extra_promise_1 = require("extra-promise");
33
- const resource_record_type_1 = require("./resource-record-type");
34
32
  const return_style_1 = require("return-style");
35
33
  const ms_1 = __importDefault(require("ms"));
36
34
  const chalk_1 = __importDefault(require("chalk"));
35
+ const record_types_1 = require("./record-types");
37
36
  function startServer({ logger, port, router, trustedServer, untrustedServer }) {
38
37
  const server = dns.createServer();
39
38
  server.on('error', console.error);
40
39
  server.on('socketError', console.error);
41
40
  server.on('request', async (req, res) => {
42
- const answers = await (0, extra_promise_1.map)(req.question, async (question) => {
43
- const startTime = Date.now();
44
- var [err, target] = await (0, return_style_1.getErrorResultAsync)(() => router.getTarget(question.name));
45
- if (err) {
46
- logger.error(`${formatHostname(question.name)} ${err}`, getElapsed(startTime));
47
- return [];
48
- }
49
- logger.debug(`${formatHostname(question.name)} ${router_1.Target[target]}`, getElapsed(startTime));
50
- const server = target === router_1.Target.Trusted
51
- ? trustedServer
52
- : untrustedServer;
53
- var [err, answers] = await (0, return_style_1.getErrorResultAsync)(() => resolve(server, question));
54
- if (err) {
55
- logger.error(`${formatHostname(question.name)} ${err}`, getElapsed(startTime));
56
- return [];
57
- }
58
- logger.info(`${formatHostname(question.name)} ${resource_record_type_1.ResourceRecordType[question.type]}`, getElapsed(startTime));
59
- return answers;
60
- });
61
- answers
62
- .flat()
63
- .forEach(answer => res.answer.push(answer));
41
+ logger.trace(`request: ${JSON.stringify(req)}`);
42
+ res.header.rcode = dns.consts.NAME_TO_RCODE.SERVFAIL;
43
+ const startTime = Date.now();
44
+ const question = req.question[0];
45
+ var [err, target] = await (0, return_style_1.getErrorResultAsync)(() => router.getTarget(question.name));
46
+ if (err) {
47
+ logger.error(`${formatHostname(question.name)} ${err}`, getElapsed(startTime));
48
+ logger.trace(`response: ${JSON.stringify(res)}`);
49
+ return res.send();
50
+ }
51
+ logger.debug(`${formatHostname(question.name)} ${router_1.Target[target]}`, getElapsed(startTime));
52
+ const server = target === router_1.Target.Trusted ? trustedServer : untrustedServer;
53
+ var [err, response] = await (0, return_style_1.getErrorResultAsync)(() => resolve(server, question));
54
+ if (err) {
55
+ logger.error(`${formatHostname(question.name)} ${err}`, getElapsed(startTime));
56
+ logger.trace(`response: ${JSON.stringify(res)}`);
57
+ return res.send();
58
+ }
59
+ logger.info(`${formatHostname(question.name)} ${record_types_1.RecordType[question.type]}`, getElapsed(startTime));
60
+ res.header.rcode = response.header.rcode;
61
+ res.answer = response.answer;
62
+ res.authority = response.authority;
63
+ logger.trace(`response: ${JSON.stringify(res)}`);
64
64
  res.send();
65
65
  });
66
66
  return server.serve(port);
@@ -68,7 +68,7 @@ function startServer({ logger, port, router, trustedServer, untrustedServer }) {
68
68
  exports.startServer = startServer;
69
69
  function resolve(server, question) {
70
70
  return new Promise((resolve, reject) => {
71
- const answers = [];
71
+ let response;
72
72
  const request = dns.Request({
73
73
  question,
74
74
  server: {
@@ -82,11 +82,11 @@ function resolve(server, question) {
82
82
  });
83
83
  request.on('timeout', () => reject());
84
84
  request.on('cancelled', () => reject());
85
- request.on('end', () => resolve(answers));
85
+ request.on('end', () => resolve(response));
86
86
  request.on('message', (err, msg) => {
87
87
  if (err)
88
88
  return reject(err);
89
- msg.answer.forEach(answer => answers.push(answer));
89
+ response = msg;
90
90
  });
91
91
  request.send();
92
92
  });
package/lib/server.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,qCAAyC;AACzC,qDAAsC;AAEtC,+CAAkD;AAElD,4CAAmB;AACnB,kDAAyB;AACzB,iDAA2C;AAU3C,SAAgB,WAAW,CAAC,EAC1B,MAAM,EACN,IAAI,EACJ,MAAM,EACN,aAAa,EACb,eAAe,EACK;IACpB,MAAM,MAAM,GAAG,GAAG,CAAC,YAAY,EAAE,CAAA;IAEjC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IACjC,MAAM,CAAC,EAAE,CAAC,aAAa,EAAE,OAAO,CAAC,KAAK,CAAC,CAAA;IACvC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QACtC,MAAM,CAAC,KAAK,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAE/C,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,GAAG,CAAC,MAAM,CAAC,aAAa,CAAC,QAAQ,CAAA;QAEpD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAA;QAC5B,MAAM,QAAQ,GAAG,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAA;QAChC,IAAI,CAAC,GAAG,EAAE,MAAM,CAAC,GAAG,MAAM,IAAA,kCAAmB,EAAC,GAAG,EAAE,CAAC,MAAM,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAA;QACpF,IAAI,GAAG,EAAE;YACP,MAAM,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;YAC9E,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAChD,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;SAClB;QACD,MAAM,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,eAAM,CAAC,MAAO,CAAC,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;QAE1F,MAAM,MAAM,GAAG,MAAM,KAAK,eAAM,CAAC,OAAO,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,eAAe,CAAA;QAC1E,IAAI,CAAC,GAAG,EAAE,QAAQ,CAAC,GAAG,MAAM,IAAA,kCAAmB,EAAC,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAA;QAChF,IAAI,GAAG,EAAE;YACP,MAAM,CAAC,KAAK,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,GAAG,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;YAC9E,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;YAChD,OAAO,GAAG,CAAC,IAAI,EAAE,CAAA;SAClB;QACD,MAAM,CAAC,IAAI,CAAC,GAAG,cAAc,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,yBAAU,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,UAAU,CAAC,SAAS,CAAC,CAAC,CAAA;QAEnG,GAAG,CAAC,MAAM,CAAC,KAAK,GAAG,QAAS,CAAC,MAAM,CAAC,KAAK,CAAA;QACzC,GAAG,CAAC,MAAM,GAAG,QAAS,CAAC,MAAM,CAAA;QAC7B,GAAG,CAAC,SAAS,GAAG,QAAS,CAAC,SAAS,CAAA;QAEnC,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE,CAAC,CAAA;QAChD,GAAG,CAAC,IAAI,EAAE,CAAA;IACZ,CAAC,CAAC,CAAA;IAEF,OAAO,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAA;AAC3B,CAAC;AA5CD,kCA4CC;AAED,SAAS,OAAO,CAAC,MAAmB,EAAE,QAAuB;IAC3D,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,IAAI,QAAqB,CAAA;QACzB,MAAM,OAAO,GAAG,GAAG,CAAC,OAAO,CAAC;YAC1B,QAAQ;YACR,MAAM,EAAE;gBACN,OAAO,EAAE,MAAM,CAAC,IAAI;gBACpB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,IAAI,EAAE,KAAK;aACZ;YACD,OAAO,EAAE,IAAA,YAAE,EAAC,KAAK,CAAC;YAClB,KAAK,EAAE,KAAK;YACZ,QAAQ,EAAE,IAAI;SACf,CAAC,CAAA;QAEF,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;QACrC,OAAO,CAAC,EAAE,CAAC,WAAW,EAAE,GAAG,EAAE,CAAC,MAAM,EAAE,CAAC,CAAA;QACvC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAA;QAC1C,OAAO,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,GAAG,EAAE,EAAE;YACjC,IAAI,GAAG;gBAAE,OAAO,MAAM,CAAC,GAAG,CAAC,CAAA;YAC3B,QAAQ,GAAG,GAAG,CAAA;QAChB,CAAC,CAAC,CAAA;QAEF,OAAO,CAAC,IAAI,EAAE,CAAA;IAChB,CAAC,CAAC,CAAA;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,QAAgB;IACtC,OAAO,eAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAA;AAC7B,CAAC;AAED,SAAS,UAAU,CAAC,SAAiB;IACnC,OAAO,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAA;AAC/B,CAAC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.countup = void 0;
4
+ let count = 0;
5
+ function countup() {
6
+ return ++count;
7
+ }
8
+ exports.countup = countup;
9
+ //# sourceMappingURL=countup.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"countup.js","sourceRoot":"","sources":["../../src/utils/countup.ts"],"names":[],"mappings":";;;AAAA,IAAI,KAAK,GAAG,CAAC,CAAA;AAEb,SAAgB,OAAO;IACrB,OAAO,EAAE,KAAK,CAAA;AAChB,CAAC;AAFD,0BAEC"}
@@ -0,0 +1,9 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getElapsed = void 0;
4
+ const get_timestamp_1 = require("./get-timestamp");
5
+ function getElapsed(startTime) {
6
+ return (0, get_timestamp_1.getTimestamp)() - startTime;
7
+ }
8
+ exports.getElapsed = getElapsed;
9
+ //# sourceMappingURL=get-elapsed.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-elapsed.js","sourceRoot":"","sources":["../../src/utils/get-elapsed.ts"],"names":[],"mappings":";;;AAAA,wDAAmD;AAEnD,SAAgB,UAAU,CAAC,SAAiB;IAC1C,OAAO,IAAA,4BAAY,GAAE,GAAG,SAAS,CAAA;AACnC,CAAC;AAFD,gCAEC"}
@@ -0,0 +1,8 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.getTimestamp = void 0;
4
+ function getTimestamp() {
5
+ return Date.now();
6
+ }
7
+ exports.getTimestamp = getTimestamp;
8
+ //# sourceMappingURL=get-timestamp.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"get-timestamp.js","sourceRoot":"","sources":["../../src/utils/get-timestamp.ts"],"names":[],"mappings":";;;AAAA,SAAgB,YAAY;IAC1B,OAAO,IAAI,CAAC,GAAG,EAAE,CAAA;AACnB,CAAC;AAFD,oCAEC"}
@@ -0,0 +1,16 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.levelToString = void 0;
4
+ function levelToString(level) {
5
+ switch (level) {
6
+ case 3: return 'Info';
7
+ case 2: return 'Debug';
8
+ case 4: return 'Warn';
9
+ case 1: return 'Trace';
10
+ case 5: return 'Error';
11
+ case 6: return 'Fatal';
12
+ default: return 'None';
13
+ }
14
+ }
15
+ exports.levelToString = levelToString;
16
+ //# sourceMappingURL=level-to-string.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"level-to-string.js","sourceRoot":"","sources":["../../src/utils/level-to-string.ts"],"names":[],"mappings":";;;AAEA,SAAgB,aAAa,CAAC,KAAY;IACxC,QAAQ,KAAK,EAAE;QACb,MAAe,CAAC,CAAC,OAAO,MAAM,CAAA;QAC9B,MAAgB,CAAC,CAAC,OAAO,OAAO,CAAA;QAChC,MAAe,CAAC,CAAC,OAAO,MAAM,CAAA;QAC9B,MAAgB,CAAC,CAAC,OAAO,OAAO,CAAA;QAChC,MAAgB,CAAC,CAAC,OAAO,OAAO,CAAA;QAChC,MAAgB,CAAC,CAAC,OAAO,OAAO,CAAA;QAChC,OAAO,CAAC,CAAC,OAAO,MAAM,CAAA;KACvB;AACH,CAAC;AAVD,sCAUC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fcdns",
3
- "version": "0.3.6",
3
+ "version": "0.3.9",
4
4
  "description": "DNS relay server with fact-checking.",
5
5
  "keywords": [
6
6
  "dns"
@@ -30,15 +30,15 @@
30
30
  }
31
31
  },
32
32
  "devDependencies": {
33
- "@commitlint/cli": "^16.2.1",
33
+ "@commitlint/cli": "^16.2.3",
34
34
  "@commitlint/config-conventional": "^16.2.1",
35
35
  "@types/jest": "^27.4.1",
36
36
  "@types/ms": "^0.7.31",
37
37
  "@types/node": "14",
38
38
  "@types/ping": "^0.4.1",
39
- "@typescript-eslint/eslint-plugin": "^5.13.0",
40
- "@typescript-eslint/parser": "^5.13.0",
41
- "eslint": "^8.10.0",
39
+ "@typescript-eslint/eslint-plugin": "^5.15.0",
40
+ "@typescript-eslint/parser": "^5.15.0",
41
+ "eslint": "^8.11.0",
42
42
  "husky": "4",
43
43
  "internet-number": "^3.0.1",
44
44
  "jest": "^27.5.1",
@@ -46,24 +46,24 @@
46
46
  "rimraf": "^3.0.2",
47
47
  "standard-version": "^9.3.2",
48
48
  "ts-jest": "^27.1.3",
49
- "tsconfig-paths": "^3.12.0",
49
+ "tsconfig-paths": "^3.14.0",
50
50
  "tscpaths": "^0.0.9",
51
51
  "typescript": "^4.6.2"
52
52
  },
53
53
  "dependencies": {
54
- "@blackglory/errors": "^2.2.0",
55
- "@blackglory/go": "^0.1.1",
56
- "@blackglory/types": "^0.6.5",
54
+ "@blackglory/errors": "^2.2.1",
55
+ "@blackglory/go": "^1.0.0",
56
+ "@blackglory/types": "^1.0.0",
57
57
  "address-range": "^0.2.9",
58
58
  "chalk": "^4.1.2",
59
- "commander": "^9.0.0",
60
- "extra-filesystem": "^0.4.1",
61
- "extra-logger": "^0.6.4",
62
- "extra-promise": "^0.21.2",
63
- "iterable-operator": "^0.14.5",
59
+ "commander": "^9.1.0",
60
+ "extra-filesystem": "^0.4.2",
61
+ "extra-logger": "^0.6.5",
62
+ "extra-promise": "^1.0.1",
63
+ "iterable-operator": "^1.0.1",
64
64
  "ms": "^2.1.3",
65
65
  "native-node-dns": "^0.7.6",
66
66
  "ping": "^0.4.1",
67
- "return-style": "^0.12.6"
67
+ "return-style": "^1.0.0"
68
68
  }
69
69
  }