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 +1 -1
- package/README.md +3 -3
- package/lib/cli.js +8 -6
- package/lib/cli.js.map +1 -1
- package/lib/server.js +2 -2
- package/lib/server.js.map +1 -1
- package/lib/types.js +2 -0
- package/lib/types.js.map +1 -0
- package/package.json +36 -39
- package/lib/utils/parse-server-info.js +0 -8
- package/lib/utils/parse-server-info.js.map +0 -1
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
|
|
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
|
-
|
|
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.
|
|
52
|
-
+ (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
|
|
83
|
+
return parseHostnamePort(options.untrustedServer);
|
|
82
84
|
}
|
|
83
85
|
function getTrustedServer(options) {
|
|
84
|
-
return
|
|
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.
|
|
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,
|
|
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,OAAO,EAAE,MAAM,UAAU,CAAA;AAClC,OAAO,KAAK,QAAQ,MAAM,eAAe,CAAA;AACzC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,WAAW,EAAE,2BAAyB;AAC9D,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAA;AAiB/C,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,QAAQ;UACxB,CACE,eAAe,CAAC,IAAI;YACtB,CAAC,CAAC,IAAI,eAAe,CAAC,IAAI,EAAE;YAC5B,CAAC,CAAC,EAAE,CACH,CACF,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,iBAAiB,CAAC,OAAO,CAAC,eAAe,CAAC,CAAA;AACnD,CAAC;AAED,SAAS,gBAAgB,CAAC,OAAiB;IACzC,OAAO,iBAAiB,CAAC,OAAO,CAAC,aAAa,CAAC,CAAA;AACjD,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,OAAO,EAAE,EAAE,CAAC,GAAG,IAAI,CAAA;AACpD,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"}
|
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.
|
|
9
|
-
const untrustedClient = new DNSClient(untrustedServer.
|
|
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":"AAAA,OAAO,EAAU,WAAW,EAAE,MAAM,aAAa,CAAA;
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
|
package/lib/types.js
ADDED
package/lib/types.js.map
ADDED
|
@@ -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.
|
|
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": ">=
|
|
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": "
|
|
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
|
-
"@
|
|
42
|
-
"@commitlint/
|
|
43
|
-
"@
|
|
44
|
-
"@
|
|
45
|
-
"@types/
|
|
46
|
-
"
|
|
47
|
-
"
|
|
48
|
-
"
|
|
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.
|
|
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": "^
|
|
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.
|
|
62
|
-
"typescript": "5.
|
|
63
|
-
"typescript-eslint": "^8.
|
|
64
|
-
"typescript-transform-paths": "^3.5.
|
|
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.
|
|
69
|
-
"@blackglory/errors": "^3.0
|
|
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.
|
|
68
|
+
"@blackglory/structures": "^0.14.13",
|
|
72
69
|
"address-range": "^0.2.14",
|
|
73
|
-
"better-sqlite3": "^
|
|
74
|
-
"chalk": "^5.
|
|
75
|
-
"commander": "^
|
|
76
|
-
"extra-abort": "^0.4.
|
|
77
|
-
"extra-dns": "^0.1.
|
|
78
|
-
"extra-filesystem": "^0.
|
|
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.
|
|
81
|
-
"extra-promise": "^7.
|
|
82
|
-
"extra-utils": "^
|
|
83
|
-
"iterable-operator": "^
|
|
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.
|
|
86
|
-
"return-style": "^
|
|
87
|
-
"you-died": "^0.4.
|
|
82
|
+
"ping": "^1.0.0",
|
|
83
|
+
"return-style": "^4.0.0",
|
|
84
|
+
"you-died": "^0.4.6"
|
|
88
85
|
}
|
|
89
86
|
}
|
|
@@ -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"}
|