{"bugs":{"url":"https://github.com/libp2p/js-libp2p-mdns/issues"},"dist":{"shasum":"526be1cd5a6212d64d5c6e278c08e769a7ec91b1","tarball":"https://registry.npmjs.org/libp2p-mdns/-/libp2p-mdns-0.13.1.tgz","fileCount":10,"integrity":"sha512-z+ViipUTu+6VbbJAdpmIZCM30qb0+Ds+3F8SRyYlF2uXIz8RkFTLkopdC9QoRsDqdc/IJ+vFBMC6QGqxDLVl7g==","signatures":[{"sig":"MEUCIHdXqsUSPPk9/BzUaTM+2qKth77bv9bLogc0oHqpk/QpAiEAvCmYbhUTU56EEH5ZxzZHEAX4N8p4O4PmEt7VWQQ6E7o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":25271,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeIbFfCRA9TVsSAnZWagAAcakP/2Yi/Q5dXfPUMgvzg6tv\nAT5uL4RUL+1hnV7LT2Jx+9EiQp/1xHhPqYwK5aP1telzbcgHIMW0IBEJPHJ5\nO7jbinH2UxDNjIxOvKEcqyA3E1qpBQlJzsvtxNU3lmR3ZUqGNkGOfmdoXuWH\nLky9LMhEqbE694iGMM+XVetVercNYHpQXZltC/nwT+ZJUTk/5dLMgvZxCtI1\nTZspV8YN1jC41bP+0dAJDyYdrDMmib4zBXfvPSW4uoM38TD6G8r8mQF1vk0e\neAtf51ynw+YZeKhHkKf+/JJeBuSquUhU1xWC3EmzX2HmC/lT1mN70wuTos8Z\nA9MA6amnGBDmJXHNHE1WgE2HVtmUAlNpozVUrgTvIXHJK1oB7RKVZXDOcCuC\nxkCEtXLDrzUGvv8YC/KoZS2tDxylzaRe2I2t46yIW7Yfp+irPvWcsjknzJQQ\ni66LI//eJ88CcdHD/V/n3EtAoNHCJP7PKVgIHhrL6/WKcA3lBWQAmFLHf7OZ\nvYT9pzbjbXTfCPJuiW0zxcl2oM+Ot7HgOoMcQZ8sHs+2v3+xyBsVsxFw0R78\nwsNglA1/0HrFK2oiKzByt7PS93/P/Ldny0fNaYacblZUrl4w1GxipuLNa9Lv\nAsQWhjwtiIt5q4I5m9yCPBb1VXNNXMTyyt9ovrx58/YH4/MCvuViHIbiA/SM\ngh/C\r\n=u74S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"src/index.js","name":"libp2p-mdns","readme":"libp2p-mdns JavaScript implementation\n=====================================\n\n[![](https://img.shields.io/badge/made%20by-Protocol%20Labs-blue.svg?style=flat-square)](http://protocol.ai)\n[![](https://img.shields.io/badge/project-libp2p-yellow.svg?style=flat-square)](http://libp2p.io/)\n[![](https://img.shields.io/badge/freenode-%23libp2p-yellow.svg?style=flat-square)](http://webchat.freenode.net/?channels=%23libp2p)\n[![Discourse posts](https://img.shields.io/discourse/https/discuss.libp2p.io/posts.svg)](https://discuss.libp2p.io)\n[![](https://img.shields.io/codecov/c/github/libp2p/js-libp2p-mdns.svg?style=flat-square)](https://codecov.io/gh/libp2p/js-libp2p-mdns)\n[![](https://img.shields.io/travis/libp2p/js-libp2p-mdns.svg?style=flat-square)](https://travis-ci.com/libp2p/js-libp2p-mdns)\n[![Dependency Status](https://david-dm.org/libp2p/js-libp2p-mdns.svg?style=flat-square)](https://david-dm.org/libp2p/js-libp2p-mdns)\n[![js-standard-style](https://img.shields.io/badge/code%20style-standard-brightgreen.svg?style=flat-square)](https://github.com/feross/standard)\n\n> JavaScript libp2p MulticastDNS discovery implementation\n\n## Lead Maintainer\n\n[Jacob Heun](https://github.com/jacobheun)\n\n## Usage\n\n```JavaScript\nconst MDNS = require('libp2p-mdns')\n\nconst mdns = new MDNS(options)\n\nmdns.on('peer', (peerInfo) => {\n  console.log('Found a peer in the local network', peerInfo.id.toB58String())\n})\n\n// Broadcast for 20 seconds\nmdns.start()\nsetTimeout(() => mdns.stop(), 20 * 1000)\n```\n\n- options\n  - `peerInfo` - PeerInfo to announce\n  - `broadcast` - (true/false) announce our presence through mDNS, default `false`\n  - `interval` - query interval, default 10 * 1000 (10 seconds)\n  - `serviceTag` - name of the service announce , default 'ipfs.local`\n  - `compat` - enable/disable compatibility with go-libp2p-mdns, default `true`\n\n## MDNS messages\n\nA query is sent to discover the IPFS nodes on the local network\n\n```\n{ type: 'query',\n  questions: [ { name: 'ipfs.local', type: 'PTR' } ]\n}\n```\n\nWhen a query is detected, each IPFS node sends an answer about itself\n\n```\n[ { name: 'ipfs.local',\n    type: 'PTR',\n    class: 'IN',\n    ttl: 120,\n    data: 'QmNPubsDWATVngE3d5WDSNe7eVrFLuk38qb9t6vdLnu2aK.ipfs.local' },\n  { name: 'QmNPubsDWATVngE3d5WDSNe7eVrFLuk38qb9t6vdLnu2aK.ipfs.local',\n    type: 'SRV',\n    class: 'IN',\n    ttl: 120,\n    data:\n     { priority: 10,\n       weight: 1,\n       port: '20002',\n       target: 'LAPTOP-G5LJ7VN9' } },\n  { name: 'QmNPubsDWATVngE3d5WDSNe7eVrFLuk38qb9t6vdLnu2aK.ipfs.local',\n    type: 'TXT',\n    class: 'IN',\n    ttl: 120,\n    data: ['QmNPubsDWATVngE3d5WDSNe7eVrFLuk38qb9t6vdLnu2aK'] },\n  { name: 'LAPTOP-G5LJ7VN9',\n    type: 'A',\n    class: 'IN',\n    ttl: 120,\n    data: '127.0.0.1' },\n  { name: 'LAPTOP-G5LJ7VN9',\n    type: 'AAAA',\n    class: 'IN',\n    ttl: 120,\n    data: '::1' } ]\n```\n","gitHead":"a9661bd3326ddc3d24b52ce8498bdda271347971","license":"MIT","scripts":{"lint":"aegir lint","test":"aegir test -t node","release":"aegir release -t node --no-build","coverage":"nyc --reporter=lcov --reporter=text npm run test:node","test:node":"aegir test -t node","release-major":"aegir release --type major -t node --no-build","release-minor":"aegir release --type minor -t node --no-build","coverage-publish":"aegir coverage publish"},"_npmUser":{"name":"jacobheun","email":"jacobheun@gmail.com"},"homepage":"https://github.com/libp2p/js-libp2p-mdns","keywords":["IPFS"],"pre-push":["lint"],"repository":{"url":"git+https://github.com/libp2p/js-libp2p-mdns.git","type":"git"},"_npmVersion":"6.13.4","description":"Node.js libp2p mDNS discovery implementation for peer discovery","directories":{},"maintainers":[{"name":"daviddias","email":"daviddias.p@gmail.com"},{"name":"dignifiedquire","email":"dignifiedquire@gmail.com"}],"_nodeVersion":"12.14.0","contributors":[{"name":"Alan Shaw","email":"alan.shaw@protocol.ai"},{"name":"Alex Potsides","email":"alex@achingbrain.net"},{"name":"David Dias","email":"daviddias.p@gmail.com"},{"name":"Friedel Ziegelmayer","email":"dignifiedquire@gmail.com"},{"name":"Jacob Heun","email":"jacobheun@gmail.com"},{"name":"Jacob Heun","email":"jake@andyet.net"},{"name":"Nuno Nogueira","email":"nunofmn@gmail.com"},{"name":"Richard Littauer","email":"richard.littauer@gmail.com"},{"name":"Richard Schneider","email":"makaretu@gmail.com"},{"name":"Vasco Santos","email":"vasco.santos@ua.pt"},{"name":"Vasco Santos","email":"vasco.santos@moxy.studio"},{"name":"dirkmc","email":"dirkmdev@gmail.com"},{"name":"emersion","email":"contact@emersion.fr"},{"name":"greenkeeperio-bot","email":"support@greenkeeper.io"},{"name":"ᴠɪᴄᴛᴏʀ ʙᴊᴇʟᴋʜᴏʟᴍ","email":"victorbjelkholm@gmail.com"}],"dependencies":{"async":"^2.6.2","debug":"^4.1.1","peer-id":"~0.13.3","multiaddr":"^7.1.0","peer-info":"~0.17.0","multicast-dns":"^7.2.0"},"_hasShrinkwrap":false,"leadMaintainer":"Jacob Heun <jacobheun@gmail.com>","readmeFilename":"README.md","devDependencies":{"chai":"^4.2.0","aegir":"^20.3.1","delay":"^4.3.0","p-defer":"^3.0.0","dirty-chai":"^2.0.1","interface-discovery":"^0.1.1"},"_npmOperationalInternal":{"tmp":"tmp/libp2p-mdns_0.13.1_1579266398853_0.5747897697813862","host":"s3://npm-registry-packages"},"_id":"libp2p-mdns@0.13.1","version":"0.13.1"}