@libp2p/utils 6.5.2-d98cc46e4 → 6.5.3-2a3cec922
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/dist/src/multiaddr/is-ip-based.d.ts +6 -0
- package/dist/src/multiaddr/is-ip-based.d.ts.map +1 -0
- package/dist/src/multiaddr/is-ip-based.js +15 -0
- package/dist/src/multiaddr/is-ip-based.js.map +1 -0
- package/dist/src/multiaddr/is-loopback.d.ts.map +1 -1
- package/dist/src/multiaddr/is-loopback.js +5 -0
- package/dist/src/multiaddr/is-loopback.js.map +1 -1
- package/dist/src/multiaddr/is-network-address.d.ts +6 -0
- package/dist/src/multiaddr/is-network-address.d.ts.map +1 -0
- package/dist/src/multiaddr/is-network-address.js +27 -0
- package/dist/src/multiaddr/is-network-address.js.map +1 -0
- package/dist/src/multiaddr/is-private.d.ts.map +1 -1
- package/dist/src/multiaddr/is-private.js +7 -13
- package/dist/src/multiaddr/is-private.js.map +1 -1
- package/package.json +14 -6
- package/src/multiaddr/is-ip-based.ts +19 -0
- package/src/multiaddr/is-loopback.ts +6 -0
- package/src/multiaddr/is-network-address.ts +32 -0
- package/src/multiaddr/is-private.ts +8 -15
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-ip-based.d.ts","sourceRoot":"","sources":["../../../src/multiaddr/is-ip-based.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAKxD;;GAEG;AACH,wBAAgB,SAAS,CAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAUjD"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
const CODEC_IP4 = 0x04;
|
|
2
|
+
const CODEC_IP6 = 0x29;
|
|
3
|
+
/**
|
|
4
|
+
* Check if a given multiaddr is IP-based
|
|
5
|
+
*/
|
|
6
|
+
export function isIpBased(ma) {
|
|
7
|
+
try {
|
|
8
|
+
const [[codec]] = ma.stringTuples();
|
|
9
|
+
return codec === CODEC_IP4 || codec === CODEC_IP6;
|
|
10
|
+
}
|
|
11
|
+
catch {
|
|
12
|
+
}
|
|
13
|
+
return false;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=is-ip-based.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-ip-based.js","sourceRoot":"","sources":["../../../src/multiaddr/is-ip-based.ts"],"names":[],"mappings":"AAEA,MAAM,SAAS,GAAG,IAAI,CAAA;AACtB,MAAM,SAAS,GAAG,IAAI,CAAA;AAEtB;;GAEG;AACH,MAAM,UAAU,SAAS,CAAE,EAAa;IACtC,IAAI,CAAC;QACH,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAA;QAEnC,OAAO,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,CAAA;IACnD,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-loopback.d.ts","sourceRoot":"","sources":["../../../src/multiaddr/is-loopback.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"is-loopback.d.ts","sourceRoot":"","sources":["../../../src/multiaddr/is-loopback.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD;;GAEG;AACH,wBAAgB,UAAU,CAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CASlD"}
|
|
@@ -1,8 +1,13 @@
|
|
|
1
1
|
import { isLoopbackAddr } from 'is-loopback-addr';
|
|
2
|
+
import { isIpBased } from './is-ip-based.js';
|
|
2
3
|
/**
|
|
3
4
|
* Check if a given multiaddr is a loopback address.
|
|
4
5
|
*/
|
|
5
6
|
export function isLoopback(ma) {
|
|
7
|
+
if (!isIpBased(ma)) {
|
|
8
|
+
// not an IP based multiaddr, cannot be private
|
|
9
|
+
return false;
|
|
10
|
+
}
|
|
6
11
|
const { address } = ma.nodeAddress();
|
|
7
12
|
return isLoopbackAddr(address);
|
|
8
13
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-loopback.js","sourceRoot":"","sources":["../../../src/multiaddr/is-loopback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"is-loopback.js","sourceRoot":"","sources":["../../../src/multiaddr/is-loopback.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAA;AACjD,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAG5C;;GAEG;AACH,MAAM,UAAU,UAAU,CAAE,EAAa;IACvC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;QACnB,+CAA+C;QAC/C,OAAO,KAAK,CAAA;IACd,CAAC;IAED,MAAM,EAAE,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,EAAE,CAAA;IAEpC,OAAO,cAAc,CAAC,OAAO,CAAC,CAAA;AAChC,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-network-address.d.ts","sourceRoot":"","sources":["../../../src/multiaddr/is-network-address.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAkBxD;;GAEG;AACH,wBAAgB,gBAAgB,CAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAUxD"}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
const CODEC_IP4 = 0x04;
|
|
2
|
+
const CODEC_IP6 = 0x29;
|
|
3
|
+
const CODEC_DNS = 0x35;
|
|
4
|
+
const CODEC_DNS4 = 0x36;
|
|
5
|
+
const CODEC_DNS6 = 0x37;
|
|
6
|
+
const CODEC_DNSADDR = 0x38;
|
|
7
|
+
const NETWORK_CODECS = [
|
|
8
|
+
CODEC_IP4,
|
|
9
|
+
CODEC_IP6,
|
|
10
|
+
CODEC_DNS,
|
|
11
|
+
CODEC_DNS4,
|
|
12
|
+
CODEC_DNS6,
|
|
13
|
+
CODEC_DNSADDR
|
|
14
|
+
];
|
|
15
|
+
/**
|
|
16
|
+
* Check if a given multiaddr is a network address
|
|
17
|
+
*/
|
|
18
|
+
export function isNetworkAddress(ma) {
|
|
19
|
+
try {
|
|
20
|
+
const [[codec]] = ma.stringTuples();
|
|
21
|
+
return NETWORK_CODECS.includes(codec);
|
|
22
|
+
}
|
|
23
|
+
catch {
|
|
24
|
+
}
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=is-network-address.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-network-address.js","sourceRoot":"","sources":["../../../src/multiaddr/is-network-address.ts"],"names":[],"mappings":"AAEA,MAAM,SAAS,GAAG,IAAI,CAAA;AACtB,MAAM,SAAS,GAAG,IAAI,CAAA;AACtB,MAAM,SAAS,GAAG,IAAI,CAAA;AACtB,MAAM,UAAU,GAAG,IAAI,CAAA;AACvB,MAAM,UAAU,GAAG,IAAI,CAAA;AACvB,MAAM,aAAa,GAAG,IAAI,CAAA;AAE1B,MAAM,cAAc,GAAG;IACrB,SAAS;IACT,SAAS;IACT,SAAS;IACT,UAAU;IACV,UAAU;IACV,aAAa;CACd,CAAA;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAE,EAAa;IAC7C,IAAI,CAAC;QACH,MAAM,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAA;QAEnC,OAAO,cAAc,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAA;IACvC,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-private.d.ts","sourceRoot":"","sources":["../../../src/multiaddr/is-private.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"is-private.d.ts","sourceRoot":"","sources":["../../../src/multiaddr/is-private.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD;;GAEG;AACH,wBAAgB,SAAS,CAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAmBjD"}
|
|
@@ -1,25 +1,19 @@
|
|
|
1
1
|
import { isPrivateIp } from '../private-ip.js';
|
|
2
|
-
|
|
3
|
-
const CODEC_IP6 = 0x29;
|
|
4
|
-
const CODEC_DNS = 0x35;
|
|
5
|
-
const CODEC_DNS4 = 0x36;
|
|
6
|
-
const CODEC_DNS6 = 0x37;
|
|
7
|
-
const CODEC_DNSADDR = 0x38;
|
|
2
|
+
import { isIpBased } from './is-ip-based.js';
|
|
8
3
|
/**
|
|
9
4
|
* Check if a given multiaddr starts with a private address
|
|
10
5
|
*/
|
|
11
6
|
export function isPrivate(ma) {
|
|
12
7
|
try {
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
return true;
|
|
16
|
-
}
|
|
17
|
-
if (codec === CODEC_DNS || codec === CODEC_DNS4 || codec === CODEC_DNS6 || codec === CODEC_DNSADDR) {
|
|
8
|
+
if (!isIpBased(ma)) {
|
|
9
|
+
// not an IP based multiaddr, cannot be private
|
|
18
10
|
return false;
|
|
19
11
|
}
|
|
20
|
-
|
|
21
|
-
|
|
12
|
+
const [[, value]] = ma.stringTuples();
|
|
13
|
+
if (value == null) {
|
|
14
|
+
return false;
|
|
22
15
|
}
|
|
16
|
+
return isPrivateIp(value) ?? false;
|
|
23
17
|
}
|
|
24
18
|
catch {
|
|
25
19
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-private.js","sourceRoot":"","sources":["../../../src/multiaddr/is-private.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"is-private.js","sourceRoot":"","sources":["../../../src/multiaddr/is-private.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAC9C,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAA;AAG5C;;GAEG;AACH,MAAM,UAAU,SAAS,CAAE,EAAa;IACtC,IAAI,CAAC;QACH,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,EAAE,CAAC;YACnB,+CAA+C;YAC/C,OAAO,KAAK,CAAA;QACd,CAAC;QAED,MAAM,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAA;QAErC,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO,KAAK,CAAA;QACd,CAAC;QAED,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAA;IACpC,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;IAED,OAAO,IAAI,CAAA;AACb,CAAC"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/utils",
|
|
3
|
-
"version": "6.5.
|
|
3
|
+
"version": "6.5.3-2a3cec922",
|
|
4
4
|
"description": "Package to aggregate shared logic and dependencies for the libp2p ecosystem",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/utils#readme",
|
|
@@ -108,6 +108,10 @@
|
|
|
108
108
|
"types": "./dist/src/multiaddr/is-global-unicast.d.ts",
|
|
109
109
|
"import": "./dist/src/multiaddr/is-global-unicast.js"
|
|
110
110
|
},
|
|
111
|
+
"./multiaddr/is-ip-based": {
|
|
112
|
+
"types": "./dist/src/multiaddr/is-ip-based.d.ts",
|
|
113
|
+
"import": "./dist/src/multiaddr/is-ip-based.js"
|
|
114
|
+
},
|
|
111
115
|
"./multiaddr/is-link-local": {
|
|
112
116
|
"types": "./dist/src/multiaddr/is-link-local.d.ts",
|
|
113
117
|
"import": "./dist/src/multiaddr/is-link-local.js"
|
|
@@ -116,6 +120,10 @@
|
|
|
116
120
|
"types": "./dist/src/multiaddr/is-loopback.d.ts",
|
|
117
121
|
"import": "./dist/src/multiaddr/is-loopback.js"
|
|
118
122
|
},
|
|
123
|
+
"./multiaddr/is-network-address": {
|
|
124
|
+
"types": "./dist/src/multiaddr/is-network-address.d.ts",
|
|
125
|
+
"import": "./dist/src/multiaddr/is-network-address.js"
|
|
126
|
+
},
|
|
119
127
|
"./multiaddr/is-private": {
|
|
120
128
|
"types": "./dist/src/multiaddr/is-private.d.ts",
|
|
121
129
|
"import": "./dist/src/multiaddr/is-private.js"
|
|
@@ -181,9 +189,9 @@
|
|
|
181
189
|
"dependencies": {
|
|
182
190
|
"@chainsafe/is-ip": "^2.0.2",
|
|
183
191
|
"@chainsafe/netmask": "^2.0.0",
|
|
184
|
-
"@libp2p/crypto": "5.0.12-
|
|
185
|
-
"@libp2p/interface": "2.6.0-
|
|
186
|
-
"@libp2p/logger": "5.1.9-
|
|
192
|
+
"@libp2p/crypto": "5.0.12-2a3cec922",
|
|
193
|
+
"@libp2p/interface": "2.6.0-2a3cec922",
|
|
194
|
+
"@libp2p/logger": "5.1.9-2a3cec922",
|
|
187
195
|
"@multiformats/multiaddr": "^12.3.3",
|
|
188
196
|
"@sindresorhus/fnv1a": "^3.1.0",
|
|
189
197
|
"any-signal": "^4.1.1",
|
|
@@ -197,12 +205,12 @@
|
|
|
197
205
|
"netmask": "^2.0.2",
|
|
198
206
|
"p-defer": "^4.0.1",
|
|
199
207
|
"race-event": "^1.3.0",
|
|
200
|
-
"race-signal": "^1.1.
|
|
208
|
+
"race-signal": "^1.1.2",
|
|
201
209
|
"uint8arraylist": "^2.4.8",
|
|
202
210
|
"uint8arrays": "^5.1.0"
|
|
203
211
|
},
|
|
204
212
|
"devDependencies": {
|
|
205
|
-
"@libp2p/peer-id": "5.0.13-
|
|
213
|
+
"@libp2p/peer-id": "5.0.13-2a3cec922",
|
|
206
214
|
"@types/netmask": "^2.0.5",
|
|
207
215
|
"aegir": "^45.0.5",
|
|
208
216
|
"benchmark": "^2.1.4",
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
2
|
+
|
|
3
|
+
const CODEC_IP4 = 0x04
|
|
4
|
+
const CODEC_IP6 = 0x29
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* Check if a given multiaddr is IP-based
|
|
8
|
+
*/
|
|
9
|
+
export function isIpBased (ma: Multiaddr): boolean {
|
|
10
|
+
try {
|
|
11
|
+
const [[codec]] = ma.stringTuples()
|
|
12
|
+
|
|
13
|
+
return codec === CODEC_IP4 || codec === CODEC_IP6
|
|
14
|
+
} catch {
|
|
15
|
+
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
return false
|
|
19
|
+
}
|
|
@@ -1,10 +1,16 @@
|
|
|
1
1
|
import { isLoopbackAddr } from 'is-loopback-addr'
|
|
2
|
+
import { isIpBased } from './is-ip-based.js'
|
|
2
3
|
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
3
4
|
|
|
4
5
|
/**
|
|
5
6
|
* Check if a given multiaddr is a loopback address.
|
|
6
7
|
*/
|
|
7
8
|
export function isLoopback (ma: Multiaddr): boolean {
|
|
9
|
+
if (!isIpBased(ma)) {
|
|
10
|
+
// not an IP based multiaddr, cannot be private
|
|
11
|
+
return false
|
|
12
|
+
}
|
|
13
|
+
|
|
8
14
|
const { address } = ma.nodeAddress()
|
|
9
15
|
|
|
10
16
|
return isLoopbackAddr(address)
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
2
|
+
|
|
3
|
+
const CODEC_IP4 = 0x04
|
|
4
|
+
const CODEC_IP6 = 0x29
|
|
5
|
+
const CODEC_DNS = 0x35
|
|
6
|
+
const CODEC_DNS4 = 0x36
|
|
7
|
+
const CODEC_DNS6 = 0x37
|
|
8
|
+
const CODEC_DNSADDR = 0x38
|
|
9
|
+
|
|
10
|
+
const NETWORK_CODECS = [
|
|
11
|
+
CODEC_IP4,
|
|
12
|
+
CODEC_IP6,
|
|
13
|
+
CODEC_DNS,
|
|
14
|
+
CODEC_DNS4,
|
|
15
|
+
CODEC_DNS6,
|
|
16
|
+
CODEC_DNSADDR
|
|
17
|
+
]
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Check if a given multiaddr is a network address
|
|
21
|
+
*/
|
|
22
|
+
export function isNetworkAddress (ma: Multiaddr): boolean {
|
|
23
|
+
try {
|
|
24
|
+
const [[codec]] = ma.stringTuples()
|
|
25
|
+
|
|
26
|
+
return NETWORK_CODECS.includes(codec)
|
|
27
|
+
} catch {
|
|
28
|
+
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
return false
|
|
32
|
+
}
|
|
@@ -1,31 +1,24 @@
|
|
|
1
1
|
import { isPrivateIp } from '../private-ip.js'
|
|
2
|
+
import { isIpBased } from './is-ip-based.js'
|
|
2
3
|
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
3
4
|
|
|
4
|
-
const CODEC_IP4 = 0x04
|
|
5
|
-
const CODEC_IP6 = 0x29
|
|
6
|
-
const CODEC_DNS = 0x35
|
|
7
|
-
const CODEC_DNS4 = 0x36
|
|
8
|
-
const CODEC_DNS6 = 0x37
|
|
9
|
-
const CODEC_DNSADDR = 0x38
|
|
10
|
-
|
|
11
5
|
/**
|
|
12
6
|
* Check if a given multiaddr starts with a private address
|
|
13
7
|
*/
|
|
14
8
|
export function isPrivate (ma: Multiaddr): boolean {
|
|
15
9
|
try {
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
return true
|
|
10
|
+
if (!isIpBased(ma)) {
|
|
11
|
+
// not an IP based multiaddr, cannot be private
|
|
12
|
+
return false
|
|
20
13
|
}
|
|
21
14
|
|
|
22
|
-
|
|
15
|
+
const [[, value]] = ma.stringTuples()
|
|
16
|
+
|
|
17
|
+
if (value == null) {
|
|
23
18
|
return false
|
|
24
19
|
}
|
|
25
20
|
|
|
26
|
-
|
|
27
|
-
return isPrivateIp(value) ?? false
|
|
28
|
-
}
|
|
21
|
+
return isPrivateIp(value) ?? false
|
|
29
22
|
} catch {
|
|
30
23
|
|
|
31
24
|
}
|