@streamr/dht 0.0.1-tatum.1 → 0.0.1-tatum.2

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.
Files changed (64) hide show
  1. package/dist/src/connection/ConnectionManager.d.ts +6 -0
  2. package/dist/src/connection/ConnectionManager.js +6 -3
  3. package/dist/src/connection/ConnectionManager.js.map +1 -1
  4. package/dist/src/connection/ConnectivityChecker.d.ts +3 -2
  5. package/dist/src/connection/ConnectivityChecker.js +21 -19
  6. package/dist/src/connection/ConnectivityChecker.js.map +1 -1
  7. package/dist/src/connection/WebRTC/WebRtcConnector.d.ts +2 -0
  8. package/dist/src/connection/WebRTC/WebRtcConnector.js +14 -1
  9. package/dist/src/connection/WebRTC/WebRtcConnector.js.map +1 -1
  10. package/dist/src/connection/WebSocket/WebSocketConnector.d.ts +5 -3
  11. package/dist/src/connection/WebSocket/WebSocketConnector.js +18 -12
  12. package/dist/src/connection/WebSocket/WebSocketConnector.js.map +1 -1
  13. package/dist/src/connection/WebSocket/WebSocketServer.d.ts +2 -2
  14. package/dist/src/connection/WebSocket/WebSocketServer.js +27 -36
  15. package/dist/src/connection/WebSocket/WebSocketServer.js.map +1 -1
  16. package/dist/src/dht/DhtNode.d.ts +6 -2
  17. package/dist/src/dht/DhtNode.js +8 -6
  18. package/dist/src/dht/DhtNode.js.map +1 -1
  19. package/dist/src/dht/discovery/PeerDiscovery.d.ts +4 -2
  20. package/dist/src/dht/discovery/PeerDiscovery.js +18 -33
  21. package/dist/src/dht/discovery/PeerDiscovery.js.map +1 -1
  22. package/dist/src/exports.d.ts +1 -1
  23. package/dist/src/exports.js.map +1 -1
  24. package/dist/src/helpers/errors.d.ts +1 -1
  25. package/dist/src/helpers/errors.js +3 -3
  26. package/dist/src/helpers/errors.js.map +1 -1
  27. package/dist/src/helpers/protoClasses.js +0 -2
  28. package/dist/src/helpers/protoClasses.js.map +1 -1
  29. package/dist/src/proto/packages/dht/protos/DhtRpc.client.js +1 -1
  30. package/dist/src/proto/packages/dht/protos/DhtRpc.d.ts +10 -50
  31. package/dist/src/proto/packages/dht/protos/DhtRpc.js +8 -35
  32. package/dist/src/proto/packages/dht/protos/DhtRpc.js.map +1 -1
  33. package/dist/src/proto/packages/proto-rpc/protos/ProtoRpc.js +1 -1
  34. package/package.json +4 -4
  35. package/protos/DhtRpc.proto +5 -15
  36. package/src/connection/ConnectionManager.ts +15 -3
  37. package/src/connection/ConnectivityChecker.ts +25 -23
  38. package/src/connection/WebRTC/WebRtcConnector.ts +14 -0
  39. package/src/connection/WebSocket/WebSocketConnector.ts +22 -12
  40. package/src/connection/WebSocket/WebSocketServer.ts +31 -19
  41. package/src/dht/DhtNode.ts +13 -7
  42. package/src/dht/discovery/PeerDiscovery.ts +17 -8
  43. package/src/exports.ts +1 -1
  44. package/src/helpers/errors.ts +1 -1
  45. package/src/helpers/protoClasses.ts +1 -5
  46. package/src/proto/google/protobuf/any.ts +1 -1
  47. package/src/proto/google/protobuf/empty.ts +1 -1
  48. package/src/proto/google/protobuf/timestamp.ts +1 -1
  49. package/src/proto/packages/dht/protos/DhtRpc.client.ts +1 -1
  50. package/src/proto/packages/dht/protos/DhtRpc.server.ts +1 -1
  51. package/src/proto/packages/dht/protos/DhtRpc.ts +17 -69
  52. package/src/proto/packages/proto-rpc/protos/ProtoRpc.ts +1 -1
  53. package/test/end-to-end/Layer0-Layer1.test.ts +1 -1
  54. package/test/end-to-end/Layer0.test.ts +1 -1
  55. package/test/end-to-end/Layer0MixedConnectionTypes.test.ts +1 -1
  56. package/test/end-to-end/Layer0WebRTC-Layer1.test.ts +3 -2
  57. package/test/end-to-end/Layer0WebRTC.test.ts +1 -1
  58. package/test/end-to-end/Layer1-Scale-WebRTC.test.ts +1 -1
  59. package/test/end-to-end/Layer1-Scale-WebSocket.test.ts +1 -1
  60. package/test/end-to-end/WebSocketConnectionRequest.test.ts +1 -1
  61. package/test/integration/ConnectionManager.test.ts +9 -9
  62. package/test/integration/SimultaneousConnections.test.ts +9 -6
  63. package/test/integration/WebSocketConnectionManagement.test.ts +3 -2
  64. package/test/unit/webrtcReplaceInternalIpWithExternalIp.ts +18 -0
