@libp2p/websockets 1.0.9 → 3.0.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/README.md +26 -29
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/listener.d.ts +1 -1
- package/dist/src/listener.d.ts.map +1 -1
- package/dist/src/listener.js +2 -2
- package/dist/src/listener.js.map +1 -1
- package/dist/src/socket-to-conn.d.ts +1 -1
- package/package.json +11 -6
- package/src/index.ts +1 -1
- package/src/listener.ts +5 -4
- package/src/socket-to-conn.ts +1 -1
package/README.md
CHANGED
|
@@ -1,33 +1,34 @@
|
|
|
1
|
-
#
|
|
2
|
-
|
|
3
|
-
[](http://ipn.io)
|
|
4
|
-
[](http://libp2p.io/)
|
|
5
|
-
[](http://webchat.freenode.net/?channels=%23ipfs)
|
|
6
|
-
[](https://discuss.libp2p.io)
|
|
7
|
-
[](https://coveralls.io/github/libp2p/js-libp2p-websockets?branch=master)
|
|
8
|
-
[](https://github.com/libp2p/js-libp2p-websockets/actions/workflows/js-test-and-release.yml)
|
|
9
|
-
[](https://david-dm.org/libp2p/js-libp2p-websockets)
|
|
10
|
-
[](https://github.com/feross/standard)
|
|
11
|
-

|
|
1
|
+
# @libp2p/websockets <!-- omit in toc -->
|
|
12
2
|
|
|
13
|
-
[](http://libp2p.io/)
|
|
4
|
+
[](http://webchat.freenode.net/?channels=%23libp2p)
|
|
5
|
+
[](https://discuss.libp2p.io)
|
|
6
|
+
[](https://codecov.io/gh/libp2p/js-libp2p-websockets)
|
|
7
|
+
[](https://github.com/libp2p/js-libp2p-websockets/actions/workflows/js-test-and-release.yml)
|
|
15
8
|
|
|
16
|
-
> JavaScript implementation of the WebSockets module that libp2p uses and that implements the interface-transport
|
|
9
|
+
> JavaScript implementation of the WebSockets module that libp2p uses and that implements the interface-transport spec
|
|
17
10
|
|
|
18
|
-
## Table of
|
|
11
|
+
## Table of contents <!-- omit in toc -->
|
|
19
12
|
|
|
13
|
+
- [Install](#install)
|
|
20
14
|
- [Description](#description)
|
|
21
15
|
- [Usage](#usage)
|
|
22
|
-
- [Install](#install)
|
|
23
|
-
- [npm](#npm)
|
|
24
16
|
- [Constructor properties](#constructor-properties)
|
|
25
17
|
- [Libp2p Usage Example](#libp2p-usage-example)
|
|
26
18
|
- [API](#api)
|
|
27
19
|
- [Transport](#transport)
|
|
28
20
|
- [Connection](#connection)
|
|
29
21
|
- [License](#license)
|
|
30
|
-
|
|
22
|
+
- [Contribution](#contribution)
|
|
23
|
+
|
|
24
|
+
## Install
|
|
25
|
+
|
|
26
|
+
```console
|
|
27
|
+
$ npm i @libp2p/websockets
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
[](https://github.com/libp2p/interface-transport)
|
|
31
|
+
[](https://github.com/libp2p/interface-connection)
|
|
31
32
|
|
|
32
33
|
## Description
|
|
33
34
|
|
|
@@ -35,10 +36,6 @@
|
|
|
35
36
|
|
|
36
37
|
## Usage
|
|
37
38
|
|
|
38
|
-
## Install
|
|
39
|
-
|
|
40
|
-
### npm
|
|
41
|
-
|
|
42
39
|
```sh
|
|
43
40
|
> npm i @libp2p/websockets
|
|
44
41
|
```
|
|
@@ -56,10 +53,10 @@ const properties = {
|
|
|
56
53
|
const ws = new WS(properties)
|
|
57
54
|
```
|
|
58
55
|
|
|
59
|
-
| Name
|
|
60
|
-
|
|
61
|
-
| upgrader | [`Upgrader`](https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/libp2p-interfaces/src/transport#upgrader) | connection upgrader object with `upgradeOutbound` and `upgradeInbound` | **REQUIRED**
|
|
62
|
-
| filter
|
|
56
|
+
| Name | Type | Description | Default |
|
|
57
|
+
| -------- | -------------------------------------------------------------------------------------------------------------------------- | ---------------------------------------------------------------------- | ----------------------------------------------------------------------- |
|
|
58
|
+
| upgrader | [`Upgrader`](https://github.com/libp2p/js-libp2p-interfaces/tree/master/packages/libp2p-interfaces/src/transport#upgrader) | connection upgrader object with `upgradeOutbound` and `upgradeInbound` | **REQUIRED** |
|
|
59
|
+
| filter | `(multiaddrs: Array<Multiaddr>) => Array<Multiaddr>` | override transport addresses filter | **Browser:** DNS+WSS multiaddrs / **Node.js:** DNS+{WS, WSS} multiaddrs |
|
|
63
60
|
|
|
64
61
|
You can create your own address filters for this transports, or rely in the filters [provided](./src/filters.js).
|
|
65
62
|
|
|
@@ -114,9 +111,9 @@ For more information see [libp2p/js-libp2p/doc/CONFIGURATION.md#customizing-tran
|
|
|
114
111
|
|
|
115
112
|
Licensed under either of
|
|
116
113
|
|
|
117
|
-
|
|
118
|
-
|
|
114
|
+
- Apache 2.0, ([LICENSE-APACHE](LICENSE-APACHE) / <http://www.apache.org/licenses/LICENSE-2.0>)
|
|
115
|
+
- MIT ([LICENSE-MIT](LICENSE-MIT) / <http://opensource.org/licenses/MIT>)
|
|
119
116
|
|
|
120
|
-
|
|
117
|
+
## Contribution
|
|
121
118
|
|
|
122
119
|
Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { WebSocketOptions } from 'it-ws/client';
|
|
3
|
-
import { Transport, MultiaddrFilter, symbol, CreateListenerOptions, DialOptions } from '@libp2p/
|
|
3
|
+
import { Transport, MultiaddrFilter, symbol, CreateListenerOptions, DialOptions } from '@libp2p/interface-transport';
|
|
4
4
|
import type { AbortOptions } from '@libp2p/interfaces';
|
|
5
5
|
import type { Multiaddr } from '@multiformats/multiaddr';
|
|
6
6
|
import type { DuplexWebSocket } from 'it-ws/duplex';
|
|
@@ -16,14 +16,14 @@ export declare class WebSockets implements Transport {
|
|
|
16
16
|
constructor(init?: WebSocketsInit);
|
|
17
17
|
get [Symbol.toStringTag](): string;
|
|
18
18
|
get [symbol](): true;
|
|
19
|
-
dial(ma: Multiaddr, options: DialOptions): Promise<import("@libp2p/
|
|
19
|
+
dial(ma: Multiaddr, options: DialOptions): Promise<import("@libp2p/interface-connection/dist/src").Connection>;
|
|
20
20
|
_connect(ma: Multiaddr, options: AbortOptions): Promise<DuplexWebSocket>;
|
|
21
21
|
/**
|
|
22
22
|
* Creates a Websockets listener. The provided `handler` function will be called
|
|
23
23
|
* anytime a new incoming Connection has been successfully upgraded via
|
|
24
24
|
* `upgrader.upgradeInbound`
|
|
25
25
|
*/
|
|
26
|
-
createListener(options: CreateListenerOptions): import("@libp2p/
|
|
26
|
+
createListener(options: CreateListenerOptions): import("@libp2p/interface-transport").Listener;
|
|
27
27
|
/**
|
|
28
28
|
* Takes a list of `Multiaddr`s and returns only valid Websockets addresses.
|
|
29
29
|
* By default, in a browser environment only DNS+WSS multiaddr is accepted,
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAW,gBAAgB,EAAE,MAAM,cAAc,CAAA;AASxD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA,OAAO,EAAW,gBAAgB,EAAE,MAAM,cAAc,CAAA;AASxD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,EAAE,qBAAqB,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACpH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAA;AACtD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,cAAc,CAAA;AACnD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,IAAI,CAAA;AACvC,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAIlC,MAAM,WAAW,cAAe,SAAQ,YAAY,EAAE,gBAAgB;IACpE,MAAM,CAAC,EAAE,eAAe,CAAA;IACxB,SAAS,CAAC,EAAE,aAAa,CAAA;IACzB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,qBAAa,UAAW,YAAW,SAAS;IAC1C,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAgB;gBAEzB,IAAI,CAAC,EAAE,cAAc;IAIlC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,WAEvB;IAED,IAAI,CAAC,MAAM,CAAC,IAAK,IAAI,CAEpB;IAEK,IAAI,CAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW;IAazC,QAAQ,CAAE,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,eAAe,CAAC;IA8D/E;;;;OAIG;IACH,cAAc,CAAE,OAAO,EAAE,qBAAqB;IAI9C;;;;OAIG;IACH,MAAM,CAAE,UAAU,EAAE,SAAS,EAAE;CAchC"}
|
package/dist/src/index.js
CHANGED
|
@@ -7,7 +7,7 @@ import env from 'wherearewe';
|
|
|
7
7
|
import { createListener } from './listener.js';
|
|
8
8
|
import { socketToMaConn } from './socket-to-conn.js';
|
|
9
9
|
import * as filters from './filters.js';
|
|
10
|
-
import { symbol } from '@libp2p/
|
|
10
|
+
import { symbol } from '@libp2p/interface-transport';
|
|
11
11
|
const log = logger('libp2p:websockets');
|
|
12
12
|
export class WebSockets {
|
|
13
13
|
constructor(init) {
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAoB,MAAM,cAAc,CAAA;AACxD,OAAO,EAAE,cAAc,IAAI,KAAK,EAAE,MAAM,gCAAgC,CAAA;AACxE,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAA;AACtD,OAAO,MAAM,MAAM,SAAS,CAAA;AAC5B,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,GAAG,MAAM,YAAY,CAAA;AAC5B,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,KAAK,OAAO,MAAM,cAAc,CAAA;AACvC,OAAO,EAA8B,MAAM,EAAsC,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/listener.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import type { Listener, CreateListenerOptions } from '@libp2p/
|
|
2
|
+
import type { Listener, CreateListenerOptions } from '@libp2p/interface-transport';
|
|
3
3
|
import type { Server } from 'http';
|
|
4
4
|
export interface WebSocketListenerInit extends CreateListenerOptions {
|
|
5
5
|
server?: Server;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../src/listener.ts"],"names":[],"mappings":";AAMA,OAAO,KAAK,EAAE,QAAQ,EAAkB,qBAAqB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"listener.d.ts","sourceRoot":"","sources":["../../src/listener.ts"],"names":[],"mappings":";AAMA,OAAO,KAAK,EAAE,QAAQ,EAAkB,qBAAqB,EAAE,MAAM,6BAA6B,CAAA;AAClG,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAA;AAkJlC,MAAM,WAAW,qBAAsB,SAAQ,qBAAqB;IAClE,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED,wBAAgB,cAAc,CAAE,IAAI,EAAE,qBAAqB,GAAG,QAAQ,CAErE"}
|
package/dist/src/listener.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import os from 'os';
|
|
2
|
-
import {
|
|
2
|
+
import { multiaddr, protocols } from '@multiformats/multiaddr';
|
|
3
3
|
import { createServer } from 'it-ws/server';
|
|
4
4
|
import { logger } from '@libp2p/logger';
|
|
5
5
|
import { socketToMaConn } from './socket-to-conn.js';
|
|
@@ -102,7 +102,7 @@ class WebSocketListener extends EventEmitter {
|
|
|
102
102
|
}
|
|
103
103
|
niInfos.forEach(ni => {
|
|
104
104
|
if (ni.family === 'IPv4') {
|
|
105
|
-
multiaddrs.push(
|
|
105
|
+
multiaddrs.push(multiaddr(m.toString().replace('0.0.0.0', ni.address)));
|
|
106
106
|
}
|
|
107
107
|
});
|
|
108
108
|
});
|
package/dist/src/listener.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"listener.js","sourceRoot":"","sources":["../../src/listener.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,IAAI,CAAA;AACnB,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAC9D,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAA;AAC3C,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAA;AACpD,OAAO,EAAE,iBAAiB,IAAI,WAAW,EAAE,MAAM,oCAAoC,CAAA;AAKrF,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;
|
|
1
|
+
{"version":3,"file":"listener.js","sourceRoot":"","sources":["../../src/listener.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { AbortOptions } from '@libp2p/interfaces';
|
|
2
|
-
import type { MultiaddrConnection } from '@libp2p/
|
|
2
|
+
import type { MultiaddrConnection } from '@libp2p/interface-connection';
|
|
3
3
|
import type { Multiaddr } from '@multiformats/multiaddr';
|
|
4
4
|
import type { DuplexWebSocket } from 'it-ws/duplex';
|
|
5
5
|
export interface SocketToConnOptions extends AbortOptions {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/websockets",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "3.0.0",
|
|
4
4
|
"description": "JavaScript implementation of the WebSockets module that libp2p uses and that implements the interface-transport spec",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p-websockets#readme",
|
|
@@ -44,9 +44,11 @@
|
|
|
44
44
|
],
|
|
45
45
|
"exports": {
|
|
46
46
|
".": {
|
|
47
|
+
"types": "./src/index.d.ts",
|
|
47
48
|
"import": "./dist/src/index.js"
|
|
48
49
|
},
|
|
49
50
|
"./filters": {
|
|
51
|
+
"types": "./dist/src/filters.d.ts",
|
|
50
52
|
"import": "./dist/src/filters.js"
|
|
51
53
|
}
|
|
52
54
|
},
|
|
@@ -152,9 +154,11 @@
|
|
|
152
154
|
"release": "aegir release"
|
|
153
155
|
},
|
|
154
156
|
"dependencies": {
|
|
155
|
-
"@libp2p/
|
|
156
|
-
"@libp2p/
|
|
157
|
-
"@libp2p/
|
|
157
|
+
"@libp2p/interface-connection": "^2.0.0",
|
|
158
|
+
"@libp2p/interface-transport": "^1.0.0",
|
|
159
|
+
"@libp2p/interfaces": "^3.0.1",
|
|
160
|
+
"@libp2p/logger": "^2.0.0",
|
|
161
|
+
"@libp2p/utils": "^2.0.0",
|
|
158
162
|
"@multiformats/mafmt": "^11.0.2",
|
|
159
163
|
"@multiformats/multiaddr": "^10.1.5",
|
|
160
164
|
"@multiformats/multiaddr-to-uri": "^9.0.0",
|
|
@@ -166,9 +170,10 @@
|
|
|
166
170
|
"wherearewe": "^1.0.0"
|
|
167
171
|
},
|
|
168
172
|
"devDependencies": {
|
|
169
|
-
"@libp2p/interface-
|
|
173
|
+
"@libp2p/interface-mocks": "^2.0.1",
|
|
174
|
+
"@libp2p/interface-transport-compliance-tests": "^2.0.0",
|
|
170
175
|
"@types/ws": "^8.2.2",
|
|
171
|
-
"aegir": "^37.0
|
|
176
|
+
"aegir": "^37.2.0",
|
|
172
177
|
"is-loopback-addr": "^2.0.1",
|
|
173
178
|
"it-all": "^1.0.6",
|
|
174
179
|
"it-drain": "^1.0.5",
|
package/src/index.ts
CHANGED
|
@@ -7,7 +7,7 @@ import env from 'wherearewe'
|
|
|
7
7
|
import { createListener } from './listener.js'
|
|
8
8
|
import { socketToMaConn } from './socket-to-conn.js'
|
|
9
9
|
import * as filters from './filters.js'
|
|
10
|
-
import { Transport, MultiaddrFilter, symbol, CreateListenerOptions, DialOptions } from '@libp2p/
|
|
10
|
+
import { Transport, MultiaddrFilter, symbol, CreateListenerOptions, DialOptions } from '@libp2p/interface-transport'
|
|
11
11
|
import type { AbortOptions } from '@libp2p/interfaces'
|
|
12
12
|
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
13
13
|
import type { DuplexWebSocket } from 'it-ws/duplex'
|
package/src/listener.ts
CHANGED
|
@@ -1,15 +1,16 @@
|
|
|
1
1
|
import os from 'os'
|
|
2
|
-
import {
|
|
2
|
+
import { multiaddr, protocols } from '@multiformats/multiaddr'
|
|
3
3
|
import { createServer } from 'it-ws/server'
|
|
4
4
|
import { logger } from '@libp2p/logger'
|
|
5
5
|
import { socketToMaConn } from './socket-to-conn.js'
|
|
6
6
|
import { ipPortToMultiaddr as toMultiaddr } from '@libp2p/utils/ip-port-to-multiaddr'
|
|
7
|
-
import type { Listener, ListenerEvents, CreateListenerOptions } from '@libp2p/
|
|
7
|
+
import type { Listener, ListenerEvents, CreateListenerOptions } from '@libp2p/interface-transport'
|
|
8
8
|
import type { Server } from 'http'
|
|
9
9
|
import type { WebSocketServer } from 'it-ws/server'
|
|
10
10
|
import type { DuplexWebSocket } from 'it-ws/duplex'
|
|
11
11
|
import { EventEmitter, CustomEvent } from '@libp2p/interfaces/events'
|
|
12
|
-
import type { Connection } from '@libp2p/
|
|
12
|
+
import type { Connection } from '@libp2p/interface-connection'
|
|
13
|
+
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
13
14
|
|
|
14
15
|
const log = logger('libp2p:websockets:listener')
|
|
15
16
|
|
|
@@ -137,7 +138,7 @@ class WebSocketListener extends EventEmitter<ListenerEvents> implements Listener
|
|
|
137
138
|
|
|
138
139
|
niInfos.forEach(ni => {
|
|
139
140
|
if (ni.family === 'IPv4') {
|
|
140
|
-
multiaddrs.push(
|
|
141
|
+
multiaddrs.push(multiaddr(m.toString().replace('0.0.0.0', ni.address)))
|
|
141
142
|
}
|
|
142
143
|
})
|
|
143
144
|
})
|
package/src/socket-to-conn.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { CLOSE_TIMEOUT } from './constants.js'
|
|
|
3
3
|
import pTimeout from 'p-timeout'
|
|
4
4
|
import { logger } from '@libp2p/logger'
|
|
5
5
|
import type { AbortOptions } from '@libp2p/interfaces'
|
|
6
|
-
import type { MultiaddrConnection } from '@libp2p/
|
|
6
|
+
import type { MultiaddrConnection } from '@libp2p/interface-connection'
|
|
7
7
|
import type { Multiaddr } from '@multiformats/multiaddr'
|
|
8
8
|
import type { DuplexWebSocket } from 'it-ws/duplex'
|
|
9
9
|
|