fcdns 0.7.3 → 0.8.0

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/LICENSE CHANGED
@@ -13,7 +13,7 @@ The above copyright notice and this permission notice shall be included in all
13
13
  copies or substantial portions of the Software.
14
14
 
15
15
  THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
- IMPLIED, INCLUDING BUT NOT GEYSERED TO THE WARRANTIES OF MERGEYSERERTABILITY,
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
17
  FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
18
  AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
19
  LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
package/README.md CHANGED
@@ -48,7 +48,7 @@ fcdns \
48
48
  投毒测试服务器是一台非DNS服务器,
49
49
  当客户端向该远程主机的53端口发送DNS查询(question)时, 查询将会超时或被拒绝.
50
50
  当网络内存在DNS污染时, 向该远程主机发送DNS查询时, 将得到查询结果(answer).
51
- 基于此上述两个事实, fcdns通过查询A记录的方式以判断相关主机名是否被投毒.
51
+ 基于这两个事实, fcdns通过查询A记录的方式以判断相关主机名是否被投毒.
52
52
 
53
53
  通常, 在存在DNS污染的网络里, 任意不提供DNS服务器功能的在线主机都可以作为投毒测试服务器使用.
54
54
  由于投毒测试可能由于网络原因导致失败, 为了能够区分网络原因导致的失败,
@@ -121,9 +121,9 @@ IPv6地址范围示例:
121
121
  #### 文件格式
122
122
  白名单是一个文本文件, 以行为分隔符存储主机名模式.
123
123
  主机名模式使用`*`作为通配符, 可以匹配任意个字符.
124
- fcdns认为的合法主机名模式只能由数字, 字母, 连字符(`-`), 点(`.`), 通配符(`*`)组成.
124
+ fcdns接受的主机名模式只能由数字, 字母, 连字符(`-`), 点(`.`), 通配符(`*`)组成.
125
125
 