@@ -234,48 +234,18 @@ export interface PeerDescriptor {
234
234
  * @generated from protobuf message dht.ConnectivityMethod
235
235
  */
236
236
  export interface ConnectivityMethod {
237
- /**
238
- * @generated from protobuf field: uint32 port = 2;
239
- */
240
- port: number;
241
- /**
242
- * @generated from protobuf field: string ip = 3;
243
- */
244
- ip: string;
245
- }
246
- /**
247
- * @generated from protobuf message dht.ConnectivityReportRequest
248
- */
249
- export interface ConnectivityReportRequest {
250
237
  /**
251
238
  * @generated from protobuf field: uint32 port = 1;
252
239
  */
253
240
  port: number;
254
241
  /**
255
- * @generated from protobuf field: string requestId = 2;
256
- */
257
- requestId: string;
258
- }
259
- /**
260
- * @generated from protobuf message dht.ConnectivityReportResponse
261
- */
262
- export interface ConnectivityReportResponse {
263
- /**
264
- * @generated from protobuf field: string open_internet = 1;
265
- */
266
- openInternet: string;
267
- /**
268
- * @generated from protobuf field: string ip = 2;
242
+ * @generated from protobuf field: string host = 2;
269
243
  */
270
- ip: string;
244
+ host: string;
271
245
  /**
272
- * @generated from protobuf field: string natType = 3;
246
+ * @generated from protobuf field: bool tls = 3;
273
247
  */
274
- natType: string;
275
- /**
276
- * @generated from protobuf field: string requestId = 4;
277
- */
278
- requestId: string;
248
+ tls: boolean;
279
249
  }
280
250
  /**
281
251
  * @generated from protobuf message dht.RouteMessageWrapper
@@ -339,6 +309,10 @@ export interface ConnectivityRequest {
339
309
  * @generated from protobuf field: uint32 port = 1;
340
310
  */
341
311
  port: number;
312
+ /**
313
+ * @generated from protobuf field: bool tls = 2;
314
+ */
315
+ tls: boolean;
342
316
  }
343
317
  /**
344
318
  * @generated from protobuf message dht.ConnectivityResponse
@@ -349,9 +323,9 @@ export interface ConnectivityResponse {
349
323
  */
350
324
  openInternet: boolean;
351
325
  /**
352
- * @generated from protobuf field: string ip = 2;
326
+ * @generated from protobuf field: string host = 2;
353
327
  */
354
- ip: string;
328
+ host: string;
355
329
  /**
356
330
  * @generated from protobuf field: string natType = 3;
357
331
  */
