@streamr/dht 103.1.2 → 103.2.0-experiment.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.
Files changed (303) hide show
  1. package/dist/exports-browser.cjs +7636 -0
  2. package/dist/exports-browser.cjs.map +1 -0
  3. package/dist/exports-browser.d.ts +1321 -0
  4. package/dist/exports-browser.js +7611 -0
  5. package/dist/exports-browser.js.map +1 -0
  6. package/dist/exports-nodejs.cjs +7833 -0
  7. package/dist/exports-nodejs.cjs.map +1 -0
  8. package/dist/exports-nodejs.d.ts +1321 -0
  9. package/dist/exports-nodejs.js +7808 -0
  10. package/dist/exports-nodejs.js.map +1 -0
  11. package/package.json +41 -25
  12. package/dist/generated/google/protobuf/any.d.ts +0 -180
  13. package/dist/generated/google/protobuf/any.js +0 -155
  14. package/dist/generated/google/protobuf/any.js.map +0 -1
  15. package/dist/generated/google/protobuf/empty.d.ts +0 -31
  16. package/dist/generated/google/protobuf/empty.js +0 -45
  17. package/dist/generated/google/protobuf/empty.js.map +0 -1
  18. package/dist/generated/google/protobuf/timestamp.d.ts +0 -156
  19. package/dist/generated/google/protobuf/timestamp.js +0 -136
  20. package/dist/generated/google/protobuf/timestamp.js.map +0 -1
  21. package/dist/generated/packages/dht/protos/DhtRpc.client.d.ts +0 -371
  22. package/dist/generated/packages/dht/protos/DhtRpc.client.js +0 -292
  23. package/dist/generated/packages/dht/protos/DhtRpc.client.js.map +0 -1
  24. package/dist/generated/packages/dht/protos/DhtRpc.d.ts +0 -1031
  25. package/dist/generated/packages/dht/protos/DhtRpc.js +0 -702
  26. package/dist/generated/packages/dht/protos/DhtRpc.js.map +0 -1
  27. package/dist/generated/packages/dht/protos/DhtRpc.server.d.ts +0 -168
  28. package/dist/generated/packages/dht/protos/DhtRpc.server.js +0 -3
  29. package/dist/generated/packages/dht/protos/DhtRpc.server.js.map +0 -1
  30. package/dist/generated/packages/proto-rpc/protos/ProtoRpc.d.ts +0 -87
  31. package/dist/generated/packages/proto-rpc/protos/ProtoRpc.js +0 -66
  32. package/dist/generated/packages/proto-rpc/protos/ProtoRpc.js.map +0 -1
  33. package/dist/package.json +0 -61
  34. package/dist/src/connection/Connection.d.ts +0 -12
  35. package/dist/src/connection/Connection.js +0 -30
  36. package/dist/src/connection/Connection.js.map +0 -1
  37. package/dist/src/connection/ConnectionLockRpcLocal.d.ts +0 -22
  38. package/dist/src/connection/ConnectionLockRpcLocal.js +0 -54
  39. package/dist/src/connection/ConnectionLockRpcLocal.js.map +0 -1
  40. package/dist/src/connection/ConnectionLockRpcRemote.d.ts +0 -10
  41. package/dist/src/connection/ConnectionLockRpcRemote.js +0 -61
  42. package/dist/src/connection/ConnectionLockRpcRemote.js.map +0 -1
  43. package/dist/src/connection/ConnectionLockStates.d.ts +0 -27
  44. package/dist/src/connection/ConnectionLockStates.js +0 -114
  45. package/dist/src/connection/ConnectionLockStates.js.map +0 -1
  46. package/dist/src/connection/ConnectionManager.d.ts +0 -85
  47. package/dist/src/connection/ConnectionManager.js +0 -569
  48. package/dist/src/connection/ConnectionManager.js.map +0 -1
  49. package/dist/src/connection/ConnectionsView.d.ts +0 -7
  50. package/dist/src/connection/ConnectionsView.js +0 -3
  51. package/dist/src/connection/ConnectionsView.js.map +0 -1
  52. package/dist/src/connection/ConnectorFacade.d.ts +0 -58
  53. package/dist/src/connection/ConnectorFacade.js +0 -154
  54. package/dist/src/connection/ConnectorFacade.js.map +0 -1
  55. package/dist/src/connection/Handshaker.d.ts +0 -27
  56. package/dist/src/connection/Handshaker.js +0 -179
  57. package/dist/src/connection/Handshaker.js.map +0 -1
  58. package/dist/src/connection/IConnection.d.ts +0 -32
  59. package/dist/src/connection/IConnection.js +0 -12
  60. package/dist/src/connection/IConnection.js.map +0 -1
  61. package/dist/src/connection/ManagedConnection.d.ts +0 -30
  62. package/dist/src/connection/ManagedConnection.js +0 -129
  63. package/dist/src/connection/ManagedConnection.js.map +0 -1
  64. package/dist/src/connection/OutputBuffer.d.ts +0 -9
  65. package/dist/src/connection/OutputBuffer.js +0 -26
  66. package/dist/src/connection/OutputBuffer.js.map +0 -1
  67. package/dist/src/connection/PendingConnection.d.ts +0 -19
  68. package/dist/src/connection/PendingConnection.js +0 -59
  69. package/dist/src/connection/PendingConnection.js.map +0 -1
  70. package/dist/src/connection/connectivityChecker.d.ts +0 -9
  71. package/dist/src/connection/connectivityChecker.js +0 -138
  72. package/dist/src/connection/connectivityChecker.js.map +0 -1
  73. package/dist/src/connection/connectivityRequestHandler.d.ts +0 -4
  74. package/dist/src/connection/connectivityRequestHandler.js +0 -108
  75. package/dist/src/connection/connectivityRequestHandler.js.map +0 -1
  76. package/dist/src/connection/simulator/Simulator.d.ts +0 -36
  77. package/dist/src/connection/simulator/Simulator.js +0 -290
  78. package/dist/src/connection/simulator/Simulator.js.map +0 -1
  79. package/dist/src/connection/simulator/SimulatorConnection.d.ts +0 -18
  80. package/dist/src/connection/simulator/SimulatorConnection.js +0 -123
  81. package/dist/src/connection/simulator/SimulatorConnection.js.map +0 -1
  82. package/dist/src/connection/simulator/SimulatorConnector.d.ts +0 -16
  83. package/dist/src/connection/simulator/SimulatorConnector.js +0 -80
  84. package/dist/src/connection/simulator/SimulatorConnector.js.map +0 -1
  85. package/dist/src/connection/simulator/SimulatorTransport.d.ts +0 -6
  86. package/dist/src/connection/simulator/SimulatorTransport.js +0 -17
  87. package/dist/src/connection/simulator/SimulatorTransport.js.map +0 -1
  88. package/dist/src/connection/simulator/pings.d.ts +0 -21
  89. package/dist/src/connection/simulator/pings.js +0 -61
  90. package/dist/src/connection/simulator/pings.js.map +0 -1
  91. package/dist/src/connection/webrtc/BrowserWebrtcConnection.d.ts +0 -37
  92. package/dist/src/connection/webrtc/BrowserWebrtcConnection.js +0 -229
  93. package/dist/src/connection/webrtc/BrowserWebrtcConnection.js.map +0 -1
  94. package/dist/src/connection/webrtc/IWebrtcConnection.d.ts +0 -21
  95. package/dist/src/connection/webrtc/IWebrtcConnection.js +0 -9
  96. package/dist/src/connection/webrtc/IWebrtcConnection.js.map +0 -1
  97. package/dist/src/connection/webrtc/NodeWebrtcConnection.d.ts +0 -45
  98. package/dist/src/connection/webrtc/NodeWebrtcConnection.js +0 -229
  99. package/dist/src/connection/webrtc/NodeWebrtcConnection.js.map +0 -1
  100. package/dist/src/connection/webrtc/WebrtcConnector.d.ts +0 -43
  101. package/dist/src/connection/webrtc/WebrtcConnector.js +0 -208
  102. package/dist/src/connection/webrtc/WebrtcConnector.js.map +0 -1
  103. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.d.ts +0 -26
  104. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js +0 -82
  105. package/dist/src/connection/webrtc/WebrtcConnectorRpcLocal.js.map +0 -1
  106. package/dist/src/connection/webrtc/WebrtcConnectorRpcRemote.d.ts +0 -8
  107. package/dist/src/connection/webrtc/WebrtcConnectorRpcRemote.js +0 -50
  108. package/dist/src/connection/webrtc/WebrtcConnectorRpcRemote.js.map +0 -1
  109. package/dist/src/connection/webrtc/iceServerAsString.d.ts +0 -2
  110. package/dist/src/connection/webrtc/iceServerAsString.js +0 -17
  111. package/dist/src/connection/webrtc/iceServerAsString.js.map +0 -1
  112. package/dist/src/connection/websocket/AbstractWebsocketClientConnection.d.ts +0 -27
  113. package/dist/src/connection/websocket/AbstractWebsocketClientConnection.js +0 -107
  114. package/dist/src/connection/websocket/AbstractWebsocketClientConnection.js.map +0 -1
  115. package/dist/src/connection/websocket/AutoCertifierClientFacade.d.ts +0 -26
  116. package/dist/src/connection/websocket/AutoCertifierClientFacade.js +0 -39
  117. package/dist/src/connection/websocket/AutoCertifierClientFacade.js.map +0 -1
  118. package/dist/src/connection/websocket/BrowserWebsocketClientConnection.d.ts +0 -7
  119. package/dist/src/connection/websocket/BrowserWebsocketClientConnection.js +0 -44
  120. package/dist/src/connection/websocket/BrowserWebsocketClientConnection.js.map +0 -1
  121. package/dist/src/connection/websocket/NodeWebsocketClientConnection.d.ts +0 -7
  122. package/dist/src/connection/websocket/NodeWebsocketClientConnection.js +0 -39
  123. package/dist/src/connection/websocket/NodeWebsocketClientConnection.js.map +0 -1
  124. package/dist/src/connection/websocket/WebsocketClientConnector.d.ts +0 -26
  125. package/dist/src/connection/websocket/WebsocketClientConnector.js +0 -86
  126. package/dist/src/connection/websocket/WebsocketClientConnector.js.map +0 -1
  127. package/dist/src/connection/websocket/WebsocketClientConnectorRpcLocal.d.ts +0 -18
  128. package/dist/src/connection/websocket/WebsocketClientConnectorRpcLocal.js +0 -23
  129. package/dist/src/connection/websocket/WebsocketClientConnectorRpcLocal.js.map +0 -1
  130. package/dist/src/connection/websocket/WebsocketClientConnectorRpcRemote.d.ts +0 -5
  131. package/dist/src/connection/websocket/WebsocketClientConnectorRpcRemote.js +0 -17
  132. package/dist/src/connection/websocket/WebsocketClientConnectorRpcRemote.js.map +0 -1
  133. package/dist/src/connection/websocket/WebsocketServer.d.ts +0 -25
  134. package/dist/src/connection/websocket/WebsocketServer.js +0 -146
  135. package/dist/src/connection/websocket/WebsocketServer.js.map +0 -1
  136. package/dist/src/connection/websocket/WebsocketServerConnection.d.ts +0 -22
  137. package/dist/src/connection/websocket/WebsocketServerConnection.js +0 -101
  138. package/dist/src/connection/websocket/WebsocketServerConnection.js.map +0 -1
  139. package/dist/src/connection/websocket/WebsocketServerConnector.d.ts +0 -44
  140. package/dist/src/connection/websocket/WebsocketServerConnector.js +0 -279
  141. package/dist/src/connection/websocket/WebsocketServerConnector.js.map +0 -1
  142. package/dist/src/dht/DhtNode.d.ts +0 -119
  143. package/dist/src/dht/DhtNode.js +0 -500
  144. package/dist/src/dht/DhtNode.js.map +0 -1
  145. package/dist/src/dht/DhtNodeRpcLocal.d.ts +0 -23
  146. package/dist/src/dht/DhtNodeRpcLocal.js +0 -54
  147. package/dist/src/dht/DhtNodeRpcLocal.js.map +0 -1
  148. package/dist/src/dht/DhtNodeRpcRemote.d.ts +0 -25
  149. package/dist/src/dht/DhtNodeRpcRemote.js +0 -83
  150. package/dist/src/dht/DhtNodeRpcRemote.js.map +0 -1
  151. package/dist/src/dht/ExternalApiRpcLocal.d.ts +0 -18
  152. package/dist/src/dht/ExternalApiRpcLocal.js +0 -32
  153. package/dist/src/dht/ExternalApiRpcLocal.js.map +0 -1
  154. package/dist/src/dht/ExternalApiRpcRemote.d.ts +0 -10
  155. package/dist/src/dht/ExternalApiRpcRemote.js +0 -58
  156. package/dist/src/dht/ExternalApiRpcRemote.js.map +0 -1
  157. package/dist/src/dht/PeerManager.d.ts +0 -63
  158. package/dist/src/dht/PeerManager.js +0 -251
  159. package/dist/src/dht/PeerManager.js.map +0 -1
  160. package/dist/src/dht/contact/Contact.d.ts +0 -8
  161. package/dist/src/dht/contact/Contact.js +0 -18
  162. package/dist/src/dht/contact/Contact.js.map +0 -1
  163. package/dist/src/dht/contact/ContactList.d.ts +0 -19
  164. package/dist/src/dht/contact/ContactList.js +0 -35
  165. package/dist/src/dht/contact/ContactList.js.map +0 -1
  166. package/dist/src/dht/contact/RandomContactList.d.ts +0 -11
  167. package/dist/src/dht/contact/RandomContactList.js +0 -47
  168. package/dist/src/dht/contact/RandomContactList.js.map +0 -1
  169. package/dist/src/dht/contact/RingContactList.d.ts +0 -28
  170. package/dist/src/dht/contact/RingContactList.js +0 -126
  171. package/dist/src/dht/contact/RingContactList.js.map +0 -1
  172. package/dist/src/dht/contact/RpcRemote.d.ts +0 -19
  173. package/dist/src/dht/contact/RpcRemote.js +0 -61
  174. package/dist/src/dht/contact/RpcRemote.js.map +0 -1
  175. package/dist/src/dht/contact/SortedContactList.d.ts +0 -37
  176. package/dist/src/dht/contact/SortedContactList.js +0 -134
  177. package/dist/src/dht/contact/SortedContactList.js.map +0 -1
  178. package/dist/src/dht/contact/getClosestNodes.d.ts +0 -6
  179. package/dist/src/dht/contact/getClosestNodes.js +0 -19
  180. package/dist/src/dht/contact/getClosestNodes.js.map +0 -1
  181. package/dist/src/dht/contact/ringIdentifiers.d.ts +0 -16
  182. package/dist/src/dht/contact/ringIdentifiers.js +0 -54
  183. package/dist/src/dht/contact/ringIdentifiers.js.map +0 -1
  184. package/dist/src/dht/discovery/DiscoverySession.d.ts +0 -29
  185. package/dist/src/dht/discovery/DiscoverySession.js +0 -102
  186. package/dist/src/dht/discovery/DiscoverySession.js.map +0 -1
  187. package/dist/src/dht/discovery/PeerDiscovery.d.ts +0 -42
  188. package/dist/src/dht/discovery/PeerDiscovery.js +0 -193
  189. package/dist/src/dht/discovery/PeerDiscovery.js.map +0 -1
  190. package/dist/src/dht/discovery/RingDiscoverySession.d.ts +0 -28
  191. package/dist/src/dht/discovery/RingDiscoverySession.js +0 -116
  192. package/dist/src/dht/discovery/RingDiscoverySession.js.map +0 -1
  193. package/dist/src/dht/recursive-operation/RecursiveOperationManager.d.ts +0 -38
  194. package/dist/src/dht/recursive-operation/RecursiveOperationManager.js +0 -165
  195. package/dist/src/dht/recursive-operation/RecursiveOperationManager.js.map +0 -1
  196. package/dist/src/dht/recursive-operation/RecursiveOperationRpcLocal.d.ts +0 -14
  197. package/dist/src/dht/recursive-operation/RecursiveOperationRpcLocal.js +0 -26
  198. package/dist/src/dht/recursive-operation/RecursiveOperationRpcLocal.js.map +0 -1
  199. package/dist/src/dht/recursive-operation/RecursiveOperationRpcRemote.d.ts +0 -6
  200. package/dist/src/dht/recursive-operation/RecursiveOperationRpcRemote.js +0 -44
  201. package/dist/src/dht/recursive-operation/RecursiveOperationRpcRemote.js.map +0 -1
  202. package/dist/src/dht/recursive-operation/RecursiveOperationSession.d.ts +0 -45
  203. package/dist/src/dht/recursive-operation/RecursiveOperationSession.js +0 -185
  204. package/dist/src/dht/recursive-operation/RecursiveOperationSession.js.map +0 -1
  205. package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.d.ts +0 -14
  206. package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.js +0 -20
  207. package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcLocal.js.map +0 -1
  208. package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcRemote.d.ts +0 -6
  209. package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcRemote.js +0 -21
  210. package/dist/src/dht/recursive-operation/RecursiveOperationSessionRpcRemote.js.map +0 -1
  211. package/dist/src/dht/routing/DuplicateDetector.d.ts +0 -10
  212. package/dist/src/dht/routing/DuplicateDetector.js +0 -31
  213. package/dist/src/dht/routing/DuplicateDetector.js.map +0 -1
  214. package/dist/src/dht/routing/Router.d.ts +0 -35
  215. package/dist/src/dht/routing/Router.js +0 -204
  216. package/dist/src/dht/routing/Router.js.map +0 -1
  217. package/dist/src/dht/routing/RouterRpcLocal.d.ts +0 -20
  218. package/dist/src/dht/routing/RouterRpcLocal.js +0 -67
  219. package/dist/src/dht/routing/RouterRpcLocal.js.map +0 -1
  220. package/dist/src/dht/routing/RouterRpcRemote.d.ts +0 -8
  221. package/dist/src/dht/routing/RouterRpcRemote.js +0 -81
  222. package/dist/src/dht/routing/RouterRpcRemote.js.map +0 -1
  223. package/dist/src/dht/routing/RoutingSession.d.ts +0 -56
  224. package/dist/src/dht/routing/RoutingSession.js +0 -201
  225. package/dist/src/dht/routing/RoutingSession.js.map +0 -1
  226. package/dist/src/dht/routing/RoutingTablesCache.d.ts +0 -24
  227. package/dist/src/dht/routing/RoutingTablesCache.js +0 -46
  228. package/dist/src/dht/routing/RoutingTablesCache.js.map +0 -1
  229. package/dist/src/dht/routing/getPreviousPeer.d.ts +0 -2
  230. package/dist/src/dht/routing/getPreviousPeer.js +0 -12
  231. package/dist/src/dht/routing/getPreviousPeer.js.map +0 -1
  232. package/dist/src/dht/store/LocalDataStore.d.ts +0 -14
  233. package/dist/src/dht/store/LocalDataStore.js +0 -78
  234. package/dist/src/dht/store/LocalDataStore.js.map +0 -1
  235. package/dist/src/dht/store/StoreManager.d.ts +0 -32
  236. package/dist/src/dht/store/StoreManager.js +0 -126
  237. package/dist/src/dht/store/StoreManager.js.map +0 -1
  238. package/dist/src/dht/store/StoreRpcLocal.d.ts +0 -21
  239. package/dist/src/dht/store/StoreRpcLocal.js +0 -65
  240. package/dist/src/dht/store/StoreRpcLocal.js.map +0 -1
  241. package/dist/src/dht/store/StoreRpcRemote.d.ts +0 -7
  242. package/dist/src/dht/store/StoreRpcRemote.js +0 -29
  243. package/dist/src/dht/store/StoreRpcRemote.js.map +0 -1
  244. package/dist/src/exports.d.ts +0 -25
  245. package/dist/src/exports.js +0 -48
  246. package/dist/src/exports.js.map +0 -1
  247. package/dist/src/helpers/AddressTools.d.ts +0 -2
  248. package/dist/src/helpers/AddressTools.js +0 -32
  249. package/dist/src/helpers/AddressTools.js.map +0 -1
  250. package/dist/src/helpers/Connectivity.d.ts +0 -4
  251. package/dist/src/helpers/Connectivity.js +0 -24
  252. package/dist/src/helpers/Connectivity.js.map +0 -1
  253. package/dist/src/helpers/browser/isBrowserEnvironment.d.ts +0 -1
  254. package/dist/src/helpers/browser/isBrowserEnvironment.js +0 -6
  255. package/dist/src/helpers/browser/isBrowserEnvironment.js.map +0 -1
  256. package/dist/src/helpers/browser/isBrowserEnvironment_override.d.ts +0 -1
  257. package/dist/src/helpers/browser/isBrowserEnvironment_override.js +0 -7
  258. package/dist/src/helpers/browser/isBrowserEnvironment_override.js.map +0 -1
  259. package/dist/src/helpers/createPeerDescriptor.d.ts +0 -3
  260. package/dist/src/helpers/createPeerDescriptor.js +0 -58
  261. package/dist/src/helpers/createPeerDescriptor.js.map +0 -1
  262. package/dist/src/helpers/createPeerDescriptorSignaturePayload.d.ts +0 -2
  263. package/dist/src/helpers/createPeerDescriptorSignaturePayload.js +0 -30
  264. package/dist/src/helpers/createPeerDescriptorSignaturePayload.js.map +0 -1
  265. package/dist/src/helpers/debugHelpers.d.ts +0 -3
  266. package/dist/src/helpers/debugHelpers.js +0 -11
  267. package/dist/src/helpers/debugHelpers.js.map +0 -1
  268. package/dist/src/helpers/errors.d.ts +0 -72
  269. package/dist/src/helpers/errors.js +0 -97
  270. package/dist/src/helpers/errors.js.map +0 -1
  271. package/dist/src/helpers/offering.d.ts +0 -4
  272. package/dist/src/helpers/offering.js +0 -18
  273. package/dist/src/helpers/offering.js.map +0 -1
  274. package/dist/src/helpers/protoClasses.d.ts +0 -2
  275. package/dist/src/helpers/protoClasses.js +0 -32
  276. package/dist/src/helpers/protoClasses.js.map +0 -1
  277. package/dist/src/helpers/protoToString.d.ts +0 -2
  278. package/dist/src/helpers/protoToString.js +0 -19
  279. package/dist/src/helpers/protoToString.js.map +0 -1
  280. package/dist/src/helpers/version.d.ts +0 -6
  281. package/dist/src/helpers/version.js +0 -38
  282. package/dist/src/helpers/version.js.map +0 -1
  283. package/dist/src/identifiers.d.ts +0 -10
  284. package/dist/src/identifiers.js +0 -31
  285. package/dist/src/identifiers.js.map +0 -1
  286. package/dist/src/rpc-protocol/DhtCallContext.d.ts +0 -12
  287. package/dist/src/rpc-protocol/DhtCallContext.js +0 -17
  288. package/dist/src/rpc-protocol/DhtCallContext.js.map +0 -1
  289. package/dist/src/rpc-protocol/DhtRpcOptions.d.ts +0 -10
  290. package/dist/src/rpc-protocol/DhtRpcOptions.js +0 -3
  291. package/dist/src/rpc-protocol/DhtRpcOptions.js.map +0 -1
  292. package/dist/src/transport/ITransport.d.ts +0 -31
  293. package/dist/src/transport/ITransport.js +0 -9
  294. package/dist/src/transport/ITransport.js.map +0 -1
  295. package/dist/src/transport/ListeningRpcCommunicator.d.ts +0 -11
  296. package/dist/src/transport/ListeningRpcCommunicator.js +0 -31
  297. package/dist/src/transport/ListeningRpcCommunicator.js.map +0 -1
  298. package/dist/src/transport/RoutingRpcCommunicator.d.ts +0 -10
  299. package/dist/src/transport/RoutingRpcCommunicator.js +0 -60
  300. package/dist/src/transport/RoutingRpcCommunicator.js.map +0 -1
  301. package/dist/src/types/ServiceID.d.ts +0 -1
  302. package/dist/src/types/ServiceID.js +0 -3
  303. package/dist/src/types/ServiceID.js.map +0 -1
