@libp2p/webrtc 1.0.0 → 1.0.1
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 +21 -16
- package/dist/src/transport.d.ts.map +1 -1
- package/dist/src/transport.js +2 -2
- package/dist/src/transport.js.map +1 -1
- package/dist/src/util.d.ts +1 -0
- package/dist/src/util.d.ts.map +1 -1
- package/dist/src/util.js +2 -0
- package/dist/src/util.js.map +1 -1
- package/package.json +2 -4
- package/src/transport.ts +2 -3
- package/src/util.ts +3 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/transport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAGhG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;
|
|
1
|
+
{"version":3,"file":"transport.d.ts","sourceRoot":"","sources":["../../src/transport.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAA;AAC9D,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2BAA2B,CAAA;AACvD,OAAO,EAAE,qBAAqB,EAAE,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,6BAA6B,CAAA;AAGhG,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAQxD,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,cAAc,CAAA;AAYrD;;;;GAIG;AACH,eAAO,MAAM,WAAW,EAAE,MAAY,CAAA;AAEtC;;;;GAIG;AACH,eAAO,MAAM,aAAa,EAAE,MAAY,CAAA;AAExC;;GAEG;AAEH,MAAM,WAAW,yBAAyB;IACxC,MAAM,EAAE,MAAM,CAAA;CACf;AAED,qBAAa,eAAgB,YAAW,SAAS;IAC/C;;OAEG;IACH,OAAO,CAAC,QAAQ,CAAC,UAAU,CAA2B;gBAEzC,UAAU,EAAE,yBAAyB;IAIlD;;OAEG;IACG,IAAI,CAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAM3E;;OAEG;IACH,cAAc,CAAE,OAAO,EAAE,qBAAqB,GAAG,QAAQ;IAIzD;;OAEG;IACH,MAAM,CAAE,UAAU,EAAE,SAAS,EAAE,GAAG,SAAS,EAAE;IAI7C;;OAEG;IACH,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,IAAK,MAAM,CAElC;IAED;;OAEG;IACH,IAAI,CAAC,MAAM,CAAC,IAAK,IAAI,CAEpB;IAED;;OAEG;IACG,QAAQ,CAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,UAAU,CAAC;IAyG/E;;;OAGG;IACH,OAAO,CAAC,qBAAqB;CAyB9B"}
|
package/dist/src/transport.js
CHANGED
|
@@ -4,7 +4,6 @@ import { logger } from '@libp2p/logger';
|
|
|
4
4
|
import * as p from '@libp2p/peer-id';
|
|
5
5
|
import * as multihashes from 'multihashes';
|
|
6
6
|
import defer from 'p-defer';
|
|
7
|
-
import { v4 as genUuid } from 'uuid';
|
|
8
7
|
import { fromString as uint8arrayFromString } from 'uint8arrays/from-string';
|
|
9
8
|
import { concat } from 'uint8arrays/concat';
|
|
10
9
|
import { dataChannelError, inappropriateMultiaddr, unimplemented, invalidArgument } from './error.js';
|
|
@@ -12,6 +11,7 @@ import { WebRTCMultiaddrConnection } from './maconn.js';
|
|
|
12
11
|
import { DataChannelMuxerFactory } from './muxer.js';
|
|
13
12
|
import * as sdp from './sdp.js';
|
|
14
13
|
import { WebRTCStream } from './stream.js';
|
|
14
|
+
import { genUfrag } from './util.js';
|
|
15
15
|
const log = logger('libp2p:webrtc:transport');
|
|
16
16
|
/**
|
|
17
17
|
* The time to wait, in milliseconds, for the data channel handshake to complete
|
|
@@ -106,7 +106,7 @@ export class WebRTCTransport {
|
|
|
106
106
|
log.error(error);
|
|
107
107
|
dataChannelOpenPromise.reject(dataChannelError('data', error));
|
|
108
108
|
};
|
|
109
|
-
const ufrag = 'libp2p+webrtc+v1/' +
|
|
109
|
+
const ufrag = 'libp2p+webrtc+v1/' + genUfrag(32);
|
|
110
110
|
// Create offer and munge sdp with ufrag = pwd. This allows the remote to
|
|
111
111
|
// respond to STUN messages without performing an actual SDP exchange.
|
|
112
112
|
// This is because it can infer the passwd field by reading the USERNAME
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/transport.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,IAAI,KAAK,EAAE,MAAM,yBAAyB,CAAA;AAGxD,OAAO,EAAmC,MAAM,EAAa,MAAM,6BAA6B,CAAA;AAChG,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,KAAK,CAAC,MAAM,iBAAiB,CAAA;AAEpC,OAAO,KAAK,WAAW,MAAM,aAAa,CAAA;AAC1C,OAAO,KAAK,MAAM,SAAS,CAAA;AAC3B,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"transport.js","sourceRoot":"","sources":["../../src/transport.ts"],"names":[],"mappings":"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"}
|
package/dist/src/util.d.ts
CHANGED
package/dist/src/util.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;CAErB,CAAA;AAED,eAAO,MAAM,OAAO,MAAa,GAAG,kBAAO,CAAA"}
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,SAAS;;CAErB,CAAA;AAED,eAAO,MAAM,OAAO,MAAa,GAAG,kBAAO,CAAA;AAG3C,eAAO,MAAM,QAAQ,QAAS,MAAM,KAAG,MAAoG,CAAA"}
|
package/dist/src/util.js
CHANGED
|
@@ -2,4 +2,6 @@ export const nopSource = {
|
|
|
2
2
|
async *[Symbol.asyncIterator]() { }
|
|
3
3
|
};
|
|
4
4
|
export const nopSink = async (_) => { };
|
|
5
|
+
const charset = Array.from('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/');
|
|
6
|
+
export const genUfrag = (len) => [...Array(len)].map(() => charset.at(Math.floor(Math.random() * charset.length))).join('');
|
|
5
7
|
//# sourceMappingURL=util.js.map
|
package/dist/src/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,KAAK,CAAC,CAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;CACrC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,CAAM,EAAE,EAAE,GAAE,CAAC,CAAA"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../../src/util.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,SAAS,GAAG;IACvB,KAAK,CAAC,CAAE,CAAC,MAAM,CAAC,aAAa,CAAC,KAAK,CAAC;CACrC,CAAA;AAED,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,CAAM,EAAE,EAAE,GAAE,CAAC,CAAA;AAE3C,MAAM,OAAO,GAAG,KAAK,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAA;AAC9F,MAAM,CAAC,MAAM,QAAQ,GAAG,CAAC,GAAW,EAAU,EAAE,CAAC,CAAC,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/webrtc",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.1",
|
|
4
4
|
"description": "A libp2p transport using WebRTC connections",
|
|
5
5
|
"author": "",
|
|
6
6
|
"license": "Apache-2.0 OR MIT",
|
|
@@ -154,15 +154,13 @@
|
|
|
154
154
|
"multihashes": "^4.0.3",
|
|
155
155
|
"p-defer": "^4.0.0",
|
|
156
156
|
"uint8arraylist": "^2.3.3",
|
|
157
|
-
"uint8arrays": "^4.0.2"
|
|
158
|
-
"uuid": "^9.0.0"
|
|
157
|
+
"uint8arrays": "^4.0.2"
|
|
159
158
|
},
|
|
160
159
|
"devDependencies": {
|
|
161
160
|
"@libp2p/interface-mocks": "^8.0.1",
|
|
162
161
|
"@libp2p/peer-id-factory": "^1.0.19",
|
|
163
162
|
"@protobuf-ts/plugin": "^2.8.0",
|
|
164
163
|
"@protobuf-ts/protoc": "^2.8.0",
|
|
165
|
-
"@types/uuid": "^8.3.4",
|
|
166
164
|
"aegir": "^37.6.6",
|
|
167
165
|
"it-first": "^2.0.0",
|
|
168
166
|
"libp2p": "^0.40.0"
|
package/src/transport.ts
CHANGED
|
@@ -7,16 +7,15 @@ import * as p from '@libp2p/peer-id'
|
|
|
7
7
|
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
8
8
|
import * as multihashes from 'multihashes'
|
|
9
9
|
import defer from 'p-defer'
|
|
10
|
-
import { v4 as genUuid } from 'uuid'
|
|
11
10
|
import { fromString as uint8arrayFromString } from 'uint8arrays/from-string'
|
|
12
11
|
import { concat } from 'uint8arrays/concat'
|
|
13
|
-
|
|
14
12
|
import { dataChannelError, inappropriateMultiaddr, unimplemented, invalidArgument } from './error.js'
|
|
15
13
|
import { WebRTCMultiaddrConnection } from './maconn.js'
|
|
16
14
|
import { DataChannelMuxerFactory } from './muxer.js'
|
|
17
15
|
import type { WebRTCDialOptions } from './options.js'
|
|
18
16
|
import * as sdp from './sdp.js'
|
|
19
17
|
import { WebRTCStream } from './stream.js'
|
|
18
|
+
import { genUfrag } from './util.js'
|
|
20
19
|
|
|
21
20
|
const log = logger('libp2p:webrtc:transport')
|
|
22
21
|
|
|
@@ -142,7 +141,7 @@ export class WebRTCTransport implements Transport {
|
|
|
142
141
|
dataChannelOpenPromise.reject(dataChannelError('data', error))
|
|
143
142
|
}
|
|
144
143
|
|
|
145
|
-
const ufrag = 'libp2p+webrtc+v1/' +
|
|
144
|
+
const ufrag = 'libp2p+webrtc+v1/' + genUfrag(32)
|
|
146
145
|
|
|
147
146
|
// Create offer and munge sdp with ufrag = pwd. This allows the remote to
|
|
148
147
|
// respond to STUN messages without performing an actual SDP exchange.
|
package/src/util.ts
CHANGED
|
@@ -3,3 +3,6 @@ export const nopSource = {
|
|
|
3
3
|
}
|
|
4
4
|
|
|
5
5
|
export const nopSink = async (_: any) => {}
|
|
6
|
+
|
|
7
|
+
const charset = Array.from('ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/')
|
|
8
|
+
export const genUfrag = (len: number): string => [...Array(len)].map(() => charset.at(Math.floor(Math.random() * charset.length))).join('')
|