@@ -900,20 +874,6 @@ declare class ConnectivityMethod$Type extends MessageType$<ConnectivityMethod> {
900
874
  * @generated MessageType for protobuf message dht.ConnectivityMethod
901
875
  */
902
876
  export declare const ConnectivityMethod: ConnectivityMethod$Type;
903
- declare class ConnectivityReportRequest$Type extends MessageType$<ConnectivityReportRequest> {
904
- constructor();
905
- }
906
- /**
907
- * @generated MessageType for protobuf message dht.ConnectivityReportRequest
908
- */
909
- export declare const ConnectivityReportRequest: ConnectivityReportRequest$Type;
910
- declare class ConnectivityReportResponse$Type extends MessageType$<ConnectivityReportResponse> {
911
- constructor();
912
- }
913
- /**
914
- * @generated MessageType for protobuf message dht.ConnectivityReportResponse
915
- */
916
- export declare const ConnectivityReportResponse: ConnectivityReportResponse$Type;
917
877
  declare class RouteMessageWrapper$Type extends MessageType$<RouteMessageWrapper> {
918
878
  constructor();
919
879
  }
@@ -1,8 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ConnectionLocker = exports.WebRtcConnectorService = exports.WebSocketConnectorService = exports.RecursiveFindSessionService = exports.StoreService = exports.RoutingService = exports.DhtRpcService = exports.FindDataResponse = exports.FindDataRequest = exports.DisconnectNoticeResponse = exports.DisconnectNotice = exports.LockResponse = exports.UnlockRequest = exports.LockRequest = exports.IceCandidate = exports.RtcAnswer = exports.RtcOffer = exports.WebRtcConnectionRequest = exports.WebSocketConnectionResponse = exports.WebSocketConnectionRequest = exports.Message = exports.HandshakeResponse = exports.HandshakeRequest = exports.ConnectivityResponse = exports.ConnectivityRequest = exports.RouteMessageAck = exports.RouteMessageWrapper = exports.ConnectivityReportResponse = exports.ConnectivityReportRequest = exports.ConnectivityMethod = exports.PeerDescriptor = exports.LeaveNotice = exports.PingResponse = exports.PingRequest = exports.RecursiveFindReport = exports.RecursiveFindRequest = exports.ClosestPeersResponse = exports.ClosestPeersRequest = exports.DataEntry = exports.DeleteDataResponse = exports.DeleteDataRequest = exports.MigrateDataResponse = exports.MigrateDataRequest = exports.StoreDataResponse = exports.StoreDataRequest = exports.DisconnectMode = exports.MessageType = exports.RpcResponseError = exports.NodeType = exports.FindMode = void 0;
4
- exports.ExternalApiService = void 0;
5
- // @generated by protobuf-ts 2.8.2 with parameter server_generic,generate_dependencies,long_type_number
3
+ exports.ExternalApiService = exports.ConnectionLocker = exports.WebRtcConnectorService = exports.WebSocketConnectorService = exports.RecursiveFindSessionService = exports.StoreService = exports.RoutingService = exports.DhtRpcService = exports.FindDataResponse = exports.FindDataRequest = exports.DisconnectNoticeResponse = exports.DisconnectNotice = exports.LockResponse = exports.UnlockRequest = exports.LockRequest = exports.IceCandidate = exports.RtcAnswer = exports.RtcOffer = exports.WebRtcConnectionRequest = exports.WebSocketConnectionResponse = exports.WebSocketConnectionRequest = exports.Message = exports.HandshakeResponse = exports.HandshakeRequest = exports.ConnectivityResponse = exports.ConnectivityRequest = exports.RouteMessageAck = exports.RouteMessageWrapper = exports.ConnectivityMethod = exports.PeerDescriptor = exports.LeaveNotice = exports.PingResponse = exports.PingRequest = exports.RecursiveFindReport = exports.RecursiveFindRequest = exports.ClosestPeersResponse = exports.ClosestPeersRequest = exports.DataEntry = exports.DeleteDataResponse = exports.DeleteDataRequest = exports.MigrateDataResponse = exports.MigrateDataRequest = exports.StoreDataResponse = exports.StoreDataRequest = exports.DisconnectMode = exports.MessageType = exports.RpcResponseError = exports.NodeType = exports.FindMode = void 0;
4
+ // @generated by protobuf-ts 2.9.1 with parameter server_generic,generate_dependencies,long_type_number
6
5
  // @generated from protobuf file "packages/dht/protos/DhtRpc.proto" (package "dht", syntax proto3)
7
6
  // tslint:disable
8
7
  const empty_1 = require("../../../google/protobuf/empty");
@@ -317,8 +316,9 @@ exports.PeerDescriptor = new PeerDescriptor$Type();
317
316
  class ConnectivityMethod$Type extends runtime_1.MessageType {
318
317
  constructor() {
319
318
  super("dht.ConnectivityMethod", [
320
- { no: 2, name: "port", kind: "scalar", T: 13 /*ScalarType.UINT32*/ },
321
- { no: 3, name: "ip", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
319
+ { no: 1, name: "port", kind: "scalar", T: 13 /*ScalarType.UINT32*/ },
320
+ { no: 2, name: "host", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
321
+ { no: 3, name: "tls", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
322
322
  ]);
323
323
  }
324
324
  }
@@ -327,34 +327,6 @@ class ConnectivityMethod$Type extends runtime_1.MessageType {
327
327
  */
328
328
  exports.ConnectivityMethod = new ConnectivityMethod$Type();
329
329
  // @generated message type with reflection information, may provide speed optimized methods
330
- class ConnectivityReportRequest$Type extends runtime_1.MessageType {
331
- constructor() {
332
- super("dht.ConnectivityReportRequest", [
333
- { no: 1, name: "port", kind: "scalar", T: 13 /*ScalarType.UINT32*/ },
334
- { no: 2, name: "requestId", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
335
- ]);
336
- }
337
- }
338
- /**
339
- * @generated MessageType for protobuf message dht.ConnectivityReportRequest
340
- */
341
- exports.ConnectivityReportRequest = new ConnectivityReportRequest$Type();
342
- // @generated message type with reflection information, may provide speed optimized methods
343
- class ConnectivityReportResponse$Type extends runtime_1.MessageType {
344
- constructor() {
345
- super("dht.ConnectivityReportResponse", [
346
- { no: 1, name: "open_internet", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
347
- { no: 2, name: "ip", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
348
- { no: 3, name: "natType", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
349
- { no: 4, name: "requestId", kind: "scalar", T: 9 /*ScalarType.STRING*/ }
350
- ]);
351
- }
352
- }
353
- /**
354
- * @generated MessageType for protobuf message dht.ConnectivityReportResponse
355
- */
356
- exports.ConnectivityReportResponse = new ConnectivityReportResponse$Type();
357
- // @generated message type with reflection information, may provide speed optimized methods
358
330
  class RouteMessageWrapper$Type extends runtime_1.MessageType {
359
331
  constructor() {
360
332
  super("dht.RouteMessageWrapper", [
@@ -391,7 +363,8 @@ exports.RouteMessageAck = new RouteMessageAck$Type();
391
363
  class ConnectivityRequest$Type extends runtime_1.MessageType {
392
364
  constructor() {
393
365
  super("dht.ConnectivityRequest", [
394
- { no: 1, name: "port", kind: "scalar", T: 13 /*ScalarType.UINT32*/ }
366
+ { no: 1, name: "port", kind: "scalar", T: 13 /*ScalarType.UINT32*/ },
367
+ { no: 2, name: "tls", kind: "scalar", T: 8 /*ScalarType.BOOL*/ }
395
368
  ]);
396
369
  }
397
370
  }
@@ -404,7 +377,7 @@ class ConnectivityResponse$Type extends runtime_1.MessageType {
404
377
  constructor() {
405
378
  super("dht.ConnectivityResponse", [
406
379
  { no: 1, name: "open_internet", kind: "scalar", T: 8 /*ScalarType.BOOL*/ },
407
- { no: 2, name: "ip", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
380
+ { no: 2, name: "host", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
408
381
  { no: 3, name: "natType", kind: "scalar", T: 9 /*ScalarType.STRING*/ },
409
382
  { no: 4, name: "websocket", kind: "message", T: () => exports.ConnectivityMethod }
410
383
  ]);
@@ -1 +1 @@
1
- {"version":3,"file":"DhtRpc.js","sourceRoot":"","sources":["../../../../../../src/proto/packages/dht/protos/DhtRpc.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DhtRpc.js","sourceRoot":"","sources":["../../../../../../src/proto/packages/dht/protos/DhtRpc.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,7 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Mnfo2uhnf92hvqi2nviouq2hv9puhq = exports.RpcMessage = exports.RpcErrorType = void 0;
4
- // @generated by protobuf-ts 2.8.2 with parameter server_generic,generate_dependencies,long_type_number
4
+ // @generated by protobuf-ts 2.9.1 with parameter server_generic,generate_dependencies,long_type_number
5
5
  // @generated from protobuf file "packages/proto-rpc/protos/ProtoRpc.proto" (package "protorpc", syntax proto3)
6
6
  // tslint:disable
7
7
  const runtime_1 = require("@protobuf-ts/runtime");
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@streamr/dht",
3
- "version": "0.0.1-tatum.1",
3
+ "version": "0.0.1-tatum.2",
4
4
  "description": "Streamr Network DHT",
5
5
  "repository": {
6
6
  "type": "git",
@@ -31,8 +31,8 @@
31
31
  "dependencies": {
32
32
  "@protobuf-ts/runtime": "^2.8.2",
33
33
  "@protobuf-ts/runtime-rpc": "^2.8.2",
34
- "@streamr/proto-rpc": "0.0.1-tatum.1",
35
- "@streamr/utils": "0.0.1-tatum.1",
34
+ "@streamr/proto-rpc": "0.0.1-tatum.2",
35
+ "@streamr/utils": "0.0.1-tatum.2",
36
36
  "eventemitter3": "^5.0.0",
37
37
  "heap": "^0.2.6",
38
38
  "ipaddr.js": "^2.0.1",
@@ -45,7 +45,7 @@
45
45
  },
46
46
  "devDependencies": {
47
47
  "@streamr/browser-test-runner": "^0.0.1",
48
- "@streamr/test-utils": "0.0.1-tatum.1",
48
+ "@streamr/test-utils": "0.0.1-tatum.2",
49
49
  "@types/express": "^4.17.13",
50
50
  "@types/heap": "^0.2.28",
51
51
  "@types/k-bucket": "^5.0.1",
@@ -142,8 +142,9 @@ message PeerDescriptor {
142
142
  }
143
143
 
144
144
  message ConnectivityMethod {
145
- uint32 port = 2;
146
- string ip = 3;
145
+ uint32 port = 1;
146
+ string host = 2;
147
+ bool tls = 3;
147
148
  }
148
149
 
149
150
  enum NodeType {
@@ -152,18 +153,6 @@ enum NodeType {
152
153
  VIRTUAL = 3;
153
154
  }
154
155
 
155
- message ConnectivityReportRequest {
156
- uint32 port = 1;
157
- string requestId = 2;
158
- }
159
-
160
- message ConnectivityReportResponse {
161
- string open_internet = 1;
162
- string ip = 2;
163
- string natType = 3;
164
- string requestId = 4;
165
- }
166
-
167
156
  enum RpcResponseError {
168
157
  SERVER_TIMOUT = 0;
169
158
  CLIENT_TIMEOUT = 1;
@@ -192,11 +181,12 @@ message RouteMessageAck {
192
181
 
193
182
  message ConnectivityRequest {
194
183
  uint32 port = 1;
184
+ bool tls = 2;
195
185
  }
196
186
 
197
187
  message ConnectivityResponse {
198
188
  bool open_internet = 1;
199
- string ip = 2;
189
+ string host = 2;
200
190
  string natType = 3;
201
191
  ConnectivityMethod websocket = 4;
202
192
  }
@@ -8,6 +8,7 @@ import {
8
8
  LockResponse,
9
9
  Message,
10
10
  MessageType,
11
+ NodeType,
11
12
  PeerDescriptor,
12
13
  UnlockRequest
13
14
  } from '../proto/packages/dht/protos/DhtRpc'
@@ -51,7 +52,9 @@ export class ConnectionManagerConfig {
51
52
  webrtcDatachannelBufferThresholdLow?: number
52
53
  webrtcDatachannelBufferThresholdHigh?: number
53
54
  webrtcNewConnectionTimeout?: number
55
+ externalIp?: string
54
56
  webrtcPortRange?: PortRange
57
+ tlsCertificate?: TlsCertificate
55
58
 
56
59
  // the following fields are used in simulation only
57
60
  simulator?: Simulator
@@ -113,6 +116,11 @@ export interface PortRange {
113
116
  max: number
114
117
  }
115
118
 
119
+ export interface TlsCertificate {
120
+ privateKeyFileName: string
121
+ certFileName: string
122
+ }
123
+
116
124
  export type Events = TransportEvents & ConnectionManagerEvents
117
125
 
118
126
  export class ConnectionManager extends EventEmitter<Events> implements ITransport, ConnectionLocker {
@@ -167,7 +175,8 @@ export class ConnectionManager extends EventEmitter<Events> implements ITranspor
167
175
  this.incomingConnectionCallback,
168
176
  this.config.websocketPortRange,
169
177
  this.config.websocketHost,
170
- this.config.entryPoints
178
+ this.config.entryPoints,
179
+ this.config.tlsCertificate
171
180
  )
172
181
  logger.trace(`Creating WebRTCConnector`)
173
182
  this.webrtcConnector = new WebRtcConnector({
@@ -178,6 +187,7 @@ export class ConnectionManager extends EventEmitter<Events> implements ITranspor
178
187
  bufferThresholdLow: this.config.webrtcDatachannelBufferThresholdLow,
179
188
  bufferThresholdHigh: this.config.webrtcDatachannelBufferThresholdHigh,
180
189
  connectionTimeout: this.config.webrtcNewConnectionTimeout,
190
+ externalIp: this.config.externalIp,
181
191
  portRange: this.config.webrtcPortRange
182
192
  }, this.incomingConnectionCallback)
183
193
  }
@@ -341,7 +351,7 @@ export class ConnectionManager extends EventEmitter<Events> implements ITranspor
341
351
  private isOwnWebSocketServer(peerDescriptor: PeerDescriptor): boolean {
342
352
  if ((peerDescriptor.websocket !== undefined) && (this.ownPeerDescriptor!.websocket !== undefined)) {
343
353
  return ((peerDescriptor.websocket.port === this.ownPeerDescriptor!.websocket!.port)
344
- && (peerDescriptor.websocket.ip === this.ownPeerDescriptor!.websocket.ip))
354
+ && (peerDescriptor.websocket.host === this.ownPeerDescriptor!.websocket.host))
345
355
  } else {
346
356
  return false
347
357
  }
@@ -351,7 +361,9 @@ export class ConnectionManager extends EventEmitter<Events> implements ITranspor
351
361
  if (this.simulatorConnector) {
352
362
  return this.simulatorConnector.connect(peerDescriptor)
353
363
  } else if (peerDescriptor.websocket || this.ownPeerDescriptor!.websocket) {
354
- return this.webSocketConnector!.connect(peerDescriptor)
364
+ if (!(peerDescriptor.type === NodeType.BROWSER && this.ownPeerDescriptor!.websocket?.tls)) {
365
+ return this.webSocketConnector!.connect(peerDescriptor)
366
+ }
355
367
  }
356
368
  return this.webrtcConnector!.connect(peerDescriptor)
357
369
  }
@@ -1,4 +1,5 @@
1
1
  import {
2
+ ConnectivityMethod,
2
3
  ConnectivityRequest, ConnectivityResponse,
3
4
  Message, MessageType, PeerDescriptor
4
5
  } from '../proto/packages/dht/protos/DhtRpc'
@@ -9,6 +10,7 @@ import { ClientWebSocket } from './WebSocket/ClientWebSocket'
9
10
  import { v4 } from 'uuid'
10
11
  import { NatType } from './ConnectionManager'
11
12
  import { ServerWebSocket } from './WebSocket/ServerWebSocket'
13
+ import { connectivityMethodToWebSocketUrl } from './WebSocket/WebSocketConnector'
12
14
 
13
15
  const logger = new Logger(module)
14
16
 
@@ -22,10 +24,12 @@ export class ConnectivityChecker {
22
24
  private static readonly CONNECTIVITY_CHECKER_SERVICE_ID = 'system/connectivitychecker'
23
25
  private static readonly CONNECTIVITY_CHECKER_TIMEOUT = 5000
24
26
  private destroyed = false
25
- private webSocketPort?: number
27
+ private readonly webSocketPort: number
28
+ private readonly tls: boolean
26
29
 
27
- constructor(webSocketPort?: number) {
30
+ constructor(webSocketPort: number, tls: boolean) {
28
31
  this.webSocketPort = webSocketPort
32
+ this.tls = tls
29
33
  }
30
34
 
31
35
  public async sendConnectivityRequest(entryPoint: PeerDescriptor): Promise<ConnectivityResponse> {
@@ -35,15 +39,18 @@ export class ConnectivityChecker {
35
39
  let outgoingConnection: IConnection
36
40
  try {
37
41
  outgoingConnection = await this.connectAsync({
38
- host: entryPoint.websocket?.ip, port: entryPoint.websocket?.port, timeoutMs: 1000,
42
+ wsServerInfo: {
43
+ host: entryPoint.websocket!.host,
44
+ port: entryPoint.websocket!.port,
45
+ tls: entryPoint.websocket!.tls,
46
+ },
39
47
  mode: ConnectionMode.REQUEST
40
48
  })
41
49
  } catch (e) {
42
- logger.error('Failed to connect to the entrypoints')
43
50
  throw new Err.ConnectionFailed('Failed to connect to the entrypoints', e)
44
51
  }
45
52
  // send connectivity request
46
- const connectivityRequestMessage: ConnectivityRequest = { port: this.webSocketPort! }
53
+ const connectivityRequestMessage: ConnectivityRequest = { port: this.webSocketPort, tls: this.tls }
47
54
  const msg: Message = {
48
55
  serviceId: ConnectivityChecker.CONNECTIVITY_CHECKER_SERVICE_ID,
49
56
  messageType: MessageType.CONNECTIVITY_REQUEST, messageId: v4(),
@@ -112,14 +119,18 @@ export class ConnectivityChecker {
112
119
  let connectivityResponseMessage: ConnectivityResponse | undefined
113
120
  try {
114
121
  outgoingConnection = await this.connectAsync({
115
- host: connection.getRemoteAddress(),
116
- port: connectivityRequest.port, timeoutMs: 1000, mode: ConnectionMode.PROBE
122
+ wsServerInfo: {
123
+ host: connection.getRemoteAddress(),
124
+ port: connectivityRequest.port,
125
+ tls: connectivityRequest.tls
126
+ },
127
+ mode: ConnectionMode.PROBE
117
128
  })
118
129
  } catch (err) {
119
130
  logger.debug('error', { err })
120
131
  connectivityResponseMessage = {
121
132
  openInternet: false,
122
- ip: connection.getRemoteAddress(),
133
+ host: connection.getRemoteAddress(),
123
134
  natType: NatType.UNKNOWN
124
135
  }
125
136
  }
@@ -128,9 +139,9 @@ export class ConnectivityChecker {
128
139
  logger.trace('Connectivity test produced positive result, communicating reply to the requester')
129
140
  connectivityResponseMessage = {
130
141
  openInternet: true,
131
- ip: connection.getRemoteAddress(),
142
+ host: connection.getRemoteAddress(),
132
143
  natType: NatType.OPEN_INTERNET,
133
- websocket: { ip: connection.getRemoteAddress(), port: connectivityRequest.port }
144
+ websocket: { host: connection.getRemoteAddress(), port: connectivityRequest.port, tls: connectivityRequest.tls }
134
145
  }
135
146
  }
136
147
  const msg: Message = {
@@ -145,24 +156,15 @@ export class ConnectivityChecker {
145
156
  }
146
157
 
147
158
  // eslint-disable-next-line class-methods-use-this
148
- private async connectAsync({ host, port, url, timeoutMs, mode }:
149
- { host?: string, port?: number, url?: string, timeoutMs: number, mode: ConnectionMode } =
150
- { timeoutMs: 1000, mode: ConnectionMode.REQUEST }
159
+ private async connectAsync({ wsServerInfo, mode, timeoutMs = 1000, }:
160
+ { wsServerInfo: ConnectivityMethod, mode: ConnectionMode, timeoutMs?: number }
151
161
  ): Promise<IConnection> {
152
162
  const socket = new ClientWebSocket()
153
- let address = ''
154
- if (url) {
155
- address = url
156
- } else if (host && port) {
157
- address = 'ws://' + host + ':' + port
158
- }
159
-
160
- address += '?' + mode + '=true'
161
-
163
+ const url = `${connectivityMethodToWebSocketUrl(wsServerInfo)}?${mode}=true`
162
164
  let result: RunAndRaceEventsReturnType<ConnectionEvents>
163
165
  try {
164
166
  result = await runAndRaceEvents3<ConnectionEvents>([
165
- () => { socket.connect(address) }],
167
+ () => { socket.connect(url) }],
166
168
  socket, ['connected', 'error'],
167
169
  timeoutMs)
168
170
  } catch (e) {
@@ -28,6 +28,15 @@ import { PortRange } from '../ConnectionManager'
28
28
 
29
29
  const logger = new Logger(module)
30
30
 
31
+ export const replaceInternalIpWithExternalIp = (candidate: string, ip: string): string => {
32
+ const parsed = candidate.split(' ')
33
+ const type = parsed[7]
34
+ if (type === 'host') {
35
+ parsed[4] = ip
36
+ }
37
+ return parsed.join(' ')
38
+ }
39
+
31
40
  export interface WebRtcConnectorConfig {
32
41
  rpcTransport: ITransport
33
42
  protocolVersion: string
@@ -36,6 +45,7 @@ export interface WebRtcConnectorConfig {
36
45
  bufferThresholdLow?: number
37
46
  bufferThresholdHigh?: number
38
47
  connectionTimeout?: number
48
+ externalIp?: string
39
49
  portRange?: PortRange
40
50
  }
41
51
 
@@ -131,6 +141,10 @@ export class WebRtcConnector implements IWebRtcConnectorService {
131
141
  )
132
142
 
133
143
  connection.on('localCandidate', (candidate: string, mid: string) => {
144
+ if (this.config.externalIp) {
145
+ candidate = replaceInternalIpWithExternalIp(candidate, this.config.externalIp)
146
+ logger.debug(`onLocalCandidate injected external ip ${candidate} ${mid}`)
147
+ }
134
148
  remoteConnector.sendIceCandidate(this.ownPeerDescriptor!, candidate, mid, connection.connectionId.toString())
135
149
  })
136
150