@@ -1,26 +0,0 @@
1
- import { CertifiedSubdomain } from '@streamr/autocertifier-client';
2
- import { ITransport } from '../../transport/ITransport';
3
- export interface IAutoCertifierClient {
4
- start(): Promise<void>;
5
- stop(): void;
6
- on(eventName: string, cb: (subdomain: CertifiedSubdomain) => void): void;
7
- off(eventName: string, cb: (subdomain: CertifiedSubdomain) => void): void;
8
- }
9
- interface AutoCertifierClientFacadeOptions {
10
- url: string;
11
- configFile: string;
12
- transport: ITransport;
13
- wsServerPort: number;
14
- setHost: (host: string) => void;
15
- updateCertificate: (certificate: string, privateKey: string) => void;
16
- createClientFactory?: () => IAutoCertifierClient;
17
- }
18
- export declare class AutoCertifierClientFacade {
19
- private autoCertifierClient;
20
- private readonly rpcCommunicator;
21
- private readonly options;
22
- constructor(options: AutoCertifierClientFacadeOptions);
23
- start(): Promise<void>;
24
- stop(): void;
25
- }
26
- export {};
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.AutoCertifierClientFacade = void 0;
4
- const autocertifier_client_1 = require("@streamr/autocertifier-client");
5
- const ListeningRpcCommunicator_1 = require("../../transport/ListeningRpcCommunicator");
6
- const utils_1 = require("@streamr/utils");
7
- const START_TIMEOUT = 60 * 1000;
8
- const defaultAutoCertifierClientFactory = (configFile, autoCertifierUrl, autoCertifierRpcCommunicator, wsServerPort) => new autocertifier_client_1.AutoCertifierClient(configFile, wsServerPort, autoCertifierUrl, (_serviceId, rpcMethodName, method) => {
9
- autoCertifierRpcCommunicator.registerRpcMethod(autocertifier_client_1.HasSessionRequest, autocertifier_client_1.HasSessionResponse, rpcMethodName, method);
10
- });
11
- const logger = new utils_1.Logger(module);
12
- class AutoCertifierClientFacade {
13
- autoCertifierClient;
14
- rpcCommunicator;
15
- options;
16
- constructor(options) {
17
- this.options = options;
18
- this.rpcCommunicator = new ListeningRpcCommunicator_1.ListeningRpcCommunicator(autocertifier_client_1.SERVICE_ID, options.transport);
19
- this.autoCertifierClient = options.createClientFactory ? options.createClientFactory()
20
- : defaultAutoCertifierClientFactory(options.configFile, options.url, this.rpcCommunicator, options.wsServerPort);
21
- }
22
- async start() {
23
- this.autoCertifierClient.on('updatedCertificate', (subdomain) => {
24
- this.options.setHost(subdomain.fqdn);
25
- this.options.updateCertificate(subdomain.certificate, subdomain.privateKey);
26
- logger.trace(`Updated certificate`);
27
- });
28
- await Promise.all([
29
- (0, utils_1.waitForEvent)(this.autoCertifierClient, 'updatedCertificate', START_TIMEOUT),
30
- this.autoCertifierClient.start()
31
- ]);
32
- }
33
- stop() {
34
- this.autoCertifierClient.stop();
35
- this.rpcCommunicator.destroy();
36
- }
37
- }
38
- exports.AutoCertifierClientFacade = AutoCertifierClientFacade;
39
- //# sourceMappingURL=AutoCertifierClientFacade.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"AutoCertifierClientFacade.js","sourceRoot":"","sources":["../../../../src/connection/websocket/AutoCertifierClientFacade.ts"],"names":[],"mappings":";;;AAAA,wEAOsC;AACtC,uFAAmF;AACnF,0CAAqD;AAGrD,MAAM,aAAa,GAAG,EAAE,GAAG,IAAI,CAAA;AAE/B,MAAM,iCAAiC,GAAG,CACtC,UAAkB,EAClB,gBAAwB,EACxB,4BAAsD,EACtD,YAAoB,EACtB,EAAE,CAAC,IAAI,0CAAmB,CACxB,UAAU,EACV,YAAY,EACZ,gBAAgB,EAChB,CAAC,UAAkB,EAAE,aAAqB,EAAE,MAAkB,EAAE,EAAE;IAC9D,4BAA4B,CAAC,iBAAiB,CAC1C,wCAAiB,EACjB,yCAAkB,EAClB,aAAa,EACb,MAAM,CACT,CAAA;AACL,CAAC,CACJ,CAAA;AAqBD,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEjC,MAAa,yBAAyB;IAE1B,mBAAmB,CAAsB;IAChC,eAAe,CAA0B;IACzC,OAAO,CAAkC;IAE1D,YAAY,OAAyC;QACjD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;QACtB,IAAI,CAAC,eAAe,GAAG,IAAI,mDAAwB,CAAC,iCAAyB,EAAE,OAAO,CAAC,SAAS,CAAC,CAAA;QACjG,IAAI,CAAC,mBAAmB,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC,CAAC,OAAO,CAAC,mBAAmB,EAAE;YAClF,CAAC,CAAC,iCAAiC,CAC/B,OAAO,CAAC,UAAU,EAClB,OAAO,CAAC,GAAG,EACX,IAAI,CAAC,eAAe,EACpB,OAAO,CAAC,YAAY,CACvB,CAAA;IACT,CAAC;IAED,KAAK,CAAC,KAAK;QACP,IAAI,CAAC,mBAAmB,CAAC,EAAE,CAAC,oBAAoB,EAAE,CAAC,SAA6B,EAAE,EAAE;YAChF,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YACpC,IAAI,CAAC,OAAO,CAAC,iBAAiB,CAAC,SAAS,CAAC,WAAW,EAAE,SAAS,CAAC,UAAU,CAAC,CAAA;YAC3E,MAAM,CAAC,KAAK,CAAC,qBAAqB,CAAC,CAAA;QACvC,CAAC,CAAC,CAAA;QACF,MAAM,OAAO,CAAC,GAAG,CAAC;YACd,IAAA,oBAAY,EAAC,IAAI,CAAC,mBAAmB,EAAE,oBAAoB,EAAE,aAAa,CAAC;YAC3E,IAAI,CAAC,mBAAmB,CAAC,KAAK,EAAE;SACnC,CAAC,CAAA;IACN,CAAC;IAED,IAAI;QACA,IAAI,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAA;QAC/B,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,CAAA;IAClC,CAAC;CAEJ;AAnCD,8DAmCC"}
@@ -1,7 +0,0 @@
1
- import { w3cwebsocket as Websocket } from 'websocket';
2
- import { AbstractWebsocketClientConnection } from './AbstractWebsocketClientConnection';
3
- export declare class WebsocketClientConnection extends AbstractWebsocketClientConnection {
4
- protected socket?: Websocket;
5
- connect(address: string, selfSigned?: boolean): void;
6
- protected stopListening(): void;
7
- }
@@ -1,44 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WebsocketClientConnection = void 0;
4
- const utils_1 = require("@streamr/utils");
5
- const websocket_1 = require("websocket");
6
- const AbstractWebsocketClientConnection_1 = require("./AbstractWebsocketClientConnection");
7
- const logger = new utils_1.Logger(module);
8
- const BINARY_TYPE = 'arraybuffer';
9
- class WebsocketClientConnection extends AbstractWebsocketClientConnection_1.AbstractWebsocketClientConnection {
10
- socket;
11
- // TODO explicit default value for "selfSigned" or make it required
12
- connect(address, selfSigned) {
13
- if (!this.destroyed) {
14
- this.socket = new websocket_1.w3cwebsocket(address, undefined, undefined, undefined, { rejectUnauthorized: !selfSigned });
15
- this.socket.binaryType = BINARY_TYPE;
16
- this.socket.onerror = (error) => this.onError(error);
17
- this.socket.onopen = () => this.onOpen();
18
- this.socket.onclose = (event) => this.onClose(event.code, event.reason);
19
- this.socket.onmessage = (message) => {
20
- if (!this.destroyed) {
21
- if (typeof message.data === 'string') {
22
- logger.debug('Received string data, only binary data is supported');
23
- }
24
- else {
25
- this.onMessage(new Uint8Array(message.data));
26
- }
27
- }
28
- };
29
- }
30
- else {
31
- logger.debug('Tried to connect() a stopped connection');
32
- }
33
- }
34
- stopListening() {
35
- if (this.socket) {
36
- this.socket.onopen = undefined;
37
- this.socket.onclose = undefined;
38
- this.socket.onerror = undefined;
39
- this.socket.onmessage = undefined;
40
- }
41
- }
42
- }
43
- exports.WebsocketClientConnection = WebsocketClientConnection;
44
- //# sourceMappingURL=BrowserWebsocketClientConnection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"BrowserWebsocketClientConnection.js","sourceRoot":"","sources":["../../../../src/connection/websocket/BrowserWebsocketClientConnection.ts"],"names":[],"mappings":";;;AAAA,0CAAuC;AACvC,yCAAiF;AACjF,2FAAuF;AAEvF,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEjC,MAAM,WAAW,GAAG,aAAa,CAAA;AAEjC,MAAa,yBAA0B,SAAQ,qEAAiC;IAElE,MAAM,CAAY;IAE5B,mEAAmE;IAC5D,OAAO,CAAC,OAAe,EAAE,UAAoB;QAChD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,IAAI,wBAAS,CAAC,OAAO,EAAE,SAAS,EAAE,SAAS,EAAE,SAAS,EAAE,EAAE,kBAAkB,EAAE,CAAC,UAAU,EAAE,CAAC,CAAA;YAC1G,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,WAAW,CAAA;YACpC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAA;YAC3D,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAA;YACxC,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,CAAC,KAAkB,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,EAAE,KAAK,CAAC,MAAM,CAAC,CAAA;YACpF,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,CAAC,OAAsB,EAAE,EAAE;gBAC/C,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBAClB,IAAI,OAAO,OAAO,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;wBACnC,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAA;oBACvE,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAA;oBAChD,CAAC;gBACL,CAAC;YACL,CAAC,CAAA;QACL,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC,yCAAyC,CAAC,CAAA;QAC3D,CAAC;IACL,CAAC;IAES,aAAa;QACnB,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACd,IAAI,CAAC,MAAM,CAAC,MAAM,GAAG,SAAoC,CAAA;YACzD,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,SAAoC,CAAA;YAC1D,IAAI,CAAC,MAAM,CAAC,OAAO,GAAG,SAAoC,CAAA;YAC1D,IAAI,CAAC,MAAM,CAAC,SAAS,GAAG,SAAoC,CAAA;QAChE,CAAC;IACL,CAAC;CAEJ;AAnCD,8DAmCC"}
@@ -1,7 +0,0 @@
1
- import { WebSocket } from 'ws';
2
- import { AbstractWebsocketClientConnection } from './AbstractWebsocketClientConnection';
3
- export declare class WebsocketClientConnection extends AbstractWebsocketClientConnection {
4
- protected socket?: WebSocket;
5
- connect(address: string, selfSigned?: boolean): void;
6
- protected stopListening(): void;
7
- }
@@ -1,39 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WebsocketClientConnection = void 0;
4
- const utils_1 = require("@streamr/utils");
5
- const ws_1 = require("ws");
6
- const AbstractWebsocketClientConnection_1 = require("./AbstractWebsocketClientConnection");
7
- const logger = new utils_1.Logger(module);
8
- const BINARY_TYPE = 'nodebuffer';
9
- class WebsocketClientConnection extends AbstractWebsocketClientConnection_1.AbstractWebsocketClientConnection {
10
- socket;
11
- // TODO explicit default value for "selfSigned" or make it required
12
- connect(address, selfSigned) {
13
- if (!this.destroyed) {
14
- this.socket = new ws_1.WebSocket(address, { rejectUnauthorized: !selfSigned });
15
- this.socket.binaryType = BINARY_TYPE;
16
- this.socket.on('error', (error) => this.onError(error));
17
- this.socket.on('open', () => this.onOpen());
18
- this.socket.on('close', (code, reason) => this.onClose(code, (0, utils_1.binaryToUtf8)(reason)));
19
- this.socket.on('message', (message, isBinary) => {
20
- if (!this.destroyed) {
21
- if (isBinary === false) {
22
- logger.debug('Received string data, only binary data is supported');
23
- }
24
- else {
25
- this.onMessage(new Uint8Array(message));
26
- }
27
- }
28
- });
29
- }
30
- else {
31
- logger.debug('Tried to connect() a stopped connection', { id: this.connectionId });
32
- }
33
- }
34
- stopListening() {
35
- this.socket?.removeAllListeners();
36
- }
37
- }
38
- exports.WebsocketClientConnection = WebsocketClientConnection;
39
- //# sourceMappingURL=NodeWebsocketClientConnection.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"NodeWebsocketClientConnection.js","sourceRoot":"","sources":["../../../../src/connection/websocket/NodeWebsocketClientConnection.ts"],"names":[],"mappings":";;;AAAA,0CAAqD;AACrD,2BAA8B;AAC9B,2FAAuF;AAEvF,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEjC,MAAM,WAAW,GAAG,YAAY,CAAA;AAEhC,MAAa,yBAA0B,SAAQ,qEAAiC;IAElE,MAAM,CAAY;IAE5B,mEAAmE;IAC5D,OAAO,CAAC,OAAe,EAAE,UAAoB;QAChD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;YAClB,IAAI,CAAC,MAAM,GAAG,IAAI,cAAS,CAAC,OAAO,EAAE,EAAE,kBAAkB,EAAE,CAAC,UAAU,EAAE,CAAC,CAAA;YACzE,IAAI,CAAC,MAAM,CAAC,UAAU,GAAG,WAAW,CAAA;YACpC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,KAAY,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,CAAA;YAC9D,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAA;YAC3C,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,OAAO,EAAE,CAAC,IAAY,EAAE,MAAc,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,IAAA,oBAAY,EAAC,MAAM,CAAC,CAAC,CAAC,CAAA;YACnG,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,OAAe,EAAE,QAAiB,EAAE,EAAE;gBAC7D,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,CAAC;oBAClB,IAAI,QAAQ,KAAK,KAAK,EAAE,CAAC;wBACrB,MAAM,CAAC,KAAK,CAAC,qDAAqD,CAAC,CAAA;oBACvE,CAAC;yBAAM,CAAC;wBACJ,IAAI,CAAC,SAAS,CAAC,IAAI,UAAU,CAAC,OAAO,CAAC,CAAC,CAAA;oBAC3C,CAAC;gBACL,CAAC;YACL,CAAC,CAAC,CAAA;QACN,CAAC;aAAM,CAAC;YACJ,MAAM,CAAC,KAAK,CAAC,yCAAyC,EAAE,EAAE,EAAE,EAAE,IAAI,CAAC,YAAY,EAAE,CAAC,CAAA;QACtF,CAAC;IACL,CAAC;IAES,aAAa;QACnB,IAAI,CAAC,MAAM,EAAE,kBAAkB,EAAE,CAAA;IACrC,CAAC;CAEJ;AA9BD,8DA8BC"}
@@ -1,26 +0,0 @@
1
- import { ListeningRpcCommunicator } from '../../transport/ListeningRpcCommunicator';
2
- import { ConnectivityMethod, PeerDescriptor } from '../../../generated/packages/dht/protos/DhtRpc';
3
- import { DhtAddress } from '../../identifiers';
4
- import { PendingConnection } from '../PendingConnection';
5
- export type Action = 'connectivityRequest' | 'connectivityProbe';
6
- export declare const connectivityMethodToWebsocketUrl: (ws: ConnectivityMethod, action?: Action) => string;
7
- export interface WebsocketClientConnectorOptions {
8
- onNewConnection: (connection: PendingConnection) => boolean;
9
- hasConnection: (nodeId: DhtAddress) => boolean;
10
- rpcCommunicator: ListeningRpcCommunicator;
11
- }
12
- export declare class WebsocketClientConnector {
13
- static readonly WEBSOCKET_CONNECTOR_SERVICE_ID = "system/websocket-connector";
14
- private readonly websocketServer?;
15
- private geoIpLocator?;
16
- private localPeerDescriptor?;
17
- private connectingConnections;
18
- private abortController;
19
- private readonly options;
20
- constructor(options: WebsocketClientConnectorOptions);
21
- private registerLocalRpcMethods;
22
- isPossibleToFormConnection(targetPeerDescriptor: PeerDescriptor): boolean;
23
- connect(targetPeerDescriptor: PeerDescriptor): PendingConnection;
24
- setLocalPeerDescriptor(peerDescriptor: PeerDescriptor): void;
25
- destroy(): Promise<void>;
26
- }
@@ -1,86 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WebsocketClientConnector = exports.connectivityMethodToWebsocketUrl = void 0;
4
- const NodeWebsocketClientConnection_1 = require("./NodeWebsocketClientConnection");
5
- const IConnection_1 = require("../IConnection");
6
- const WebsocketClientConnectorRpcLocal_1 = require("./WebsocketClientConnectorRpcLocal");
7
- const DhtRpc_1 = require("../../../generated/packages/dht/protos/DhtRpc");
8
- const Handshaker_1 = require("../Handshaker");
9
- const Connectivity_1 = require("../../helpers/Connectivity");
10
- const identifiers_1 = require("../../identifiers");
11
- const PendingConnection_1 = require("../PendingConnection");
12
- const connectivityMethodToWebsocketUrl = (ws, action) => {
13
- return (ws.tls ? 'wss://' : 'ws://') + ws.host + ':' + ws.port + ((action !== undefined) ? '?action=' + action : '');
14
- };
15
- exports.connectivityMethodToWebsocketUrl = connectivityMethodToWebsocketUrl;
16
- class WebsocketClientConnector {
17
- static WEBSOCKET_CONNECTOR_SERVICE_ID = 'system/websocket-connector';
18
- websocketServer;
19
- geoIpLocator;
20
- localPeerDescriptor;
21
- connectingConnections = new Map();
22
- abortController = new AbortController();
23
- options;
24
- constructor(options) {
25
- this.options = options;
26
- this.registerLocalRpcMethods();
27
- }
28
- registerLocalRpcMethods() {
29
- const rpcLocal = new WebsocketClientConnectorRpcLocal_1.WebsocketClientConnectorRpcLocal({
30
- connect: (targetPeerDescriptor) => this.connect(targetPeerDescriptor),
31
- hasConnection: (nodeId) => (this.connectingConnections.has(nodeId)
32
- || this.options.hasConnection(nodeId)),
33
- onNewConnection: (connection) => this.options.onNewConnection(connection),
34
- abortSignal: this.abortController.signal
35
- });
36
- this.options.rpcCommunicator.registerRpcNotification(DhtRpc_1.WebsocketConnectionRequest, 'requestConnection', async (req, context) => {
37
- if (!this.abortController.signal.aborted) {
38
- return rpcLocal.requestConnection(req, context);
39
- }
40
- else {
41
- return {};
42
- }
43
- });
44
- }
45
- isPossibleToFormConnection(targetPeerDescriptor) {
46
- const connectionType = (0, Connectivity_1.expectedConnectionType)(this.localPeerDescriptor, targetPeerDescriptor);
47
- return connectionType === IConnection_1.ConnectionType.WEBSOCKET_CLIENT;
48
- }
49
- connect(targetPeerDescriptor) {
50
- const nodeId = (0, identifiers_1.toNodeId)(targetPeerDescriptor);
51
- const existingConnection = this.connectingConnections.get(nodeId);
52
- if (existingConnection) {
53
- return existingConnection;
54
- }
55
- const socket = new NodeWebsocketClientConnection_1.WebsocketClientConnection();
56
- const url = (0, exports.connectivityMethodToWebsocketUrl)(targetPeerDescriptor.websocket);
57
- const pendingConnection = new PendingConnection_1.PendingConnection(targetPeerDescriptor);
58
- (0, Handshaker_1.createOutgoingHandshaker)(this.localPeerDescriptor, pendingConnection, socket, targetPeerDescriptor);
59
- this.connectingConnections.set(nodeId, pendingConnection);
60
- const delFunc = () => {
61
- if (this.connectingConnections.has(nodeId)) {
62
- this.connectingConnections.delete(nodeId);
63
- }
64
- socket.off('disconnected', delFunc);
65
- pendingConnection.off('disconnected', delFunc);
66
- pendingConnection.off('connected', delFunc);
67
- };
68
- socket.on('disconnected', delFunc);
69
- pendingConnection.on('disconnected', delFunc);
70
- pendingConnection.on('connected', delFunc);
71
- socket.connect(url, false);
72
- return pendingConnection;
73
- }
74
- setLocalPeerDescriptor(peerDescriptor) {
75
- this.localPeerDescriptor = peerDescriptor;
76
- }
77
- async destroy() {
78
- this.abortController.abort();
79
- const requests = Array.from(this.connectingConnections.values());
80
- requests.forEach((conn) => conn.close(true));
81
- await this.websocketServer?.stop();
82
- this.geoIpLocator?.stop();
83
- }
84
- }
85
- exports.WebsocketClientConnector = WebsocketClientConnector;
86
- //# sourceMappingURL=WebsocketClientConnector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WebsocketClientConnector.js","sourceRoot":"","sources":["../../../../src/connection/websocket/WebsocketClientConnector.ts"],"names":[],"mappings":"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"}
@@ -1,18 +0,0 @@
1
- import { ServerCallContext } from '@protobuf-ts/runtime-rpc';
2
- import { PeerDescriptor, WebsocketConnectionRequest } from '../../../generated/packages/dht/protos/DhtRpc';
3
- import { IWebsocketClientConnectorRpc } from '../../../generated/packages/dht/protos/DhtRpc.server';
4
- import { Empty } from '../../../generated/google/protobuf/empty';
5
- import { DhtAddress } from '../../identifiers';
6
- import { PendingConnection } from '../PendingConnection';
7
- interface WebsocketClientConnectorRpcLocalOptions {
8
- connect: (targetPeerDescriptor: PeerDescriptor) => PendingConnection;
9
- hasConnection: (nodeId: DhtAddress) => boolean;
10
- onNewConnection: (connection: PendingConnection) => boolean;
11
- abortSignal: AbortSignal;
12
- }
13
- export declare class WebsocketClientConnectorRpcLocal implements IWebsocketClientConnectorRpc {
14
- private readonly options;
15
- constructor(options: WebsocketClientConnectorRpcLocalOptions);
16
- requestConnection(_request: WebsocketConnectionRequest, context: ServerCallContext): Promise<Empty>;
17
- }
18
- export {};
@@ -1,23 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WebsocketClientConnectorRpcLocal = void 0;
4
- const identifiers_1 = require("../../identifiers");
5
- class WebsocketClientConnectorRpcLocal {
6
- options;
7
- constructor(options) {
8
- this.options = options;
9
- }
10
- async requestConnection(_request, context) {
11
- if (this.options.abortSignal.aborted) {
12
- return {};
13
- }
14
- const senderPeerDescriptor = context.incomingSourceDescriptor;
15
- if (!this.options.hasConnection((0, identifiers_1.toNodeId)(senderPeerDescriptor))) {
16
- const connection = this.options.connect(senderPeerDescriptor);
17
- this.options.onNewConnection(connection);
18
- }
19
- return {};
20
- }
21
- }
22
- exports.WebsocketClientConnectorRpcLocal = WebsocketClientConnectorRpcLocal;
23
- //# sourceMappingURL=WebsocketClientConnectorRpcLocal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WebsocketClientConnectorRpcLocal.js","sourceRoot":"","sources":["../../../../src/connection/websocket/WebsocketClientConnectorRpcLocal.ts"],"names":[],"mappings":";;;AAQA,mDAAwD;AAUxD,MAAa,gCAAgC;IAExB,OAAO,CAAyC;IAEjE,YAAY,OAAgD;QACxD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAA;IAC1B,CAAC;IAEM,KAAK,CAAC,iBAAiB,CAAC,QAAoC,EAAE,OAA0B;QAC3F,IAAI,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;YACnC,OAAO,EAAE,CAAA;QACb,CAAC;QACD,MAAM,oBAAoB,GAAI,OAA0B,CAAC,wBAAyB,CAAA;QAClF,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,aAAa,CAAC,IAAA,sBAAQ,EAAC,oBAAoB,CAAC,CAAC,EAAE,CAAC;YAC9D,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAA;YAC7D,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,UAAU,CAAC,CAAA;QAC5C,CAAC;QACD,OAAO,EAAE,CAAA;IACb,CAAC;CACJ;AAnBD,4EAmBC"}
@@ -1,5 +0,0 @@
1
- import { RpcRemote } from '../../dht/contact/RpcRemote';
2
- import { WebsocketClientConnectorRpcClient } from '../../../generated/packages/dht/protos/DhtRpc.client';
3
- export declare class WebsocketClientConnectorRpcRemote extends RpcRemote<WebsocketClientConnectorRpcClient> {
4
- requestConnection(): Promise<void>;
5
- }
@@ -1,17 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.WebsocketClientConnectorRpcRemote = void 0;
4
- const utils_1 = require("@streamr/utils");
5
- const RpcRemote_1 = require("../../dht/contact/RpcRemote");
6
- const identifiers_1 = require("../../identifiers");
7
- const logger = new utils_1.Logger(module);
8
- class WebsocketClientConnectorRpcRemote extends RpcRemote_1.RpcRemote {
9
- async requestConnection() {
10
- logger.trace(`Requesting WebSocket connection from ${(0, identifiers_1.toNodeId)(this.getLocalPeerDescriptor())}`);
11
- const request = {};
12
- const options = this.formDhtRpcOptions();
13
- return this.getClient().requestConnection(request, options);
14
- }
15
- }
16
- exports.WebsocketClientConnectorRpcRemote = WebsocketClientConnectorRpcRemote;
17
- //# sourceMappingURL=WebsocketClientConnectorRpcRemote.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WebsocketClientConnectorRpcRemote.js","sourceRoot":"","sources":["../../../../src/connection/websocket/WebsocketClientConnectorRpcRemote.ts"],"names":[],"mappings":";;;AAGA,0CAAuC;AACvC,2DAAuD;AAEvD,mDAA4C;AAE5C,MAAM,MAAM,GAAG,IAAI,cAAM,CAAC,MAAM,CAAC,CAAA;AAEjC,MAAa,iCAAkC,SAAQ,qBAA4C;IAE/F,KAAK,CAAC,iBAAiB;QACnB,MAAM,CAAC,KAAK,CAAC,wCAAwC,IAAA,sBAAQ,EAAC,IAAI,CAAC,sBAAsB,EAAE,CAAC,EAAE,CAAC,CAAA;QAC/F,MAAM,OAAO,GAA+B,EAAE,CAAA;QAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,iBAAiB,EAAE,CAAA;QACxC,OAAO,IAAI,CAAC,SAAS,EAAE,CAAC,iBAAiB,CAAC,OAAO,EAAE,OAAO,CAAC,CAAA;IAC/D,CAAC;CACJ;AARD,8EAQC"}
@@ -1,25 +0,0 @@
1
- import EventEmitter from 'eventemitter3';
2
- import { PortRange, TlsCertificate } from '../ConnectionManager';
3
- import { IConnection } from '../IConnection';
4
- interface WebsocketServerOptions {
5
- portRange: PortRange;
6
- enableTls: boolean;
7
- tlsCertificate?: TlsCertificate;
8
- maxMessageSize?: number;
9
- }
10
- interface Events {
11
- connected: ((connection: IConnection) => void);
12
- }
13
- export declare class WebsocketServer extends EventEmitter<Events> {
14
- private httpServer?;
15
- private wsServer?;
16
- private readonly abortController;
17
- private readonly options;
18
- constructor(options: WebsocketServerOptions);
19
- start(): Promise<number>;
20
- private startServer;
21
- updateCertificate(cert: string, key: string): void;
22
- stop(): Promise<void>;
23
- private createWsServer;
24
- }
25
- export {};
@@ -1,146 +0,0 @@
1
- "use strict";
2
- var __importDefault = (this && this.__importDefault) || function (mod) {
3
- return (mod && mod.__esModule) ? mod : { "default": mod };
4
- };
5
- Object.defineProperty(exports, "__esModule", { value: true });
6
- exports.WebsocketServer = void 0;
7
- const http_1 = require("http");
8
- const https_1 = require("https");
9
- const eventemitter3_1 = __importDefault(require("eventemitter3"));
10
- const ws_1 = __importDefault(require("ws"));
11
- const WebsocketServerConnection_1 = require("./WebsocketServerConnection");
12
- const utils_1 = require("@streamr/utils");
13
- const autocertifier_client_1 = require("@streamr/autocertifier-client");
14
- const errors_1 = require("../../helpers/errors");
15
- const range_1 = __importDefault(require("lodash/range"));
16
- const fs_1 = __importDefault(require("fs"));
17
- const uuid_1 = require("uuid");
18
- const url_1 = require("url");
19
- const logger = new utils_1.Logger(module);
20
- class WebsocketServer extends eventemitter3_1.default {
21
- httpServer;
22
- wsServer;
23
- abortController = new AbortController();
24
- options;
25
- constructor(options) {
26
- super();
27
- this.options = options;
28
- }
29
- async start() {
30
- const ports = (0, range_1.default)(this.options.portRange.min, this.options.portRange.max + 1);
31
- for (const port of ports) {
32
- try {
33
- await (0, utils_1.asAbortable)(this.startServer(port, this.options.enableTls), this.abortController.signal);
34
- return port;
35
- }
36
- catch (err) {
37
- if (err.originalError?.code === 'EADDRINUSE') {
38
- logger.debug(`failed to start WebSocket server on port: ${port} reattempting on next port`);
39
- }
40
- else {
41
- throw new errors_1.WebsocketServerStartError(err);
42
- }
43
- }
44
- }
45
- throw new errors_1.WebsocketServerStartError(`Failed to start WebSocket server on any port in range: ${this.options.portRange.min}-${this.options.portRange.min}`);
46
- }
47
- // If tlsCertificate has been given the tls boolean is ignored
48
- // TODO: could be simplified?
49
- startServer(port, tls) {
50
- const requestListener = (request, response) => {
51
- logger.trace('Received request for ' + request.url);
52
- response.writeHead(404);
53
- response.end();
54
- };
55
- return new Promise((resolve, reject) => {
56
- if (this.options.tlsCertificate) {
57
- this.httpServer = (0, https_1.createServer)({
58
- key: fs_1.default.readFileSync(this.options.tlsCertificate.privateKeyFileName),
59
- cert: fs_1.default.readFileSync(this.options.tlsCertificate.certFileName)
60
- }, requestListener);
61
- }
62
- else if (!tls) {
63
- this.httpServer = (0, http_1.createServer)(requestListener);
64
- }
65
- else {
66
- // TODO use options option or named constant?
67
- const certificate = (0, autocertifier_client_1.createSelfSignedCertificate)('streamr-self-signed-' + (0, uuid_1.v4)(), 1000);
68
- this.httpServer = (0, https_1.createServer)({
69
- key: certificate.serverKey,
70
- cert: certificate.serverCert
71
- }, requestListener);
72
- }
73
- function originIsAllowed() {
74
- return true;
75
- }
76
- this.wsServer = this.createWsServer();
77
- this.wsServer.on('connection', (ws, request) => {
78
- logger.trace(`New connection from ${request.socket.remoteAddress}`);
79
- if (!originIsAllowed()) {
80
- // Make sure we only accept requests from an allowed origin
81
- ws.close();
82
- logger.trace('IConnection from origin ' + request.headers.origin + ' rejected.');
83
- return;
84
- }
85
- this.emit('connected', new WebsocketServerConnection_1.WebsocketServerConnection(ws, (0, url_1.parse)(request.url), request.socket.remoteAddress));
86
- });
87
- this.httpServer.on('upgrade', (request, socket, head) => {
88
- logger.trace('Received upgrade request for ' + request.url);
89
- this.wsServer.handleUpgrade(request, socket, head, (ws) => {
90
- this.wsServer.emit('connection', ws, request);
91
- });
92
- });
93
- this.httpServer.once('error', (err) => {
94
- reject(new errors_1.WebsocketServerStartError('Starting Websocket server failed', err));
95
- });
96
- this.httpServer.once('listening', () => {
97
- logger.debug('Websocket server is listening on port ' + port);
98
- resolve();
99
- });
100
- try {
101
- // Listen only to IPv4 network interfaces, default value listens to IPv6 as well
102
- this.httpServer.listen(port, '0.0.0.0');
103
- }
104
- catch (e) {
105
- reject(new errors_1.WebsocketServerStartError('Websocket server threw an exception', e));
106
- }
107
- });
108
- }
109
- updateCertificate(cert, key) {
110
- this.httpServer.setSecureContext({
111
- cert,
112
- key
113
- });
114
- }
115
- stop() {
116
- this.abortController.abort();
117
- this.removeAllListeners();
118
- return new Promise((resolve, _reject) => {
119
- this.wsServer.close();
120
- for (const ws of this.wsServer.clients) {
121
- ws.terminate();
122
- }
123
- this.httpServer?.once('close', () => {
124
- // removeAllListeners is maybe not needed?
125
- this.httpServer?.removeAllListeners();
126
- resolve();
127
- });
128
- this.httpServer?.close();
129
- // the close method "Stops the server from accepting new connections and closes all
130
- // connections connected to this server which are not sending a request or waiting for a
131
- // response." (https://nodejs.org/api/http.html#serverclosecallback)
132
- // i.e. we need to call closeAllConnections() to close the rest of the connections
133
- // (in practice this closes the active websocket connections)
134
- this.httpServer?.closeAllConnections();
135
- });
136
- }
137
- createWsServer() {
138
- const maxPayload = this.options.maxMessageSize ?? 1048576;
139
- return this.wsServer = new ws_1.default.Server({
140
- noServer: true,
141
- maxPayload
142
- });
143
- }
144
- }
145
- exports.WebsocketServer = WebsocketServer;
146
- //# sourceMappingURL=WebsocketServer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"WebsocketServer.js","sourceRoot":"","sources":["../../../../src/connection/websocket/WebsocketServer.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- import EventEmitter from 'eventemitter3';
2
- import { IConnection, ConnectionID, ConnectionEvents, ConnectionType } from '../IConnection';
3
- import WebSocket from 'ws';
4
- import { Url } from 'url';
5
- export declare class WebsocketServerConnection extends EventEmitter<ConnectionEvents> implements IConnection {
6
- readonly connectionId: ConnectionID;
7
- readonly connectionType = ConnectionType.WEBSOCKET_SERVER;
8
- readonly resourceURL: Url;
9
- private readonly remoteIpAddress;
10
- private socket?;
11
- private stopped;
12
- constructor(socket: WebSocket, resourceURL: Url, remoteAddress: string);
13
- getRemoteIpAddress(): string;
14
- private onMessage;
15
- private onClose;
16
- private onError;
17
- private stopListening;
18
- private doDisconnect;
19
- send(data: Uint8Array): void;
20
- close(gracefulLeave: boolean): Promise<void>;
21
- destroy(): void;
22
- }