126
- 主机名模式示例:
126
+ 主机名示例:
127
127
  ```
128
128
  wikipedia.org
129
129
  *.wikipedia.org
package/lib/cli.js CHANGED
@@ -8,10 +8,10 @@ import { PoisonTester } from './poison-tester.js';
8
8
  import { createDNSResolver } from "./utils/create-dns-resolver.js";
9
9
  import { assert } from '@blackglory/prelude';
10
10
  import { Level, Logger, TerminalTransport, stringToLevel } from 'extra-logger';
11
- import { parseServerInfo } from "./utils/parse-server-info.js";
12
11
  import { youDied } from 'you-died';
13
12
  import * as Database from './database.js';
14
13
  import { name, version, description } from "./utils/package.js";
14
+ import { parseHostnamePort } from 'extra-utils';
15
15
  process.title = name;
16
16
  program
17
17
  .name(name)
@@ -48,8 +48,10 @@ program
48
48
  server: testServer,
49
49
  timeout: testTimeout
50
50
  });
51
- const untrustedResolver = createDNSResolver(untrustedServer.host
52
- + (untrustedServer.port ? `:${untrustedServer.port}` : ''));
51
+ const untrustedResolver = createDNSResolver(untrustedServer.hostname
52
+ + (untrustedServer.port
53
+ ? `:${untrustedServer.port}`
54
+ : ''));
53
55
  const ipWhitelist = await IPRanges.fromFile(ipWhitelistFilename);
54
56
  const hostnameWhitelist = await Hostnames.fromFile(hostnameWhitelistFilename);
55
57
  const hostnameBlacklist = await Hostnames.fromFile(hostnameBlacklistFilename);
@@ -78,10 +80,10 @@ function getTestServer(options) {
78
80
  return options.testServer;
79
81
  }
80
82
  function getUntrustedServer(options) {
81
- return parseServerInfo(options.untrustedServer);
83
+ return parseHostnamePort(options.untrustedServer);
82
84
  }
83
85
  function getTrustedServer(options) {
84
- return parseServerInfo(options.trustedServer);
86
+ return parseHostnamePort(options.trustedServer);
85
87
  }
86
88
  function getPort(options) {
87
89
  assert(/^\d+$/.test(options.port), 'The parameter port must be integer');
@@ -89,7 +91,7 @@ function getPort(options) {
89
91
  }
90
92
  function getTimeout(options) {
91
93
  assert(/^\d+$/.test(options.timeout), 'The parameter timeout must be integer');
92
- return Number.parseInt(options.port, 10) * 1000;
94
+ return Number.parseInt(options.timeout, 10) * 1000;
93
95
  }
94
96
  function getIpWhiltelistFilename(options) {
95
97
  return options.ipWhitelist;
package/lib/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAA;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAA;AACzC,OAAO,EAAE,MAAM,EAAE,MAAM,aAAa,CAAA;AACpC,OAAO,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AACzC,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACjD,OAAO,EAAE,iBAAiB,EAAE,uCAAqC;AACjE,OAAO,EAAE,MAAM,EAAE,MAAM,qBAAqB,CAAA;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,EAAE,iBAAiB,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC9E,OAAO,EAAe,eAAe,EAAE,qCAAmC;AAC1E,OAAO,EAAE,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,2BAAyB;AAgB9D,OAAO,CAAC,KAAK,GAAG,IAAI,CAAA;AAEpB,OAAO;KACJ,IAAI,CAAC,IAAI,CAAC;KACV,OAAO,CAAC,OAAO,CAAC;KAChB,WAAW,CAAC,WAAW,CAAC;KACxB,cAAc,CAAC,wBAAwB,CAAC;KACxC,cAAc,CAAC,6BAA6B,CAAC;KAC7C,cAAc,CAAC,2BAA2B,CAAC;KAC3C,MAAM,CAAC,eAAe,EAAE,EAAE,EAAE,IAAI,CAAC;KACjC,MAAM,CAAC,qBAAqB,EAAE,EAAE,EAAE,IAAI,CAAC;KACvC,MAAM,CAAC,2BAA2B,EAAE,EAAE,EAAE,kBAAkB,CAAC;KAC3D,MAAM,CAAC,iCAAiC,EAAE,EAAE,EAAE,wBAAwB,CAAC;KACvE,MAAM,CAAC,iCAAiC,EAAE,EAAE,EAAE,wBAAwB,CAAC;KACvE,MAAM,CAAC,oBAAoB,EAAE,EAAE,EAAE,UAAU,CAAC;KAC5C,MAAM,CAAC,+BAA+B,EAAE,EAAE,EAAE,KAAK,CAAC;KAClD,MAAM,CAAC,eAAe,EAAE,EAAE,EAAE,MAAM,CAAC;KACnC,MAAM,CAAC,KAAK,IAAI,EAAE;IACjB,MAAM,OAAO,GAAG,OAAO,CAAC,IAAI,EAAY,CAAA;IACxC,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAC/C,MAAM,UAAU,GAAG,aAAa,CAAC,OAAO,CAAC,CAAA;IACzC,MAAM,WAAW,GAAG,cAAc,CAAC,OAAO,CAAC,CAAA;IAC3C,MAAM,OAAO,GAAG,UAAU,CAAC,OAAO,CAAC,CAAA;IACnC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC7B,MAAM,QAAQ,GAAG,WAAW,CAAC,OAAO,CAAC,CAAA;IACrC,MAAM,mBAAmB,GAAG,uBAAuB,CAAC,OAAO,CAAC,CAAA;IAC5D,MAAM,yBAAyB,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAA;IACvE,MAAM,yBAAyB,GAAG,4BAA4B,CAAC,OAAO,CAAC,CAAA;IACvE,MAAM,eAAe,GAAG,kBAAkB,CAAC,OAAO,CAAC,CAAA;IACnD,MAAM,aAAa,GAAG,gBAAgB,CAAC,OAAO,CAAC,CAAA;IAE/C,QAAQ,CAAC,YAAY,CAAC,aAAa,CAAC,CAAA;IACpC,MAAM,QAAQ,CAAC,eAAe,EAAE,CAAA;IAChC,OAAO,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAA;IAEvC,MAAM,YAAY,GAAG,IAAI,YAAY,CAAC;QACpC,MAAM,EAAE,UAAU;QAClB,OAAO,EAAE,WAAW;KACrB,CAAC,CAAA;IAEF,MAAM,iBAAiB,GAAG,iBAAiB,CACzC,eAAe,CAAC,IAAI;UACpB,CAAC,eAAe,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,eAAe,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CACzD,CAAA;IACD,MAAM,WAAW,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAA;IAChE,MAAM,iBAAiB,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAA;IAC7E,MAAM,iBAAiB,GAAG,MAAM,SAAS,CAAC,QAAQ,CAAC,yBAAyB,CAAC,CAAA;IAC7E,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACxB,YAAY;QACZ,iBAAiB;QACjB,WAAW;QACX,iBAAiB;QACjB,iBAAiB;KAClB,CAAC,CAAA;IACF,MAAM,MAAM,GAAG,IAAI,MAAM,CAAC;QACxB,KAAK,EAAE,QAAQ;QACf,SAAS,EAAE,IAAI,iBAAiB,CAAC,EAAE,CAAC;KACrC,CAAC,CAAA;IAEF,MAAM,WAAW,CAAC;QAChB,MAAM;QACN,MAAM;QACN,aAAa;QACb,eAAe;QACf,OAAO;QACP,IAAI;KACL,CAAC,CAAA;AACJ,CAAC,CAAC;KACD,KAAK,EAAE,CAAA;AAEV,SAAS,aAAa,CAAC,OAAiB;IACtC,OAAO,OAAO,CAAC,UAAU,CAAA;AAC3B,CAAC;AAED,SAAS,kBAAkB,CAAC,OAAiB;IAC3C,OAAO,eAAe,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;AACjD,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAiB;IACzC,OAAO,eAAe,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;AAC/C,CAAC;AAED,SAAS,OAAO,CAAC,OAAiB;IAChC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,oCAAoC,CAAC,CAAA;IAExE,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAA;AAC1C,CAAC;AAED,SAAS,UAAU,CAAC,OAAiB;IACnC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,uCAAuC,CAAC,CAAA;IAE9E,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,GAAG,IAAI,CAAA;AACjD,CAAC;AAED,SAAS,uBAAuB,CAAC,OAAiB;IAChD,OAAO,OAAO,CAAC,WAAW,CAAA;AAC5B,CAAC;AAED,SAAS,4BAA4B,CAAC,OAAiB;IACrD,OAAO,OAAO,CAAC,iBAAiB,CAAA;AAClC,CAAC;AAED,SAAS,4BAA4B,CAAC,OAAiB;IACrD,OAAO,OAAO,CAAC,iBAAiB,CAAA;AAClC,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAiB;IACzC,OAAO,OAAO,CAAC,KAAK,CAAA;AACtB,CAAC;AAED,SAAS,cAAc,CAAC,OAAiB;IACvC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,EAAE,4CAA4C,CAAC,CAAA;IAEvF,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,WAAW,EAAE,EAAE,CAAC,CAAA;AACjD,CAAC;AAED,SAAS,WAAW,CAAC,OAAiB;IACpC,OAAO,aAAa,CAAC,OAAO,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAA;AAC/C,CAAC"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
package/lib/server.js CHANGED
@@ -5,8 +5,8 @@ import { DNSClient, DNSServer, QR, RCODE, TYPE } from 'extra-dns';
5
5
  import { timeoutSignal } from 'extra-abort';
6
6
  export async function startServer({ logger, port, timeout, router, trustedServer, untrustedServer }) {
7
7
  var _a, _b;
8
- const trustedClient = new DNSClient(trustedServer.host, (_a = trustedServer.port) !== null && _a !== void 0 ? _a : 53);
9
- const untrustedClient = new DNSClient(untrustedServer.host, (_b = untrustedServer.port) !== null && _b !== void 0 ? _b : 53);
8
+ const trustedClient = new DNSClient(trustedServer.hostname, (_a = trustedServer.port) !== null && _a !== void 0 ? _a : 53);
9
+ const untrustedClient = new DNSClient(untrustedServer.hostname, (_b = untrustedServer.port) !== null && _b !== void 0 ? _b : 53);
10
10
  const server = new DNSServer('0.0.0.0', port);
11
11
  server.on('query', async (query, respond) => {
12
12
  logger.trace(`request: ${JSON.stringify(query)}`);
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":"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"}
package/lib/types.js ADDED
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":""}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "fcdns",
3
- "version": "0.7.3",
3
+ "version": "0.8.0",
4
4
  "description": "DNS relay server with fact-checking.",
5
5
  "keywords": [
6
6
  "dns"
@@ -12,7 +12,7 @@
12
12
  "lib"
13
13
  ],
14
14
  "engines": {
15
- "node": ">=18.17.0"
15
+ "node": ">=22"
16
16
  },
17
17
  "repository": "git@github.com:BlackGlory/fcdns.git",
18
18
  "author": "BlackGlory <woshenmedoubuzhidao@blackglory.me>",
@@ -22,7 +22,7 @@
22
22
  "deduplicate": "yarn-deduplicate",
23
23
  "prepublishOnly": "run-s prepare clean build",
24
24
  "lint": "eslint --quiet src __tests__",
25
- "test": "cross-env NODE_OPTIONS=--experimental-vm-modules jest --runInBand --config jest.config.cjs",
25
+ "test": "vitest run",
26
26
  "clean": "rimraf lib",
27
27
  "build": "run-p build:*",
28
28
  "build:src": "tsc --project tsconfig.build.json",
@@ -38,52 +38,49 @@
38
38
  }
39
39
  },
40
40
  "devDependencies": {
41
- "@blackglory/jest-resolver": "^0.3.1",
42
- "@commitlint/cli": "^18.4.3",
43
- "@commitlint/config-conventional": "^18.4.3",
44
- "@eslint/js": "^9.17.0",
45
- "@types/better-sqlite3": "^7.6.12",
46
- "@types/jest": "^29.5.14",
47
- "@types/node": "18",
48
- "@types/ping": "^0.4.4",
49
- "cross-env": "^7.0.3",
50
- "eslint": "^9.17.0",
51
- "extra-prompts": "^0.2.0",
41
+ "@commitlint/cli": "^20.4.2",
42
+ "@commitlint/config-conventional": "^20.4.2",
43
+ "@eslint/js": "^10.0.1",
44
+ "@types/better-sqlite3": "^7.6.13",
45
+ "@types/node": "22",
46
+ "cross-env": "^10.1.0",
47
+ "eslint": "^10.0.2",
48
+ "extra-prompts": "^0.3.0",
52
49
  "husky": "4",
53
- "internet-number": "^4.0.1",
54
- "jest": "^29.7.0",
55
- "jest-resolve": "^29.7.0",
50
+ "internet-number": "^4.0.2",
56
51
  "npm-run-all": "^4.1.5",
57
- "rimraf": "^5.0.5",
52
+ "rimraf": "^6.1.3",
58
53
  "standard-version": "^9.5.0",
59
- "ts-jest": "^29.2.5",
60
54
  "ts-patch": "^3.3.0",
61
- "tsx": "^4.19.2",
62
- "typescript": "5.7.2",
63
- "typescript-eslint": "^8.18.1",
64
- "typescript-transform-paths": "^3.5.2",
55
+ "tsx": "^4.21.0",
56
+ "typescript": "5.9.3",
57
+ "typescript-eslint": "^8.56.1",
58
+ "typescript-transform-paths": "^3.5.6",
59
+ "vite": "^7.3.1",
60
+ "vite-tsconfig-paths": "^6.1.1",
61
+ "vitest": "^4.0.18",
65
62
  "yarn-deduplicate": "^6.0.2"
66
63
  },
67
64
  "dependencies": {
68
- "@blackglory/better-sqlite3-migrations": "^0.1.19",
69
- "@blackglory/errors": "^3.0.3",
65
+ "@blackglory/better-sqlite3-migrations": "^0.2.2",
66
+ "@blackglory/errors": "^3.1.0",
70
67
  "@blackglory/prelude": "^0.4.0",
71
- "@blackglory/structures": "^0.14.9",
68
+ "@blackglory/structures": "^0.14.13",
72
69
  "address-range": "^0.2.14",
73
- "better-sqlite3": "^11.7.0",
74
- "chalk": "^5.3.0",
75
- "commander": "^12.1.0",
76
- "extra-abort": "^0.4.0",
77
- "extra-dns": "^0.1.6",
78
- "extra-filesystem": "^0.5.1",
70
+ "better-sqlite3": "^12.6.2",
71
+ "chalk": "^5.6.2",
72
+ "commander": "^14.0.3",
73
+ "extra-abort": "^0.4.1",
74
+ "extra-dns": "^0.1.8",
75
+ "extra-filesystem": "^0.6.2",
79
76
  "extra-lazy": "^2.0.2",
80
- "extra-logger": "^0.7.2",
81
- "extra-promise": "^7.0.0",
82
- "extra-utils": "^5.17.0",
83
- "iterable-operator": "^5.1.0",
77
+ "extra-logger": "^0.8.0",
78
+ "extra-promise": "^7.1.1",
79
+ "extra-utils": "^6.0.0",
80
+ "iterable-operator": "^6.0.0",
84
81
  "migration-files": "^0.4.3",
85
- "ping": "^0.4.4",
86
- "return-style": "^3.0.1",
87
- "you-died": "^0.4.5"
82
+ "ping": "^1.0.0",
83
+ "return-style": "^4.0.0",
84
+ "you-died": "^0.4.6"
88
85
  }
89
86
  }
@@ -1,8 +0,0 @@
1
- export function parseServerInfo(server) {
2
- const [host, port] = server.split(':');
3
- return {
4
- host,
5
- port: port ? Number.parseInt(port, 10) : undefined
6
- };
7
- }
8
- //# sourceMappingURL=parse-server-info.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parse-server-info.js","sourceRoot":"","sources":["../../src/utils/parse-server-info.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,eAAe,CAAC,MAAc;IAC5C,MAAM,CAAC,IAAI,EAAE,IAAI,CAAC,GAAG,MAAM,CAAC,KAAK,CAAC,GAAG,CAAiC,CAAA;IACtE,OAAO;QACL,IAAI;QACJ,IAAI,EAAE,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS;KACnD,CAAA;AACH,CAAC"}