@libp2p/webrtc 4.1.1-e1f0b307c → 4.1.1-e9b6a242a
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/index.min.js +14 -28
- package/dist/src/constants.d.ts +4 -1
- package/dist/src/constants.d.ts.map +1 -1
- package/dist/src/constants.js +5 -7
- package/dist/src/constants.js.map +1 -1
- package/dist/src/error.d.ts +2 -2
- package/dist/src/error.d.ts.map +1 -1
- package/dist/src/error.js +3 -3
- package/dist/src/error.js.map +1 -1
- package/dist/src/private-to-public/sdp.d.ts +4 -10
- package/dist/src/private-to-public/sdp.d.ts.map +1 -1
- package/dist/src/private-to-public/sdp.js +15 -16
- package/dist/src/private-to-public/sdp.js.map +1 -1
- package/dist/src/private-to-public/transport.js +4 -4
- package/dist/src/private-to-public/transport.js.map +1 -1
- package/package.json +12 -13
- package/src/constants.ts +5 -7
- package/src/error.ts +4 -4
- package/src/private-to-public/sdp.ts +17 -19
- package/src/private-to-public/transport.ts +5 -5
package/dist/src/constants.d.ts
CHANGED
|
@@ -1,5 +1,8 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* STUN servers help clients discover their own public IPs
|
|
2
|
+
* STUN servers help clients discover their own public IPs.
|
|
3
|
+
*
|
|
4
|
+
* Using five or more servers causes warnings to be printed so
|
|
5
|
+
* ensure we limit it to max x4
|
|
3
6
|
*
|
|
4
7
|
* @see https://gist.github.com/mondain/b0ec1cf5f60ae726202e
|
|
5
8
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,eAAO,MAAM,mBAAmB,UAK/B,CAAA"}
|
package/dist/src/constants.js
CHANGED
|
@@ -1,17 +1,15 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* STUN servers help clients discover their own public IPs
|
|
2
|
+
* STUN servers help clients discover their own public IPs.
|
|
3
|
+
*
|
|
4
|
+
* Using five or more servers causes warnings to be printed so
|
|
5
|
+
* ensure we limit it to max x4
|
|
3
6
|
*
|
|
4
7
|
* @see https://gist.github.com/mondain/b0ec1cf5f60ae726202e
|
|
5
8
|
*/
|
|
6
9
|
export const DEFAULT_ICE_SERVERS = [
|
|
7
10
|
'stun:stun.l.google.com:19302',
|
|
8
|
-
'stun:stun1.l.google.com:19302',
|
|
9
|
-
'stun:stun2.l.google.com:19302',
|
|
10
|
-
'stun:stun3.l.google.com:19302',
|
|
11
|
-
'stun:stun4.l.google.com:19302',
|
|
12
11
|
'stun:global.stun.twilio.com:3478',
|
|
13
12
|
'stun:stun.cloudflare.com:3478',
|
|
14
|
-
'stun:stun.services.mozilla.com:3478'
|
|
15
|
-
'stun:stun.1und1.de:3478'
|
|
13
|
+
'stun:stun.services.mozilla.com:3478'
|
|
16
14
|
];
|
|
17
15
|
//# sourceMappingURL=constants.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"constants.js","sourceRoot":"","sources":["../../src/constants.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AACH,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,8BAA8B;IAC9B,kCAAkC;IAClC,+BAA+B;IAC/B,qCAAqC;CACtC,CAAA"}
|
package/dist/src/error.d.ts
CHANGED
|
@@ -48,7 +48,7 @@ export declare class UnimplementedError extends WebRTCTransportError {
|
|
|
48
48
|
}
|
|
49
49
|
export declare function unimplemented(methodName: string): UnimplementedError;
|
|
50
50
|
export declare class UnsupportedHashAlgorithmError extends WebRTCTransportError {
|
|
51
|
-
constructor(algo:
|
|
51
|
+
constructor(algo: number);
|
|
52
52
|
}
|
|
53
|
-
export declare function
|
|
53
|
+
export declare function unsupportedHashAlgorithmCode(code: number): UnsupportedHashAlgorithmError;
|
|
54
54
|
//# sourceMappingURL=error.d.ts.map
|
package/dist/src/error.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD,oBAAY,KAAK;IACf,mBAAmB,wBAAwB;IAC3C,gBAAgB,qBAAqB;IACrC,qBAAqB,0BAA0B;IAC/C,sBAAsB,2BAA2B;IACjD,qBAAqB,0BAA0B;IAC/C,uBAAuB,4BAA4B;IACnD,sBAAsB,2BAA2B;IACjD,mBAAmB,wBAAwB;IAC3C,qCAAqC,0CAA0C;IAC/E,sCAAsC,2CAA2C;CAClF;AAED,qBAAa,oBAAqB,SAAQ,SAAS;gBACpC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAIxC;AAED,qBAAa,qBAAsB,SAAQ,oBAAoB;gBAChD,KAAK,EAAE,sBAAsB,EAAE,GAAG,EAAE,MAAM;CAIxD;AAED,wBAAgB,qBAAqB,CAAE,KAAK,EAAE,sBAAsB,EAAE,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAExG;AAED,qBAAa,gBAAiB,SAAQ,oBAAoB;gBAC3C,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAI9C;AAED,wBAAgB,gBAAgB,CAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAEpF;AAED,qBAAa,2BAA4B,SAAQ,oBAAoB;gBACtD,GAAG,EAAE,MAAM;CAIzB;AAED,wBAAgB,sBAAsB,CAAE,GAAG,EAAE,MAAM,GAAG,2BAA2B,CAEhF;AAED,qBAAa,oBAAqB,SAAQ,oBAAoB;gBAC/C,GAAG,EAAE,MAAM;CAIzB;AAED,wBAAgB,eAAe,CAAE,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAElE;AAED,qBAAa,uBAAwB,SAAQ,oBAAoB;gBAClD,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAIjD;AAED,wBAAgB,kBAAkB,CAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,uBAAuB,CAEhG;AAED,qBAAa,qBAAsB,SAAQ,oBAAoB;gBAChD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;CAIlD;AAED,wBAAgB,gBAAgB,CAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,qBAAqB,CAExF;AAED,qBAAa,oBAAqB,SAAQ,oBAAoB;gBAC/C,GAAG,EAAE,MAAM;CAKzB;AAED,wBAAgB,eAAe,CAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAEpF;AAED,qBAAa,kBAAmB,SAAQ,oBAAoB;gBAC7C,UAAU,EAAE,MAAM;CAIhC;AAED,wBAAgB,aAAa,CAAE,UAAU,EAAE,MAAM,GAAG,kBAAkB,CAErE;AAED,qBAAa,6BAA8B,SAAQ,oBAAoB;gBACxD,IAAI,EAAE,MAAM;CAI1B;AAED,wBAAgB,
|
|
1
|
+
{"version":3,"file":"error.d.ts","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAC7C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAA;AAElD,oBAAY,KAAK;IACf,mBAAmB,wBAAwB;IAC3C,gBAAgB,qBAAqB;IACrC,qBAAqB,0BAA0B;IAC/C,sBAAsB,2BAA2B;IACjD,qBAAqB,0BAA0B;IAC/C,uBAAuB,4BAA4B;IACnD,sBAAsB,2BAA2B;IACjD,mBAAmB,wBAAwB;IAC3C,qCAAqC,0CAA0C;IAC/E,sCAAsC,2CAA2C;CAClF;AAED,qBAAa,oBAAqB,SAAQ,SAAS;gBACpC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,MAAM;CAIxC;AAED,qBAAa,qBAAsB,SAAQ,oBAAoB;gBAChD,KAAK,EAAE,sBAAsB,EAAE,GAAG,EAAE,MAAM;CAIxD;AAED,wBAAgB,qBAAqB,CAAE,KAAK,EAAE,sBAAsB,EAAE,GAAG,EAAE,MAAM,GAAG,qBAAqB,CAExG;AAED,qBAAa,gBAAiB,SAAQ,oBAAoB;gBAC3C,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM;CAI9C;AAED,wBAAgB,gBAAgB,CAAE,WAAW,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,gBAAgB,CAEpF;AAED,qBAAa,2BAA4B,SAAQ,oBAAoB;gBACtD,GAAG,EAAE,MAAM;CAIzB;AAED,wBAAgB,sBAAsB,CAAE,GAAG,EAAE,MAAM,GAAG,2BAA2B,CAEhF;AAED,qBAAa,oBAAqB,SAAQ,oBAAoB;gBAC/C,GAAG,EAAE,MAAM;CAIzB;AAED,wBAAgB,eAAe,CAAE,GAAG,EAAE,MAAM,GAAG,oBAAoB,CAElE;AAED,qBAAa,uBAAwB,SAAQ,oBAAoB;gBAClD,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM;CAIjD;AAED,wBAAgB,kBAAkB,CAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,uBAAuB,CAEhG;AAED,qBAAa,qBAAsB,SAAQ,oBAAoB;gBAChD,OAAO,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM;CAIlD;AAED,wBAAgB,gBAAgB,CAAE,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,qBAAqB,CAExF;AAED,qBAAa,oBAAqB,SAAQ,oBAAoB;gBAC/C,GAAG,EAAE,MAAM;CAKzB;AAED,wBAAgB,eAAe,CAAE,GAAG,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,oBAAoB,CAEpF;AAED,qBAAa,kBAAmB,SAAQ,oBAAoB;gBAC7C,UAAU,EAAE,MAAM;CAIhC;AAED,wBAAgB,aAAa,CAAE,UAAU,EAAE,MAAM,GAAG,kBAAkB,CAErE;AAED,qBAAa,6BAA8B,SAAQ,oBAAoB;gBACxD,IAAI,EAAE,MAAM;CAI1B;AAED,wBAAgB,4BAA4B,CAAE,IAAI,EAAE,MAAM,GAAG,6BAA6B,CAEzF"}
|
package/dist/src/error.js
CHANGED
|
@@ -93,11 +93,11 @@ export function unimplemented(methodName) {
|
|
|
93
93
|
}
|
|
94
94
|
export class UnsupportedHashAlgorithmError extends WebRTCTransportError {
|
|
95
95
|
constructor(algo) {
|
|
96
|
-
super(`unsupported hash algorithm: ${algo}`, codes.ERR_HASH_NOT_SUPPORTED);
|
|
96
|
+
super(`unsupported hash algorithm code: ${algo} please see the codes at https://github.com/multiformats/multicodec/blob/master/table.csv `, codes.ERR_HASH_NOT_SUPPORTED);
|
|
97
97
|
this.name = 'WebRTC/UnsupportedHashAlgorithmError';
|
|
98
98
|
}
|
|
99
99
|
}
|
|
100
|
-
export function
|
|
101
|
-
return new UnsupportedHashAlgorithmError(
|
|
100
|
+
export function unsupportedHashAlgorithmCode(code) {
|
|
101
|
+
return new UnsupportedHashAlgorithmError(code);
|
|
102
102
|
}
|
|
103
103
|
//# sourceMappingURL=error.js.map
|
package/dist/src/error.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"error.js","sourceRoot":"","sources":["../../src/error.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
import
|
|
1
|
+
import { type Multiaddr } from '@multiformats/multiaddr';
|
|
2
2
|
import type { LoggerOptions } from '@libp2p/interface';
|
|
3
|
-
import type {
|
|
4
|
-
import type { HashCode, HashName } from 'multihashes';
|
|
3
|
+
import type { MultihashDigest } from 'multiformats/hashes/interface';
|
|
5
4
|
/**
|
|
6
5
|
* Get base2 | identity decoders
|
|
7
6
|
*/
|
|
@@ -12,12 +11,7 @@ export declare function certhash(ma: Multiaddr): string;
|
|
|
12
11
|
/**
|
|
13
12
|
* Convert a certhash into a multihash
|
|
14
13
|
*/
|
|
15
|
-
export declare function decodeCerthash(certhash: string):
|
|
16
|
-
code: HashCode;
|
|
17
|
-
name: HashName;
|
|
18
|
-
length: number;
|
|
19
|
-
digest: Uint8Array;
|
|
20
|
-
};
|
|
14
|
+
export declare function decodeCerthash(certhash: string): MultihashDigest;
|
|
21
15
|
/**
|
|
22
16
|
* Extract the fingerprint from a multiaddr
|
|
23
17
|
*/
|
|
@@ -25,7 +19,7 @@ export declare function ma2Fingerprint(ma: Multiaddr): string[];
|
|
|
25
19
|
/**
|
|
26
20
|
* Normalize the hash name from a given multihash has name
|
|
27
21
|
*/
|
|
28
|
-
export declare function toSupportedHashFunction(
|
|
22
|
+
export declare function toSupportedHashFunction(code: number): 'SHA-1' | 'SHA-256' | 'SHA-512';
|
|
29
23
|
/**
|
|
30
24
|
* Create an answer SDP from a multiaddr
|
|
31
25
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdp.d.ts","sourceRoot":"","sources":["../../../src/private-to-public/sdp.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sdp.d.ts","sourceRoot":"","sources":["../../../src/private-to-public/sdp.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAIxD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAA;AACtD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,+BAA+B,CAAA;AAEpE;;GAEG;AAEH,eAAO,MAAM,SAAS,EAAE,GAAwE,CAAA;AAEhG,wBAAgB,mBAAmB,CAAE,EAAE,EAAE,iBAAiB,EAAE,OAAO,EAAE,aAAa,GAAG,MAAM,GAAG,SAAS,CAwBtG;AAGD,wBAAgB,qBAAqB,CAAE,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAGtE;AAeD,wBAAgB,QAAQ,CAAE,EAAE,EAAE,SAAS,GAAG,MAAM,CAS/C;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAE,QAAQ,EAAE,MAAM,GAAG,eAAe,CAEjE;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAE,EAAE,EAAE,SAAS,GAAG,MAAM,EAAE,CAWvD;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CAAE,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS,GAAG,SAAS,CAWtF;AA2BD;;GAEG;AACH,wBAAgB,aAAa,CAAE,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,GAAG,yBAAyB,CAKtF;AAED;;GAEG;AACH,wBAAgB,KAAK,CAAE,IAAI,EAAE,yBAAyB,EAAE,KAAK,EAAE,MAAM,GAAG,yBAAyB,CAShG"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import { inappropriateMultiaddr, invalidArgument, invalidFingerprint,
|
|
1
|
+
import {} from '@multiformats/multiaddr';
|
|
2
|
+
import { bases, digest } from 'multiformats/basics';
|
|
3
|
+
import { inappropriateMultiaddr, invalidArgument, invalidFingerprint, unsupportedHashAlgorithmCode } from '../error.js';
|
|
4
4
|
import { CERTHASH_CODE } from './transport.js';
|
|
5
5
|
/**
|
|
6
6
|
* Get base2 | identity decoders
|
|
@@ -57,35 +57,34 @@ export function certhash(ma) {
|
|
|
57
57
|
* Convert a certhash into a multihash
|
|
58
58
|
*/
|
|
59
59
|
export function decodeCerthash(certhash) {
|
|
60
|
-
|
|
61
|
-
return multihashes.decode(mbdecoded);
|
|
60
|
+
return digest.decode(mbdecoder.decode(certhash));
|
|
62
61
|
}
|
|
63
62
|
/**
|
|
64
63
|
* Extract the fingerprint from a multiaddr
|
|
65
64
|
*/
|
|
66
65
|
export function ma2Fingerprint(ma) {
|
|
67
66
|
const mhdecoded = decodeCerthash(certhash(ma));
|
|
68
|
-
const prefix = toSupportedHashFunction(mhdecoded.
|
|
67
|
+
const prefix = toSupportedHashFunction(mhdecoded.code);
|
|
69
68
|
const fingerprint = mhdecoded.digest.reduce((str, byte) => str + byte.toString(16).padStart(2, '0'), '');
|
|
70
69
|
const sdp = fingerprint.match(/.{1,2}/g);
|
|
71
70
|
if (sdp == null) {
|
|
72
71
|
throw invalidFingerprint(fingerprint, ma.toString());
|
|
73
72
|
}
|
|
74
|
-
return [`${prefix
|
|
73
|
+
return [`${prefix} ${sdp.join(':').toUpperCase()}`, fingerprint];
|
|
75
74
|
}
|
|
76
75
|
/**
|
|
77
76
|
* Normalize the hash name from a given multihash has name
|
|
78
77
|
*/
|
|
79
|
-
export function toSupportedHashFunction(
|
|
80
|
-
switch (
|
|
81
|
-
case
|
|
82
|
-
return '
|
|
83
|
-
case
|
|
84
|
-
return '
|
|
85
|
-
case
|
|
86
|
-
return '
|
|
78
|
+
export function toSupportedHashFunction(code) {
|
|
79
|
+
switch (code) {
|
|
80
|
+
case 0x11:
|
|
81
|
+
return 'SHA-1';
|
|
82
|
+
case 0x12:
|
|
83
|
+
return 'SHA-256';
|
|
84
|
+
case 0x13:
|
|
85
|
+
return 'SHA-512';
|
|
87
86
|
default:
|
|
88
|
-
throw
|
|
87
|
+
throw unsupportedHashAlgorithmCode(code);
|
|
89
88
|
}
|
|
90
89
|
}
|
|
91
90
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sdp.js","sourceRoot":"","sources":["../../../src/private-to-public/sdp.ts"],"names":[],"mappings":"AAAA,OAAO,
|
|
1
|
+
{"version":3,"file":"sdp.js","sourceRoot":"","sources":["../../../src/private-to-public/sdp.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import { transportSymbol, serviceCapabilities } from '@libp2p/interface';
|
|
|
3
3
|
import * as p from '@libp2p/peer-id';
|
|
4
4
|
import { protocols } from '@multiformats/multiaddr';
|
|
5
5
|
import { WebRTCDirect } from '@multiformats/multiaddr-matcher';
|
|
6
|
-
import * as
|
|
6
|
+
import * as Digest from 'multiformats/hashes/digest';
|
|
7
7
|
import { concat } from 'uint8arrays/concat';
|
|
8
8
|
import { fromString as uint8arrayFromString } from 'uint8arrays/from-string';
|
|
9
9
|
import { dataChannelError, inappropriateMultiaddr, unimplemented, invalidArgument } from '../error.js';
|
|
@@ -98,7 +98,7 @@ export class WebRTCDirectTransport {
|
|
|
98
98
|
const certificate = await RTCPeerConnection.generateCertificate({
|
|
99
99
|
name: 'ECDSA',
|
|
100
100
|
namedCurve: 'P-256',
|
|
101
|
-
hash: sdp.toSupportedHashFunction(remoteCerthash.
|
|
101
|
+
hash: sdp.toSupportedHashFunction(remoteCerthash.code)
|
|
102
102
|
});
|
|
103
103
|
const peerConnection = new RTCPeerConnection({
|
|
104
104
|
...(await getRtcConfiguration(this.init.rtcConfiguration)),
|
|
@@ -229,10 +229,10 @@ export class WebRTCDirectTransport {
|
|
|
229
229
|
}
|
|
230
230
|
const localFpString = localFingerprint.trim().toLowerCase().replaceAll(':', '');
|
|
231
231
|
const localFpArray = uint8arrayFromString(localFpString, 'hex');
|
|
232
|
-
const local =
|
|
232
|
+
const local = Digest.create(hashCode, localFpArray);
|
|
233
233
|
const remote = sdp.mbdecoder.decode(sdp.certhash(ma));
|
|
234
234
|
const prefix = uint8arrayFromString('libp2p-webrtc-noise:');
|
|
235
|
-
return concat([prefix, local, remote]);
|
|
235
|
+
return concat([prefix, local.bytes, remote]);
|
|
236
236
|
}
|
|
237
237
|
}
|
|
238
238
|
//# sourceMappingURL=transport.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/private-to-public/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAC/C,OAAO,EAAE,eAAe,EAAE,mBAAmB,EAAE,MAAM,mBAAmB,CAAA;AACxE,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAA;AACpC,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,iCAAiC,CAAA;AAC9D,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../../src/private-to-public/transport.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/webrtc",
|
|
3
|
-
"version": "4.1.1-
|
|
3
|
+
"version": "4.1.1-e9b6a242a",
|
|
4
4
|
"description": "A libp2p transport using WebRTC connections",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p/tree/main/packages/transport-webrtc#readme",
|
|
@@ -51,10 +51,10 @@
|
|
|
51
51
|
},
|
|
52
52
|
"dependencies": {
|
|
53
53
|
"@chainsafe/libp2p-noise": "^15.0.0",
|
|
54
|
-
"@libp2p/interface": "1.6.0-
|
|
55
|
-
"@libp2p/interface-internal": "1.3.0-
|
|
56
|
-
"@libp2p/peer-id": "4.2.0-
|
|
57
|
-
"@libp2p/utils": "5.4.5-
|
|
54
|
+
"@libp2p/interface": "1.6.0-e9b6a242a",
|
|
55
|
+
"@libp2p/interface-internal": "1.3.0-e9b6a242a",
|
|
56
|
+
"@libp2p/peer-id": "4.2.0-e9b6a242a",
|
|
57
|
+
"@libp2p/utils": "5.4.5-e9b6a242a",
|
|
58
58
|
"@multiformats/mafmt": "^12.1.6",
|
|
59
59
|
"@multiformats/multiaddr": "^12.2.3",
|
|
60
60
|
"@multiformats/multiaddr-matcher": "^1.2.1",
|
|
@@ -64,7 +64,6 @@
|
|
|
64
64
|
"it-pushable": "^3.2.3",
|
|
65
65
|
"it-stream-types": "^2.0.1",
|
|
66
66
|
"multiformats": "^13.1.0",
|
|
67
|
-
"multihashes": "^4.0.3",
|
|
68
67
|
"node-datachannel": "^0.10.0",
|
|
69
68
|
"p-defer": "^4.0.1",
|
|
70
69
|
"p-event": "^6.0.1",
|
|
@@ -78,12 +77,12 @@
|
|
|
78
77
|
},
|
|
79
78
|
"devDependencies": {
|
|
80
79
|
"@chainsafe/libp2p-yamux": "^6.0.2",
|
|
81
|
-
"@libp2p/circuit-relay-v2": "1.1.1-
|
|
82
|
-
"@libp2p/identify": "2.1.1-
|
|
83
|
-
"@libp2p/interface-compliance-tests": "5.4.8-
|
|
84
|
-
"@libp2p/logger": "4.0.16-
|
|
85
|
-
"@libp2p/peer-id-factory": "4.2.0-
|
|
86
|
-
"@libp2p/websockets": "8.1.1-
|
|
80
|
+
"@libp2p/circuit-relay-v2": "1.1.1-e9b6a242a",
|
|
81
|
+
"@libp2p/identify": "2.1.1-e9b6a242a",
|
|
82
|
+
"@libp2p/interface-compliance-tests": "5.4.8-e9b6a242a",
|
|
83
|
+
"@libp2p/logger": "4.0.16-e9b6a242a",
|
|
84
|
+
"@libp2p/peer-id-factory": "4.2.0-e9b6a242a",
|
|
85
|
+
"@libp2p/websockets": "8.1.1-e9b6a242a",
|
|
87
86
|
"@types/sinon": "^17.0.3",
|
|
88
87
|
"aegir": "^43.0.1",
|
|
89
88
|
"delay": "^6.0.0",
|
|
@@ -93,7 +92,7 @@
|
|
|
93
92
|
"it-pair": "^2.0.6",
|
|
94
93
|
"it-pipe": "^3.0.1",
|
|
95
94
|
"it-to-buffer": "^4.0.7",
|
|
96
|
-
"libp2p": "1.8.0-
|
|
95
|
+
"libp2p": "1.8.0-e9b6a242a",
|
|
97
96
|
"p-retry": "^6.2.0",
|
|
98
97
|
"protons": "^7.5.0",
|
|
99
98
|
"sinon": "^18.0.0",
|
package/src/constants.ts
CHANGED
|
@@ -1,16 +1,14 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* STUN servers help clients discover their own public IPs
|
|
2
|
+
* STUN servers help clients discover their own public IPs.
|
|
3
|
+
*
|
|
4
|
+
* Using five or more servers causes warnings to be printed so
|
|
5
|
+
* ensure we limit it to max x4
|
|
3
6
|
*
|
|
4
7
|
* @see https://gist.github.com/mondain/b0ec1cf5f60ae726202e
|
|
5
8
|
*/
|
|
6
9
|
export const DEFAULT_ICE_SERVERS = [
|
|
7
10
|
'stun:stun.l.google.com:19302',
|
|
8
|
-
'stun:stun1.l.google.com:19302',
|
|
9
|
-
'stun:stun2.l.google.com:19302',
|
|
10
|
-
'stun:stun3.l.google.com:19302',
|
|
11
|
-
'stun:stun4.l.google.com:19302',
|
|
12
11
|
'stun:global.stun.twilio.com:3478',
|
|
13
12
|
'stun:stun.cloudflare.com:3478',
|
|
14
|
-
'stun:stun.services.mozilla.com:3478'
|
|
15
|
-
'stun:stun.1und1.de:3478'
|
|
13
|
+
'stun:stun.services.mozilla.com:3478'
|
|
16
14
|
]
|
package/src/error.ts
CHANGED
|
@@ -111,12 +111,12 @@ export function unimplemented (methodName: string): UnimplementedError {
|
|
|
111
111
|
}
|
|
112
112
|
|
|
113
113
|
export class UnsupportedHashAlgorithmError extends WebRTCTransportError {
|
|
114
|
-
constructor (algo:
|
|
115
|
-
super(`unsupported hash algorithm: ${algo}`, codes.ERR_HASH_NOT_SUPPORTED)
|
|
114
|
+
constructor (algo: number) {
|
|
115
|
+
super(`unsupported hash algorithm code: ${algo} please see the codes at https://github.com/multiformats/multicodec/blob/master/table.csv `, codes.ERR_HASH_NOT_SUPPORTED)
|
|
116
116
|
this.name = 'WebRTC/UnsupportedHashAlgorithmError'
|
|
117
117
|
}
|
|
118
118
|
}
|
|
119
119
|
|
|
120
|
-
export function
|
|
121
|
-
return new UnsupportedHashAlgorithmError(
|
|
120
|
+
export function unsupportedHashAlgorithmCode (code: number): UnsupportedHashAlgorithmError {
|
|
121
|
+
return new UnsupportedHashAlgorithmError(code)
|
|
122
122
|
}
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
import {
|
|
2
|
-
import
|
|
3
|
-
import { inappropriateMultiaddr, invalidArgument, invalidFingerprint,
|
|
1
|
+
import { type Multiaddr } from '@multiformats/multiaddr'
|
|
2
|
+
import { bases, digest } from 'multiformats/basics'
|
|
3
|
+
import { inappropriateMultiaddr, invalidArgument, invalidFingerprint, unsupportedHashAlgorithmCode } from '../error.js'
|
|
4
4
|
import { CERTHASH_CODE } from './transport.js'
|
|
5
5
|
import type { LoggerOptions } from '@libp2p/interface'
|
|
6
|
-
import type {
|
|
7
|
-
import type { HashCode, HashName } from 'multihashes'
|
|
6
|
+
import type { MultihashDigest } from 'multiformats/hashes/interface'
|
|
8
7
|
|
|
9
8
|
/**
|
|
10
9
|
* Get base2 | identity decoders
|
|
@@ -71,9 +70,8 @@ export function certhash (ma: Multiaddr): string {
|
|
|
71
70
|
/**
|
|
72
71
|
* Convert a certhash into a multihash
|
|
73
72
|
*/
|
|
74
|
-
export function decodeCerthash (certhash: string):
|
|
75
|
-
|
|
76
|
-
return multihashes.decode(mbdecoded)
|
|
73
|
+
export function decodeCerthash (certhash: string): MultihashDigest {
|
|
74
|
+
return digest.decode(mbdecoder.decode(certhash))
|
|
77
75
|
}
|
|
78
76
|
|
|
79
77
|
/**
|
|
@@ -81,7 +79,7 @@ export function decodeCerthash (certhash: string): { code: HashCode, name: HashN
|
|
|
81
79
|
*/
|
|
82
80
|
export function ma2Fingerprint (ma: Multiaddr): string[] {
|
|
83
81
|
const mhdecoded = decodeCerthash(certhash(ma))
|
|
84
|
-
const prefix = toSupportedHashFunction(mhdecoded.
|
|
82
|
+
const prefix = toSupportedHashFunction(mhdecoded.code)
|
|
85
83
|
const fingerprint = mhdecoded.digest.reduce((str, byte) => str + byte.toString(16).padStart(2, '0'), '')
|
|
86
84
|
const sdp = fingerprint.match(/.{1,2}/g)
|
|
87
85
|
|
|
@@ -89,22 +87,22 @@ export function ma2Fingerprint (ma: Multiaddr): string[] {
|
|
|
89
87
|
throw invalidFingerprint(fingerprint, ma.toString())
|
|
90
88
|
}
|
|
91
89
|
|
|
92
|
-
return [`${prefix
|
|
90
|
+
return [`${prefix} ${sdp.join(':').toUpperCase()}`, fingerprint]
|
|
93
91
|
}
|
|
94
92
|
|
|
95
93
|
/**
|
|
96
94
|
* Normalize the hash name from a given multihash has name
|
|
97
95
|
*/
|
|
98
|
-
export function toSupportedHashFunction (
|
|
99
|
-
switch (
|
|
100
|
-
case
|
|
101
|
-
return '
|
|
102
|
-
case
|
|
103
|
-
return '
|
|
104
|
-
case
|
|
105
|
-
return '
|
|
96
|
+
export function toSupportedHashFunction (code: number): 'SHA-1' | 'SHA-256' | 'SHA-512' {
|
|
97
|
+
switch (code) {
|
|
98
|
+
case 0x11:
|
|
99
|
+
return 'SHA-1'
|
|
100
|
+
case 0x12:
|
|
101
|
+
return 'SHA-256'
|
|
102
|
+
case 0x13:
|
|
103
|
+
return 'SHA-512'
|
|
106
104
|
default:
|
|
107
|
-
throw
|
|
105
|
+
throw unsupportedHashAlgorithmCode(code)
|
|
108
106
|
}
|
|
109
107
|
}
|
|
110
108
|
|
|
@@ -3,7 +3,7 @@ import { transportSymbol, serviceCapabilities } from '@libp2p/interface'
|
|
|
3
3
|
import * as p from '@libp2p/peer-id'
|
|
4
4
|
import { protocols } from '@multiformats/multiaddr'
|
|
5
5
|
import { WebRTCDirect } from '@multiformats/multiaddr-matcher'
|
|
6
|
-
import * as
|
|
6
|
+
import * as Digest from 'multiformats/hashes/digest'
|
|
7
7
|
import { concat } from 'uint8arrays/concat'
|
|
8
8
|
import { fromString as uint8arrayFromString } from 'uint8arrays/from-string'
|
|
9
9
|
import { dataChannelError, inappropriateMultiaddr, unimplemented, invalidArgument } from '../error.js'
|
|
@@ -135,7 +135,7 @@ export class WebRTCDirectTransport implements Transport {
|
|
|
135
135
|
const certificate = await RTCPeerConnection.generateCertificate({
|
|
136
136
|
name: 'ECDSA',
|
|
137
137
|
namedCurve: 'P-256',
|
|
138
|
-
hash: sdp.toSupportedHashFunction(remoteCerthash.
|
|
138
|
+
hash: sdp.toSupportedHashFunction(remoteCerthash.code)
|
|
139
139
|
} as any)
|
|
140
140
|
|
|
141
141
|
const peerConnection = new RTCPeerConnection({
|
|
@@ -273,7 +273,7 @@ export class WebRTCDirectTransport implements Transport {
|
|
|
273
273
|
* Generate a noise prologue from the peer connection's certificate.
|
|
274
274
|
* noise prologue = bytes('libp2p-webrtc-noise:') + noise-responder fingerprint + noise-initiator fingerprint
|
|
275
275
|
*/
|
|
276
|
-
private generateNoisePrologue (pc: RTCPeerConnection, hashCode:
|
|
276
|
+
private generateNoisePrologue (pc: RTCPeerConnection, hashCode: number, ma: Multiaddr): Uint8Array {
|
|
277
277
|
if (pc.getConfiguration().certificates?.length === 0) {
|
|
278
278
|
throw invalidArgument('no local certificate')
|
|
279
279
|
}
|
|
@@ -287,10 +287,10 @@ export class WebRTCDirectTransport implements Transport {
|
|
|
287
287
|
|
|
288
288
|
const localFpString = localFingerprint.trim().toLowerCase().replaceAll(':', '')
|
|
289
289
|
const localFpArray = uint8arrayFromString(localFpString, 'hex')
|
|
290
|
-
const local =
|
|
290
|
+
const local = Digest.create(hashCode, localFpArray)
|
|
291
291
|
const remote: Uint8Array = sdp.mbdecoder.decode(sdp.certhash(ma))
|
|
292
292
|
const prefix = uint8arrayFromString('libp2p-webrtc-noise:')
|
|
293
293
|
|
|
294
|
-
return concat([prefix, local, remote])
|
|
294
|
+
return concat([prefix, local.bytes, remote])
|
|
295
295
|
}
|
|
296
296
|
}
|