@libp2p/utils 6.2.1-98b43045c → 6.2.1-a0c8ceb99
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/README.md +1 -1
- package/dist/src/multiaddr/is-link-local.d.ts +6 -0
- package/dist/src/multiaddr/is-link-local.d.ts.map +1 -0
- package/dist/src/multiaddr/is-link-local.js +23 -0
- package/dist/src/multiaddr/is-link-local.js.map +1 -0
- package/dist/src/multiaddr/is-private.d.ts +1 -1
- package/dist/src/multiaddr/is-private.d.ts.map +1 -1
- package/dist/src/multiaddr/is-private.js +18 -4
- package/dist/src/multiaddr/is-private.js.map +1 -1
- package/package.json +14 -10
- package/src/multiaddr/is-link-local.ts +29 -0
- package/src/multiaddr/is-private.ts +23 -4
- package/LICENSE +0 -4
package/README.md
CHANGED
|
@@ -49,7 +49,7 @@ $ npm i @libp2p/utils
|
|
|
49
49
|
|
|
50
50
|
## Browser `<script>` tag
|
|
51
51
|
|
|
52
|
-
Loading this module through a script tag will make
|
|
52
|
+
Loading this module through a script tag will make its exports available as `Libp2pUtils` in the global namespace.
|
|
53
53
|
|
|
54
54
|
```html
|
|
55
55
|
<script src="https://unpkg.com/@libp2p/utils/dist/index.min.js"></script>
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-link-local.d.ts","sourceRoot":"","sources":["../../../src/multiaddr/is-link-local.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAKxD;;GAEG;AACH,wBAAgB,WAAW,CAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAoBnD"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
const CODEC_IP4 = 0x04;
|
|
2
|
+
const CODEC_IP6 = 0x29;
|
|
3
|
+
/**
|
|
4
|
+
* Check if a given multiaddr is a link-local address
|
|
5
|
+
*/
|
|
6
|
+
export function isLinkLocal(ma) {
|
|
7
|
+
try {
|
|
8
|
+
const [[codec, value]] = ma.stringTuples();
|
|
9
|
+
if (value == null) {
|
|
10
|
+
return false;
|
|
11
|
+
}
|
|
12
|
+
if (codec === CODEC_IP4) {
|
|
13
|
+
return value.startsWith('169.254.');
|
|
14
|
+
}
|
|
15
|
+
if (codec === CODEC_IP6) {
|
|
16
|
+
return value.toLowerCase().startsWith('fe80');
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
catch {
|
|
20
|
+
}
|
|
21
|
+
return false;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=is-link-local.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"is-link-local.js","sourceRoot":"","sources":["../../../src/multiaddr/is-link-local.ts"],"names":[],"mappings":"AAEA,MAAM,SAAS,GAAG,IAAI,CAAA;AACtB,MAAM,SAAS,GAAG,IAAI,CAAA;AAEtB;;GAEG;AACH,MAAM,UAAU,WAAW,CAAE,EAAa;IACxC,IAAI,CAAC;QACH,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAA;QAE1C,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC,UAAU,CAAC,UAAU,CAAC,CAAA;QACrC,CAAC;QAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,OAAO,KAAK,CAAC,WAAW,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,CAAA;QAC/C,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;IAET,CAAC;IAED,OAAO,KAAK,CAAA;AACd,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { Multiaddr } from '@multiformats/multiaddr';
|
|
2
2
|
/**
|
|
3
|
-
* Check if a given multiaddr
|
|
3
|
+
* Check if a given multiaddr starts with a private address
|
|
4
4
|
*/
|
|
5
5
|
export declare function isPrivate(ma: Multiaddr): boolean;
|
|
6
6
|
//# sourceMappingURL=is-private.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"is-private.d.ts","sourceRoot":"","sources":["../../../src/multiaddr/is-private.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"is-private.d.ts","sourceRoot":"","sources":["../../../src/multiaddr/is-private.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AASxD;;GAEG;AACH,wBAAgB,SAAS,CAAE,EAAE,EAAE,SAAS,GAAG,OAAO,CAoBjD"}
|
|
@@ -1,14 +1,28 @@
|
|
|
1
1
|
import { isPrivateIp } from '../private-ip.js';
|
|
2
|
+
const CODEC_IP4 = 0x04;
|
|
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
8
|
/**
|
|
3
|
-
* Check if a given multiaddr
|
|
9
|
+
* Check if a given multiaddr starts with a private address
|
|
4
10
|
*/
|
|
5
11
|
export function isPrivate(ma) {
|
|
6
12
|
try {
|
|
7
|
-
const
|
|
8
|
-
|
|
13
|
+
const [[codec, value]] = ma.stringTuples();
|
|
14
|
+
if (value == null) {
|
|
15
|
+
return true;
|
|
16
|
+
}
|
|
17
|
+
if (codec === CODEC_DNS || codec === CODEC_DNS4 || codec === CODEC_DNS6 || codec === CODEC_DNSADDR) {
|
|
18
|
+
return false;
|
|
19
|
+
}
|
|
20
|
+
if (codec === CODEC_IP4 || codec === CODEC_IP6) {
|
|
21
|
+
return isPrivateIp(value) ?? false;
|
|
22
|
+
}
|
|
9
23
|
}
|
|
10
24
|
catch {
|
|
11
|
-
return true;
|
|
12
25
|
}
|
|
26
|
+
return true;
|
|
13
27
|
}
|
|
14
28
|
//# sourceMappingURL=is-private.js.map
|
|
@@ -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;AAG9C;;GAEG;AACH,MAAM,UAAU,SAAS,CAAE,EAAa;IACtC,IAAI,CAAC;QACH,MAAM,
|
|
1
|
+
{"version":3,"file":"is-private.js","sourceRoot":"","sources":["../../../src/multiaddr/is-private.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAA;AAG9C,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;;GAEG;AACH,MAAM,UAAU,SAAS,CAAE,EAAa;IACtC,IAAI,CAAC;QACH,MAAM,CAAC,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC,GAAG,EAAE,CAAC,YAAY,EAAE,CAAA;QAE1C,IAAI,KAAK,IAAI,IAAI,EAAE,CAAC;YAClB,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,UAAU,IAAI,KAAK,KAAK,aAAa,EAAE,CAAC;YACnG,OAAO,KAAK,CAAA;QACd,CAAC;QAED,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YAC/C,OAAO,WAAW,CAAC,KAAK,CAAC,IAAI,KAAK,CAAA;QACpC,CAAC;IACH,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.2.1-
|
|
3
|
+
"version": "6.2.1-a0c8ceb99",
|
|
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",
|
|
@@ -88,6 +88,10 @@
|
|
|
88
88
|
"types": "./dist/src/moving-average.d.ts",
|
|
89
89
|
"import": "./dist/src/moving-average.js"
|
|
90
90
|
},
|
|
91
|
+
"./multiaddr/is-link-local": {
|
|
92
|
+
"types": "./dist/src/multiaddr/is-link-local.d.ts",
|
|
93
|
+
"import": "./dist/src/multiaddr/is-link-local.js"
|
|
94
|
+
},
|
|
91
95
|
"./multiaddr/is-loopback": {
|
|
92
96
|
"types": "./dist/src/multiaddr/is-loopback.d.ts",
|
|
93
97
|
"import": "./dist/src/multiaddr/is-loopback.js"
|
|
@@ -156,10 +160,10 @@
|
|
|
156
160
|
},
|
|
157
161
|
"dependencies": {
|
|
158
162
|
"@chainsafe/is-ip": "^2.0.2",
|
|
159
|
-
"@libp2p/crypto": "5.0.7-
|
|
160
|
-
"@libp2p/interface": "2.2.1-
|
|
161
|
-
"@libp2p/logger": "5.1.4-
|
|
162
|
-
"@multiformats/multiaddr": "^12.
|
|
163
|
+
"@libp2p/crypto": "5.0.7-a0c8ceb99",
|
|
164
|
+
"@libp2p/interface": "2.2.1-a0c8ceb99",
|
|
165
|
+
"@libp2p/logger": "5.1.4-a0c8ceb99",
|
|
166
|
+
"@multiformats/multiaddr": "^12.3.3",
|
|
163
167
|
"@sindresorhus/fnv1a": "^3.1.0",
|
|
164
168
|
"@types/murmurhash3js-revisited": "^3.0.3",
|
|
165
169
|
"any-signal": "^4.1.1",
|
|
@@ -169,25 +173,25 @@
|
|
|
169
173
|
"it-foreach": "^2.1.1",
|
|
170
174
|
"it-pipe": "^3.0.1",
|
|
171
175
|
"it-pushable": "^3.2.3",
|
|
172
|
-
"it-stream-types": "^2.0.
|
|
176
|
+
"it-stream-types": "^2.0.2",
|
|
173
177
|
"murmurhash3js-revisited": "^3.0.0",
|
|
174
178
|
"netmask": "^2.0.2",
|
|
175
179
|
"p-defer": "^4.0.1",
|
|
176
180
|
"race-event": "^1.3.0",
|
|
177
|
-
"race-signal": "^1.0
|
|
181
|
+
"race-signal": "^1.1.0",
|
|
178
182
|
"uint8arraylist": "^2.4.8",
|
|
179
183
|
"uint8arrays": "^5.1.0"
|
|
180
184
|
},
|
|
181
185
|
"devDependencies": {
|
|
182
|
-
"@libp2p/peer-id": "5.0.8-
|
|
186
|
+
"@libp2p/peer-id": "5.0.8-a0c8ceb99",
|
|
183
187
|
"@types/netmask": "^2.0.5",
|
|
184
|
-
"aegir": "^
|
|
188
|
+
"aegir": "^45.0.5",
|
|
185
189
|
"benchmark": "^2.1.4",
|
|
186
190
|
"delay": "^6.0.0",
|
|
187
191
|
"it-all": "^3.0.6",
|
|
188
192
|
"it-drain": "^3.0.7",
|
|
189
193
|
"it-pair": "^2.0.6",
|
|
190
|
-
"sinon": "^
|
|
194
|
+
"sinon": "^19.0.2",
|
|
191
195
|
"sinon-ts": "^2.0.0"
|
|
192
196
|
},
|
|
193
197
|
"sideEffects": false
|
|
@@ -0,0 +1,29 @@
|
|
|
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 a link-local address
|
|
8
|
+
*/
|
|
9
|
+
export function isLinkLocal (ma: Multiaddr): boolean {
|
|
10
|
+
try {
|
|
11
|
+
const [[codec, value]] = ma.stringTuples()
|
|
12
|
+
|
|
13
|
+
if (value == null) {
|
|
14
|
+
return false
|
|
15
|
+
}
|
|
16
|
+
|
|
17
|
+
if (codec === CODEC_IP4) {
|
|
18
|
+
return value.startsWith('169.254.')
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
if (codec === CODEC_IP6) {
|
|
22
|
+
return value.toLowerCase().startsWith('fe80')
|
|
23
|
+
}
|
|
24
|
+
} catch {
|
|
25
|
+
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
return false
|
|
29
|
+
}
|
|
@@ -1,15 +1,34 @@
|
|
|
1
1
|
import { isPrivateIp } from '../private-ip.js'
|
|
2
2
|
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
3
3
|
|
|
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
|
+
|
|
4
11
|
/**
|
|
5
|
-
* Check if a given multiaddr
|
|
12
|
+
* Check if a given multiaddr starts with a private address
|
|
6
13
|
*/
|
|
7
14
|
export function isPrivate (ma: Multiaddr): boolean {
|
|
8
15
|
try {
|
|
9
|
-
const
|
|
16
|
+
const [[codec, value]] = ma.stringTuples()
|
|
17
|
+
|
|
18
|
+
if (value == null) {
|
|
19
|
+
return true
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
if (codec === CODEC_DNS || codec === CODEC_DNS4 || codec === CODEC_DNS6 || codec === CODEC_DNSADDR) {
|
|
23
|
+
return false
|
|
24
|
+
}
|
|
10
25
|
|
|
11
|
-
|
|
26
|
+
if (codec === CODEC_IP4 || codec === CODEC_IP6) {
|
|
27
|
+
return isPrivateIp(value) ?? false
|
|
28
|
+
}
|
|
12
29
|
} catch {
|
|
13
|
-
|
|
30
|
+
|
|
14
31
|
}
|
|
32
|
+
|
|
33
|
+
return true
|
|
15
34
|
}
|
package/LICENSE
DELETED