@dxos/signal 2.33.9-dev.d0ae5f95 → 2.33.9-dev.d0dce35f
Sign up to get free protection for your applications and to get access to all the features.
- package/.eslintrc.js +6 -0
- package/.rush/temp/package-deps_build.json +17 -0
- package/.rush/temp/package-deps_build_test.json +17 -0
- package/.rush/temp/shrinkwrap-deps.json +296 -0
- package/bin/signal-test-darwin-amd64 +0 -0
- package/bin/signal-test-darwin-arm64 +0 -0
- package/bin/signal-test-linux-amd64 +0 -0
- package/bin/signal-test-linux-arm64 +0 -0
- package/bin/signal.js +0 -0
- package/dist/src/index.d.ts +1 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +2 -4
- package/dist/src/index.js.map +1 -1
- package/dist/src/test-broker.d.ts +19 -0
- package/dist/src/test-broker.d.ts.map +1 -0
- package/dist/src/test-broker.js +104 -0
- package/dist/src/test-broker.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +11 -57
- package/signal.build.log +0 -0
- package/src/index.ts +2 -4
- package/src/test-broker.ts +94 -0
- package/tsconfig.json +20 -0
- package/dist/package.json +0 -94
- package/dist/src/bin.d.ts +0 -3
- package/dist/src/bin.d.ts.map +0 -1
- package/dist/src/bin.js +0 -79
- package/dist/src/bin.js.map +0 -1
- package/dist/src/broker.d.ts +0 -30
- package/dist/src/broker.d.ts.map +0 -1
- package/dist/src/broker.js +0 -99
- package/dist/src/broker.js.map +0 -1
- package/dist/src/broker.test.d.ts +0 -2
- package/dist/src/broker.test.d.ts.map +0 -1
- package/dist/src/broker.test.js +0 -30
- package/dist/src/broker.test.js.map +0 -1
- package/dist/src/presence.test.d.ts +0 -2
- package/dist/src/presence.test.d.ts.map +0 -1
- package/dist/src/presence.test.js +0 -54
- package/dist/src/presence.test.js.map +0 -1
- package/dist/src/serializer.d.ts +0 -7
- package/dist/src/serializer.d.ts.map +0 -1
- package/dist/src/serializer.js +0 -21
- package/dist/src/serializer.js.map +0 -1
- package/dist/src/services/discovery.d.ts +0 -21
- package/dist/src/services/discovery.d.ts.map +0 -1
- package/dist/src/services/discovery.js +0 -93
- package/dist/src/services/discovery.js.map +0 -1
- package/dist/src/services/index.d.ts +0 -6
- package/dist/src/services/index.d.ts.map +0 -1
- package/dist/src/services/index.js +0 -25
- package/dist/src/services/index.js.map +0 -1
- package/dist/src/services/network.d.ts +0 -24
- package/dist/src/services/network.d.ts.map +0 -1
- package/dist/src/services/network.js +0 -105
- package/dist/src/services/network.js.map +0 -1
- package/dist/src/services/presence.d.ts +0 -17
- package/dist/src/services/presence.d.ts.map +0 -1
- package/dist/src/services/presence.js +0 -74
- package/dist/src/services/presence.js.map +0 -1
- package/dist/src/services/status.d.ts +0 -46
- package/dist/src/services/status.d.ts.map +0 -1
- package/dist/src/services/status.js +0 -248
- package/dist/src/services/status.js.map +0 -1
- package/dist/src/services/web.d.ts +0 -8
- package/dist/src/services/web.d.ts.map +0 -1
- package/dist/src/services/web.js +0 -28
- package/dist/src/services/web.js.map +0 -1
- package/dist/src/signal/index.d.ts +0 -3
- package/dist/src/signal/index.d.ts.map +0 -1
- package/dist/src/signal/index.js +0 -22
- package/dist/src/signal/index.js.map +0 -1
- package/dist/src/signal/peer-map.d.ts +0 -63
- package/dist/src/signal/peer-map.d.ts.map +0 -1
- package/dist/src/signal/peer-map.js +0 -135
- package/dist/src/signal/peer-map.js.map +0 -1
- package/dist/src/signal/peer-map.test.d.ts +0 -2
- package/dist/src/signal/peer-map.test.d.ts.map +0 -1
- package/dist/src/signal/peer-map.test.js +0 -44
- package/dist/src/signal/peer-map.test.js.map +0 -1
- package/dist/src/signal/signal-server.d.ts +0 -17
- package/dist/src/signal/signal-server.d.ts.map +0 -1
- package/dist/src/signal/signal-server.js +0 -92
- package/dist/src/signal/signal-server.js.map +0 -1
- package/dist/src/signal.test.d.ts +0 -2
- package/dist/src/signal.test.d.ts.map +0 -1
- package/dist/src/signal.test.js +0 -67
- package/dist/src/signal.test.js.map +0 -1
- package/dist/src/system-information.d.ts +0 -5
- package/dist/src/system-information.d.ts.map +0 -1
- package/dist/src/system-information.js +0 -96
- package/dist/src/system-information.js.map +0 -1
- package/dist/src/testing.d.ts +0 -9
- package/dist/src/testing.d.ts.map +0 -1
- package/dist/src/testing.js +0 -25
- package/dist/src/testing.js.map +0 -1
- package/dist/src/transporter/bootstrap-node.d.ts +0 -2
- package/dist/src/transporter/bootstrap-node.d.ts.map +0 -1
- package/dist/src/transporter/bootstrap-node.js +0 -95
- package/dist/src/transporter/bootstrap-node.js.map +0 -1
- package/dist/src/transporter/index.d.ts +0 -38
- package/dist/src/transporter/index.d.ts.map +0 -1
- package/dist/src/transporter/index.js +0 -151
- package/dist/src/transporter/index.js.map +0 -1
- package/dist/src/transporter/messenger.d.ts +0 -2
- package/dist/src/transporter/messenger.d.ts.map +0 -1
- package/dist/src/transporter/messenger.js +0 -193
- package/dist/src/transporter/messenger.js.map +0 -1
- package/src/bin.ts +0 -81
- package/src/broker.test.js +0 -35
- package/src/broker.ts +0 -134
- package/src/presence.test.js +0 -67
- package/src/serializer.js +0 -17
- package/src/services/discovery.js +0 -101
- package/src/services/index.ts +0 -9
- package/src/services/network.ts +0 -129
- package/src/services/presence.js +0 -77
- package/src/services/status.js +0 -259
- package/src/services/web.ts +0 -24
- package/src/shims.d.ts +0 -6
- package/src/signal/index.ts +0 -6
- package/src/signal/peer-map.test.js +0 -58
- package/src/signal/peer-map.ts +0 -174
- package/src/signal/signal-server.js +0 -106
- package/src/signal.test.js +0 -78
- package/src/system-information.ts +0 -110
- package/src/testing.ts +0 -27
- package/src/transporter/bootstrap-node.js +0 -112
- package/src/transporter/index.js +0 -179
- package/src/transporter/messenger.js +0 -223
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"peer-map.js","sourceRoot":"","sources":["../../../src/signal/peer-map.ts"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"peer-map.test.d.ts","sourceRoot":"","sources":["../../../src/signal/peer-map.test.js"],"names":[],"mappings":""}
|
@@ -1,44 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
//
|
3
|
-
// Copyright 2021 DXOS.org
|
4
|
-
//
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
const peer_map_1 = require("./peer-map");
|
7
|
-
const bf = str => Buffer.from(str);
|
8
|
-
test('basic operations', () => {
|
9
|
-
const map = new peer_map_1.PeerMap(bf('owner1'));
|
10
|
-
const onAdd = jest.fn();
|
11
|
-
const onDel = jest.fn();
|
12
|
-
map.on('peer-added', onAdd);
|
13
|
-
map.on('peer-deleted', onDel);
|
14
|
-
expect(map.peers.length).toBe(0);
|
15
|
-
map.add({ id: bf('peer1'), topic: bf('topic1'), rpc: {} });
|
16
|
-
map.add({ id: bf('peer2'), topic: bf('topic1'), rpc: {} });
|
17
|
-
map.add({ id: bf('peer3'), topic: bf('topic2'), rpc: {} });
|
18
|
-
map.add({ id: bf('peer4'), topic: bf('topic3'), rpc: {} });
|
19
|
-
map.add({ id: bf('peer5'), topic: bf('topic3'), rpc: {} });
|
20
|
-
expect(map.peers.length).toBe(5);
|
21
|
-
expect(map.topics.length).toBe(3);
|
22
|
-
expect(map.delete(bf('topic3'), bf('peer4'))).toBe(true);
|
23
|
-
expect(map.delete(bf('topic3'), bf('peer5'))).toBe(true);
|
24
|
-
// Delete false.
|
25
|
-
expect(map.delete(bf('topicx'), bf('peer6'))).toBe(false);
|
26
|
-
expect(map.delete(bf('topic2'), bf('peerx'))).toBe(false);
|
27
|
-
expect(map.peers.length).toBe(3);
|
28
|
-
expect(map.topics.length).toBe(2);
|
29
|
-
expect(onAdd).toHaveBeenCalledTimes(5);
|
30
|
-
expect(onDel).toHaveBeenCalledTimes(2);
|
31
|
-
expect(map.getPeersByTopic(bf('topic2')).length).toBe(1);
|
32
|
-
map.updatePeersByOwner(bf('owner2'), [
|
33
|
-
{ id: bf('peer6'), topic: bf('topic1') },
|
34
|
-
{ id: bf('peer7'), topic: bf('topic2') }
|
35
|
-
]);
|
36
|
-
expect(map.peers.length).toBe(5);
|
37
|
-
expect(map.topics.length).toBe(2);
|
38
|
-
map.updatePeersByOwner(bf('owner2'), [
|
39
|
-
{ id: bf('peer6'), topic: bf('topic1') }
|
40
|
-
]);
|
41
|
-
expect(map.peers.length).toBe(4);
|
42
|
-
expect(map.topics.length).toBe(2);
|
43
|
-
});
|
44
|
-
//# sourceMappingURL=peer-map.test.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"peer-map.test.js","sourceRoot":"","sources":["../../../src/signal/peer-map.test.js"],"names":[],"mappings":"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"}
|
@@ -1,17 +0,0 @@
|
|
1
|
-
export class SignalServer {
|
2
|
-
constructor(server: any, broker: any, opts?: {});
|
3
|
-
_broker: any;
|
4
|
-
_keyPair: any;
|
5
|
-
_peerMap: any;
|
6
|
-
_server: any;
|
7
|
-
_onSocket(socket: any): void;
|
8
|
-
_open(): Promise<void>;
|
9
|
-
_close(): Promise<any>;
|
10
|
-
_onDisconnect(rpc: any): Promise<void>;
|
11
|
-
_onJoin(rpc: any, data: any): Promise<any>;
|
12
|
-
_onLeave(rpc: any, data: any): Promise<void>;
|
13
|
-
_onOffer(rpc: any, data: any): Promise<any>;
|
14
|
-
_onSignal(rpc: any, data: any): Promise<any>;
|
15
|
-
_onLookup(rpc: any, data: any): Promise<any>;
|
16
|
-
}
|
17
|
-
//# sourceMappingURL=signal-server.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"signal-server.d.ts","sourceRoot":"","sources":["../../../src/signal/signal-server.js"],"names":[],"mappings":"AAQA;IACE,iDAgBC;IATC,aAAqB;IACrB,cAAuB;IACvB,cAAuB;IAEvB,aAA2C;IAO7C,6BAEC;IAED,uBAEC;IAED,uBAIC;IAED,uCASC;IAED,2CASC;IAED,6CAGC;IAED,4CAeC;IAED,6CAeC;IAED,6CAEC;CACF"}
|
@@ -1,92 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
//
|
3
|
-
// Copyright 2021 DXOS.org
|
4
|
-
//
|
5
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
6
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
7
|
-
};
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
9
|
-
exports.SignalServer = void 0;
|
10
|
-
const server_1 = __importDefault(require("simple-websocket/server"));
|
11
|
-
const { SocketSignalServer, errors: { ERR_PEER_NOT_FOUND } } = require('socket-signal'); // eslint-disable-line @typescript-eslint/no-var-requires
|
12
|
-
class SignalServer extends SocketSignalServer {
|
13
|
-
constructor(server, broker, opts = {}) {
|
14
|
-
const { path, ...signalOpts } = opts;
|
15
|
-
super(signalOpts);
|
16
|
-
const { keyPair, peerMap } = broker.shared;
|
17
|
-
this._broker = broker;
|
18
|
-
this._keyPair = keyPair;
|
19
|
-
this._peerMap = peerMap;
|
20
|
-
this._server = new server_1.default({ server, path });
|
21
|
-
this._server.setMaxListeners(Infinity);
|
22
|
-
this.on('error', err => this._broker.logger.warn('signal-server', err));
|
23
|
-
this.on('rpc-error', err => this._broker.logger.warn('rpc-signal-server', err));
|
24
|
-
}
|
25
|
-
_onSocket(socket) {
|
26
|
-
this.addSocket(socket).catch(err => process.nextTick(() => this.emit('error', err)));
|
27
|
-
}
|
28
|
-
async _open() {
|
29
|
-
this._server.on('connection', this._onSocket.bind(this));
|
30
|
-
}
|
31
|
-
async _close() {
|
32
|
-
this._server.removeListener('connection', this._onSocket.bind(this));
|
33
|
-
await super._close();
|
34
|
-
return new Promise(resolve => this._server.close(() => resolve()));
|
35
|
-
}
|
36
|
-
async _onDisconnect(rpc) {
|
37
|
-
const peer = this._peerMap.peers.find(p => p.rpc === rpc);
|
38
|
-
if (peer) {
|
39
|
-
this._peerMap.peers
|
40
|
-
.filter(p => p.rpc === rpc)
|
41
|
-
.forEach(p => this._peerMap.delete(p.topic, p.id));
|
42
|
-
this._broker.logger.info('peer-disconnected', { id: peer.id.toString('hex') });
|
43
|
-
}
|
44
|
-
}
|
45
|
-
async _onJoin(rpc, data) {
|
46
|
-
this._peerMap.add({
|
47
|
-
id: data.id,
|
48
|
-
topic: data.topic,
|
49
|
-
owner: this._keyPair.publicKey,
|
50
|
-
rpc
|
51
|
-
});
|
52
|
-
this._broker.logger.info('peer-join', { topic: data.topic.toString('hex'), id: data.id.toString('hex') });
|
53
|
-
return this._peerMap.getPeersByTopic(data.topic).map(p => p.id);
|
54
|
-
}
|
55
|
-
async _onLeave(rpc, data) {
|
56
|
-
this._broker.logger.info('peer-leave', { topic: data.topic.toString('hex'), id: data.id.toString('hex') });
|
57
|
-
this._peerMap.delete(data.topic, data.id);
|
58
|
-
}
|
59
|
-
async _onOffer(rpc, data) {
|
60
|
-
const remotePeer = this._peerMap.peers.find(p => p.topic.equals(data.topic) && p.id.equals(data.remoteId));
|
61
|
-
if (!remotePeer) {
|
62
|
-
throw new ERR_PEER_NOT_FOUND(data.remoteId.toString('hex'));
|
63
|
-
}
|
64
|
-
if (remotePeer.owner.equals(this._keyPair.publicKey)) {
|
65
|
-
const rpc = remotePeer.rpc;
|
66
|
-
if (!rpc) {
|
67
|
-
throw new Error('rpc not found');
|
68
|
-
}
|
69
|
-
return rpc.call('offer', data);
|
70
|
-
}
|
71
|
-
return this._broker.call('discovery.offer', data, { nodeID: remotePeer.owner.toString('hex'), retries: 0 });
|
72
|
-
}
|
73
|
-
async _onSignal(rpc, data) {
|
74
|
-
const remotePeer = this._peerMap.peers.find(p => p.topic.equals(data.topic) && p.id.equals(data.remoteId));
|
75
|
-
if (!remotePeer) {
|
76
|
-
throw new ERR_PEER_NOT_FOUND(data.remoteId.toString('hex'));
|
77
|
-
}
|
78
|
-
if (remotePeer.owner.equals(this._keyPair.publicKey)) {
|
79
|
-
const rpc = remotePeer.rpc;
|
80
|
-
if (!rpc) {
|
81
|
-
throw new Error('rpc not found');
|
82
|
-
}
|
83
|
-
return rpc.emit('signal', data);
|
84
|
-
}
|
85
|
-
return this._broker.call('discovery.signal', data, { nodeID: remotePeer.owner.toString('hex'), retries: 0 });
|
86
|
-
}
|
87
|
-
async _onLookup(rpc, data) {
|
88
|
-
return this._peerMap.getPeersByTopic(data.topic).map(p => p.id);
|
89
|
-
}
|
90
|
-
}
|
91
|
-
exports.SignalServer = SignalServer;
|
92
|
-
//# sourceMappingURL=signal-server.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"signal-server.js","sourceRoot":"","sources":["../../../src/signal/signal-server.js"],"names":[],"mappings":"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"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"signal.test.d.ts","sourceRoot":"","sources":["../../src/signal.test.js"],"names":[],"mappings":""}
|
package/dist/src/signal.test.js
DELETED
@@ -1,67 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
//
|
3
|
-
// Copyright 2021 DXOS.org
|
4
|
-
//
|
5
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
6
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
7
|
-
};
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
9
|
-
const discovery_swarm_webrtc_1 = __importDefault(require("@geut/discovery-swarm-webrtc"));
|
10
|
-
const wrtc_1 = __importDefault(require("@koush/wrtc"));
|
11
|
-
const crypto_1 = __importDefault(require("crypto"));
|
12
|
-
const debug_1 = __importDefault(require("debug"));
|
13
|
-
const p_event_1 = __importDefault(require("p-event"));
|
14
|
-
const broker_1 = require("./broker");
|
15
|
-
const log = (0, debug_1.default)('dxos:test:signal');
|
16
|
-
jest.setTimeout(100 * 1000);
|
17
|
-
const checkDiscoveryUpdate = (brokers, check) => Promise.all(brokers.map((broker) => (0, p_event_1.default)(broker.localBus, '$broker.discovery-update', () => check(broker))));
|
18
|
-
// TODO(telackey): This test does not work for me.
|
19
|
-
test.skip('join/leave/connection webrtc peer', async () => {
|
20
|
-
const topic = crypto_1.default.randomBytes(32);
|
21
|
-
const brokers = [...Array(10).keys()].map(i => (0, broker_1.createBroker)(topic, { port: 5000 + i, logger: false, hyperswarm: { bootstrap: false } }));
|
22
|
-
log('> starting brokers');
|
23
|
-
await Promise.all(brokers.map(b => b.start()));
|
24
|
-
const clients = [...Array(3).keys()].map(i => (0, discovery_swarm_webrtc_1.default)({
|
25
|
-
bootstrap: [`ws://127.0.0.1:${5000 + i}`],
|
26
|
-
simplePeer: {
|
27
|
-
wrtc: wrtc_1.default
|
28
|
-
}
|
29
|
-
}));
|
30
|
-
const peerIds = clients.map(c => c.id);
|
31
|
-
const waitForJoin = checkDiscoveryUpdate(brokers, broker => {
|
32
|
-
const { peerMap } = broker.shared;
|
33
|
-
return peerIds.reduce((prev, peerId) => prev && peerMap.peers.find(p => p.topic.equals(topic) && p.id.equals(peerId)), true);
|
34
|
-
});
|
35
|
-
const waitForPeerConnections = new Promise(resolve => {
|
36
|
-
let connections = 0;
|
37
|
-
const done = (conn, { initiator }) => {
|
38
|
-
if (initiator) {
|
39
|
-
connections++;
|
40
|
-
}
|
41
|
-
if (connections >= 2) {
|
42
|
-
clients.forEach(client => client.off('connection', done));
|
43
|
-
resolve();
|
44
|
-
}
|
45
|
-
};
|
46
|
-
clients.forEach(client => client.on('connection', done));
|
47
|
-
});
|
48
|
-
log('> waiting for joining');
|
49
|
-
clients.forEach(client => client.join(topic));
|
50
|
-
await waitForJoin;
|
51
|
-
log('> waiting for webrtc connections');
|
52
|
-
await waitForPeerConnections;
|
53
|
-
log('> waiting for leaving');
|
54
|
-
const waitForLeave = checkDiscoveryUpdate(brokers, broker => {
|
55
|
-
const { peerMap } = broker.shared;
|
56
|
-
return peerMap.getPeersByTopic(topic).length === 0;
|
57
|
-
});
|
58
|
-
clients.forEach(client => client.leave(topic));
|
59
|
-
await waitForLeave;
|
60
|
-
log('> all left');
|
61
|
-
log('> stopping signals');
|
62
|
-
await Promise.all(clients.map(client => client.signal.close()));
|
63
|
-
log('> stopping brokers');
|
64
|
-
await Promise.all(brokers.map(b => b.stop()));
|
65
|
-
log('> stopped');
|
66
|
-
});
|
67
|
-
//# sourceMappingURL=signal.test.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"signal.test.js","sourceRoot":"","sources":["../../src/signal.test.js"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;;;AAEF,0FAAiD;AACjD,uDAA+B;AAC/B,oDAA4B;AAC5B,kDAA0B;AAC1B,sDAA6B;AAE7B,qCAAwC;AAExC,MAAM,GAAG,GAAG,IAAA,eAAK,EAAC,kBAAkB,CAAC,CAAC;AAEtC,IAAI,CAAC,UAAU,CAAC,GAAG,GAAG,IAAI,CAAC,CAAC;AAE5B,MAAM,oBAAoB,GAAG,CAAC,OAAO,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,IAAA,iBAAM,EAAC,MAAM,CAAC,QAAQ,EAAE,0BAA0B,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC;AAEhK,kDAAkD;AAClD,IAAI,CAAC,IAAI,CAAC,mCAAmC,EAAE,KAAK,IAAI,EAAE;IACxD,MAAM,KAAK,GAAG,gBAAM,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;IAErC,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,qBAAY,EAAC,KAAK,EAAE,EAAE,IAAI,EAAE,IAAI,GAAG,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,UAAU,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,CAAC;IAEzI,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC1B,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAE/C,MAAM,OAAO,GAAG,CAAC,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAA,gCAAK,EAAC;QAClD,SAAS,EAAE,CAAC,kBAAkB,IAAI,GAAG,CAAC,EAAE,CAAC;QACzC,UAAU,EAAE;YACV,IAAI,EAAJ,cAAI;SACL;KACF,CAAC,CAAC,CAAC;IAEJ,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;IACvC,MAAM,WAAW,GAAG,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;QACzD,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;QAElC,OAAO,OAAO,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC,IAAI,IAAI,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAC/H,CAAC,CAAC,CAAC;IAEH,MAAM,sBAAsB,GAAG,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE;QACnD,IAAI,WAAW,GAAG,CAAC,CAAC;QACpB,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,EAAE,EAAE;YACnC,IAAI,SAAS,EAAE;gBACb,WAAW,EAAE,CAAC;aACf;YACD,IAAI,WAAW,IAAI,CAAC,EAAE;gBACpB,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;gBAC1D,OAAO,EAAE,CAAC;aACX;QACH,CAAC,CAAC;QACF,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,EAAE,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,CAAC;IAC3D,CAAC,CAAC,CAAC;IAEH,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC7B,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC;IAC9C,MAAM,WAAW,CAAC;IAElB,GAAG,CAAC,kCAAkC,CAAC,CAAC;IACxC,MAAM,sBAAsB,CAAC;IAE7B,GAAG,CAAC,uBAAuB,CAAC,CAAC;IAC7B,MAAM,YAAY,GAAG,oBAAoB,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE;QAC1D,MAAM,EAAE,OAAO,EAAE,GAAG,MAAM,CAAC,MAAM,CAAC;QAClC,OAAO,OAAO,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC,MAAM,KAAK,CAAC,CAAC;IACrD,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC,CAAC;IAC/C,MAAM,YAAY,CAAC;IACnB,GAAG,CAAC,YAAY,CAAC,CAAC;IAElB,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC1B,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAChE,GAAG,CAAC,oBAAoB,CAAC,CAAC;IAC1B,MAAM,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;IAC9C,GAAG,CAAC,WAAW,CAAC,CAAC;AACnB,CAAC,CAAC,CAAC"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"system-information.d.ts","sourceRoot":"","sources":["../../src/system-information.ts"],"names":[],"mappings":"AAAA;;GAEG"}
|
@@ -1,96 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
/**
|
3
|
-
* Copy from https://github.com/dxos/console/tree/master/packages/console-server
|
4
|
-
*/
|
5
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
6
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
7
|
-
};
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
9
|
-
//
|
10
|
-
// Copyright 2021 DXOS.org
|
11
|
-
//
|
12
|
-
const child_process_1 = require("child_process");
|
13
|
-
const fs_1 = __importDefault(require("fs"));
|
14
|
-
const lodash_pick_1 = __importDefault(require("lodash.pick"));
|
15
|
-
const moment_1 = __importDefault(require("moment"));
|
16
|
-
const os_1 = __importDefault(require("os"));
|
17
|
-
const systeminformation_1 = __importDefault(require("systeminformation"));
|
18
|
-
const num = new Intl.NumberFormat('en', { maximumSignificantDigits: 3 });
|
19
|
-
const size = (n, unit) => {
|
20
|
-
const units = {
|
21
|
-
K: 3,
|
22
|
-
M: 6,
|
23
|
-
G: 9,
|
24
|
-
T: 12
|
25
|
-
};
|
26
|
-
const power = units[unit] || 0;
|
27
|
-
return num.format(Math.round(n / (10 ** power))) + (unit ? ` ${unit}` : '');
|
28
|
-
};
|
29
|
-
const getVersionInfo = () => {
|
30
|
-
// TODO(telackey): Get from config (or figure out a better way to do this).
|
31
|
-
const versionFile = '/opt/kube/VERSION';
|
32
|
-
if (fs_1.default.existsSync(versionFile)) {
|
33
|
-
return fs_1.default.readFileSync(versionFile, { encoding: 'utf8' }).replace(/^\s+|\s+$/g, '');
|
34
|
-
}
|
35
|
-
return undefined;
|
36
|
-
};
|
37
|
-
/**
|
38
|
-
* Get system inforamtion.
|
39
|
-
* https://www.npmjs.com/package/systeminformation
|
40
|
-
*/
|
41
|
-
const getSystemInfo = async () => {
|
42
|
-
const ifaces = os_1.default.networkInterfaces();
|
43
|
-
const addresses = Object.entries(ifaces).reduce((result, [, values]) => {
|
44
|
-
(values !== null && values !== void 0 ? values : []).forEach(({ family, address }) => {
|
45
|
-
address = address.toLowerCase();
|
46
|
-
// TODO(telackey): Include link-local IPv6?
|
47
|
-
if (!address.startsWith('127.') && !address.startsWith('fe80::') && !address.startsWith('::1')) {
|
48
|
-
result.push(address);
|
49
|
-
}
|
50
|
-
});
|
51
|
-
return result;
|
52
|
-
}, []);
|
53
|
-
const cpu = await systeminformation_1.default.cpu();
|
54
|
-
const memory = await systeminformation_1.default.mem();
|
55
|
-
const device = await systeminformation_1.default.system();
|
56
|
-
const hostname = os_1.default.hostname();
|
57
|
-
return {
|
58
|
-
cpu: (0, lodash_pick_1.default)(cpu, 'brand', 'cores', 'manufacturer', 'vendor', 'speed'),
|
59
|
-
memory: {
|
60
|
-
total: size(memory.total, 'M'),
|
61
|
-
free: size(memory.free, 'M'),
|
62
|
-
used: size(memory.used, 'M'),
|
63
|
-
swaptotal: size(memory.swaptotal, 'M')
|
64
|
-
},
|
65
|
-
device: (0, lodash_pick_1.default)(device, 'model', 'serial', 'version'),
|
66
|
-
network: {
|
67
|
-
hostname,
|
68
|
-
addresses
|
69
|
-
},
|
70
|
-
os: {
|
71
|
-
arch: os_1.default.arch(),
|
72
|
-
platform: os_1.default.platform(),
|
73
|
-
version: os_1.default.version ? os_1.default.version() : undefined // Node > 13.
|
74
|
-
},
|
75
|
-
time: {
|
76
|
-
now: (0, moment_1.default)(),
|
77
|
-
up: (0, moment_1.default)().subtract(os_1.default.uptime(), 'seconds')
|
78
|
-
},
|
79
|
-
nodejs: {
|
80
|
-
version: process.version
|
81
|
-
},
|
82
|
-
version: getVersionInfo()
|
83
|
-
};
|
84
|
-
};
|
85
|
-
/**
|
86
|
-
* Get system inforamtion.
|
87
|
-
* https://www.npmjs.com/package/systeminformation
|
88
|
-
*/
|
89
|
-
const getServiceInfo = async () => {
|
90
|
-
const command = 'dx';
|
91
|
-
const args = ['service', '--json'];
|
92
|
-
const child = (0, child_process_1.spawnSync)(command, args, { encoding: 'utf8' });
|
93
|
-
return JSON.parse(child.stdout);
|
94
|
-
};
|
95
|
-
module.exports = { getServiceInfo, getSystemInfo };
|
96
|
-
//# sourceMappingURL=system-information.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"system-information.js","sourceRoot":"","sources":["../../src/system-information.ts"],"names":[],"mappings":"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"}
|
package/dist/src/testing.d.ts
DELETED
@@ -1,9 +0,0 @@
|
|
1
|
-
import Moleculer from 'moleculer';
|
2
|
-
export declare type TestBroker = Moleculer.ServiceBroker;
|
3
|
-
/**
|
4
|
-
* Creates a test instance of the signal server with swarming disabled and starts it.
|
5
|
-
*
|
6
|
-
* @param port Port to start the signal server on, random by default.
|
7
|
-
*/
|
8
|
-
export declare const createTestBroker: (port?: string | number) => Promise<TestBroker>;
|
9
|
-
//# sourceMappingURL=testing.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"testing.d.ts","sourceRoot":"","sources":["../../src/testing.ts"],"names":[],"mappings":"AAIA,OAAO,SAAS,MAAM,WAAW,CAAC;AAMlC,oBAAY,UAAU,GAAG,SAAS,CAAC,aAAa,CAAC;AAEjD;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,UAAiB,MAAM,GAAG,MAAM,KAAG,QAAQ,UAAU,CASjF,CAAC"}
|
package/dist/src/testing.js
DELETED
@@ -1,25 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
//
|
3
|
-
// Copyright 2021 DXOS.org
|
4
|
-
//
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
6
|
-
exports.createTestBroker = void 0;
|
7
|
-
const protocols_1 = require("@dxos/protocols");
|
8
|
-
const broker_1 = require("./broker");
|
9
|
-
/**
|
10
|
-
* Creates a test instance of the signal server with swarming disabled and starts it.
|
11
|
-
*
|
12
|
-
* @param port Port to start the signal server on, random by default.
|
13
|
-
*/
|
14
|
-
const createTestBroker = async (port) => {
|
15
|
-
const broker = (0, broker_1.createBroker)(protocols_1.PublicKey.random().asBuffer(), {
|
16
|
-
port,
|
17
|
-
logger: false,
|
18
|
-
logLevel: 'fatal',
|
19
|
-
hyperswarm: { bootstrap: false }
|
20
|
-
});
|
21
|
-
await broker.start();
|
22
|
-
return broker;
|
23
|
-
};
|
24
|
-
exports.createTestBroker = createTestBroker;
|
25
|
-
//# sourceMappingURL=testing.js.map
|
package/dist/src/testing.js.map
DELETED
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"testing.js","sourceRoot":"","sources":["../../src/testing.ts"],"names":[],"mappings":";AAAA,EAAE;AACF,0BAA0B;AAC1B,EAAE;;;AAIF,+CAA4C;AAE5C,qCAAwC;AAIxC;;;;GAIG;AACI,MAAM,gBAAgB,GAAG,KAAK,EAAE,IAAsB,EAAuB,EAAE;IACpF,MAAM,MAAM,GAAG,IAAA,qBAAY,EAAC,qBAAS,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE;QACzD,IAAI;QACJ,MAAM,EAAE,KAAK;QACb,QAAQ,EAAE,OAAO;QACjB,UAAU,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;KACjC,CAAC,CAAC;IACH,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;IACrB,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AATW,QAAA,gBAAgB,oBAS3B"}
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"bootstrap-node.d.ts","sourceRoot":"","sources":["../../../src/transporter/bootstrap-node.js"],"names":[],"mappings":""}
|
@@ -1,95 +0,0 @@
|
|
1
|
-
"use strict";
|
2
|
-
//
|
3
|
-
// Copyright 2021 DXOS.org
|
4
|
-
//
|
5
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
6
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
7
|
-
};
|
8
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
9
|
-
const dht_1 = __importDefault(require("@hyperswarm/dht"));
|
10
|
-
const crypto_1 = __importDefault(require("crypto"));
|
11
|
-
const internal_ip_1 = __importDefault(require("internal-ip"));
|
12
|
-
const p_event_1 = __importDefault(require("p-event"));
|
13
|
-
const public_ip_1 = __importDefault(require("public-ip"));
|
14
|
-
class BootstrapNode {
|
15
|
-
constructor(options = {}) {
|
16
|
-
const { port = 4000 } = options;
|
17
|
-
this._id = null;
|
18
|
-
this._broker = null;
|
19
|
-
this._port = port;
|
20
|
-
this._stop = false;
|
21
|
-
this._address = null;
|
22
|
-
}
|
23
|
-
async getAddress() {
|
24
|
-
if (this._address) {
|
25
|
-
return this._address;
|
26
|
-
}
|
27
|
-
if (!this._dht) {
|
28
|
-
throw new Error('dht not found');
|
29
|
-
}
|
30
|
-
const address = this._dht.socket.address();
|
31
|
-
address.address = await this._getBootstrapIp();
|
32
|
-
this._address = address;
|
33
|
-
return this._address;
|
34
|
-
}
|
35
|
-
async start(broker) {
|
36
|
-
this._broker = broker;
|
37
|
-
this._id = crypto_1.default.createHash('sha256')
|
38
|
-
.update(this._broker.nodeID + 'bootstrap')
|
39
|
-
.digest();
|
40
|
-
this._dht = (0, dht_1.default)({ ephemeral: true, adaptive: true, id: this._id });
|
41
|
-
// Runs the bootstrap UDP node in a specific port.
|
42
|
-
this._dht.listen(this._port);
|
43
|
-
await (0, p_event_1.default)(this._dht, 'ready');
|
44
|
-
this._dht.on('announce', (target, peer) => {
|
45
|
-
this._broker.logger.debug('BOOTSTRAP_NODE: received announce', target, peer);
|
46
|
-
});
|
47
|
-
this._dht.on('unannounce', (target, peer) => {
|
48
|
-
this._broker.logger.debug('BOOTSTRAP_NODE: received unannounce', target, peer);
|
49
|
-
});
|
50
|
-
this._dht.on('lookup', (target, peer) => {
|
51
|
-
this._broker.logger.debug('BOOTSTRAP_NODE: received lookup', target, peer);
|
52
|
-
});
|
53
|
-
this._dht.once('close', async () => {
|
54
|
-
if (this._stop) {
|
55
|
-
return;
|
56
|
-
}
|
57
|
-
this._broker.logger.warn('BOOTSTRAP_NODE: closed, reconnecting...');
|
58
|
-
try {
|
59
|
-
await this._createBootstrapNode();
|
60
|
-
}
|
61
|
-
catch (err) {
|
62
|
-
this._broker.logger.error('BOOTSTRAP_NODE: error during reconnection', err);
|
63
|
-
}
|
64
|
-
});
|
65
|
-
const address = await this.getAddress();
|
66
|
-
this._broker.logger.info('BOOTSTRAP_NODE: running on', {
|
67
|
-
id: this._dht.id.toString('hex'),
|
68
|
-
...address
|
69
|
-
});
|
70
|
-
}
|
71
|
-
stop() {
|
72
|
-
if (this._stop || this._dht.destroyed) {
|
73
|
-
return;
|
74
|
-
}
|
75
|
-
this._stop = true;
|
76
|
-
if (this._dht) {
|
77
|
-
this._dht.destroy();
|
78
|
-
return (0, p_event_1.default)(this._dht, 'close');
|
79
|
-
}
|
80
|
-
}
|
81
|
-
_getBootstrapIp() {
|
82
|
-
if (!this._dht) {
|
83
|
-
throw new Error('dht not found');
|
84
|
-
}
|
85
|
-
return public_ip_1.default.v4().catch(() => {
|
86
|
-
this._broker.logger.error('BOOTSTRAP_NODE: error trying to get external ip');
|
87
|
-
return internal_ip_1.default.v4();
|
88
|
-
}).catch(err => {
|
89
|
-
this._broker.logger.error('BOOTSTRAP_NODE: error trying to get interal ip');
|
90
|
-
throw err;
|
91
|
-
});
|
92
|
-
}
|
93
|
-
}
|
94
|
-
module.exports = { BootstrapNode };
|
95
|
-
//# sourceMappingURL=bootstrap-node.js.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"bootstrap-node.js","sourceRoot":"","sources":["../../../src/transporter/bootstrap-node.js"],"names":[],"mappings":"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"}
|
@@ -1,38 +0,0 @@
|
|
1
|
-
declare const ProtocolTransporter_base: typeof import("moleculer").Transporters.Base;
|
2
|
-
export class ProtocolTransporter extends ProtocolTransporter_base {
|
3
|
-
static keyPair(): any;
|
4
|
-
constructor(opts: any);
|
5
|
-
_topic: Buffer;
|
6
|
-
_keyPair: any;
|
7
|
-
_discoveryKey: any;
|
8
|
-
_hyperswarmOptions: any;
|
9
|
-
_messenger: any;
|
10
|
-
_ee: EventEmitter;
|
11
|
-
_nanomessage: any;
|
12
|
-
_swarm: any;
|
13
|
-
_bootstrapNode: any;
|
14
|
-
onPeerConnection(socket: any, info: any): Promise<void>;
|
15
|
-
get dht(): any;
|
16
|
-
get onlyLocal(): boolean;
|
17
|
-
get peers(): any;
|
18
|
-
on(event: any, handler: any): void;
|
19
|
-
off(event: any, handler: any): void;
|
20
|
-
waitForConnected(): pEvent.CancelablePromise<any> | undefined;
|
21
|
-
connected: boolean | undefined;
|
22
|
-
disconnect(): Promise<void>;
|
23
|
-
subscribe(cmd: any, nodeID: any): Promise<void>;
|
24
|
-
/**
|
25
|
-
* Send data buffer.
|
26
|
-
*
|
27
|
-
* @param {String} topic
|
28
|
-
* @param {Buffer} data
|
29
|
-
* @param {Object} meta
|
30
|
-
*
|
31
|
-
* @returns {Promise}
|
32
|
-
*/
|
33
|
-
send(topic: string, data: Buffer, { packet }: Object): Promise<any>;
|
34
|
-
}
|
35
|
-
import { EventEmitter } from "events";
|
36
|
-
import pEvent from "p-event";
|
37
|
-
export {};
|
38
|
-
//# sourceMappingURL=index.d.ts.map
|
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/transporter/index.js"],"names":[],"mappings":";AAgBA;IACE,sBAEC;IAED,uBA2BC;IAnBC,eAAmB;IACnB,cAAuB;IACvB,mBAAwC;IACxC,wBAAoC;IACpC,gBAA2D;IAE3D,kBAA6B;IAC7B,kBAAwB;IACxB,YAAkB;IAClB,oBAA0B;IAqI5B,wDAMC;IA/HD,eAEC;IAED,yBAEC;IAED,iBAEC;IAED,mCAEC;IAED,oCAEC;IAED,8DAKC;IA4BK,+BAAsB;IA6B5B,4BASC;IAED,gDAMC;IAED;;;;;;;;OAQG;IACH,0BALW,MAAM,cACN,MAAM,gBAahB;CASF"}
|