@libp2p/mdns 1.0.2 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/src/compat/index.d.ts +1 -1
- package/dist/src/compat/index.d.ts.map +1 -1
- package/dist/src/compat/index.js +1 -1
- package/dist/src/compat/index.js.map +1 -1
- package/dist/src/compat/querier.d.ts +1 -1
- package/dist/src/compat/querier.d.ts.map +1 -1
- package/dist/src/compat/querier.js +7 -7
- package/dist/src/compat/querier.js.map +1 -1
- package/dist/src/compat/utils.d.ts +2 -2
- package/dist/src/compat/utils.js +1 -1
- package/dist/src/index.d.ts +3 -3
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +1 -1
- package/dist/src/index.js.map +1 -1
- package/dist/src/query.d.ts +2 -2
- package/package.json +14 -14
- package/src/compat/index.ts +1 -1
- package/src/compat/querier.ts +7 -7
- package/src/compat/utils.ts +2 -2
- package/src/index.ts +5 -5
- package/src/query.ts +2 -2
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { EventEmitter } from '@libp2p/interfaces';
|
|
1
|
+
import { EventEmitter } from '@libp2p/interfaces/events';
|
|
2
2
|
import type { PeerDiscovery, PeerDiscoveryEvents } from '@libp2p/interfaces/peer-discovery';
|
|
3
3
|
import type { Components, Initializable } from '@libp2p/interfaces/components';
|
|
4
4
|
export interface GoMulticastDNSInit {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/compat/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAe,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/compat/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAe,MAAM,2BAA2B,CAAA;AAGrE,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAC3F,OAAO,KAAK,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAE9E,MAAM,WAAW,kBAAkB;IACjC,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,aAAa,CAAC,EAAE,MAAM,CAAA;CACvB;AAED,qBAAa,cAAe,SAAQ,YAAY,CAAC,mBAAmB,CAAE,YAAW,aAAa,EAAE,aAAa;IAC3G,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAW;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAErB,OAAO,GAAE,kBAAuB;IAiB7C,IAAI,CAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAKnC,SAAS;IAIH,KAAK;IAaL,IAAI;CAYX"}
|
package/dist/src/compat/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Compatibility with Go libp2p MDNS
|
|
2
|
-
import { EventEmitter, CustomEvent } from '@libp2p/interfaces';
|
|
2
|
+
import { EventEmitter, CustomEvent } from '@libp2p/interfaces/events';
|
|
3
3
|
import { Responder } from './responder.js';
|
|
4
4
|
import { Querier } from './querier.js';
|
|
5
5
|
export class GoMulticastDNS extends EventEmitter {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/compat/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/compat/index.ts"],"names":[],"mappings":"AAAA,oCAAoC;AACpC,OAAO,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAA;AAC1C,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAA;AAStC,MAAM,OAAO,cAAe,SAAQ,YAAiC;IAKnE,YAAa,UAA8B,EAAE;QAC3C,KAAK,EAAE,CAAA;QACP,MAAM,EAAE,WAAW,EAAE,aAAa,EAAE,GAAG,OAAO,CAAA;QAE9C,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QAErB,IAAI,CAAC,UAAU,GAAG,IAAI,SAAS,EAAE,CAAA;QACjC,IAAI,CAAC,QAAQ,GAAG,IAAI,OAAO,CAAC;YAC1B,aAAa;YACb,WAAW;SACZ,CAAC,CAAA;QAEF,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,EAAE;YAC7C,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAA;QACrE,CAAC,CAAC,CAAA;IACJ,CAAC;IAED,IAAI,CAAE,UAAsB;QAC1B,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;QAChC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,UAAU,CAAC,CAAA;IAChC,CAAC;IAED,SAAS;QACP,OAAO,IAAI,CAAC,QAAQ,CAAA;IACtB,CAAC;IAED,KAAK,CAAC,KAAK;QACT,IAAI,IAAI,CAAC,SAAS,EAAE,EAAE;YACpB,OAAM;SACP;QAED,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAA;QAEpB,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE;YACvB,IAAI,CAAC,QAAQ,CAAC,KAAK,EAAE;SACtB,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE;YACrB,OAAM;SACP;QAED,IAAI,CAAC,QAAQ,GAAG,KAAK,CAAA;QAErB,MAAM,OAAO,CAAC,GAAG,CAAC;YAChB,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE;YACtB,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE;SACrB,CAAC,CAAA;IACJ,CAAC;CACF"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
import { EventEmitter } from '@libp2p/interfaces';
|
|
2
|
+
import { EventEmitter } from '@libp2p/interfaces/events';
|
|
3
3
|
import type { PeerDiscovery, PeerDiscoveryEvents } from '@libp2p/interfaces/peer-discovery';
|
|
4
4
|
import type { ResponsePacket } from 'multicast-dns';
|
|
5
5
|
import type { RemoteInfo } from 'dgram';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"querier.d.ts","sourceRoot":"","sources":["../../../src/compat/querier.ts"],"names":[],"mappings":";AAAA,OAAO,EAAe,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"querier.d.ts","sourceRoot":"","sources":["../../../src/compat/querier.ts"],"names":[],"mappings":";AAAA,OAAO,EAAe,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAIrE,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAC3F,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAA;AACnD,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,OAAO,CAAA;AACvC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAKzE,MAAM,WAAW,WAAW;IAC1B,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB,WAAW,CAAC,EAAE,MAAM,CAAA;CACrB;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAA;CAC1B;AAED,qBAAa,OAAQ,SAAQ,YAAY,CAAC,mBAAmB,CAAE,YAAW,aAAa,EAAE,aAAa;IACpG,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAuB;IAC7C,OAAO,CAAC,OAAO,CAAC,CAAQ;IACxB,OAAO,CAAC,UAAU,CAA+B;gBAEpC,IAAI,GAAE,WAAgB;IAkBnC,IAAI,CAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAInC,SAAS;IAIT,KAAK;IAgCL,WAAW,CAAE,KAAK,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU;IAuB9C,IAAI;CAKX"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import { CustomEvent, EventEmitter } from '@libp2p/interfaces';
|
|
1
|
+
import { CustomEvent, EventEmitter } from '@libp2p/interfaces/events';
|
|
2
2
|
import MDNS from 'multicast-dns';
|
|
3
3
|
import { logger } from '@libp2p/logger';
|
|
4
4
|
import { SERVICE_TAG_LOCAL, MULTICAST_IP, MULTICAST_PORT } from './constants.js';
|
|
5
5
|
import { Components } from '@libp2p/interfaces/components';
|
|
6
|
-
import {
|
|
6
|
+
import { findPeerInfoInAnswers } from './utils.js';
|
|
7
7
|
const log = logger('libp2p:mdns:compat:querier');
|
|
8
8
|
export class Querier extends EventEmitter {
|
|
9
9
|
constructor(init = {}) {
|
|
@@ -56,18 +56,18 @@ export class Querier extends EventEmitter {
|
|
|
56
56
|
_onResponse(event, info) {
|
|
57
57
|
log.trace('received mDNS query response');
|
|
58
58
|
const answers = event.answers ?? [];
|
|
59
|
-
const
|
|
60
|
-
if (
|
|
59
|
+
const peerInfo = findPeerInfoInAnswers(answers, this.components.getPeerId());
|
|
60
|
+
if (peerInfo == null) {
|
|
61
61
|
log('could not read peer data from query response');
|
|
62
62
|
return;
|
|
63
63
|
}
|
|
64
|
-
if (
|
|
64
|
+
if (peerInfo.multiaddrs.length === 0) {
|
|
65
65
|
log('could not parse multiaddrs from mDNS response');
|
|
66
66
|
return;
|
|
67
67
|
}
|
|
68
|
-
log('discovered peer in mDNS qeury response %p',
|
|
68
|
+
log('discovered peer in mDNS qeury response %p', peerInfo.id);
|
|
69
69
|
this.dispatchEvent(new CustomEvent('peer', {
|
|
70
|
-
detail:
|
|
70
|
+
detail: peerInfo
|
|
71
71
|
}));
|
|
72
72
|
}
|
|
73
73
|
async stop() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"querier.js","sourceRoot":"","sources":["../../../src/compat/querier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"querier.js","sourceRoot":"","sources":["../../../src/compat/querier.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACrE,OAAO,IAAI,MAAM,eAAe,CAAA;AAChC,OAAO,EAAE,MAAM,EAAE,MAAM,gBAAgB,CAAA;AACvC,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAA;AAIhF,OAAO,EAAE,UAAU,EAAiB,MAAM,+BAA+B,CAAA;AACzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAA;AAElD,MAAM,GAAG,GAAG,MAAM,CAAC,4BAA4B,CAAC,CAAA;AAWhD,MAAM,OAAO,OAAQ,SAAQ,YAAiC;IAK5D,YAAa,OAAoB,EAAE;QACjC,KAAK,EAAE,CAAA;QAHD,eAAU,GAAe,IAAI,UAAU,EAAE,CAAA;QAK/C,MAAM,EAAE,aAAa,EAAE,WAAW,EAAE,GAAG,IAAI,CAAA;QAE3C,IAAI,CAAC,KAAK,GAAG;YACX,qEAAqE;YACrE,aAAa,EAAE,aAAa,IAAI,KAAK;YACrC,uEAAuE;YACvE,2CAA2C;YAC3C,WAAW,EAAE,IAAI,CAAC,GAAG,CACnB,aAAa,IAAI,KAAK,EACtB,WAAW,IAAI,IAAI,CACpB;SACF,CAAA;QACD,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;IAChD,CAAC;IAED,IAAI,CAAE,UAAsB;QAC1B,IAAI,CAAC,UAAU,GAAG,UAAU,CAAA;IAC9B,CAAC;IAED,SAAS;QACP,OAAO,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAA;IAC9B,CAAC;IAED,KAAK;QACH,IAAI,CAAC,OAAO,GAAG,YAAY,CAAC,GAAG,EAAE;YAC/B,qEAAqE;YACrE,MAAM,IAAI,GAAG,IAAI,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,EAAE,CAAC,CAAA;YAEtE,IAAI,CAAC,EAAE,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;YAErC,kDAAkD;YAClD,IAAI,CAAC,KAAK,CAAC;gBACT,EAAE,EAAE,MAAM,EAAE;gBACZ,SAAS,EAAE,CAAC;wBACV,IAAI,EAAE,iBAAiB;wBACvB,IAAI,EAAE,KAAK;wBACX,KAAK,EAAE,IAAI;qBACZ,CAAC;aACH,EAAE,IAAI,EAAE;gBACP,OAAO,EAAE,YAAY;gBACrB,IAAI,EAAE,cAAc;aACrB,CAAC,CAAA;YAEF,OAAO;gBACL,IAAI,EAAE,KAAK,IAAI,EAAE;oBACf,IAAI,CAAC,cAAc,CAAC,UAAU,EAAE,IAAI,CAAC,WAAW,CAAC,CAAA;oBACjD,OAAO,MAAM,IAAI,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,CAAA;gBAC5D,CAAC;aACF,CAAA;QACH,CAAC,EAAE;YACD,MAAM,EAAE,IAAI,CAAC,KAAK,CAAC,WAAW;YAC9B,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,aAAa;SACnC,CAAC,CAAA;IACJ,CAAC;IAED,WAAW,CAAE,KAAqB,EAAE,IAAgB;QAClD,GAAG,CAAC,KAAK,CAAC,8BAA8B,CAAC,CAAA;QACzC,MAAM,OAAO,GAAG,KAAK,CAAC,OAAO,IAAI,EAAE,CAAA;QAEnC,MAAM,QAAQ,GAAG,qBAAqB,CAAC,OAAO,EAAE,IAAI,CAAC,UAAU,CAAC,SAAS,EAAE,CAAC,CAAA;QAE5E,IAAI,QAAQ,IAAI,IAAI,EAAE;YACpB,GAAG,CAAC,8CAA8C,CAAC,CAAA;YACnD,OAAM;SACP;QAED,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,EAAE;YACpC,GAAG,CAAC,+CAA+C,CAAC,CAAA;YACpD,OAAM;SACP;QAED,GAAG,CAAC,2CAA2C,EAAE,QAAQ,CAAC,EAAE,CAAC,CAAA;QAE7D,IAAI,CAAC,aAAa,CAAC,IAAI,WAAW,CAAC,MAAM,EAAE;YACzC,MAAM,EAAE,QAAQ;SACjB,CAAC,CAAC,CAAA;IACL,CAAC;IAED,KAAK,CAAC,IAAI;QACR,IAAI,IAAI,CAAC,OAAO,IAAI,IAAI,EAAE;YACxB,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAA;SAC1B;IACH,CAAC;CACF;AAED;;;;GAIG;AACH,SAAS,YAAY,CAAE,EAAgB,EAAE,OAA6C;IACpF,IAAI,MAAqB,CAAA;IACzB,IAAI,SAAuB,CAAA;IAC3B,IAAI,OAAO,GAAG,KAAK,CAAA;IAEnB,MAAM,KAAK,GAAG,GAAG,EAAE;QACjB,MAAM,GAAG,EAAE,EAAE,CAAA;QACb,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE;YAC1B,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;aACzB;YAED,IAAI,CAAC,OAAO,EAAE;gBACZ,SAAS,GAAG,UAAU,CAAC,KAAK,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAA;aAChD;YAED,MAAM,GAAG,IAAI,CAAA;QACf,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,CAAA;IACpB,CAAC,CAAA;IAED,KAAK,EAAE,CAAA;IAEP,OAAO;QACL,KAAK,CAAC,IAAI;YACR,OAAO,GAAG,IAAI,CAAA;YACd,YAAY,CAAC,SAAS,CAAC,CAAA;YACvB,IAAI,MAAM,IAAI,IAAI,EAAE;gBAClB,MAAM,MAAM,CAAC,IAAI,EAAE,CAAA;aACpB;QACH,CAAC;KACF,CAAA;AACH,CAAC;AAED,MAAM,MAAM,GAAG,CAAC,GAAG,EAAE;IACnB,IAAI,EAAE,GAAG,CAAC,CAAA;IACV,OAAO,GAAG,EAAE;QACV,EAAE,EAAE,CAAA;QACJ,IAAI,EAAE,KAAK,MAAM,CAAC,gBAAgB;YAAE,EAAE,GAAG,CAAC,CAAA;QAC1C,OAAO,EAAE,CAAA;IACX,CAAC,CAAA;AACH,CAAC,CAAC,EAAE,CAAA"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { PeerInfo } from '@libp2p/interfaces/peer-info';
|
|
2
2
|
import type { PeerId } from '@libp2p/interfaces/peer-id';
|
|
3
3
|
import type { Answer } from 'dns-packet';
|
|
4
|
-
export declare function
|
|
4
|
+
export declare function findPeerInfoInAnswers(answers: Answer[], ourPeerId: PeerId): PeerInfo | undefined;
|
|
5
5
|
//# sourceMappingURL=utils.d.ts.map
|
package/dist/src/compat/utils.js
CHANGED
|
@@ -3,7 +3,7 @@ import { peerIdFromString } from '@libp2p/peer-id';
|
|
|
3
3
|
import { Multiaddr } from '@multiformats/multiaddr';
|
|
4
4
|
import { SERVICE_TAG_LOCAL } from './constants.js';
|
|
5
5
|
const log = logger('libp2p:mdns:compat:utils');
|
|
6
|
-
export function
|
|
6
|
+
export function findPeerInfoInAnswers(answers, ourPeerId) {
|
|
7
7
|
const ptrRecord = answers.find(a => a.type === 'PTR' && a.name === SERVICE_TAG_LOCAL);
|
|
8
8
|
// Only deal with responses for our service tag
|
|
9
9
|
if (ptrRecord == null) {
|
package/dist/src/index.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import multicastDNS from 'multicast-dns';
|
|
2
|
-
import { EventEmitter } from '@libp2p/interfaces';
|
|
2
|
+
import { EventEmitter } from '@libp2p/interfaces/events';
|
|
3
3
|
import type { PeerDiscovery, PeerDiscoveryEvents } from '@libp2p/interfaces/peer-discovery';
|
|
4
|
-
import type {
|
|
4
|
+
import type { PeerInfo } from '@libp2p/interfaces/peer-info';
|
|
5
5
|
import { Components, Initializable } from '@libp2p/interfaces/components';
|
|
6
6
|
export interface MulticastDNSOptions {
|
|
7
7
|
broadcast?: boolean;
|
|
@@ -33,7 +33,7 @@ export declare class MulticastDNS extends EventEmitter<PeerDiscoveryEvents> impl
|
|
|
33
33
|
start(): Promise<void>;
|
|
34
34
|
_onMdnsQuery(event: multicastDNS.QueryPacket): void;
|
|
35
35
|
_onMdnsResponse(event: multicastDNS.ResponsePacket): void;
|
|
36
|
-
_onPeer(evt: CustomEvent<
|
|
36
|
+
_onPeer(evt: CustomEvent<PeerInfo>): void;
|
|
37
37
|
/**
|
|
38
38
|
* Stop sending queries to the LAN.
|
|
39
39
|
*
|
package/dist/src/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,OAAO,EAAe,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,OAAO,EAAe,YAAY,EAAE,MAAM,2BAA2B,CAAA;AAIrE,OAAO,KAAK,EAAE,aAAa,EAAE,mBAAmB,EAAE,MAAM,mCAAmC,CAAA;AAC3F,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAA;AAIzE,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,IAAI,CAAC,EAAE,MAAM,CAAA;IACb,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B,mBAAmB,CAAC,EAAE,MAAM,CAAA;CAC7B;AAED,qBAAa,YAAa,SAAQ,YAAY,CAAC,mBAAmB,CAAE,YAAW,aAAa,EAAE,aAAa;IACzG,MAAM,CAAC,GAAG,SAAS;IAEZ,IAAI,CAAC,EAAE,YAAY,CAAC,YAAY,CAAA;IAEvC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAS;IACnC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAQ;IACjC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAQ;IACnC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAQ;IAC7B,OAAO,CAAC,cAAc,CAAuC;IAC7D,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAgB;IACzC,OAAO,CAAC,UAAU,CAA+B;gBAEpC,OAAO,GAAE,mBAAwB;IAqB9C,IAAI,CAAE,UAAU,EAAE,UAAU,GAAG,IAAI;IAMnC,SAAS;IAIT;;;;OAIG;IACG,KAAK;IAgBX,YAAY,CAAE,KAAK,EAAE,YAAY,CAAC,WAAW;IAS7C,eAAe,CAAE,KAAK,EAAE,YAAY,CAAC,cAAc;IAkBnD,OAAO,CAAE,GAAG,EAAE,WAAW,CAAC,QAAQ,CAAC;IAUnC;;;;OAIG;IACG,IAAI;CA2BX"}
|
package/dist/src/index.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import multicastDNS from 'multicast-dns';
|
|
2
|
-
import { CustomEvent, EventEmitter } from '@libp2p/interfaces';
|
|
2
|
+
import { CustomEvent, EventEmitter } from '@libp2p/interfaces/events';
|
|
3
3
|
import { logger } from '@libp2p/logger';
|
|
4
4
|
import * as query from './query.js';
|
|
5
5
|
import { GoMulticastDNS } from './compat/index.js';
|
package/dist/src/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,eAAe,CAAA;AACxC,OAAO,EAAE,WAAW,EAAE,YAAY,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/src/query.d.ts
CHANGED
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
2
|
import { Multiaddr } from '@multiformats/multiaddr';
|
|
3
3
|
import type { PeerId } from '@libp2p/interfaces/peer-id';
|
|
4
|
-
import type {
|
|
4
|
+
import type { PeerInfo } from '@libp2p/interfaces/peer-info';
|
|
5
5
|
import type { MulticastDNS, ResponsePacket, QueryPacket } from 'multicast-dns';
|
|
6
6
|
export declare function queryLAN(mdns: MulticastDNS, serviceTag: string, interval: number): NodeJS.Timer;
|
|
7
|
-
export declare function gotResponse(rsp: ResponsePacket, localPeerId: PeerId, serviceTag: string):
|
|
7
|
+
export declare function gotResponse(rsp: ResponsePacket, localPeerId: PeerId, serviceTag: string): PeerInfo | undefined;
|
|
8
8
|
export declare function gotQuery(qry: QueryPacket, mdns: MulticastDNS, peerId: PeerId, multiaddrs: Multiaddr[], serviceTag: string, broadcast: boolean): void;
|
|
9
9
|
//# sourceMappingURL=query.d.ts.map
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@libp2p/mdns",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.5",
|
|
4
4
|
"description": "Node.js libp2p mDNS discovery implementation for peer discovery",
|
|
5
5
|
"license": "Apache-2.0 OR MIT",
|
|
6
6
|
"homepage": "https://github.com/libp2p/js-libp2p-mdns#readme",
|
|
@@ -119,28 +119,28 @@
|
|
|
119
119
|
]
|
|
120
120
|
},
|
|
121
121
|
"scripts": {
|
|
122
|
+
"clean": "aegir clean",
|
|
122
123
|
"lint": "aegir lint",
|
|
123
|
-
"dep-check": "aegir dep-check
|
|
124
|
-
"build": "
|
|
125
|
-
"
|
|
126
|
-
"test": "aegir test -
|
|
127
|
-
"test:
|
|
128
|
-
"
|
|
129
|
-
"release": "semantic-release"
|
|
124
|
+
"dep-check": "aegir dep-check",
|
|
125
|
+
"build": "aegir build",
|
|
126
|
+
"test": "aegir test -t node",
|
|
127
|
+
"test:node": "aegir test -t node --cov",
|
|
128
|
+
"test:electron-main": "aegir test -t electron-main",
|
|
129
|
+
"release": "aegir release"
|
|
130
130
|
},
|
|
131
131
|
"dependencies": {
|
|
132
|
-
"@libp2p/
|
|
133
|
-
"@libp2p/
|
|
132
|
+
"@libp2p/interfaces": "^1.3.31",
|
|
133
|
+
"@libp2p/logger": "^1.1.3",
|
|
134
|
+
"@libp2p/peer-id": "^1.1.9",
|
|
134
135
|
"@multiformats/multiaddr": "^10.1.5",
|
|
135
136
|
"multicast-dns": "^7.2.0",
|
|
136
137
|
"multiformats": "^9.6.3"
|
|
137
138
|
},
|
|
138
139
|
"devDependencies": {
|
|
139
|
-
"@libp2p/interface-compliance-tests": "^1.1.
|
|
140
|
-
"@libp2p/
|
|
141
|
-
"@libp2p/peer-id-factory": "^1.0.8",
|
|
140
|
+
"@libp2p/interface-compliance-tests": "^1.1.32",
|
|
141
|
+
"@libp2p/peer-id-factory": "^1.0.9",
|
|
142
142
|
"@types/multicast-dns": "^7.2.1",
|
|
143
|
-
"aegir": "^
|
|
143
|
+
"aegir": "^37.0.8",
|
|
144
144
|
"delay": "^5.0.0",
|
|
145
145
|
"p-defer": "^4.0.0",
|
|
146
146
|
"p-wait-for": "^4.1.0",
|
package/src/compat/index.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
// Compatibility with Go libp2p MDNS
|
|
2
|
-
import { EventEmitter, CustomEvent } from '@libp2p/interfaces'
|
|
2
|
+
import { EventEmitter, CustomEvent } from '@libp2p/interfaces/events'
|
|
3
3
|
import { Responder } from './responder.js'
|
|
4
4
|
import { Querier } from './querier.js'
|
|
5
5
|
import type { PeerDiscovery, PeerDiscoveryEvents } from '@libp2p/interfaces/peer-discovery'
|
package/src/compat/querier.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { CustomEvent, EventEmitter } from '@libp2p/interfaces'
|
|
1
|
+
import { CustomEvent, EventEmitter } from '@libp2p/interfaces/events'
|
|
2
2
|
import MDNS from 'multicast-dns'
|
|
3
3
|
import { logger } from '@libp2p/logger'
|
|
4
4
|
import { SERVICE_TAG_LOCAL, MULTICAST_IP, MULTICAST_PORT } from './constants.js'
|
|
@@ -6,7 +6,7 @@ import type { PeerDiscovery, PeerDiscoveryEvents } from '@libp2p/interfaces/peer
|
|
|
6
6
|
import type { ResponsePacket } from 'multicast-dns'
|
|
7
7
|
import type { RemoteInfo } from 'dgram'
|
|
8
8
|
import { Components, Initializable } from '@libp2p/interfaces/components'
|
|
9
|
-
import {
|
|
9
|
+
import { findPeerInfoInAnswers } from './utils.js'
|
|
10
10
|
|
|
11
11
|
const log = logger('libp2p:mdns:compat:querier')
|
|
12
12
|
|
|
@@ -86,22 +86,22 @@ export class Querier extends EventEmitter<PeerDiscoveryEvents> implements PeerDi
|
|
|
86
86
|
log.trace('received mDNS query response')
|
|
87
87
|
const answers = event.answers ?? []
|
|
88
88
|
|
|
89
|
-
const
|
|
89
|
+
const peerInfo = findPeerInfoInAnswers(answers, this.components.getPeerId())
|
|
90
90
|
|
|
91
|
-
if (
|
|
91
|
+
if (peerInfo == null) {
|
|
92
92
|
log('could not read peer data from query response')
|
|
93
93
|
return
|
|
94
94
|
}
|
|
95
95
|
|
|
96
|
-
if (
|
|
96
|
+
if (peerInfo.multiaddrs.length === 0) {
|
|
97
97
|
log('could not parse multiaddrs from mDNS response')
|
|
98
98
|
return
|
|
99
99
|
}
|
|
100
100
|
|
|
101
|
-
log('discovered peer in mDNS qeury response %p',
|
|
101
|
+
log('discovered peer in mDNS qeury response %p', peerInfo.id)
|
|
102
102
|
|
|
103
103
|
this.dispatchEvent(new CustomEvent('peer', {
|
|
104
|
-
detail:
|
|
104
|
+
detail: peerInfo
|
|
105
105
|
}))
|
|
106
106
|
}
|
|
107
107
|
|
package/src/compat/utils.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type {
|
|
1
|
+
import type { PeerInfo } from '@libp2p/interfaces/peer-info'
|
|
2
2
|
import type { PeerId } from '@libp2p/interfaces/peer-id'
|
|
3
3
|
import { logger } from '@libp2p/logger'
|
|
4
4
|
import { peerIdFromString } from '@libp2p/peer-id'
|
|
@@ -8,7 +8,7 @@ import { SERVICE_TAG_LOCAL } from './constants.js'
|
|
|
8
8
|
|
|
9
9
|
const log = logger('libp2p:mdns:compat:utils')
|
|
10
10
|
|
|
11
|
-
export function
|
|
11
|
+
export function findPeerInfoInAnswers (answers: Answer[], ourPeerId: PeerId): PeerInfo | undefined {
|
|
12
12
|
const ptrRecord = answers.find(a => a.type === 'PTR' && a.name === SERVICE_TAG_LOCAL)
|
|
13
13
|
|
|
14
14
|
// Only deal with responses for our service tag
|
package/src/index.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import multicastDNS from 'multicast-dns'
|
|
2
|
-
import { CustomEvent, EventEmitter } from '@libp2p/interfaces'
|
|
2
|
+
import { CustomEvent, EventEmitter } from '@libp2p/interfaces/events'
|
|
3
3
|
import { logger } from '@libp2p/logger'
|
|
4
4
|
import * as query from './query.js'
|
|
5
5
|
import { GoMulticastDNS } from './compat/index.js'
|
|
6
6
|
import type { PeerDiscovery, PeerDiscoveryEvents } from '@libp2p/interfaces/peer-discovery'
|
|
7
|
-
import type {
|
|
7
|
+
import type { PeerInfo } from '@libp2p/interfaces/peer-info'
|
|
8
8
|
import { Components, Initializable } from '@libp2p/interfaces/components'
|
|
9
9
|
|
|
10
10
|
const log = logger('libp2p:mdns')
|
|
@@ -102,7 +102,7 @@ export class MulticastDNS extends EventEmitter<PeerDiscoveryEvents> implements P
|
|
|
102
102
|
if (foundPeer != null) {
|
|
103
103
|
log('discovered peer in mDNS qeury response %p', foundPeer.id)
|
|
104
104
|
|
|
105
|
-
this.dispatchEvent(new CustomEvent<
|
|
105
|
+
this.dispatchEvent(new CustomEvent<PeerInfo>('peer', {
|
|
106
106
|
detail: foundPeer
|
|
107
107
|
}))
|
|
108
108
|
}
|
|
@@ -111,12 +111,12 @@ export class MulticastDNS extends EventEmitter<PeerDiscoveryEvents> implements P
|
|
|
111
111
|
}
|
|
112
112
|
}
|
|
113
113
|
|
|
114
|
-
_onPeer (evt: CustomEvent<
|
|
114
|
+
_onPeer (evt: CustomEvent<PeerInfo>) {
|
|
115
115
|
if (this.mdns == null) {
|
|
116
116
|
return
|
|
117
117
|
}
|
|
118
118
|
|
|
119
|
-
this.dispatchEvent(new CustomEvent<
|
|
119
|
+
this.dispatchEvent(new CustomEvent<PeerInfo>('peer', {
|
|
120
120
|
detail: evt.detail
|
|
121
121
|
}))
|
|
122
122
|
}
|
package/src/query.ts
CHANGED
|
@@ -3,7 +3,7 @@ import { logger } from '@libp2p/logger'
|
|
|
3
3
|
import { Multiaddr, MultiaddrObject, protocols } from '@multiformats/multiaddr'
|
|
4
4
|
import { peerIdFromString } from '@libp2p/peer-id'
|
|
5
5
|
import type { PeerId } from '@libp2p/interfaces/peer-id'
|
|
6
|
-
import type {
|
|
6
|
+
import type { PeerInfo } from '@libp2p/interfaces/peer-info'
|
|
7
7
|
import type { MulticastDNS, ResponsePacket, QueryPacket } from 'multicast-dns'
|
|
8
8
|
import type { SrvAnswer, StringAnswer, TxtAnswer, Answer } from 'dns-packet'
|
|
9
9
|
|
|
@@ -34,7 +34,7 @@ interface Answers {
|
|
|
34
34
|
aaaa: StringAnswer[]
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
-
export function gotResponse (rsp: ResponsePacket, localPeerId: PeerId, serviceTag: string):
|
|
37
|
+
export function gotResponse (rsp: ResponsePacket, localPeerId: PeerId, serviceTag: string): PeerInfo | undefined {
|
|
38
38
|
if (rsp.answers == null) {
|
|
39
39
|
return
|
|
40
40
|
}
|